103 typedef std::map<std::string, SWidgetFactory*> WidgetFactoryList;
104 typedef std::map<int, INPUTInfo> WidgetInputList;
105 typedef std::multimap<unsigned short, SWidget*> WidgetListByZOrder;
106 typedef std::set<SWidgetListener*> WidgetListenerList;
107 WidgetFactoryList widgetFactoryList;
110 WidgetListByZOrder widgetListByZOrder;
111 WidgetListenerList widgetListenerList;
113 WidgetInputList inputList;
140 void RemoveWidgetFactory(
const std::string& existingWidgetFactoryName);
145 SWidget* CreateWidget(
SScene* targetScene,
const std::string& widgetName,
const int& xPos,
const int& yPos,
const unsigned short& width,
const unsigned short& height,
SViewPort* targetViewport,
const unsigned int& widgetZOrder,
const std::string& widgetType);
150 SWidget* CreateWidget(
SScene* targetScene,
const std::string& widgetName,
const int& xPos,
const int& yPos,
const unsigned short& width,
const unsigned short& height,
SViewPort* targetViewport,
const std::string& widgetType);
155 SWidget* CreateWidget(
SScene* targetScene,
const std::string& widgetName,
const unsigned short& width,
const unsigned short& height,
SMaterial* targetMaterial,
const unsigned short& targetTechnique,
const unsigned short& targetPass,
const unsigned short& targetTextureUnit,
const std::string& widgetType);
159 void DeleteWidget(
SWidget* existingWidget);
186 void InjectMouseMove(
SWindow* originWindow,
const int& xPos,
const int& yPos,
const MouseButtonId& button);
195 void InjectMouseWheel(
SWindow* originWindow,
const int& scrollX,
const int& scrollY,
const int& relativeScroll);
204 void InjectMouseDown(
SWindow* originWindow,
const int& xPos,
const int& yPos,
const MouseButtonId& button);
206 void InjectTouchAdd(
SWindow* originWindow,
const int& xPos,
const int& yPos,
const int& touchid);
208 void InjectTouchRemove(
SWindow* originWindow,
const int& touchid);
210 void InjectTouchUpdate(
SWindow* originWindow,
const int& xPos,
const int& yPos,
const int& vx,
const int& vy,
const int& touchid);
219 void InjectMouseUp(
SWindow* originWindow,
const int& xPos,
const int& yPos,
const MouseButtonId& button);
227 void InjectMouseWheel(
SWidget* widget,
const SRaycastResult& raycast,
const int& relativeScroll,
const int&
id = 0);
237 void InjectKeyEvent(
const UINT& msg,
const ScolWindowHandle& hwnd,
const WPARAM& wParam,
const LPARAM& lParam);
241 void InjectTextEvent(
const std::string& text);
245 void UpdateWidgetsZOrder();
249 void UpdateFocusedWidget(
SWidget* focusTargetedWidget);
263 void _FireOnLoadStart(
SWidget* targetedWidget);
268 void _FireOnLoadEnd(
SWidget* targetedWidget);
273 void _FireOnLoadError(
SWidget* targetedWidget,
const int& errorCode,
const std::string& failedUrl);
278 SWidget* GetWidgetUnder(
SWindow* originWindow,
const int& posX,
const int& posY,
const int&
id = 0);
282 void _FireEnterWidgetEvent(
SWidget* targetedWidget,
const int&
id = 0);
286 void _FireInsideWidgetEvent(
SWidget* targetedWidget,
const int&
id = 0);
290 void _FireExitWidgetEvent(
SWidget* targetedWidget,
const int&
id = 0);
294 void _FireMouseMoveWidgetEvent(
SWidget* targetedWidget,
const int& mousePosX,
const int& mousePosY,
const MouseButtonId& mouseButton,
const int&
id = 0);
298 void _FireMouseDownWidgetEvent(
SWidget* targetedWidget,
const int& mousePosX,
const int& mousePosY,
const MouseButtonId& mouseButton,
const int&
id = 0);
302 void _FireMouseUpWidgetEvent(
SWidget* targetedWidget,
const int& mousePosX,
const int& mousePosY,
const MouseButtonId& mouseButton,
const int&
id = 0);
306 void _FireMouseWheelWidgetEvent(
SWidget* targetedWidget,
const int& mousePosX,
const int& mousePosY,
const int& relativeScroll,
const int&
id = 0);
310 void _FireTouchAddWidgetEvent(
SWidget* targetedWidget,
const int& mousePosX,
const int& mousePosY,
const int& touchid);
314 void _FireTouchRemoveWidgetEvent(
SWidget* targetedWidget,
const int& mousePosX,
const int& mousePosY,
const int& touchid);
318 void _FireTouchUpdateWidgetEvent(
SWidget* targetedWidget,
const int& mousePosX,
const int& mousePosY,
const int& vx,
const int& vy,
const int& touchid);
322 void _FireKeyWidgetEvent(
SWidget* targetedWidget,
const UINT& msg,
const ScolWindowHandle& hwnd,
const UINT& wParam,
const LONG& lParam);
326 void _FireFocusWidgetEvent(
SWidget* targetedWidget,
const bool& focused);
330 SPointInt ConvertTextureUvToWidgetCoordinates(
SWidget* targetedWidget,
const float& uCoordinates,
const float& vCoordinates);