/* * Overreact - Mr. 4th Dimention * Allen Webster * 03.21.2015 (mm.dd.yyyy) * * Graphics Layer. */ struct Image{ u32 *data; i32 width, height, pitch; i32 img_width, img_height; }; #pragma pack(push, 1) struct Bitmap_Header{ u16 type; u32 size; u16 res1, res2; u32 offset; u32 struct_size; i32 w, h; u16 planes; u16 bits_per_pixel; u32 compression; u32 image_size; i32 xppm, yppm; u32 colors_used; u32 colors_important; }; #pragma pack(pop) struct Bitmap_File{ File file; Bitmap_Header header; i32 byte_pitch; }; #define STB_TRUETYPE_IMPLEMENTATION #include "stb_truetype.h" struct Glyph_Data{ bool32 exists; real32 advance; }; struct Font{ Glyph_Data glyphs[128]; stbtt_bakedchar chardata[128]; i32 height, ascent, descent, line_skip; i32 advance; u32 tex; i32 tex_width, tex_height; }; struct Blit_Rect{ i32 x_start, y_start; i32 x_end, y_end; }; struct Sub_Rect{ real32 x_start, y_start; real32 x_end, y_end; };