/*============================================================================== Copyright 2018 by Roland Rabien For more information visit www.rabiensoftware.com ==============================================================================*/ #pragma once class LambdaTimer : public Timer { public: LambdaTimer (std::function func = nullptr) : onTimer (func) {} std::function onTimer; private: void timerCallback() override { if (onTimer) onTimer(); } }; class LambdaAsyncUpdater : public AsyncUpdater { public: LambdaAsyncUpdater (std::function func) : onAsyncUpdate (func) {} std::function onAsyncUpdate; private: void handleAsyncUpdate () override { if (onAsyncUpdate) onAsyncUpdate(); } }; void callOnMainThreadBlocking ( std::function func );