power_play/src/font.h

47 lines
1.3 KiB
C

#ifndef FONT_H
#define FONT_H
#include "util.h"
#include "gp.h"
struct asset;
struct work_startup_receipt;
struct gp_startup_receipt;
struct asset_cache_startup_receipt;
struct ttf_startup_receipt;
struct resource_startup_receipt;
struct font_glyph {
f32 off_x;
f32 off_y;
i32 advance;
f32 width;
f32 height;
struct rect atlas_rect;
};
struct font {
struct gp_resource *texture;
u32 image_width;
u32 image_height;
f32 point_size;
u16 glyphs_count;
struct font_glyph *glyphs;
u16 *lookup;
};
struct font_startup_receipt { i32 _; };
struct font_startup_receipt font_startup(struct work_startup_receipt *work_sr,
struct gp_startup_receipt *gp_sr,
struct asset_cache_startup_receipt *asset_cache_sr,
struct ttf_startup_receipt *ttf_sr,
struct resource_startup_receipt *resource_sr);
struct asset *font_load_asset(struct string path, f32 point_size, b32 help);
struct font *font_load_async(struct string path, f32 point_size);
struct font *font_load(struct string path, f32 point_size);
struct font_glyph *font_get_glyph(struct font *font, u32 codepoint);
#endif