From 9b8de47d799a778ae44eff12a7e015cd346c1c77 Mon Sep 17 00:00:00 2001 From: StarWing Date: Tue, 10 Jun 2014 00:49:35 +0800 Subject: [PATCH] fix nvgCreateImageFromHandle for GLES2/3. --- src/nanovg_gl.h | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/nanovg_gl.h b/src/nanovg_gl.h index 085fb24..3a0f113 100644 --- a/src/nanovg_gl.h +++ b/src/nanovg_gl.h @@ -77,7 +77,7 @@ enum NVGLtextureflags { NVGL_TEXTURE_NODELETE = 0x02, }; -int nvglCreateImageFromHandle(struct NVGcontext* ctx, GLuint textureId, int flags); +int nvglCreateImageFromHandle(struct NVGcontext* ctx, GLuint textureId, int w, int h, int flags); GLuint nvglImageHandle(struct NVGcontext* ctx, int image); void nvglImageFlags(struct NVGcontext* ctx, int image, int flags); @@ -1381,20 +1381,18 @@ void nvgDeleteGLES3(struct NVGcontext* ctx) nvgDeleteInternal(ctx); } -int nvglCreateImageFromHandle(struct NVGcontext* ctx, GLuint textureId, int flags) +int nvglCreateImageFromHandle(struct NVGcontext* ctx, GLuint textureId, int w, int h, int flags) { struct GLNVGcontext* gl = (struct GLNVGcontext*)nvgInternalParams(ctx)->userPtr; struct GLNVGtexture* tex = glnvg__allocTexture(gl); if (tex == NULL) return 0; - tex->tex = textureId; tex->type = NVG_TEXTURE_RGBA; - tex->flags = flags; - glBindTexture(GL_TEXTURE_2D, tex->tex); - glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_WIDTH, &tex->width); - glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_HEIGHT, &tex->height); - glBindTexture(GL_TEXTURE_2D, 0); + tex->tex = textureId; + tex->flags = flags; + tex->width = w; + tex->height = h; return tex->id; }