Support for resetting fallback fonts.shared-context
@@ -797,6 +797,17 @@ int fonsAddFallbackFont(FONScontext* stash, int base, int fallback) | |||||
return 0; | return 0; | ||||
} | } | ||||
void fonsResetFallbackFont(FONScontext* stash, int base) | |||||
{ | |||||
int i; | |||||
FONSfont* baseFont = stash->fonts[base]; | |||||
baseFont->nfallbacks = 0; | |||||
baseFont->nglyphs = 0; | |||||
for (i = 0; i < FONS_HASH_LUT_SIZE; i++) | |||||
baseFont->lut[i] = -1; | |||||
} | |||||
void fonsSetSize(FONScontext* stash, float size) | void fonsSetSize(FONScontext* stash, float size) | ||||
{ | { | ||||
fons__getState(stash)->size = size; | fons__getState(stash)->size = size; | ||||
@@ -2325,6 +2325,16 @@ int nvgAddFallbackFont(NVGcontext* ctx, const char* baseFont, const char* fallba | |||||
return nvgAddFallbackFontId(ctx, nvgFindFont(ctx, baseFont), nvgFindFont(ctx, fallbackFont)); | return nvgAddFallbackFontId(ctx, nvgFindFont(ctx, baseFont), nvgFindFont(ctx, fallbackFont)); | ||||
} | } | ||||
void nvgResetFallbackFontsId(NVGcontext* ctx, int baseFont) | |||||
{ | |||||
fonsResetFallbackFont(ctx->fs, baseFont); | |||||
} | |||||
void nvgResetFallbackFonts(NVGcontext* ctx, const char* baseFont) | |||||
{ | |||||
nvgResetFallbackFontsId(ctx, nvgFindFont(ctx, baseFont)); | |||||
} | |||||
// State setting | // State setting | ||||
void nvgFontSize(NVGcontext* ctx, float size) | void nvgFontSize(NVGcontext* ctx, float size) | ||||
{ | { | ||||
@@ -565,6 +565,12 @@ int nvgAddFallbackFontId(NVGcontext* ctx, int baseFont, int fallbackFont); | |||||
// Adds a fallback font by name. | // Adds a fallback font by name. | ||||
int nvgAddFallbackFont(NVGcontext* ctx, const char* baseFont, const char* fallbackFont); | int nvgAddFallbackFont(NVGcontext* ctx, const char* baseFont, const char* fallbackFont); | ||||
// Resets fallback fonts by handle. | |||||
void nvgResetFallbackFontsId(NVGcontext* ctx, int baseFont); | |||||
// Resets fallback fonts by name. | |||||
void nvgResetFallbackFonts(NVGcontext* ctx, const char* baseFont); | |||||
// Sets the font size of current text style. | // Sets the font size of current text style. | ||||
void nvgFontSize(NVGcontext* ctx, float size); | void nvgFontSize(NVGcontext* ctx, float size); | ||||