diff options
Diffstat (limited to 'src/common')
| -rw-r--r-- | src/common/color.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/common/color.h b/src/common/color.h index 9dafdca0c..eb199e308 100644 --- a/src/common/color.h +++ b/src/common/color.h | |||
| @@ -69,6 +69,15 @@ inline const Math::Vec4<u8> DecodeRGB8(const u8* bytes) { | |||
| 69 | } | 69 | } |
| 70 | 70 | ||
| 71 | /** | 71 | /** |
| 72 | * Decode a color stored in RG8 (aka HILO8) format | ||
| 73 | * @param bytes Pointer to encoded source color | ||
| 74 | * @return Result color decoded as Math::Vec4<u8> | ||
| 75 | */ | ||
| 76 | inline const Math::Vec4<u8> DecodeRG8(const u8* bytes) { | ||
| 77 | return { bytes[1], bytes[0], 0, 255 }; | ||
| 78 | } | ||
| 79 | |||
| 80 | /** | ||
| 72 | * Decode a color stored in RGB565 format | 81 | * Decode a color stored in RGB565 format |
| 73 | * @param bytes Pointer to encoded source color | 82 | * @param bytes Pointer to encoded source color |
| 74 | * @return Result color decoded as Math::Vec4<u8> | 83 | * @return Result color decoded as Math::Vec4<u8> |
| @@ -152,6 +161,15 @@ inline void EncodeRGB8(const Math::Vec4<u8>& color, u8* bytes) { | |||
| 152 | } | 161 | } |
| 153 | 162 | ||
| 154 | /** | 163 | /** |
| 164 | * Encode a color as RG8 (aka HILO8) format | ||
| 165 | * @param color Source color to encode | ||
| 166 | * @param bytes Destination pointer to store encoded color | ||
| 167 | */ | ||
| 168 | inline void EncodeRG8(const Math::Vec4<u8>& color, u8* bytes) { | ||
| 169 | bytes[1] = color.r(); | ||
| 170 | bytes[0] = color.g(); | ||
| 171 | } | ||
| 172 | /** | ||
| 155 | * Encode a color as RGB565 format | 173 | * Encode a color as RGB565 format |
| 156 | * @param color Source color to encode | 174 | * @param color Source color to encode |
| 157 | * @param bytes Destination pointer to store encoded color | 175 | * @param bytes Destination pointer to store encoded color |