При работе в текстовых или графических режимах IBM драйвер мыши самостоятельно определяет установленный видеорежим и в зависимости от этого выбирает способ построения или удаления рисунка курсора, задача только разрешает или запрещает ему выполнять эти действия. Драйверы мыши предназначены для работы в среде DOS, они различают только стандартные режимы IBM. Поэтому после установки режимов VESA строить и перемещать рисунок курсора должна задача. В отличие от DOS, операционные системы семейства Windows и OS/2 поддерживают управление курсором, что упрощает действия прикладных задач.
Замечание 1
Замечание 1
Напомним, что код текущего режима хранится в байте, расположенном в области данных BIOS, по адресу 0000:0449. Трехзначные коды режимов VESA непомещаются в байте, и их заменяют кодами OEM, которые уникальны для каждой модели видеокарты. Именно отсутствие стандартов на коды OEM не позволяет разрабатывать драйверы, выполняющие построение рисунка курсора во всех без исключения видеорежимах.
Изображение курсора отличается от обычных рисунков тем, что постоянно перемещается по экрану, следуя за перемещениями манипулятора "мышь". При этом оно должно быть четко видно на любом окружающем фоне и не должно оставлять следов от своего перемещения, за исключением тех случаев, когда такой след создается специально. На видимость и расположение курсора не должны влиять вывод новых рисунков на экран или удаление существующих. В некоторых случаях форма рисунка курсора может изменяться в зависимости от его местонахождения на экране или действий, выполняемых задачей в данный момент времени.
Поэтому при работе с изображением курсора выполняются специфические действия, которые не требовались при построении обычных рисунков. Прежде чем рассматривать эти действия, давайте разберемся, где можно взять и как подготовить рисунок курсора для его использования в задаче.