Its just to store RGB + A in an integer (speed should be a bigger concern than a few bytes imo, but ...)
it works like as if it had them as values, but can define using hex: 0xFF000000||0x00FF0000||0x0000FF00||0x000000FF -> A||R||G||B
anyway:

JASS:
local ARGB color = 0xFFFFFFFF
set color.red = 0x0F
call BJDebugMsg(I2S(color.blue))
think of it as

JASS:
struct ARGB
integer alpha
integer red
integer green
integer blue
endstruct
but you can set to color code directly & not limitted to 8190
it also has some other methods for mixing colors or something which arent really needed, but meh