Графические устройства

         

Переменные используемые при работе с мышью



Пример 6.8. Переменные, используемые при работе с мышью

Winpnt dw 2 ; окно видеопамяти, в котором расположен курсор Offspnt dw 22848 смещение изображения курсора в этом окне Xpointer dw 320 текущая X координата курсора (немер столбца)
Ypointer dw 240 текущая Y координата курсора (номер строки)
Mstatus db 0 текущее состояние манипулятора "мышь"
LBevent db 0 изменение состояния левой кнопки
RBevent db 0 изменение состояния правой кнопки

В переменных winpnt и offspnt хранится адрес видеопамяти для левой верхней точки изображения курсора, они уже использовались в примерах 6.4, 6.5 и 6.6 данной главы. Переменные Xpointer и Ypointer содержат тот же адрес, но представленный в виде номеров строки и столбца. В примере 6.8 указаны их исходные значения для режима VESA ioih при условии, что курсор находится в центре экрана. Вычисления значений этих четырех переменных производится в примере 6.9.

Три последние переменные примера 6.8 имеют размер байта. В исходном состоянии они должны быть очищены, что и делается при их описании. Mstatus содержит данные о текущем состоянии манипулятора, a LBevent и RBevent — коды конкретного состояния левой (LB) и правой (RB) кнопок мыши. Как формируются текущие значения этих переменных, показано в примере 6.12.

Выполнение настройки. Способ выполнения всех описанных действий иллюстрирует пример 6.9. Приведенный в нем фрагмент программы должен выполняться в процессе подготовительных действий, но только после установки видеорежима и получения его характеристик.



Содержание раздела