Quote:
...
- Warum nicht mit [Only registered and activated users can see links. Click Here To Register...]?
- Deine Klasse ist 16 Byte groß - das sind 128 Bit. Windows unterstützt aber nur 32 Bit Farben.
Code:
class Color
{
private:
union
{
struct
{
BYTE a, r, g, b;
};
DWORD argb;
} color_;
public:
Color(BYTE a, BYTE r, BYTE g, BYTE b)
{
color_.a = a;
color_.r = r;
color_.g = g;
color_.b = b;
}
Color(BYTE r, BYTE g, BYTE b)
{
color_.a = 255;
color_.r = r;
color_.g = g;
color_.b = b;
}
Color(DWORD argb)
{
color_.argb = argb;
}
inline BYTE &alpha()
{
return color_.a;
}
inline BYTE &red()
{
return color_.r;
}
inline BYTE &green()
{
return color_.g;
}
inline BYTE &blue()
{
return color_.b;
}
inline DWORD &value()
{
return color_.argb;
}
};