Axiom Справочник языка

Встроенная функция

Функция MOUSEY

Положение указателя программа узнаёт в тот момент, который выбрала сама. Функция MOUSEY возвращает текущую вертикальную координату указателя мыши, и её вызывают в собственном цикле, когда нужно сверить позицию с рисунком или интерфейсом.

Что измеряется на каждой поверхности

На экране SCREEN координата Y измеряется в пикселях клиентской области. На холсте CANVAS результат соответствует мировому положению указателя после преобразования через VIEWPORT и CAMERA. Для чтения нужен графический SCREEN 1..10 или активный CANVAS; отсутствие поверхности сообщает MB3010.

На экране VIEW, WINDOW и PMAP не пересчитывают координату мыши, а на холсте учитываются текущие область и камера. Функция читает только текущее состояние и не сообщает отдельные события перемещения; для процедуры по каждому событию используется ON MOUSE.

Синтаксис и аргументы

MOUSEY()

Поддерживается единственная форма MOUSEY(). Аргументов нет, но скобки остаются частью вызова.

Что возвращает функция

Координата возвращается как значение типа LONG.

  • Если активен SCREEN и среда выполнения знает положение указателя, возвращается текущая Y-координата в клиентской области активного окна.
  • Если активен CANVAS и среда выполнения знает положение указателя, возвращается мировая Y-координата точки под мышью.
  • Если положение указателя недоступно, возвращается -1.

Начало координат и отрицательные значения

В SCREEN начало клиентской области находится слева сверху; Y увеличивается вниз. В CANVAS функция возвращает камера Y + физический Y - верхняя граница области.

В CANVAS мировая координата считается как положение камеры плюс смещение указателя внутри прямоугольника VIEWPORT. Точка вне холста или вне активной области VIEWPORT не образует мировую координату: функция возвращает -1. Отрицательное мировое значение при этом может быть допустимой координатой сцены и само по себе не доказывает отсутствие указателя.

Для горизонтальной координаты используется встроенная функция MOUSEX.

Диагностика

  • MB2004: в встроенную функцию MOUSEY переданы аргументы.
  • MB3010: встроенная функция MOUSEY вызвана без активного графического режима SCREEN и без активного CANVAS.

Пример чтения координат

SCREEN 1
PRINT MOUSEY()
PRINT MOUSEX()
SLEEP

Программа печатает две координаты указателя в пикселях окна. Если положение ещё неизвестно, выводятся -1 и -1. Затем программа ждёт клавишу.

Запускаемые примеры

См. также