43 lines
671 B
C
43 lines
671 B
C
|
#ifndef TWN_TYPES_H
|
||
|
#define TWN_TYPES_H
|
||
|
|
||
|
#include <stdint.h>
|
||
|
|
||
|
/* plain data aggregates that are accepted between public procedure boundaries */
|
||
|
|
||
|
/* 32-bit color data */
|
||
|
typedef struct Color {
|
||
|
_Alignas(4)
|
||
|
uint8_t r;
|
||
|
uint8_t g;
|
||
|
uint8_t b;
|
||
|
uint8_t a;
|
||
|
} Color;
|
||
|
|
||
|
|
||
|
/* a rectangle with the origin at the upper left (integer) */
|
||
|
typedef struct Recti {
|
||
|
_Alignas(16)
|
||
|
int32_t x;
|
||
|
int32_t y;
|
||
|
int32_t w;
|
||
|
int32_t h;
|
||
|
} Recti;
|
||
|
|
||
|
|
||
|
/* a rectangle with the origin at the upper left (floating point) */
|
||
|
typedef struct Rect {
|
||
|
_Alignas(16)
|
||
|
float x;
|
||
|
float y;
|
||
|
float w;
|
||
|
float h;
|
||
|
} Rect;
|
||
|
|
||
|
|
||
|
typedef struct Matrix4 {
|
||
|
Vec4 row[4];
|
||
|
} Matrix4;
|
||
|
|
||
|
#endif
|