aboutsummaryrefslogtreecommitdiff
path: root/sources/TZR_DrawSetColor.c
blob: a5371ef272ddf7e2b94e7e852d4a3eac8da21e11 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "TZR_render.h"
#include "TZR_globals.h"
#include "sdl_error.h"
#include <SDL2/SDL_render.h>

int _TZR_DrawSetColor(const TZR_Color *color)
{
	___tzr_color.r = (color->r < 0.0f) ? ___tzr_color.r : color->r;
	___tzr_color.g = (color->g < 0.0f) ? ___tzr_color.g : color->g;
	___tzr_color.b = (color->b < 0.0f) ? ___tzr_color.b : color->b;
	___tzr_color.a = (color->a < 0.0f) ? ___tzr_color.a : color->a;
	const uint8_t r = ___tzr_color.r * 255;
	const uint8_t g = ___tzr_color.g * 255;
	const uint8_t b = ___tzr_color.b * 255;
	const uint8_t a = ___tzr_color.a * 255;
	if (SDL_SetRenderDrawColor(___tzr_renderer, r, g, b, a) < 0)
		return sdl_error(-1);
	return 0;
}