comparison Framework/Deprecated/Viewport/WidgetViewport.h @ 732:c35e98d22764

move Deprecated classes to a separate folder
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 21 May 2019 14:27:35 +0200
parents Framework/Viewport/WidgetViewport.h@4f2416d519b4
children e146743f6cdc 2d8ab34c8c91
comparison
equal deleted inserted replaced
729:529189f399ec 732:c35e98d22764
1 /**
2 * Stone of Orthanc
3 * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
4 * Department, University Hospital of Liege, Belgium
5 * Copyright (C) 2017-2019 Osimis S.A., Belgium
6 *
7 * This program is free software: you can redistribute it and/or
8 * modify it under the terms of the GNU Affero General Public License
9 * as published by the Free Software Foundation, either version 3 of
10 * the License, or (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Affero General Public License for more details.
16 *
17 * You should have received a copy of the GNU Affero General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 **/
20
21
22 #pragma once
23
24 #include "IViewport.h"
25 #include "../Widgets/IWidget.h"
26
27 #include <memory>
28
29 namespace Deprecated
30 {
31 class WidgetViewport : public IViewport
32 {
33 private:
34 std::auto_ptr<IWidget> centralWidget_;
35 IStatusBar* statusBar_;
36 std::auto_ptr<IMouseTracker> mouseTracker_;
37 bool isMouseOver_;
38 int lastMouseX_;
39 int lastMouseY_;
40 OrthancStone::CairoSurface background_;
41 bool backgroundChanged_;
42
43 public:
44 WidgetViewport(OrthancStone::MessageBroker& broker);
45
46 virtual void FitContent();
47
48 virtual void SetStatusBar(IStatusBar& statusBar);
49
50 IWidget& SetCentralWidget(IWidget* widget); // Takes ownership
51
52 virtual void NotifyBackgroundChanged();
53
54 virtual void SetSize(unsigned int width,
55 unsigned int height);
56
57 virtual bool Render(Orthanc::ImageAccessor& surface);
58
59 virtual void MouseDown(OrthancStone::MouseButton button,
60 int x,
61 int y,
62 OrthancStone::KeyboardModifiers modifiers,
63 const std::vector<Touch>& displayTouches);
64
65 virtual void MouseUp();
66
67 virtual void MouseMove(int x,
68 int y,
69 const std::vector<Touch>& displayTouches);
70
71 virtual void MouseEnter();
72
73 virtual void MouseLeave();
74
75 virtual void TouchStart(const std::vector<Touch>& touches);
76
77 virtual void TouchMove(const std::vector<Touch>& touches);
78
79 virtual void TouchEnd(const std::vector<Touch>& touches);
80
81 virtual void MouseWheel(OrthancStone::MouseWheelDirection direction,
82 int x,
83 int y,
84 OrthancStone::KeyboardModifiers modifiers);
85
86 virtual void KeyPressed(OrthancStone::KeyboardKeys key,
87 char keyChar,
88 OrthancStone::KeyboardModifiers modifiers);
89
90 virtual bool HasAnimation();
91
92 virtual void DoAnimation();
93 };
94 }