Mercurial > hg > orthanc-stone
comparison 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 |
comparison
equal
deleted
inserted
replaced
221:d7b2590744f8 | 222:84844649a8fd |
---|---|
1 #pragma once | |
2 | |
3 #include <Framework/dev.h> | |
4 #include <Framework/Viewport/WidgetViewport.h> | |
5 #include <Framework/Widgets/LayerWidget.h> | |
6 #include <Framework/Widgets/LayoutWidget.h> | |
7 | |
8 #ifdef __cplusplus | |
9 extern "C" { | |
10 #endif | |
11 | |
12 extern void ScheduleRedraw(); | |
13 | |
14 #ifdef __cplusplus | |
15 } | |
16 #endif | |
17 | |
18 | |
19 namespace OrthancStone { | |
20 | |
21 class ChangeObserver : | |
22 public OrthancStone::IViewport::IObserver | |
23 { | |
24 private: | |
25 // Flag to avoid flooding JavaScript with redundant Redraw requests | |
26 bool isScheduled_; | |
27 | |
28 public: | |
29 ChangeObserver() : | |
30 isScheduled_(false) | |
31 { | |
32 } | |
33 | |
34 void Reset() | |
35 { | |
36 isScheduled_ = false; | |
37 } | |
38 | |
39 virtual void NotifyChange(const OrthancStone::IViewport &scene) | |
40 { | |
41 if (!isScheduled_) | |
42 { | |
43 ScheduleRedraw(); | |
44 isScheduled_ = true; | |
45 } | |
46 } | |
47 }; | |
48 | |
49 | |
50 class StatusBar : public OrthancStone::IStatusBar | |
51 { | |
52 public: | |
53 virtual void ClearMessage() | |
54 { | |
55 } | |
56 | |
57 virtual void SetMessage(const std::string& message) | |
58 { | |
59 printf("%s\n", message.c_str()); | |
60 } | |
61 }; | |
62 } |