DPF

DISTRHO Plugin Framework
Log | Files | Refs | Submodules | README | LICENSE

commit b325295d6c77032eeb042aacd242683aa1773f5d
parent 493837049e773e45f842c0ee83b6b69c7c56adf9
Author: falkTX <falktx@falktx.com>
Date:   Thu, 23 Dec 2021 01:54:45 +0000

Allow to set NVG_FONT_TEXTURE_FLAGS, less blurry and precise fonts

Signed-off-by: falkTX <falktx@falktx.com>

Diffstat:
Mdgl/Makefile | 3+++
Mdgl/src/nanovg/nanovg.c | 15+++++++++++++--
2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/dgl/Makefile b/dgl/Makefile @@ -16,6 +16,9 @@ LINK_FLAGS += $(DGL_LIBS) ifeq ($(NVG_DISABLE_SKIPPING_WHITESPACE),true) BUILD_CXX_FLAGS += -DNVG_DISABLE_SKIPPING_WHITESPACE endif +ifneq ($(NVG_FONT_TEXTURE_FLAGS),) +BUILD_CXX_FLAGS += -DNVG_FONT_TEXTURE_FLAGS=$(NVG_FONT_TEXTURE_FLAGS) +endif ifeq ($(USE_OPENGL3),true) BUILD_CXX_FLAGS += -DDGL_USE_OPENGL3 endif diff --git a/dgl/src/nanovg/nanovg.c b/dgl/src/nanovg/nanovg.c @@ -36,6 +36,10 @@ #define NVG_SKIPPED_CHAR NVG_CHAR #endif +#ifndef NVG_FONT_TEXTURE_FLAGS +#define NVG_FONT_TEXTURE_FLAGS 0 +#endif + #ifdef _MSC_VER #pragma warning(disable: 4100) // unreferenced formal parameter #pragma warning(disable: 4127) // conditional expression is constant @@ -348,7 +352,12 @@ NVGcontext* nvgCreateInternal(NVGparams* params, NVGcontext* other) // Share th if (ctx->fontContext->fs == NULL) goto error; // Create font texture - ctx->fontContext->fontImages[0] = ctx->params.renderCreateTexture(ctx->params.userPtr, NVG_TEXTURE_ALPHA, fontParams.width, fontParams.height, 0, NULL); + ctx->fontContext->fontImages[0] = ctx->params.renderCreateTexture(ctx->params.userPtr, + NVG_TEXTURE_ALPHA, + fontParams.width, + fontParams.height, + NVG_FONT_TEXTURE_FLAGS, + NULL); if (ctx->fontContext->fontImages[0] == 0) goto error; ctx->fontContext->fontImageIdx = 0; } @@ -2490,7 +2499,9 @@ static int nvg__allocTextAtlas(NVGcontext* ctx) iw *= 2; if (iw > NVG_MAX_FONTIMAGE_SIZE || ih > NVG_MAX_FONTIMAGE_SIZE) iw = ih = NVG_MAX_FONTIMAGE_SIZE; - ctx->fontContext->fontImages[ctx->fontContext->fontImageIdx+1] = ctx->params.renderCreateTexture(ctx->params.userPtr, NVG_TEXTURE_ALPHA, iw, ih, 0, NULL); + ctx->fontContext->fontImages[ctx->fontContext->fontImageIdx+1] + = ctx->params.renderCreateTexture(ctx->params.userPtr, + NVG_TEXTURE_ALPHA, iw, ih, NVG_FONT_TEXTURE_FLAGS, NULL); } ++ctx->fontContext->fontImageIdx; fonsResetAtlas(ctx->fontContext->fs, iw, ih);