Аппаратный формат цвета в HGE

Несколько функций HGE используют цвет в качетсве параметра или возвращаемого значения. Это обычный DWORD, содержащий четыре 8-битных значения для Красной, Зеленой, Синей и Альфа составляющей цвета, представляемых в следующем виде: 0xAARRGGBB.

Т.е старший BYTE DWORD-а содержит значение альфаканала. Следующий BYTE содержит значение Красной составляющей. Затем идет Зеленая составляющая. И младший BYTE содержит значение Синей составляющей.

Макросы

Можете использовать следующие максросы для управления значениями цвета в формате DWORD:

ARGB(a,r,g,b)
  ((DWORD(a)<<24) + (DWORD(r)<<16) + (DWORD(g)<<8) + DWORD(b))

Макрос ARGB создает DWORD значение цвета с заданными компонентами.

GETA(col)      ((col)>>24)
GETR(col)      (((col)>>16) & 0xFF)
GETG(col)      (((col)>>8) & 0xFF)
GETB(col)      ((col) & 0xFF)

Макросы GETA, GETR, GETG и GETB возвращают указанную компоненту цвета заданного в виде DWORD.

SETA(col,a)    (((col) & 0x00FFFFFF) + (DWORD(a)<<24))
SETR(col,r)    (((col) & 0xFF00FFFF) + (DWORD(r)<<16))
SETG(col,g)    (((col) & 0xFFFF00FF) + (DWORD(g)<<8))
SETB(col,b)    (((col) & 0xFFFFFF00) + DWORD(b))

Макросы SETA, SETR, SETG and SETB меняют требуемую компоненту цвета, представленного в виде DWORD.

Требования

Заголовок: hge.h

Смотрите также

Вспомогательный класс hgeColor