27 #ifndef _CEGUITooltip_h_
28 #define _CEGUITooltip_h_
30 #include "../Window.h"
33 # pragma warning(push)
34 # pragma warning(disable : 4251)
44 class CEGUIEXPORT TooltipWindowRenderer :
public WindowRenderer
51 TooltipWindowRenderer(
const String& name);
61 virtual Sizef getTextSize()
const = 0;
79 class CEGUIEXPORT Tooltip :
public Window
85 static const String WidgetTypeName;
86 static const String EventNamespace;
92 static const String EventHoverTimeChanged;
98 static const String EventDisplayTimeChanged;
104 static const String EventFadeTimeChanged;
110 static const String EventTooltipActive;
115 static const String EventTooltipInactive;
120 static const String EventTooltipTransition;
129 Tooltip(
const String& type,
const String& name);
151 void setTargetWindow(Window* wnd);
160 const Window* getTargetWindow();
170 void resetTimer(
void);
180 float getHoverTime(
void)
const;
193 void setDisplayTime(
float seconds);
206 void setHoverTime(
float seconds);
216 float getDisplayTime(
void)
const;
225 void positionSelf(
void);
244 Sizef getTextSize()
const;
254 virtual Sizef getTextSize_impl()
const;
261 void doActiveState(
float elapsed);
262 void doInactiveState(
float elapsed);
265 void switchToInactiveState(
void);
266 void switchToActiveState(
void);
269 virtual bool validateWindowRenderer(
const WindowRenderer* renderer)
const;
281 virtual void onHoverTimeChanged(WindowEventArgs& e);
290 virtual void onDisplayTimeChanged(WindowEventArgs& e);
299 virtual void onTooltipActive(WindowEventArgs& e);
308 virtual void onTooltipInactive(WindowEventArgs& e);
317 virtual void onTooltipTransition(WindowEventArgs& e);
323 void updateSelf(
float elapsed);
324 void onHidden(WindowEventArgs& e);
325 void onMouseEnters(MouseEventArgs& e);
326 void onTextChanged(WindowEventArgs& e);
333 const Window* d_target;
337 bool d_inPositionSelf;
344 void addTooltipProperties(
void);
348 #if defined(_MSC_VER)
349 # pragma warning(pop)
352 #endif // end of guard _CEGUITooltip_h_
Main namespace for Crazy Eddie's GUI Library.
Definition: cegui/include/CEGUI/Affector.h:42