20 static_assert(
sizeof(
TColor) == 4 *
sizeof(uint8_t));
21 static_assert(
sizeof(
TColorf) == 4 *
sizeof(
float));
26 ret.
R = first.
R + second.
R;
27 ret.
G = first.
G + second.
G;
28 ret.
B = first.
B + second.
B;
29 ret.
A = first.
A + second.
A;
37 ret.
R = first.
R - second.
R;
38 ret.
G = first.
G - second.
G;
39 ret.
B = first.
B - second.
B;
40 ret.
A = first.
A - second.
A;
69 bool ret = first.
R == second.
R && first.
G == second.
G &&
70 first.
B == second.
B && first.
A == second.
A;
84 buf,
sizeof(buf),
"RGBA=[%u,%u,%u,%u]", static_cast<unsigned int>(c.
R),
85 static_cast<unsigned int>(c.
G), static_cast<unsigned int>(c.
B),
86 static_cast<unsigned int>(c.
A));
94 o << c.
R << c.
G << c.
B << c.
A;
100 i >> c.
R >> c.
G >> c.
B >> c.
A;
109 buf,
sizeof(buf),
"RGBAf=[%f,%f,%f,%f]", c.
R, c.
G, c.
B, c.
A);
117 o << c.
R << c.
G << c.
B << c.
A;
123 i >> c.
R >> c.
G >> c.
B >> c.
A;
TColor operator+(const TColor &first, const TColor &second)
Pairwise addition of their corresponding RGBA members.
TColor & operator-=(const TColor &other)
bool operator==(const mrpt::img::TCamera &a, const mrpt::img::TCamera &b)
Virtual base class for "archives": classes abstracting I/O streams.
An RGBA color - floats in the range [0,1].
TColor operator-(const TColor &first, const TColor &second)
Pairwise substraction of their corresponding RGBA members.
TColor & operator=(const TColor &other)
TColor & operator+=(const TColor &other)
std::ostream & operator<<(std::ostream &o, const TColor &c)
mrpt::serialization::CArchive & operator>>(mrpt::serialization::CArchive &i, TColor &c)
int sprintf(char *buf, size_t bufSize, const char *format,...) noexcept MRPT_printf_format_check(3
An OS-independent version of sprintf (Notice the bufSize param, which may be ignored in some compiler...