Function: preview-toggle

preview-toggle is a byte-compiled function defined in preview.el.

Signature

(preview-toggle OV &optional ARG EVENT)

Documentation

Toggle visibility of preview overlay OV.

ARG can be one of the following: t displays the overlay, nil displays the underlying text, and toggle toggles. If EVENT is given, it indicates the window where the event occured, either by being a mouse event or by directly being the window in question. This may be used for cursor restoration purposes.

Source Code

;; Defined in ~/.emacs.d/elpa/auctex-14.1.2/preview.el
(defun preview-toggle (ov &optional arg event)
  "Toggle visibility of preview overlay OV.
ARG can be one of the following: t displays the overlay,
nil displays the underlying text, and `toggle' toggles.
If EVENT is given, it indicates the window where the event
occured, either by being a mouse event or by directly being
the window in question.  This may be used for cursor restoration
purposes."
  (let ((old-urgent (preview-remove-urgentization ov))
        (preview-state
         (if (if (eq arg 'toggle)
                 (null (eq (overlay-get ov 'preview-state) 'active))
               arg)
             'active
           'inactive))
        (strings (overlay-get ov 'strings)))
    (unless (eq (overlay-get ov 'preview-state) 'disabled)
      (overlay-put ov 'preview-state preview-state)
      (if (eq preview-state 'active)
          (progn
            (overlay-put ov 'category 'preview-overlay)
            (if (eq (overlay-start ov) (overlay-end ov))
                (overlay-put ov 'before-string (car strings))
              (dolist (prop '(display keymap mouse-face help-echo))
                (overlay-put ov prop
                             (get-text-property 0 prop (car strings))))
              (overlay-put ov 'before-string nil))
            (overlay-put ov 'face nil))
        (dolist (prop '(display keymap mouse-face help-echo))
          (overlay-put ov prop nil))
        (overlay-put ov 'face 'preview-face)
        (unless (cdr strings)
          (setcdr strings (preview-inactive-string ov)))
        (overlay-put ov 'before-string (cdr strings)))
      (if old-urgent
          (apply #'preview-add-urgentization old-urgent))))
  (if event
      (preview-restore-position
       ov
       (if (windowp event)
           event
         (posn-window (event-start event))))))