twn_util: separate internal c-only features from public header

This commit is contained in:
2024-10-07 10:44:18 +03:00
parent f646bd7adc
commit 60a9307ce3
5 changed files with 94 additions and 79 deletions

42
include/twn_types.h Normal file
View File

@ -0,0 +1,42 @@
#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