43 #define M_CC unsigned char //< color component type
55 inline M_CC& operator[] (
unsigned short n) {
return _cc[n]; }
56 inline const M_CC& operator() (
unsigned short n)
const{
return _cc[n]; }
58 inline const M_CC& r()
const{
return _cc[0]; }
59 inline const M_CC& g()
const{
return _cc[1]; }
60 inline const M_CC& b()
const{
return _cc[2]; }
61 inline const M_CC& a()
const{
return _cc[3]; }
62 inline void r(
const M_CC &val) { _cc[0] = val; }
63 inline void g(
const M_CC &val) { _cc[1] = val; }
64 inline void b(
const M_CC &val) { _cc[2] = val; }
65 inline void a(
const M_CC &val) { _cc[3] = val; }
67 inline M_CC* data() {
return _cc; }
68 inline const M_CC* cdata()
const{
return _cc; }
72 laColor() { _cc[0] = _cc[1] = _cc[2] = 0; _cc[3] = 255; };
73 laColor(M_CC r, M_CC g, M_CC b, M_CC a=255) { _cc[0] = r; _cc[1] = g; _cc[2] = b; _cc[3] = a; };
74 laColor(M_CC cc) { _cc[0] = _cc[1] = _cc[2] = _cc[3] = cc; };
75 laColor(M_CC *v) { _cc[0] = v[0]; _cc[1] = v[1]; _cc[2] = v[2]; _cc[3] = v[3]; }
76 laColor(
const laColor &c) { _cc[0] = c(0); _cc[1] = c(1); _cc[2] = c(2); _cc[3] = c(3); };
82 const laColor operator*(
const double &n) {
return laColor(r()*n, g()*n, b()*n, a()*n); };
83 const laColor operator/(
const double &n) {
return laColor(r()/n, g()/n, b()/n, a()/n); };
84 inline const laColor operator*=(
const double &n) { _cc[0]*=n; _cc[1]*=n; _cc[2]*=n; _cc[3]*=n;
return *
this; };
85 inline const laColor operator/=(
const double &n) { _cc[0]/=n; _cc[1]/=n; _cc[2]/=n; _cc[3]/=n;
return *
this; };
Interface for loadable objects.