Crazy Eddie's GUI System
0.8.4
|
Public Member Functions | |
GUIContext (RenderTarget &target) | |
Window * | getRootWindow () const |
void | setRootWindow (Window *new_root) |
void | setModalWindow (Window *window) |
Internal function to directly set the current modal window. | |
Window * | getModalWindow () const |
Return a pointer to the Window that is currently set as modal. | |
Window * | getWindowContainingMouse () const |
const Sizef & | getSurfaceSize () const |
const SystemKeys & | getSystemKeys () const |
void | markAsDirty () |
call to indicate that some redrawing is required. | |
bool | isDirty () const |
MouseCursor & | getMouseCursor () |
Retrieves MouseCursor used in this GUIContext. | |
const MouseCursor & | getMouseCursor () const |
void | setMouseMoveScalingFactor (float factor) |
float | getMouseMoveScalingFactor () const |
void | setMouseButtonClickTimeout (float seconds) |
float | getMouseButtonClickTimeout () const |
void | setMouseButtonMultiClickTimeout (float seconds) |
float | getMouseButtonMultiClickTimeout () const |
void | setMouseButtonMultiClickTolerance (const Sizef &sz) |
const Sizef & | getMouseButtonMultiClickTolerance () const |
void | setMouseClickEventGenerationEnabled (const bool enable) |
Set whether automatic mouse button click and multi-click (i.e. double-click and treble-click) event generation will occur. | |
bool | isMouseClickEventGenerationEnabled () const |
Return whether automatic mouse button click and multi-click (i.e. double-click and treble-click) event generation is enabled. | |
void | updateWindowContainingMouse () |
Tell the context to reconsider which window it thinks the mouse is in. | |
Window * | getInputCaptureWindow () const |
void | setInputCaptureWindow (Window *window) |
void | setDefaultTooltipObject (Tooltip *tooltip) |
Set the default Tooltip object for this GUIContext. This value may be 0 to indicate that no default Tooltip object will be available. | |
void | setDefaultTooltipType (const String &tooltip_type) |
Set the default Tooltip to be used by specifying a Window type. | |
Tooltip * | getDefaultTooltipObject () const |
Returns a pointer to the context's default tooltip object. May return 0. | |
void | setRenderTarget (RenderTarget &target) |
void | setDefaultFont (const String &name) |
Set the default font to be used by the GUIContext. | |
void | setDefaultFont (Font *font) |
Set the default font to be used by the GUIContext. | |
Font * | getDefaultFont () const |
Return a pointer to the default Font for the GUIContext. | |
bool | injectMouseMove (float delta_x, float delta_y) |
Function that injects a mouse movement event into the receiver. | |
bool | injectMouseLeaves (void) |
Function that notifies that the mouse has left the host area that the receiver receives input for. | |
bool | injectMouseButtonDown (MouseButton button) |
Function that injects a mouse button down event into the receiver. | |
bool | injectMouseButtonUp (MouseButton button) |
Function that injects a mouse button up event into the receiver. | |
bool | injectKeyDown (Key::Scan scan_code) |
Function that injects a key down event into the receiver. | |
bool | injectKeyUp (Key::Scan scan_code) |
Function that injects a key up event into the receiver. | |
bool | injectChar (String::value_type code_point) |
Function that injects a typed character event into the receiver. | |
bool | injectMouseWheelChange (float delta) |
Function that injects a mouse-wheel / scroll-wheel event into the receiver. | |
bool | injectMousePosition (float x_pos, float y_pos) |
Function that injects a new position for the mouse cursor. | |
bool | injectTimePulse (float timeElapsed) |
Function to inject time pulses into the receiver. | |
bool | injectMouseButtonClick (const MouseButton button) |
Function to directly inject a mouse button click event. | |
bool | injectMouseButtonDoubleClick (const MouseButton button) |
Function to directly inject a mouse button double-click event. | |
bool | injectMouseButtonTripleClick (const MouseButton button) |
Function to directly inject a mouse button triple-click event. | |
bool | injectCopyRequest () |
Tells the receiver to perform a clipboard copy operation. | |
bool | injectCutRequest () |
Tells the system to perform a clipboard cut operation. | |
bool | injectPasteRequest () |
Tells the system to perform a clipboard paste operation. | |
void | draw () |
Draw the GeometryBuffers for all rendering queues to the RenderTarget that this RenderingSurface is targetting. | |
Static Public Attributes | |
static const float | DefaultMouseButtonClickTimeout |
static const float | DefaultMouseButtonMultiClickTimeout |
static const Sizef | DefaultMouseButtonMultiClickTolerance |
static const String | EventRootWindowChanged |
static const String | EventMouseMoveScalingFactorChanged |
static const String | EventMouseButtonClickTimeoutChanged |
static const String | EventMouseButtonMultiClickTimeoutChanged |
static const String | EventMouseButtonMultiClickToleranceChanged |
static const String | EventRenderTargetChanged |
static const String | EventDefaultFontChanged |
Protected Member Functions | |
void | updateRootWindowAreaRects () const |
void | drawWindowContentToTarget () |
void | renderWindowHierarchyToSurfaces () |
void | createDefaultTooltipWindowInstance () const |
void | destroyDefaultTooltipWindowInstance () |
void | notifyDefaultFontChanged (Window *hierarchy_root) const |
notify windows in a hierarchy using default font, when font changes. | |
bool | mouseMoveInjection_impl (MouseEventArgs &ma) |
Window * | getTargetWindow (const Vector2f &pt, const bool allow_disabled) const |
Window * | getKeyboardTargetWindow () const |
Window * | getCommonAncestor (Window *w1, Window *w2) const |
void | notifyMouseTransition (Window *top, Window *bottom, void(Window::*func)(MouseEventArgs &), MouseEventArgs &args) const |
call some function for a chain of windows: (top, bottom] | |
bool | areaChangedHandler (const EventArgs &args) |
bool | windowDestroyedHandler (const EventArgs &args) |
bool | updateWindowContainingMouse_impl () const |
returns whether the window containing the mouse had changed. | |
void | resetWindowContainingMouse () |
virtual void | onRootWindowChanged (WindowEventArgs &args) |
virtual void | onMouseMoveScalingFactorChanged (GUIContextEventArgs &args) |
virtual void | onMouseButtonClickTimeoutChanged (GUIContextEventArgs &args) |
virtual void | onMouseButtonMultiClickTimeoutChanged (GUIContextEventArgs &args) |
virtual void | onMouseButtonMultiClickToleranceChanged (GUIContextEventArgs &args) |
virtual void | onRenderTargetChanged (GUIContextRenderTargetEventArgs &args) |
virtual void | onDefaultFontChanged (EventArgs &args) |
void | drawContent () |
Protected Attributes | |
Window * | d_rootWindow |
bool | d_isDirty |
MouseCursor | d_mouseCursor |
float | d_mouseMovementScalingFactor |
Scaling factor applied to injected mouse move deltas. | |
bool | d_generateMouseClickEvents |
should mouse click/multi-click events be automatically generated. | |
float | d_mouseButtonClickTimeout |
Timeout used to when detecting a single-click. | |
float | d_mouseButtonMultiClickTimeout |
Timeout used when detecting multi-click events. | |
Sizef | d_mouseButtonMultiClickTolerance |
Movement tolerance used when detecting multi-click events. | |
Tooltip * | d_defaultTooltipObject |
bool | d_weCreatedTooltipObject |
String | d_defaultTooltipType |
Font * | d_defaultFont |
Sizef | d_surfaceSize |
a cache of the target surface size, allows returning by ref. | |
Window * | d_windowContainingMouse |
bool | d_windowContainingMouseIsUpToDate |
Window * | d_modalWindow |
Window * | d_captureWindow |
SystemKeys | d_systemKeys |
MouseClickTracker * | d_mouseClickTrackers |
Event::ScopedConnection | d_areaChangedEventConnection |
Event::ScopedConnection | d_windowDestroyedEventConnection |
void CEGUI::GUIContext::draw | ( | ) | [virtual] |
Draw the GeometryBuffers for all rendering queues to the RenderTarget that this RenderingSurface is targetting.
The GeometryBuffers remain in the rendering queues after the draw operation is complete. This allows the next draw operation to occur without needing to requeue all the GeometryBuffers (if for instance the sequence of buffers to be drawn remains unchanged).
Reimplemented from CEGUI::RenderingSurface.
void CEGUI::GUIContext::drawContent | ( | ) | [protected, virtual] |
draw the surface content. Default impl draws the render queues. NB: Called between RenderTarget activate and deactivate calls.
Reimplemented from CEGUI::RenderingSurface.
Font* CEGUI::GUIContext::getDefaultFont | ( | ) | const |
Return a pointer to the default Font for the GUIContext.
Retrieves MouseCursor used in this GUIContext.
bool CEGUI::GUIContext::injectChar | ( | String::value_type | code_point | ) | [virtual] |
Function that injects a typed character event into the receiver.
code_point | Unicode or ASCII (depends on used String class) code point of the character that was typed. |
Implements CEGUI::InjectedInputReceiver.
bool CEGUI::GUIContext::injectCopyRequest | ( | ) | [virtual] |
Tells the receiver to perform a clipboard copy operation.
Implements CEGUI::InjectedInputReceiver.
bool CEGUI::GUIContext::injectCutRequest | ( | ) | [virtual] |
Tells the system to perform a clipboard cut operation.
Implements CEGUI::InjectedInputReceiver.
bool CEGUI::GUIContext::injectKeyDown | ( | Key::Scan | scan_code | ) | [virtual] |
Function that injects a key down event into the receiver.
key_code | uint value indicating which key was pressed. |
Implements CEGUI::InjectedInputReceiver.
bool CEGUI::GUIContext::injectKeyUp | ( | Key::Scan | scan_code | ) | [virtual] |
Function that injects a key up event into the receiver.
key_code | Key::Scan value indicating which key was released. |
Implements CEGUI::InjectedInputReceiver.
bool CEGUI::GUIContext::injectMouseButtonClick | ( | const MouseButton | button | ) | [virtual] |
Function to directly inject a mouse button click event.
Here 'click' means a mouse button down event followed by a mouse button up event.
button | One of the MouseButton enumerated values. |
Implements CEGUI::InjectedInputReceiver.
bool CEGUI::GUIContext::injectMouseButtonDoubleClick | ( | const MouseButton | button | ) | [virtual] |
Function to directly inject a mouse button double-click event.
Here 'double-click' means a single mouse button had the sequence down, up, down within a predefined period of time.
button | One of the MouseButton enumerated values. |
Implements CEGUI::InjectedInputReceiver.
bool CEGUI::GUIContext::injectMouseButtonDown | ( | MouseButton | button | ) | [virtual] |
Function that injects a mouse button down event into the receiver.
button | One of the MouseButton values indicating which button was pressed. |
Implements CEGUI::InjectedInputReceiver.
Referenced by CEGUI::IrrlichtEventPusher::OnMouse().
bool CEGUI::GUIContext::injectMouseButtonTripleClick | ( | const MouseButton | button | ) | [virtual] |
Function to directly inject a mouse button triple-click event.
Here 'triple-click' means a single mouse button had the sequence down, up, down, up, down within a predefined period of time.
button | One of the MouseButton enumerated values. |
Implements CEGUI::InjectedInputReceiver.
bool CEGUI::GUIContext::injectMouseButtonUp | ( | MouseButton | button | ) | [virtual] |
Function that injects a mouse button up event into the receiver.
button | One of the MouseButton values indicating which button was released. |
Implements CEGUI::InjectedInputReceiver.
Referenced by CEGUI::IrrlichtEventPusher::OnMouse().
bool CEGUI::GUIContext::injectMouseLeaves | ( | void | ) | [virtual] |
Function that notifies that the mouse has left the host area that the receiver receives input for.
Implements CEGUI::InjectedInputReceiver.
bool CEGUI::GUIContext::injectMouseMove | ( | float | delta_x, |
float | delta_y | ||
) | [virtual] |
Function that injects a mouse movement event into the receiver.
delta_x | amount the mouse moved on the x axis. |
delta_y | amount the mouse moved on the y axis. |
Implements CEGUI::InjectedInputReceiver.
bool CEGUI::GUIContext::injectMousePosition | ( | float | x_pos, |
float | y_pos | ||
) | [virtual] |
Function that injects a new position for the mouse cursor.
x_pos | New absolute pixel position of the mouse cursor on the x axis. |
y_pos | New absolute pixel position of the mouse cursoe in the y axis. |
Implements CEGUI::InjectedInputReceiver.
Referenced by CEGUI::IrrlichtEventPusher::OnMouse().
bool CEGUI::GUIContext::injectMouseWheelChange | ( | float | delta | ) | [virtual] |
Function that injects a mouse-wheel / scroll-wheel event into the receiver.
delta | float value representing the amount the wheel moved. |
Implements CEGUI::InjectedInputReceiver.
Referenced by CEGUI::IrrlichtEventPusher::OnMouse().
bool CEGUI::GUIContext::injectPasteRequest | ( | ) | [virtual] |
Tells the system to perform a clipboard paste operation.
Implements CEGUI::InjectedInputReceiver.
bool CEGUI::GUIContext::injectTimePulse | ( | float | timeElapsed | ) | [virtual] |
Function to inject time pulses into the receiver.
timeElapsed | float value indicating the amount of time passed, in seconds, since the last time this method was called. |
Implements CEGUI::InjectedInputReceiver.
bool CEGUI::GUIContext::isMouseClickEventGenerationEnabled | ( | ) | const |
Return whether automatic mouse button click and multi-click (i.e. double-click and treble-click) event generation is enabled.
void CEGUI::GUIContext::setDefaultFont | ( | const String & | name | ) |
Set the default font to be used by the GUIContext.
name | String object containing the name of the font to be used as the default for this GUIContext |
void CEGUI::GUIContext::setDefaultFont | ( | Font * | font | ) |
Set the default font to be used by the GUIContext.
font | Pointer to the font to be used as the default for this GUIContext. |
void CEGUI::GUIContext::setDefaultTooltipObject | ( | Tooltip * | tooltip | ) |
Set the default Tooltip object for this GUIContext. This value may be 0 to indicate that no default Tooltip object will be available.
tooltip | Pointer to a valid Tooltip based object which should be used as the default tooltip for the GUIContext, or 0 to indicate that no default Tooltip is required. |
void CEGUI::GUIContext::setDefaultTooltipType | ( | const String & | tooltip_type | ) |
Set the default Tooltip to be used by specifying a Window type.
The GUIContext will internally attempt to create an instance of the specified window type (which must be derived from the base Tooltip class). If the Tooltip creation fails, the error is logged and no default Tooltip will be available on the GUIContext.
void CEGUI::GUIContext::setModalWindow | ( | Window * | window | ) |
Internal function to directly set the current modal window.
void CEGUI::GUIContext::setMouseClickEventGenerationEnabled | ( | const bool | enable | ) |
Set whether automatic mouse button click and multi-click (i.e. double-click and treble-click) event generation will occur.
enable |
|
const String CEGUI::GUIContext::EventDefaultFontChanged [static] |
const String CEGUI::GUIContext::EventMouseButtonClickTimeoutChanged [static] |
Name of Event fired when the mouse click timeout is changed. Handlers are passed a const reference to a GUIContextEventArgs struct.
Name of Event fired when the mouse multi-click timeout is changed. Handlers are passed a const reference to a GUIContextEventArgs struct.
Name of Event fired when the mouse multi-click movement tolerance area size is changed. Handlers are passed a const reference to a GUIContextEventArgs struct.
const String CEGUI::GUIContext::EventMouseMoveScalingFactorChanged [static] |
Name of Event fired when the mouse movement scaling factor is changed. Handlers are passed a const reference to a GUIContextEventArgs struct.
const String CEGUI::GUIContext::EventRenderTargetChanged [static] |
Name of Event fired when the RenderTarget for the GUIContext is changed. Handlers are passed a const GUIContextRenderTargetEventArgs struct, with the renderTarget member set to the old RenderTarget.
const String CEGUI::GUIContext::EventRootWindowChanged [static] |
Name of Event fired when the root window is changed to a different Window. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the old root window (the new one is obtained by calling GUIContext::getRootWindow).