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

         

Пределы перемещения и исходная позиция



Пределы перемещения и исходная позиция

При работе в режимах VESA основное назначение драйвера заключается в отслеживании текущей позиции мыши и ее преобразовании в координаты курсора на экране. Для того чтобы это преобразование было корректным, после инициализации драйвера надо установить размер рабочего поля, указав его границы по горизонтали и вертикали.

Функции Mouse 7 и Mouse 8 передают драйверу предельные значения координат по горизонтали и вертикали. Миниматьное значение координат х (для Mouse 7) или у (для Mouse б) помещаются в регистр сх, а максимальное значение — в dx. Выходные параметры у обеих функций отсутствуют.

Если рабочее поле занимает весь экран, то минимальные значения обеих координат равны нулю (xmin = Ymin = о), а максимальные зависят от разрешающей способности видеорежима, ПОЭТОМУ Xmax = horsize, a Ymax = versize. Например,для режима VESA 101h Xmax = 640, a Ymax = 480.

После установки границ рабочего поля задается исходная позиция курсора. Его конкретное расположение может быть произвольным, но обычно курсор помещают в центр экрана.

Функция Mouse 4 перемещает курсор в заданную позицию. Перед обращением к драйверу в регистры сх и dx помещаются значения координат х и Y. Выходные параметры у функции отсутствуют.

Здесь имеется в виду тот курсор, который обычно рисует драйвер мыши. Как уже говорилось, при установке режимов VESA драйвер не может
работать с курсором. Поэтому при выполнении данной функции указанная позиция просто фиксируется в счетчиках драйвера, содержащих текущие координаты.

Для перемещения курсора в центр экрана значения координат составляют х = horsize/2, Y = versize/2. После установки этих величин можно нарисовать изображение курсора на экране.

Напомним, что при работе в стандартных видеорежимах IBM драйвер автоматически определяет границы рабочего поля и принудительно помещает изображенис курсора в центр экрана (если курсор включен).



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