diff options
Diffstat (limited to 'src/sdl/color.c')
-rw-r--r-- | src/sdl/color.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/sdl/color.c b/src/sdl/color.c new file mode 100644 index 0000000..1e75cb6 --- /dev/null +++ b/src/sdl/color.c @@ -0,0 +1,25 @@ +#include <stdbool.h> +#include "color.h" + +static const SDL_Color +PALETTE[] = { + { .r = 0x00, .g = 0x00, .b = 0x00, .a = 0xFF }, // COLOR_BG + { .r = 0x00, .g = 0xFF, .b = 0x00, .a = 0xFF }, // COLOR_BG_WON + { .r = 0x66, .g = 0x66, .b = 0x66, .a = 0xFF }, // COLOR_WALL + { .r = 0x00, .g = 0xFF, .b = 0x00, .a = 0xFF }, // COLOR_GOAL + { .r = 0xFF, .g = 0x00, .b = 0x00, .a = 0xFF }, // COLOR_HOME + { .r = 0xFF, .g = 0xFF, .b = 0x00, .a = 0xFF }, // COLOR_HOME_GOAL + { .r = 0x00, .g = 0x00, .b = 0xFF, .a = 0xFF }, // COLOR_BOX + { .r = 0x00, .g = 0xFF, .b = 0xFF, .a = 0xFF }, // COLOR_BOX_GOAL + { 0, 0, 0, 0 }, // COLOR_LAST +}; + +bool +set_color( + SDL_Renderer * const renderer, + const color_t ofs +) { + // FIXME: check for error? + const SDL_Color c = PALETTE[ofs]; + return SDL_SetRenderDrawColor(renderer, c.r, c.g, c.b, c.a) < 0; +} |