Function: pixel-visible-pos-in-window
pixel-visible-pos-in-window is a byte-compiled function defined in
pixel-scroll.el.gz.
Signature
(pixel-visible-pos-in-window)
Documentation
Return position shown on text line where cursor is in the selected window.
This will look for positions of point and end-of-visual-line,
then positions from beginning-of-visual-line to
end-of-visual-line. When no char in a line is shown, this
returns nil.
Source Code
;; Defined in /usr/src/emacs/lisp/pixel-scroll.el.gz
(defun pixel-visible-pos-in-window ()
"Return position shown on text line where cursor is in the selected window.
This will look for positions of point and `end-of-visual-line',
then positions from `beginning-of-visual-line' to
`end-of-visual-line'. When no char in a line is shown, this
returns nil."
(let* ((beginning-of-visual-line-pos (save-excursion (beginning-of-visual-line) (point)))
(end-of-visual-line-pos (save-excursion (end-of-visual-line) (point)))
(pos-list (number-sequence beginning-of-visual-line-pos end-of-visual-line-pos))
(edges (window-inside-pixel-edges))
(width (- (nth 2 edges) (nth 0 edges)))
posn-x
visible-pos)
;; Optimize list of position to be surveyed.
(push end-of-visual-line-pos pos-list)
(push (point) pos-list)
(delete-dups pos-list)
;; Find out a char with position X that is more than zero and less
;; than width of screen.
(while (and (not visible-pos)
pos-list)
(setq posn-x (car (pos-visible-in-window-p (car pos-list) nil t)))
(if (and posn-x
(<= 0 posn-x)
(< posn-x width))
(setq visible-pos (car pos-list))
(setq pos-list (cdr pos-list))))
visible-pos))