void Renderer2D::createImage2D( string_hash name, pointer_t<void> memory, uint32_t size ) { const uint32_t index = _images.find(name); if( index == Image2DMap::INVALID ) { Image2D image = nvgCreateImageMem( _context2D, 0, memory.as_uint8_t, size ); _images.push_back( name, image ); } }
int __nanogui_get_image(NVGcontext *ctx, const std::string &name, uint8_t *data, uint32_t size) { static std::map<std::string, int> iconCache; auto it = iconCache.find(name); if (it != iconCache.end()) return it->second; int iconID = nvgCreateImageMem(ctx, 0, data, size); if (iconID == 0) throw std::runtime_error("Unable to load resource data."); iconCache[name] = iconID; return iconID; }
JNIEXPORT int JNICALL Java_firststep_internal_NVG_createImageMem (JNIEnv *e, jclass c, jlong ctx, jbyteArray jdata, jint flags) { int ndata = (*e)->GetArrayLength(e, jdata); unsigned char* data = (unsigned char*)(*e)->GetByteArrayElements(e, jdata, NULL); int r; r = nvgCreateImageMem((NVGcontext*)ctx, flags, data, ndata); (*e)->ReleaseByteArrayElements(e, jdata, (jbyte*)data, 0); return r; }