#ifndef _ENGINE_UI_H_
#define _ENGINE_UI_H_

void Engine_ui_align_fractions(float x, float y);

static inline void Engine_ui_top_left(void) { Engine_ui_align_fractions(0, 0); }
static inline void Engine_ui_top(void) { Engine_ui_align_fractions(0.5, 0); }
static inline void Engine_ui_top_right(void) { Engine_ui_align_fractions(1, 0); }
static inline void Engine_ui_left(void) { Engine_ui_align_fractions(0, 0.5); }
static inline void Engine_ui_center(void) { Engine_ui_align_fractions(0.5, 0.5); }
static inline void Engine_ui_right(void) { Engine_ui_align_fractions(1, 0.5); }
static inline void Engine_ui_bottom_left(void) { Engine_ui_align_fractions(0, 1); }
static inline void Engine_ui_bottom(void) { Engine_ui_align_fractions(0.5, 1); }
static inline void Engine_ui_bottom_right(void) { Engine_ui_align_fractions(1, 1); }

void Engine_ui_image(struct Image *);

void Engine_ui_vertical(void);
void Engine_ui_horizontal(void);
void Engine_ui_stack(void);
void Engine_ui_end(void);

void Engine_ui_font_size(alias_R size);
void Engine_ui_font_color(alias_Color color);
void Engine_ui_text(const char * format, ...);

#endif