В исходном виде рисунок курсора и маска не удобны для многократного использования. Их надо распаковать, перевернуть, по возможности сократить и хранить в оперативной памяти до конца выполнения задачи.
Перед построением изображения курсора, как и любого рисунка, должна быть установлена палитра используемых цветов (см. главу 4). В данном случае палитра хранится в формате BMP для Windows, который описан в приложении А.
Замечание 1
Замечание 1
Напомним, что в зависимости от способа установки палитры могут измениться коды точек рисунка курсора (но не маски).
Поворот рисунка и маски. Рисунок на экране проще строить в естественном порядке, т. е. в направлении слева направо и сверху вниз. В исходном виде рисунок и маска хранятся "вверх ногами", поэтому перед распаковкой их надо повернуть. При повороте переставляют 16 пар строк: первую строку с последней, вторую — с предпоследней и т. д.
В примере 6.2 показано, как можно программно переставить строки маски или черно-белого рисунка. Перед выполнением примера исходный файл должен быть прочитан в буфер, сегмент которого указывается в регистре fs, а смещение (адрес) рисунка или маски в буфере помещается в регистр di. Перевернутое изображение записывается на место исходного.