diff --git a/example/example.c b/example/example.c index 5adf371..f62332d 100644 --- a/example/example.c +++ b/example/example.c @@ -744,7 +744,7 @@ int main() glfwMakeContextCurrent(window); - vg = glnvgCreate(); + vg = glnvgCreate(512,512); if (vg == NULL) { printf("Could not init nanovg.\n"); return -1; diff --git a/src/glnanovg.h b/src/glnanovg.h index 6015f73..f850129 100644 --- a/src/glnanovg.h +++ b/src/glnanovg.h @@ -633,7 +633,7 @@ static void glnvg__renderDelete(void* uptr) } -struct NVGcontext* glnvgCreate() +struct NVGcontext* glnvgCreate(int atlasw, int atlash) { struct NVGparams params; struct NVGcontext* ctx = NULL; @@ -652,6 +652,8 @@ struct NVGcontext* glnvgCreate() params.renderTriangles = glnvg__renderTriangles; params.renderDelete = glnvg__renderDelete; params.userPtr = gl; + params.atlasWidth = atlasw; + params.atlasHeight = atlash; ctx = nvgCreateInternal(¶ms); if (ctx == NULL) goto error; diff --git a/src/nanovg.c b/src/nanovg.c index 139b938..ef5e469 100644 --- a/src/nanovg.c +++ b/src/nanovg.c @@ -201,8 +201,8 @@ struct NVGcontext* nvgCreateInternal(struct NVGparams* params) // Init font rendering memset(&fontParams, 0, sizeof(fontParams)); - fontParams.width = 512; - fontParams.height = 512; + fontParams.width = params->atlasWidth; + fontParams.height = params->atlasHeight; fontParams.flags = FONS_ZERO_TOPLEFT; fontParams.renderCreate = NULL; fontParams.renderUpdate = NULL; diff --git a/src/nanovg.h b/src/nanovg.h index e9ffa35..916925c 100644 --- a/src/nanovg.h +++ b/src/nanovg.h @@ -90,6 +90,7 @@ struct NVGpath { struct NVGparams { void* userPtr; + int atlasWidth, atlasHeight; int (*renderCreate)(void* uptr); int (*renderCreateTexture)(void* uptr, int type, int w, int h, const unsigned char* data); int (*renderDeleteTexture)(void* uptr, int image);