#include "color32.h"

sw_color32 sw_color32_from_rgb(u8 r, u8 g, u8 b) {
	return (u32)r | ((u32)g << 8) | ((u32)b << 16) | ((u32)255 << 24);
}

sw_color32 sw_color32_from_rgba(u8 r, u8 g, u8 b, u8 a) {
	return (u32)r | ((u32)g << 8) | ((u32)b << 16) | ((u32)a << 24);
}

u8 sw_color32_get_r(sw_color32 col) {
	return col & 0xFF;
}

u8 sw_color32_get_g(sw_color32 col) {
	return (col >> 8) & 0xFF;
}

u8 sw_color32_get_b(sw_color32 col) {
	return (col >> 16) & 0xFF;
}

u8 sw_color32_get_a(sw_color32 col) {
	return (col >> 24) & 0xFF;
}

f32 sw_color32_get_rf(sw_color32 col) {
	return (f32)sw_color32_get_r(col) / 255.f;
}

f32 sw_color32_get_gf(sw_color32 col) {
	return (f32)sw_color32_get_g(col) / 255.f;
}

f32 sw_color32_get_bf(sw_color32 col) {
	return (f32)sw_color32_get_b(col) / 255.f;
}

f32 sw_color32_get_af(sw_color32 col) {
	return (f32)sw_color32_get_a(col) / 255.f;
}
