7
8
9
10
11
12
13
14
15
16
17
18#include <gimbal/gimbal_meta.h>
19#include <gumball/types/gumball_vector2.h>
20#include <gumball/ifaces/gumball_iresource.h>
23
24
25
26#define GUM_FONT_TYPE (GBL_TYPEID(GUM_Font))
27#define GUM_FONT(self) (GBL_CAST(GUM_Font, self))
28#define GUM_FONT_CLASS(klass) (GBL_CLASS_CAST(GUM_Font, klass))
29#define GUM_FONT_CLASSOF(self) (GBL_CLASSOF(GUM_Font, self))
31#define GUM_TEXT_ALIGNMENT_TYPE (GBL_TYPEID(GUM_TextAlignment))
35GBL_FORWARD_DECLARE_STRUCT(GUM_Font);
39
40
41
42
43
44
45
46GBL_CLASS_DERIVE_EMPTY(GUM_Font, GblBox, GUM_IResource)
50
51
52
53GBL_INSTANCE_DERIVE_EMPTY(GUM_Font, GblBox)
55typedef enum GUM_TextAlignment {
56 GUM_TEXT_ALIGN_CENTER,
59 GUM_TEXT_ALIGN_BOTTOM,
64GblType GUM_Font_type(
void);
65GblType GUM_TextAlignment_type(
void);
69GBL_EXPORT GUM_Vector2 GUM_Font_measureText(GUM_Font *pFont, GblStringRef *pText, uint8_t fontSize) GBL_NOEXCEPT;