Spec-Zone.ru › Elisp

Позиция мыши

Функции mouse-position и set-mouse-position предоставляют доступ к текущей позиции мыши.

Функция: mouse-position

Эта функция возвращает описание позиции мыши. Значение имеет вид (frame x . y), где x и y — целые числа, указывающие (возможно, округленное) положение в кратных значениях размера стандартного символа для frame (см. Шрифт фрейма) относительно родного положения frame (см. Геометрия фрейма).

Переменная: mouse-position-function

Если не nil, значение этой переменной — функция, которую mouse-position может вызвать. mouse-position вызывает эту функцию непосредственно перед возвратом, передавая в качестве единственного аргумента обычное возвращаемое значение, и возвращает то, что эта функция вернула ей.

Этот необычный обработчик предназначен для пакетов, таких как xt-mouse.el, которым требуется обработка мыши на уровне Lisp.

Переменная: tty-menu-calls-mouse-position-function

Если не nil, меню TTY вызовут mouse-position-function так, как описано выше. Это необходимо в тех случаях, когда вызов mouse-position-function небезопасен для меню TTY, например, если он может вызвать повторную отрисовку.

Функция: set-mouse-position frame x y

Эта функция перемещает курсор мыши в положение x, y в фрейме frame. Аргументы x и y — целые числа, указывающие положение в кратных значениях размера стандартного символа для frame (см. Шрифт фрейма) относительно родного положения frame (см. Геометрия фрейма).

Результирующее положение мыши ограничено родным фреймом frame. Если frame не виден, эта функция ничего не делает. Возвращаемое значение не имеет значения.

Функция: mouse-pixel-position

Эта функция аналогична mouse-position, за исключением того, что она возвращает координаты в единицах пикселей, а не символов.

Функция: set-mouse-pixel-position frame x y

Эта функция перемещает курсор мыши так же, как set-mouse-position, за исключением того, что x и y задаются в единицах пикселей, а не символов.

Результирующее положение мыши не ограничено родным фреймом frame. Если frame не виден, эта функция ничего не делает. Возвращаемое значение не имеет значения.

На графическом терминале следующие две функции позволяют получить и установить абсолютное положение курсора мыши.

Функция: mouse-absolute-pixel-position

Эта функция возвращает пару (x . y) координат положения курсора мыши в пикселях относительно позиции (0, 0) отображения выбранного фрейма.

Функция: set-mouse-absolute-pixel-position x y

Эта функция перемещает курсор мыши в позицию (x, y). Координаты x и y интерпретируются в пикселях относительно позиции (0, 0) отображения выбранного фрейма.

Следующая функция определяет, виден ли курсор мыши в данный момент в фрейме:

Функция: frame-pointer-visible-p &optional frame

Эта предикатная функция возвращает не-nil, если указатель мыши, отображаемый в frame, виден; в противном случае она возвращает nil. frame опущено или nil означает выбранный фрейм. Это полезно, когда make-pointer-invisible установлено в значение t, позволяя определить, был ли указатель скрыт. См. Избегание мыши в Справочном руководстве Emacs.

Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Mouse-Position.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API