Mercurial > hg > orthanc-stone
diff Platforms/WebAssembly/Defaults.h @ 222:84844649a8fd am
continued: reusable applications
author | am@osimis.io |
---|---|
date | Tue, 12 Jun 2018 17:21:15 +0200 |
parents | |
children | d30a10d574ec |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Platforms/WebAssembly/Defaults.h Tue Jun 12 17:21:15 2018 +0200 @@ -0,0 +1,62 @@ +#pragma once + +#include <Framework/dev.h> +#include <Framework/Viewport/WidgetViewport.h> +#include <Framework/Widgets/LayerWidget.h> +#include <Framework/Widgets/LayoutWidget.h> + +#ifdef __cplusplus +extern "C" { +#endif + + extern void ScheduleRedraw(); + +#ifdef __cplusplus +} +#endif + + +namespace OrthancStone { + + class ChangeObserver : + public OrthancStone::IViewport::IObserver + { + private: + // Flag to avoid flooding JavaScript with redundant Redraw requests + bool isScheduled_; + + public: + ChangeObserver() : + isScheduled_(false) + { + } + + void Reset() + { + isScheduled_ = false; + } + + virtual void NotifyChange(const OrthancStone::IViewport &scene) + { + if (!isScheduled_) + { + ScheduleRedraw(); + isScheduled_ = true; + } + } + }; + + + class StatusBar : public OrthancStone::IStatusBar + { + public: + virtual void ClearMessage() + { + } + + virtual void SetMessage(const std::string& message) + { + printf("%s\n", message.c_str()); + } + }; +} \ No newline at end of file