68 lines
1.0 KiB
C
68 lines
1.0 KiB
C
|
/*
|
||
|
* 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;
|
||
|
};
|
||
|
|