@@ -8,19 +8,26 @@ namespace Vortex {
8
8
// ================================================================================================
9
9
// Color utilities.
10
10
11
- #define COLOR32_RMASK 0xFF
12
- #define COLOR32_GMASK 0xFF00
13
- #define COLOR32_BMASK 0xFF0000
14
- #define COLOR32_AMASK 0xFF000000
15
-
16
- #define COLOR32_RSHIFT 0
17
- #define COLOR32_GSHIFT 8
18
- #define COLOR32_BSHIFT 16
19
- #define COLOR32_ASHIFT 24
20
-
21
- // Macro to create a color32 from 8-bit RGBA values.
22
- #define COLOR32(r, g, b, a)\
23
- (color32)(((a)<<COLOR32_ASHIFT)|((b)<<COLOR32_BSHIFT)|((g)<<COLOR32_GSHIFT)|((r)<<COLOR32_RSHIFT))
11
+ constexpr uint32_t kColor32_RedMask = 0xFF;
12
+ constexpr uint32_t kColor32_GreenMask = 0xFF00;
13
+ constexpr uint32_t kColor32_BlueMask = 0xFF0000;
14
+ constexpr uint32_t kColor32_AlphaMask = 0xFF000000;
15
+
16
+ constexpr int kColor32_RedShift = 0;
17
+ constexpr int kColor32_GreenShift = 8;
18
+ constexpr int kColor32_BlueShift = 16;
19
+ constexpr int kColor32_AlphaShift = 24;
20
+
21
+ // Inline function to create a color32 from 8-bit RGBA values.
22
+ inline color32 COLOR32(int r, int g, int b, int a)
23
+ {
24
+ return static_cast<color32>(
25
+ ((a << kColor32_AlphaShift) & kColor32_AlphaMask) |
26
+ ((b << kColor32_BlueShift) & kColor32_BlueMask) |
27
+ ((g << kColor32_GreenShift) & kColor32_GreenMask) |
28
+ ((r << kColor32_RedShift) & kColor32_RedMask)
29
+ );
30
+ }
24
31
25
32
inline color32 Color32(int r, int g, int b, int a = 255)
26
33
{
@@ -34,7 +41,7 @@ inline color32 Color32(int lum, int a = 255)
34
41
35
42
inline color32 Color32a(color32 rgb, int a)
36
43
{
37
- return (rgb & ~COLOR32_AMASK ) | (a << COLOR32_ASHIFT );
44
+ return (rgb & ~kColor32_AlphaMask ) | (( a << kColor32_AlphaShift) & kColor32_AlphaMask );
38
45
}
39
46
40
47
// Common colors (float RGBA).
0 commit comments