aboutsummaryrefslogtreecommitdiff
path: root/sources/TZR_DrawSetColor.c
blob: ad8f329d8237addfbb1ad50526a5906ff76f8530 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#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;
}