mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-08-13 17:03:47 -04:00
45 lines
590 B
C
45 lines
590 B
C
#ifndef COLOR_H
|
|
#define COLOR_H
|
|
|
|
#include "endianness.h"
|
|
|
|
typedef struct {
|
|
u8 r, g, b;
|
|
} Color_RGB8;
|
|
|
|
typedef struct {
|
|
u8 r, g, b, a;
|
|
} Color_RGBA8;
|
|
|
|
// only use when necessary for alignment purposes
|
|
typedef union {
|
|
struct {
|
|
#ifdef IS_BIGENDIAN
|
|
u8 r, g, b, a;
|
|
#else
|
|
u8 a, b, g, r;
|
|
#endif
|
|
};
|
|
u32 rgba;
|
|
} Color_RGBA8_u32;
|
|
|
|
typedef struct {
|
|
f32 r, g, b, a;
|
|
} Color_RGBAf;
|
|
|
|
typedef union {
|
|
struct {
|
|
u16 r : 5;
|
|
u16 g : 5;
|
|
u16 b : 5;
|
|
u16 a : 1;
|
|
};
|
|
u16 rgba;
|
|
} Color_RGBA16;
|
|
|
|
#ifdef __cplusplus
|
|
};
|
|
#endif
|
|
|
|
#endif
|