Loading minui/graphics.cpp +15 −7 Original line number Diff line number Diff line Loading @@ -264,33 +264,41 @@ unsigned int gr_get_height(GRSurface* surface) { return surface->height; } int gr_init_font(const char* name, GRFont* dest) { int res = res_create_alpha_surface(name, &(dest->texture)); int gr_init_font(const char* name, GRFont** dest) { GRFont* font = reinterpret_cast<GRFont*>(calloc(1, sizeof(*gr_font))); if (font == nullptr) { return -1; } int res = res_create_alpha_surface(name, &(font->texture)); if (res < 0) { free(font); return res; } // The font image should be a 96x2 array of character images. The // columns are the printable ASCII characters 0x20 - 0x7f. The // top row is regular text; the bottom row is bold. dest->char_width = dest->texture->width / 96; dest->char_height = dest->texture->height / 2; font->char_width = font->texture->width / 96; font->char_height = font->texture->height / 2; *dest = font; return 0; } static void gr_init_font(void) { gr_font = reinterpret_cast<GRFont*>(calloc(sizeof(*gr_font), 1)); int res = gr_init_font("font", gr_font); int res = gr_init_font("font", &gr_font); if (res == 0) { return; } printf("failed to read font: res=%d\n", res); // fall back to the compiled-in font. gr_font = reinterpret_cast<GRFont*>(calloc(1, sizeof(*gr_font))); gr_font->texture = reinterpret_cast<GRSurface*>(malloc(sizeof(*gr_font->texture))); gr_font->texture->width = font.width; gr_font->texture->height = font.height; Loading minui/minui.h +1 −1 Original line number Diff line number Diff line Loading @@ -55,7 +55,7 @@ void gr_fill(int x1, int y1, int x2, int y2); void gr_texticon(int x, int y, GRSurface* icon); const GRFont* gr_sys_font(); int gr_init_font(const char* name, GRFont* dest); int gr_init_font(const char* name, GRFont** dest); void gr_text(const GRFont* font, int x, int y, const char *s, bool bold); int gr_measure(const GRFont* font, const char *s); void gr_font_size(const GRFont* font, int *x, int *y); Loading Loading
minui/graphics.cpp +15 −7 Original line number Diff line number Diff line Loading @@ -264,33 +264,41 @@ unsigned int gr_get_height(GRSurface* surface) { return surface->height; } int gr_init_font(const char* name, GRFont* dest) { int res = res_create_alpha_surface(name, &(dest->texture)); int gr_init_font(const char* name, GRFont** dest) { GRFont* font = reinterpret_cast<GRFont*>(calloc(1, sizeof(*gr_font))); if (font == nullptr) { return -1; } int res = res_create_alpha_surface(name, &(font->texture)); if (res < 0) { free(font); return res; } // The font image should be a 96x2 array of character images. The // columns are the printable ASCII characters 0x20 - 0x7f. The // top row is regular text; the bottom row is bold. dest->char_width = dest->texture->width / 96; dest->char_height = dest->texture->height / 2; font->char_width = font->texture->width / 96; font->char_height = font->texture->height / 2; *dest = font; return 0; } static void gr_init_font(void) { gr_font = reinterpret_cast<GRFont*>(calloc(sizeof(*gr_font), 1)); int res = gr_init_font("font", gr_font); int res = gr_init_font("font", &gr_font); if (res == 0) { return; } printf("failed to read font: res=%d\n", res); // fall back to the compiled-in font. gr_font = reinterpret_cast<GRFont*>(calloc(1, sizeof(*gr_font))); gr_font->texture = reinterpret_cast<GRSurface*>(malloc(sizeof(*gr_font->texture))); gr_font->texture->width = font.width; gr_font->texture->height = font.height; Loading
minui/minui.h +1 −1 Original line number Diff line number Diff line Loading @@ -55,7 +55,7 @@ void gr_fill(int x1, int y1, int x2, int y2); void gr_texticon(int x, int y, GRSurface* icon); const GRFont* gr_sys_font(); int gr_init_font(const char* name, GRFont* dest); int gr_init_font(const char* name, GRFont** dest); void gr_text(const GRFont* font, int x, int y, const char *s, bool bold); int gr_measure(const GRFont* font, const char *s); void gr_font_size(const GRFont* font, int *x, int *y); Loading