diff --git a/dgl/NanoVG.hpp b/dgl/NanoVG.hpp index f9c5eb7d..977946f7 100644 --- a/dgl/NanoVG.hpp +++ b/dgl/NanoVG.hpp @@ -962,6 +962,7 @@ protected: @see onDisplay */ virtual void onNanoDisplay() = 0; + virtual void onNanoDisplayAfter() {} private: /** diff --git a/dgl/src/NanoVG.cpp b/dgl/src/NanoVG.cpp index 56546d76..3c88f54c 100644 --- a/dgl/src/NanoVG.cpp +++ b/dgl/src/NanoVG.cpp @@ -1135,14 +1135,16 @@ inline void NanoBaseWidget::onDisplay() NanoVG::save(); translate(SubWidget::getAbsoluteX(), SubWidget::getAbsoluteY()); onNanoDisplay(); - NanoVG::restore(); displayChildren(); + onNanoDisplayAfter(); + NanoVG::restore(); } else { NanoVG::beginFrame(SubWidget::getWidth(), SubWidget::getHeight()); onNanoDisplay(); displayChildren(); + onNanoDisplayAfter(); NanoVG::endFrame(); } }