comparison Framework/Widgets/WorldSceneWidget.h @ 331:7ccf919faff0 am-2

simplify WorldSceneWidget
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 17 Oct 2018 15:18:48 +0200
parents 7a364e44fbb4
children 50e5ec1bdd46
comparison
equal deleted inserted replaced
330:7a364e44fbb4 331:7ccf919faff0
70 70
71 virtual void MouseMove(int x, int y); 71 virtual void MouseMove(int x, int y);
72 }; 72 };
73 73
74 private: 74 private:
75 struct SizeChangeFunctor;
76
77 class SceneMouseTracker; 75 class SceneMouseTracker;
78 76
79 ViewportGeometry view_; 77 ViewportGeometry view_;
80 IWorldSceneInteractor* interactor_; 78 IWorldSceneInteractor* interactor_;
81 79
82 public: 80 protected:
83 virtual Extent2D GetSceneExtent() = 0; 81 virtual Extent2D GetSceneExtent() = 0;
84 82
85 protected:
86 virtual bool RenderScene(CairoContext& context, 83 virtual bool RenderScene(CairoContext& context,
87 const ViewportGeometry& view) = 0; 84 const ViewportGeometry& view) = 0;
88 85
86 // From CairoWidget
89 virtual bool RenderCairo(CairoContext& context); 87 virtual bool RenderCairo(CairoContext& context);
90 88
89 // From CairoWidget
91 virtual void RenderMouseOverCairo(CairoContext& context, 90 virtual void RenderMouseOverCairo(CairoContext& context,
92 int x, 91 int x,
93 int y); 92 int y);
94 93
95 void SetSceneExtent(ViewportGeometry& geometry); 94 void SetSceneExtent(ViewportGeometry& geometry);
99 CairoWidget(name), 98 CairoWidget(name),
100 interactor_(NULL) 99 interactor_(NULL)
101 { 100 {
102 } 101 }
103 102
104 virtual void SetSize(unsigned int width,
105 unsigned int height);
106
107 void SetInteractor(IWorldSceneInteractor& interactor); 103 void SetInteractor(IWorldSceneInteractor& interactor);
108
109 virtual void FitContent();
110 104
111 void SetView(const ViewportGeometry& view); 105 void SetView(const ViewportGeometry& view);
112 106
113 ViewportGeometry GetView(); 107 ViewportGeometry GetView();
114 108
109 virtual void SetSize(unsigned int width,
110 unsigned int height);
111
112 virtual void FitContent();
113
115 virtual IMouseTracker* CreateMouseTracker(MouseButton button, 114 virtual IMouseTracker* CreateMouseTracker(MouseButton button,
116 int x, 115 int x,
117 int y, 116 int y,
118 KeyboardModifiers modifiers); 117 KeyboardModifiers modifiers);
119
120 virtual void RenderSceneMouseOver(CairoContext& context,
121 const ViewportGeometry& view,
122 double x,
123 double y);
124
125 virtual IWorldSceneMouseTracker* CreateMouseSceneTracker(const ViewportGeometry& view,
126 MouseButton button,
127 double x,
128 double y,
129 KeyboardModifiers modifiers);
130 118
131 virtual void MouseWheel(MouseWheelDirection direction, 119 virtual void MouseWheel(MouseWheelDirection direction,
132 int x, 120 int x,
133 int y, 121 int y,
134 KeyboardModifiers modifiers); 122 KeyboardModifiers modifiers);