+3
src/rencache.c
+3
src/rencache.c
···
18
18
RenRect rect;
19
19
RenColor color;
20
20
RenFont *font;
21
+
int tab_width;
21
22
char text[0];
22
23
} Command;
23
24
···
143
144
cmd->color = color;
144
145
cmd->font = font;
145
146
cmd->rect = rect;
147
+
cmd->tab_width = ren_get_font_tab_width(font);
146
148
}
147
149
}
148
150
···
254
256
ren_draw_rect(cmd->rect, cmd->color);
255
257
break;
256
258
case DRAW_TEXT:
259
+
ren_set_font_tab_width(cmd->font, cmd->tab_width);
257
260
ren_draw_text(cmd->font, cmd->text, cmd->rect.x, cmd->rect.y, cmd->color);
258
261
break;
259
262
}
+6
src/renderer.c
+6
src/renderer.c
···
222
222
}
223
223
224
224
225
+
int ren_get_font_tab_width(RenFont *font) {
226
+
GlyphSet *set = get_glyphset(font, '\t');
227
+
return set->glyphs['\t'].xadvance;
228
+
}
229
+
230
+
225
231
int ren_get_font_width(RenFont *font, const char *text) {
226
232
int x = 0;
227
233
const char *p = text;
+1
src/renderer.h
+1
src/renderer.h
···
22
22
RenFont* ren_load_font(const char *filename, float size);
23
23
void ren_free_font(RenFont *font);
24
24
void ren_set_font_tab_width(RenFont *font, int n);
25
+
int ren_get_font_tab_width(RenFont *font);
25
26
int ren_get_font_width(RenFont *font, const char *text);
26
27
int ren_get_font_height(RenFont *font);
27
28