diff options
Diffstat (limited to 'src/gui/rgba.hpp')
-rw-r--r-- | src/gui/rgba.hpp | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/src/gui/rgba.hpp b/src/gui/rgba.hpp index f31e958c..e01a069d 100644 --- a/src/gui/rgba.hpp +++ b/src/gui/rgba.hpp @@ -18,31 +18,31 @@ #define INGEN_GUI_RGBA_HPP #include <cmath> +#include <cstdint> -namespace ingen { -namespace gui { +namespace ingen::gui { -static inline uint32_t +inline uint32_t rgba_to_uint(uint8_t r, uint8_t g, uint8_t b, uint8_t a) { - return ((((uint32_t)(r)) << 24) | - (((uint32_t)(g)) << 16) | - (((uint32_t)(b)) << 8) | - (((uint32_t)(a)))); + return ((static_cast<uint32_t>(r) << 24) | + (static_cast<uint32_t>(g) << 16) | + (static_cast<uint32_t>(b) << 8) | + (static_cast<uint32_t>(a))); } -static inline uint8_t +inline uint8_t mono_interpolate(uint8_t v1, uint8_t v2, float f) { - return ((int)rint((v2) * (f) + (v1) * (1 - (f)))); + return static_cast<uint8_t>(rintf((v2 * f) + (v1 * (1.0f - f)))); } -#define RGBA_R(x) (((uint32_t)(x)) >> 24) -#define RGBA_G(x) ((((uint32_t)(x)) >> 16) & 0xFF) -#define RGBA_B(x) ((((uint32_t)(x)) >> 8) & 0xFF) -#define RGBA_A(x) (((uint32_t)(x)) & 0xFF) +#define RGBA_R(x) (static_cast<uint32_t>(x) >> 24) +#define RGBA_G(x) ((static_cast<uint32_t>(x) >> 16) & 0xFF) +#define RGBA_B(x) ((static_cast<uint32_t>(x) >> 8) & 0xFF) +#define RGBA_A(x) (static_cast<uint32_t>(x) & 0xFF) -static inline uint32_t +inline uint32_t rgba_interpolate(uint32_t c1, uint32_t c2, float f) { return rgba_to_uint( @@ -52,7 +52,6 @@ rgba_interpolate(uint32_t c1, uint32_t c2, float f) mono_interpolate(RGBA_A(c1), RGBA_A(c2), f)); } -} // namespace gui -} // namespace ingen +} // namespace ingen::gui #endif // INGEN_GUI_RGBA_HPP |