Процедура MouseGraphCursor. Определяет вид указателя в графическом режиме. Заголовок:
Procedure MouseGraphCursor(var ScrCurMask; X,Y: Byte).
Здесь ScrCurMask — 64—байтный массив, определяющий маску экрана и маску указателя; X,Y — смещение координатной точки относительно левого верхнего угла изображения.
Массив ScrCurMask должен содержать две 32—байтных маски, которые трактуются следующим образом. При выводе указателя драйвер осуществляет операцию AND над участком экрана размером 16х16 пиксел и первой половиной массива (маской экрана); затем к результату применяется операция XOR с второй половиной ScrCurMask [с маской указателя). Полученное рассматривается как битовая маска 16х16 пиксел, которая выводится в нужное место экрана как указатель мыши. Если, например, первая половина массива ScrCurMask (маска экрана) состоит из одних нулей, изображение указателя, определяемое второй половиной массива (маска указателя), выводится следующим образом: каждое 16—разрядное слово маски рассматривается как образ 16 пиксел в одной из строк развертки; если слово имеет значащий разряд, соответствующий пиксел светится, если 0, не светится.
Параметры Х и Y определяют смещение «центра» указателя от верхнего левого угла изображения. Если Х = Y = 0, координатная точка мыши соответствует верхнему левому углу изображения, если Х = У == 8 — центру изображения и т.д.
4.2.7. Сохранение/восстановление состояния
Функция MouseBuffSize. Возвращает размер памяти (в байтах), необходимой для сохранения текущего состояния драйвера мыши. Заголовок:
Function MouseBuffSize: Word.
Процедура SaveMouse. Сохраняет текущее состояния драйвера мыши. Заголовок:
Procedure SaveMouse(var Buff).
Здесь Buff — переменная нужного размера, в которой будет сохранено текущее состояние драйвера (минимальный размер переменной возвращается функцией MouseBuffSize).
Процедура RestoreMouse. Восстанавливает состояние драйвера. Заголовок:
Procedure RestoreMouse(var Buff).
Здесь Buff — переменная, содержащая состояние драйвера, Предполагается, что к моменту вызова процедуры RestoreMouse состояние драйвера было сохранено в переменной Buff с помощью проце —
дуры SaveMouse.