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. More... | |
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. More... | |
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. More... | |
bool | isMouseClickEventGenerationEnabled () const |
Return whether automatic mouse button click and multi-click (i.e. double-click and treble-click) event generation is enabled. More... | |
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. More... | |
void | setDefaultTooltipType (const String &tooltip_type) |
Set the default Tooltip to be used by specifying a Window type. More... | |
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. More... | |
void | setDefaultFont (Font *font) |
Set the default font to be used by the GUIContext. More... | |
Font * | getDefaultFont () const |
Return a pointer to the default Font for the GUIContext. More... | |
bool | injectMouseMove (float delta_x, float delta_y) |
Function that injects a mouse movement event into the receiver. More... | |
bool | injectMouseLeaves (void) |
Function that notifies that the mouse has left the host area that the receiver receives input for. More... | |
bool | injectMouseButtonDown (MouseButton button) |
Function that injects a mouse button down event into the receiver. More... | |
bool | injectMouseButtonUp (MouseButton button) |
Function that injects a mouse button up event into the receiver. More... | |
bool | injectKeyDown (Key::Scan scan_code) |
Function that injects a key down event into the receiver. More... | |
bool | injectKeyUp (Key::Scan scan_code) |
Function that injects a key up event into the receiver. More... | |
bool | injectChar (String::value_type code_point) |
Function that injects a typed character event into the receiver. More... | |
bool | injectMouseWheelChange (float delta) |
Function that injects a mouse-wheel / scroll-wheel event into the receiver. More... | |
bool | injectMousePosition (float x_pos, float y_pos) |
Function that injects a new position for the mouse cursor. More... | |
bool | injectTimePulse (float timeElapsed) |
Function to inject time pulses into the receiver. More... | |
bool | injectMouseButtonClick (const MouseButton button) |
Function to directly inject a mouse button click event. More... | |
bool | injectMouseButtonDoubleClick (const MouseButton button) |
Function to directly inject a mouse button double-click event. More... | |
bool | injectMouseButtonTripleClick (const MouseButton button) |
Function to directly inject a mouse button triple-click event. More... | |
bool | injectCopyRequest () |
Tells the receiver to perform a clipboard copy operation. More... | |
bool | injectCutRequest () |
Tells the system to perform a clipboard cut operation. More... | |
bool | injectPasteRequest () |
Tells the system to perform a clipboard paste operation. More... | |
void | draw () |
Draw the GeometryBuffers for all rendering queues to the RenderTarget that this RenderingSurface is targetting. More... | |
![]() | |
RenderingSurface (RenderTarget &target) | |
Constructor for RenderingSurface objects. More... | |
virtual | ~RenderingSurface () |
Destructor for RenderingSurface objects. | |
void | addGeometryBuffer (const RenderQueueID queue, const GeometryBuffer &buffer) |
Add the specified GeometryBuffer to the specified queue for rendering when the RenderingSurface is drawn. More... | |
void | removeGeometryBuffer (const RenderQueueID queue, const GeometryBuffer &buffer) |
Remove the specified GeometryBuffer from the specified queue. More... | |
void | clearGeometry (const RenderQueueID queue) |
Clears all GeometryBuffers from the specified rendering queue. More... | |
void | clearGeometry () |
Clears all GeometryBuffers from all rendering queues. More... | |
virtual void | invalidate () |
Marks the RenderingSurface as invalid, causing the geometry to be rerendered to the RenderTarget next time draw is called. More... | |
bool | isInvalidated () const |
Return whether this RenderingSurface is invalidated. More... | |
virtual bool | isRenderingWindow () const |
Return whether this RenderingSurface is actually an instance of the RenderingWindow subclass. More... | |
virtual RenderingWindow & | createRenderingWindow (TextureTarget &target) |
Create and return a reference to a child RenderingWindow object that will render back onto this RenderingSurface when it's draw member function is called. More... | |
virtual void | destroyRenderingWindow (RenderingWindow &window) |
Destroy a RenderingWindow we own. If we are not the present owner of the given RenderingWindow, nothing happens. More... | |
virtual void | transferRenderingWindow (RenderingWindow &window) |
transfer ownership of the RenderingWindow to this RenderingSurface. More... | |
const RenderTarget & | getRenderTarget () const |
Return the RenderTarget object that this RenderingSurface is drawing to. More... | |
RenderTarget & | getRenderTarget () |
![]() | |
EventSet () | |
Constructor for EventSet objects. | |
virtual | ~EventSet (void) |
Destructor for EventSet objects. | |
void | addEvent (const String &name) |
Creates a new Event object with the given name and adds it to the EventSet. More... | |
void | addEvent (Event &event) |
Adds the given Event object to the EventSet. Ownership of the object passes to EventSet and it will be deleted when it is removed from the EventSet - whether explicitly via removeEvent or when the EventSet is destroyed. More... | |
void | removeEvent (const String &name) |
Removes the Event with the given name. All connections to the event are disconnected, and the underlying Event object is destroyed. More... | |
void | removeEvent (Event &event) |
Removes the given event from the EventSet. All connections to the event are disconnected, and the event object is destroyed. More... | |
void | removeAllEvents (void) |
Remove all Event objects from the EventSet. Add connections will be disconnected, and all Event objects destroyed. | |
bool | isEventPresent (const String &name) |
Checks to see if an Event with the given name is present in this EventSet. More... | |
virtual Event::Connection | subscribeEvent (const String &name, Event::Subscriber subscriber) |
Subscribes a handler to the named Event. If the named Event is not yet present in the EventSet, it is created and added. More... | |
virtual Event::Connection | subscribeEvent (const String &name, Event::Group group, Event::Subscriber subscriber) |
Subscribes a handler to the specified group of the named Event. If the named Event is not yet present in the EventSet, it is created and added. More... | |
template<typename Arg1 , typename Arg2 > | |
Event::Connection | subscribeEvent (const String &name, Arg1 arg1, Arg2 arg2) |
Subscribes a handler to the named Event. If the named Event is not yet present in the EventSet, it is created and added. More... | |
template<typename Arg1 , typename Arg2 > | |
Event::Connection | subscribeEvent (const String &name, Event::Group group, Arg1 arg1, Arg2 arg2) |
Subscribes a handler to the named Event. If the named Event is not yet present in the EventSet, it is created and added. More... | |
virtual Event::Connection | subscribeScriptedEvent (const String &name, const String &subscriber_name) |
Subscribes the named Event to a scripted funtion. More... | |
virtual Event::Connection | subscribeScriptedEvent (const String &name, Event::Group group, const String &subscriber_name) |
Subscribes the specified group of the named Event to a scripted funtion. More... | |
virtual void | fireEvent (const String &name, EventArgs &args, const String &eventNamespace="") |
Fires the named event passing the given EventArgs object. More... | |
bool | isMuted (void) const |
Return whether the EventSet is muted or not. More... | |
void | setMutedState (bool setting) |
Set the mute state for this EventSet. More... | |
Event * | getEventObject (const String &name, bool autoAdd=false) |
Return a pointer to the Event object with the given name, optionally adding such an Event object to the EventSet if it does not already exist. More... | |
EventIterator | getEventIterator (void) const |
Return a EventSet::EventIterator object to iterate over the events currently added to the EventSet. | |
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 |
![]() | |
static const String | EventNamespace |
Namespace for global events from RenderingSurface objects. | |
static const String | EventRenderQueueStarted |
static const String | EventRenderQueueEnded |
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 () |
![]() | |
void | draw (const RenderQueue &queue, RenderQueueEventArgs &args) |
draw a rendering queue, firing events before and after. | |
void | detatchWindow (RenderingWindow &w) |
detatch ReneringWindow from this RenderingSurface | |
void | attachWindow (RenderingWindow &w) |
attach ReneringWindow from this RenderingSurface | |
![]() | |
void | fireEvent_impl (const String &name, EventArgs &args) |
Implementation event firing member. | |
ScriptModule * | getScriptModule () const |
Helper to return the script module pointer or throw. | |
EventSet (EventSet &) | |
EventSet & | operator= (EventSet &) |
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 |
![]() | |
RenderQueueList | d_queues |
the collection of RenderQueue objects. | |
RenderingWindowList | d_windows |
collection of RenderingWindow object we own | |
RenderTarget * | d_target |
RenderTarget that this surface actually draws to. | |
bool | d_invalidated |
holds invalidated state of target (as far as we are concerned) | |
![]() | |
EventMap | d_events |
bool | d_muted |
true if events for this EventSet have been muted. | |
Additional Inherited Members | |
![]() | |
typedef ConstMapIterator < EventMap > | EventIterator |
![]() | |
typedef std::map < RenderQueueID, RenderQueue > | RenderQueueList |
collection type for the queues | |
typedef std::vector < RenderingWindow *CEGUI_VECTOR_ALLOC(RenderingWindow *)> | RenderingWindowList |
collection type for created RenderingWindow objects | |
|
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.
|
protectedvirtual |
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.
MouseCursor& CEGUI::GUIContext::getMouseCursor | ( | ) |
Retrieves MouseCursor used in this GUIContext.
|
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.
|
virtual |
Tells the receiver to perform a clipboard copy operation.
Implements CEGUI::InjectedInputReceiver.
|
virtual |
Tells the system to perform a clipboard cut operation.
Implements CEGUI::InjectedInputReceiver.
|
virtual |
Function that injects a key down event into the receiver.
key_code | uint value indicating which key was pressed. |
Implements CEGUI::InjectedInputReceiver.
|
virtual |
Function that injects a key up event into the receiver.
key_code | Key::Scan value indicating which key was released. |
Implements CEGUI::InjectedInputReceiver.
|
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.
|
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.
|
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().
|
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.
|
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().
|
virtual |
Function that notifies that the mouse has left the host area that the receiver receives input for.
Implements CEGUI::InjectedInputReceiver.
|
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.
|
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().
|
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().
|
virtual |
Tells the system to perform a clipboard paste operation.
Implements CEGUI::InjectedInputReceiver.
|
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 |
|
|
static |
|
static |
Name of Event fired when the mouse click timeout is changed. Handlers are passed a const reference to a GUIContextEventArgs struct.
|
static |
Name of Event fired when the mouse multi-click timeout is changed. Handlers are passed a const reference to a GUIContextEventArgs struct.
|
static |
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.
|
static |
Name of Event fired when the mouse movement scaling factor is changed. Handlers are passed a const reference to a GUIContextEventArgs struct.
|
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.
|
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).