Crazy Eddie's GUI System
0.8.7
|
27 #ifndef _CEGUIGUIContext_h_
28 #define _CEGUIGUIContext_h_
30 #include "CEGUI/RenderingSurface.h"
31 #include "CEGUI/InjectedInputReceiver.h"
32 #include "CEGUI/MouseCursor.h"
33 #include "CEGUI/SystemKeys.h"
35 #if defined (_MSC_VER)
36 # pragma warning(push)
37 # pragma warning(disable : 4251)
42 struct MouseClickTracker;
72 static const float DefaultMouseButtonClickTimeout;
73 static const float DefaultMouseButtonMultiClickTimeout;
74 static const Sizef DefaultMouseButtonMultiClickTolerance;
113 Window* getRootWindow()
const;
114 void setRootWindow(
Window* new_root);
129 Window* getWindowContainingMouse()
const;
131 const Sizef& getSurfaceSize()
const;
137 bool isDirty()
const;
153 void setMouseMoveScalingFactor(
float factor);
154 float getMouseMoveScalingFactor()
const;
156 void setMouseButtonClickTimeout(
float seconds);
157 float getMouseButtonClickTimeout()
const;
159 void setMouseButtonMultiClickTimeout(
float seconds);
160 float getMouseButtonMultiClickTimeout()
const;
162 void setMouseButtonMultiClickTolerance(
const Sizef& sz);
163 const Sizef& getMouseButtonMultiClickTolerance()
const;
198 Window* getInputCaptureWindow()
const;
199 void setInputCaptureWindow(
Window* window);
286 void updateRootWindowAreaRects()
const;
287 void drawWindowContentToTarget();
288 void renderWindowHierarchyToSurfaces();
290 void createDefaultTooltipWindowInstance()
const;
291 void destroyDefaultTooltipWindowInstance();
297 Window* getTargetWindow(
const Vector2f& pt,
const bool allow_disabled)
const;
298 Window* getKeyboardTargetWindow()
const;
305 bool areaChangedHandler(
const EventArgs& args);
306 bool windowDestroyedHandler(
const EventArgs& args);
310 void resetWindowContainingMouse();
319 virtual void onDefaultFontChanged(
EventArgs& args);
338 mutable Tooltip* d_defaultTooltipObject;
339 mutable bool d_weCreatedTooltipObject;
340 String d_defaultTooltipType;
347 mutable Window* d_windowContainingMouse;
348 mutable bool d_windowContainingMouseIsUpToDate;
353 MouseClickTracker* d_mouseClickTrackers;
361 #if defined(_MSC_VER)
362 # pragma warning(pop)
Class that encapsulates a typeface.
Definition: Font.h:62
EventArgs class passed for GUIContext RenderTarget related events.
Definition: GUIContext.h:58
void setDefaultFont(const String &name)
Set the default font to be used by the GUIContext.
GUIContext * context
pointer to the GUIContext that triggered the event.
Definition: GUIContext.h:53
Event::Connection wrapper that automatically disconnects the connection when the object is deleted (o...
Definition: Event.h:92
void setDefaultTooltipType(const String &tooltip_type)
Set the default Tooltip to be used by specifying a Window type.
bool injectPasteRequest()
Tells the system to perform a clipboard paste operation.
Sizef d_mouseButtonMultiClickTolerance
Movement tolerance used when detecting multi-click events.
Definition: GUIContext.h:336
static const String EventMouseButtonClickTimeoutChanged
Definition: GUIContext.h:90
void setDefaultFont(Font *font)
Set the default font to be used by the GUIContext.
static const String EventDefaultFontChanged
Definition: GUIContext.h:108
static const String EventRootWindowChanged
Definition: GUIContext.h:82
Class that represents a surface that can have geometry based imagery drawn to it.
Definition: RenderingSurface.h:111
bool injectMouseButtonClick(const MouseButton button)
Function to directly inject a mouse button click event.
bool isMouseClickEventGenerationEnabled() const
Return whether automatic mouse button click and multi-click (i.e. double-click and treble-click) even...
void notifyMouseTransition(Window *top, Window *bottom, void(Window::*func)(MouseEventArgs &), MouseEventArgs &args) const
call some function for a chain of windows: (top, bottom]
void updateWindowContainingMouse()
Tell the context to reconsider which window it thinks the mouse is in.
bool injectMouseButtonUp(MouseButton button)
Function that injects a mouse button up event into the receiver.
MouseCursor & getMouseCursor()
Retrieves MouseCursor used in this GUIContext.
bool injectMouseButtonDown(MouseButton button)
Function that injects a mouse button down event into the receiver.
void notifyDefaultFontChanged(Window *hierarchy_root) const
notify windows in a hierarchy using default font, when font changes.
bool updateWindowContainingMouse_impl() const
returns whether the window containing the mouse had changed.
bool injectChar(String::value_type code_point)
Function that injects a typed character event into the receiver.
Main namespace for Crazy Eddie's GUI Library.
Definition: arch_overview.dox:1
EventArgs based class that is used for objects passed to input event handlers concerning mouse input.
Definition: InputEvent.h:281
Window * getModalWindow() const
Return a pointer to the Window that is currently set as modal.
static const String EventMouseButtonMultiClickTimeoutChanged
Definition: GUIContext.h:94
EventArgs based class that is used for objects passed to handlers triggered for events concerning som...
Definition: InputEvent.h:252
bool injectCutRequest()
Tells the system to perform a clipboard cut operation.
bool injectTimePulse(float timeElapsed)
Function to inject time pulses into the receiver.
void setModalWindow(Window *window)
Internal function to directly set the current modal window.
bool d_generateMouseClickEvents
should mouse click/multi-click events be automatically generated.
Definition: GUIContext.h:330
void markAsDirty()
call to indicate that some redrawing is required.
bool injectMouseButtonDoubleClick(const MouseButton button)
Function to directly inject a mouse button double-click event.
Font * getDefaultFont() const
Return a pointer to the default Font for the GUIContext.
float d_mouseButtonClickTimeout
Timeout used to when detecting a single-click.
Definition: GUIContext.h:332
void setMouseClickEventGenerationEnabled(const bool enable)
Set whether automatic mouse button click and multi-click (i.e. double-click and treble-click) event g...
bool injectMouseLeaves(void)
Function that notifies that the mouse has left the host area that the receiver receives input for.
Sizef d_surfaceSize
a cache of the target surface size, allows returning by ref.
Definition: GUIContext.h:345
bool injectMouseButtonTripleClick(const MouseButton button)
Function to directly inject a mouse button triple-click event.
Definition: SystemKeys.h:35
utf32 value_type
Basic 'code point' type used for String (utf32)
Definition: String.h:69
bool injectKeyUp(Key::Scan scan_code)
Function that injects a key up event into the receiver.
Class that provides mouse cursor support.
Definition: MouseCursor.h:54
void draw()
Draw the GeometryBuffers for all rendering queues to the RenderTarget that this RenderingSurface is t...
bool injectMouseWheelChange(float delta)
Function that injects a mouse-wheel / scroll-wheel event into the receiver.
void setDefaultTooltipObject(Tooltip *tooltip)
Set the default Tooltip object for this GUIContext. This value may be 0 to indicate that no default T...
bool injectKeyDown(Key::Scan scan_code)
Function that injects a key down event into the receiver.
static const String EventRenderTargetChanged
Definition: GUIContext.h:104
float d_mouseMovementScalingFactor
Scaling factor applied to injected mouse move deltas.
Definition: GUIContext.h:328
bool injectCopyRequest()
Tells the receiver to perform a clipboard copy operation.
An abstract base class providing common functionality and specifying the required interface for deriv...
Definition: Window.h:151
static const String EventMouseButtonMultiClickToleranceChanged
Definition: GUIContext.h:99
Tooltip * getDefaultTooltipObject() const
Returns a pointer to the context's default tooltip object. May return 0.
bool injectMousePosition(float x_pos, float y_pos)
Function that injects a new position for the mouse cursor.
Defines interface to some surface that can be rendered to. Concrete instances of objects that impleme...
Definition: RenderTarget.h:60
Definition: GUIContext.h:70
String class used within the GUI system.
Definition: String.h:64
bool injectMouseMove(float delta_x, float delta_y)
Function that injects a mouse movement event into the receiver.
MouseButton
Enumeration of mouse buttons.
Definition: InputEvent.h:210
static const String EventMouseMoveScalingFactorChanged
Definition: GUIContext.h:86
EventArgs class passed to subscribers for (most) GUIContext events.
Definition: GUIContext.h:46
float d_mouseButtonMultiClickTimeout
Timeout used when detecting multi-click events.
Definition: GUIContext.h:334
Base class used as the argument to all subscribers Event object.
Definition: EventArgs.h:51