u32 capture_mouse_id;
int capture_lock;
u32 id_base;
+ int glyph_base;
// User input
ui_px mouse[2];
ui_ctx ui_global_ctx = {
.padding = 8,
.colours_current = &ui_default_colours,
- .colours_main = &ui_default_colours
+ .colours_main = &ui_default_colours
};
return ui_fill_rect_uv( ctx, rect, colour, (ui_px[4]){ 4,124,4,124 } );
}
-static void ui_text( ui_ctx *ctx, const char *str, ui_px scale, int alignment )
+static void ui_text_use_title( ui_ctx *ctx )
+{
+ ctx->glyph_base = 0;
+}
+
+static void ui_text_use_paragraph( ui_ctx *ctx )
+{
+ ctx->glyph_base = 6;
+}
+
+enum text_alignment
+{
+ k_text_alignment_left = 0,
+ k_text_alignment_center
+};
+
+static void ui_text( ui_ctx *ctx, const char *str, ui_px scale, enum text_alignment alignment )
{
ui_rect text_cursor;
text_cursor[0] = ctx->cursor[0];
text_cursor[1] = ctx->cursor[1];
- text_cursor[2] = scale*8;
- text_cursor[3] = scale*8;
+ text_cursor[2] = (scale*8)/2;
+ text_cursor[3] = (scale*8)/2;
u32 current_colour = ctx->override_colour;
{
if( c == '\n' )
{
- text_cursor[1] += 10*scale;
+ text_cursor[1] += (7*scale)/2;
text_cursor[0] = ctx->cursor[0];
continue;
}
{
u8 glyph_base[2];
u8 glyph_index = c - 32;
- glyph_base[0] = glyph_index&0xf;
- glyph_base[1] = (glyph_index-glyph_base[0])>>4;
-
+ glyph_base[0] = (glyph_index&0xf);
+ glyph_base[1] = ctx->glyph_base + ((glyph_index-glyph_base[0])>>4);
+
glyph_base[0] *= 8;
glyph_base[1] *= 8;
continue;
}
- text_cursor[0] += (ui_glyph_spacing_x*scale)/2;
+ text_cursor[0] += (ui_glyph_spacing_x*scale)/4;
}
}