25 #ifndef __I6ENGINE_API_GUIWIDGET_H__
26 #define __I6ENGINE_API_GUIWIDGET_H__
34 #include "boost/function.hpp"
37 class AnimationInstance;
67 explicit GUIWidget(
const std::string & name);
83 void loadWindowLayout(
const std::string & name,
const std::string & filename);
89 void enableTicking(
bool enabled);
97 _clickCallback = callback;
111 return _mouseOverCallback();
118 _mouseOverCallback = func;
124 void setPosition(
double x,
double y);
129 void setSize(
double w,
double h);
134 bool renderingEndedHandler(
const CEGUI::EventArgs & args);
144 std::function<std::vector<GUIWidget *>()> _mouseOverCallback;
146 std::function<bool(std::string)> _canDrop;
148 std::function<void(const std::string &, const std::string &)> _dropCallback;
152 boost::function<void(void)> _clickCallback;
153 std::string _tooltip;
155 std::map<std::string, CEGUI::AnimationInstance *> _animations;
158 uint32_t * _hitTestBuffer;
160 size_t _hitBufferCapacity;
162 Vec2f _hitBufferSize;
164 bool _hitBufferInverted;
166 bool drag(
const CEGUI::EventArgs & e);
167 bool drop(
const CEGUI::EventArgs & e);
168 bool mouseMove(
const CEGUI::EventArgs & e);
169 bool mouseEnter(
const CEGUI::EventArgs & e);
170 bool mouseLeave(
const CEGUI::EventArgs & e);
#define ISIXE_MODULES_API
Used to partially unwrap GUI messages.
i6e::api::gui::GUIUpdateMessageStruct GUIUpdateMessageStruct