gf_cursor_t

Курсор

Формат:

#include <gf/gf.h>
typedef struct {
enum {
GF_CURSOR_BITMAP,
} type;
gf_point_t hotspot;
union {
struct {
int w;
int h;
int stride;
gf_color_t color0;
const uint8_t *image0;
const uint8_t *image1;
gf_color_t color1;
} bitmap;
} cursor;
} gf_cursor_t;

Описание:

Структура gf_cursor_t имеет как минимум следующие поля:

type
Тип курсора. Значение этого поля определяет, какой из членов объединения gf_cursor_t::cursor будет задействован. Поддерживаются только курсоры, определяемые изображением, поэтому данный параметр должен быть установлен в GF_CURSOR_BITMAP.
hotspot
Смещение от верхнего левого угла курсора, характеризующее его актуальную позицию указателя. Смотрите gf_point_t.
cursor
Объединение типозависимых данных, описывающих сущность курсора. Из-за того, что поддерживаются только курсоры, определяемые изображением, это объединение имеет одно возможное значение - структуру, описывающую курсор как два двумерных изображения со следующими параметрами:
w, h
Ширина и высота изображения в пикселях. Предполагается, что эти значения одинаковы для обоих изображений.
stride
Количество байт на строку в изображении. Сюда входят байты, необходимые для представления одной строки, а также любые отступы, заданные приложением. Предполагается, что это значение одинаково для обоих изображений.
color0
Цвет первого изображения.
image0
Указатель на данные изображения переднего плана. Данные представляют изображение размером w × h, один бит на пиксель, соответственно, 8 пикселей на байт. По сути, получается h последовательных строк по stride байт в каждой. Биты со значением 1 рендерятся с использованием цвета color0, биты со значением 0 рендерятся прозрачными.
image1
Указатель на данные изображения заднего плана, которое находится под первым изображением. Данное изображение по параметрам идентично первому за исключением цвета, опеределяемого параметром color1.
color1
Цвет второго изображения.

Классификация:

Графическая подсистема ЗОСРВ «Нейтрино», Graphics Framework

Тематические ссылки:

gf_point_t, gf_color_t, gf_cursor_set(), gf_cursor_disable(), gf_cursor_enable(), gf_cursor_set_pos()




Предыдущий раздел: GF API