diff --git a/dgl/NanoVG.hpp b/dgl/NanoVG.hpp index a1fab235..f9c5eb7d 100644 --- a/dgl/NanoVG.hpp +++ b/dgl/NanoVG.hpp @@ -112,6 +112,11 @@ public: */ GLuint getTextureHandle() const; + /** + Update the image data in-place. + */ + void update(const uchar* data); + private: Handle fHandle; Size fSize; diff --git a/dgl/src/NanoVG.cpp b/dgl/src/NanoVG.cpp index 80e3f349..47781cce 100644 --- a/dgl/src/NanoVG.cpp +++ b/dgl/src/NanoVG.cpp @@ -279,6 +279,14 @@ GLuint NanoImage::getTextureHandle() const return nvglImageHandle(fHandle.context, fHandle.imageId); } +void NanoImage::update(const uchar* const data) +{ + DISTRHO_SAFE_ASSERT_RETURN(fHandle.context != nullptr && fHandle.imageId != 0,); + DISTRHO_SAFE_ASSERT_RETURN(data != nullptr,); + + nvgUpdateImage(fHandle.context, fHandle.imageId, data); +} + void NanoImage::_updateSize() { int w=0, h=0;