Crazy Eddie's GUI System  0.8.5
CEGUI::MouseCursor Class Reference

Class that provides mouse cursor support. More...

+ Inheritance diagram for CEGUI::MouseCursor:
+ Collaboration diagram for CEGUI::MouseCursor:

Public Member Functions

 MouseCursor (void)
 Constructor for MouseCursor objects.
 
 ~MouseCursor (void)
 Destructor for MouseCursor objects.
 
void setImage (const String &name)
 Set the current mouse cursor image. More...
 
void setImage (const Image *image)
 Set the current mouse cursor image.
 
const ImagegetImage (void) const
 Get the current mouse cursor image. More...
 
void setDefaultImage (const Image *image)
 Set the image to be used as the default mouse cursor. More...
 
void setDefaultImage (const String &name)
 Set the image to be used as the default mouse cursor. More...
 
const ImagegetDefaultImage () const
 Return the currently set default mouse cursor image. More...
 
void draw (void) const
 Makes the cursor draw itself. More...
 
void setPosition (const Vector2f &position)
 Set the current mouse cursor position. More...
 
void offsetPosition (const Vector2f &offset)
 Offset the mouse cursor position by the deltas specified in offset. More...
 
void setConstraintArea (const Rectf *area)
 Set the area that the mouse cursor is constrained to. More...
 
void setUnifiedConstraintArea (const URect *area)
 Set the area that the mouse cursor is constrained to. More...
 
void hide (void)
 Hides the mouse cursor. More...
 
void show (void)
 Shows the mouse cursor. More...
 
void setVisible (bool visible)
 Set the visibility of the mouse cursor. More...
 
bool isVisible (void) const
 return whether the mouse cursor is visible. More...
 
Vector2f getPosition (void) const
 Return the current mouse cursor position as a pixel offset from the top-left corner of the display. More...
 
Rectf getConstraintArea (void) const
 return the current constraint area of the mouse cursor. More...
 
const URectgetUnifiedConstraintArea (void) const
 return the current constraint area of the mouse cursor. More...
 
Vector2f getDisplayIndependantPosition (void) const
 Return the current mouse cursor position as display resolution independant values. More...
 
void notifyDisplaySizeChanged (const Sizef &new_size)
 Function used to notify the MouseCursor of changes in the display size. More...
 
void setExplicitRenderSize (const Sizef &size)
 Set an explicit size for the mouse cursor image to be drawn at. More...
 
const SizefgetExplicitRenderSize () const
 Return the explicit render size currently set. A return size of (0, 0) indicates that the real image size will be used.
 
void invalidate ()
 Mark the cached geometry as invalid so it will be recached next time the mouse cursor is drawn.
 
- Public Member Functions inherited from CEGUI::EventSet
 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...
 
EventgetEventObject (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 Member Functions

static void setInitialMousePosition (const Vector2f &position)
 Static function to pre-initialise the mouse cursor position (prior to MouseCursor instantiation). More...
 

Static Public Attributes

static const String EventNamespace
 Namespace for global events.
 
static const String EventImageChanged
 
static const String EventDefaultImageChanged
 

Protected Member Functions

virtual void onImageChanged (MouseCursorEventArgs &e)
 Event triggered internally when mouse cursor image is changed.
 
virtual void onDefaultImageChanged (MouseCursorEventArgs &e)
 Event triggered internally when mouse cursor default image is changed.
 
- Protected Member Functions inherited from CEGUI::EventSet
void fireEvent_impl (const String &name, EventArgs &args)
 Implementation event firing member.
 
ScriptModulegetScriptModule () const
 Helper to return the script module pointer or throw.
 
 EventSet (EventSet &)
 
 EventSet (const EventSet &)
 
EventSetoperator= (EventSet &)
 
EventSetoperator= (const EventSet &)
 

Additional Inherited Members

- Public Types inherited from CEGUI::EventSet
typedef ConstMapIterator< EventMap > EventIterator
 
- Protected Types inherited from CEGUI::EventSet
typedef std::map< String, Event *, StringFastLessCompare CEGUI_MAP_ALLOC(String, Event *)> EventMap
 
- Protected Attributes inherited from CEGUI::EventSet
EventMap d_events
 
bool d_muted
 true if events for this EventSet have been muted.
 

Detailed Description

Class that provides mouse cursor support.

Member Function Documentation

void CEGUI::MouseCursor::draw ( void  ) const

Makes the cursor draw itself.

Returns
Nothing
Rectf CEGUI::MouseCursor::getConstraintArea ( void  ) const

return the current constraint area of the mouse cursor.

Returns
Rect object describing the active area that the mouse cursor is constrained to.
const Image* CEGUI::MouseCursor::getDefaultImage ( ) const

Return the currently set default mouse cursor image.

Returns
Pointer to the current default image used for the mouse cursor. May return 0 if default cursor has not been set, or has intentionally been set to 0 - which results in a blank default cursor.
Vector2f CEGUI::MouseCursor::getDisplayIndependantPosition ( void  ) const

Return the current mouse cursor position as display resolution independant values.

Returns
Point object describing the current mouse cursor position as resolution independant values that range from 0.0f to 1.0f, where 0.0f represents the left-most and top-most positions, and 1.0f represents the right-most and bottom-most positions.
const Image* CEGUI::MouseCursor::getImage ( void  ) const
inline

Get the current mouse cursor image.

Returns
The current image used to draw mouse cursor.
Vector2f CEGUI::MouseCursor::getPosition ( void  ) const
inline

Return the current mouse cursor position as a pixel offset from the top-left corner of the display.

Returns
Point object describing the mouse cursor position in screen pixels.
const URect& CEGUI::MouseCursor::getUnifiedConstraintArea ( void  ) const

return the current constraint area of the mouse cursor.

Returns
URect object describing the active area that the mouse cursor is constrained to.
void CEGUI::MouseCursor::hide ( void  )
inline

Hides the mouse cursor.

Returns
Nothing.
bool CEGUI::MouseCursor::isVisible ( void  ) const
inline

return whether the mouse cursor is visible.

Returns
true if the mouse cursor is visible, false if the mouse cursor is hidden.
void CEGUI::MouseCursor::notifyDisplaySizeChanged ( const Sizef new_size)

Function used to notify the MouseCursor of changes in the display size.

You normally would not call this directly; rather you would call the function System::notifyDisplaySizeChanged and that will then call this function for you.

Parameters
new_sizeSize object describing the new display size in pixels.
void CEGUI::MouseCursor::offsetPosition ( const Vector2f offset)

Offset the mouse cursor position by the deltas specified in offset.

Parameters
offsetPoint object which describes the amount to move the cursor in each axis.
Returns
Nothing.
void CEGUI::MouseCursor::setConstraintArea ( const Rectf area)

Set the area that the mouse cursor is constrained to.

Parameters
areaPointer to a Rect object that describes the area of the display that the mouse is allowed to occupy. The given area will be clipped to the current Renderer screen area - it is never possible for the mouse to leave this area. If this parameter is NULL, the constraint is set to the size of the current Renderer screen area.
Returns
Nothing.
void CEGUI::MouseCursor::setDefaultImage ( const Image image)

Set the image to be used as the default mouse cursor.

Parameters
imagePointer to an image object that is to be used as the default mouse cursor. To have no cursor rendered by default, you can specify 0 here.
void CEGUI::MouseCursor::setDefaultImage ( const String name)

Set the image to be used as the default mouse cursor.

Parameters
nameString object that contains the name of the Image that is to be used.
Exceptions
UnknownObjectExceptionthrown if no Image named name exists.
void CEGUI::MouseCursor::setExplicitRenderSize ( const Sizef size)

Set an explicit size for the mouse cursor image to be drawn at.

This will override the size that is usually obtained directly from the mouse cursor image and will stay in effect across changes to the mouse cursor image.

Setting this size to (0, 0) will revert back to using the size as obtained from the Image itself.

Parameters
sizeReference to a Size object that describes the size at which the cursor image should be drawn in pixels.
void CEGUI::MouseCursor::setImage ( const String name)

Set the current mouse cursor image.

Parameters
nameString object holding the name of the desired Image.
Returns
Nothing.
Exceptions
UnknownObjectExceptionthrown if Image name is not known.
static void CEGUI::MouseCursor::setInitialMousePosition ( const Vector2f position)
static

Static function to pre-initialise the mouse cursor position (prior to MouseCursor instantiation).

Calling this function prior to instantiating MouseCursor will prevent the mouse having it's position set to the middle of the initial view. Calling this function after the MouseCursor is instantiated will have no effect.

Parameters
positionReference to a point object describing the initial pixel position to be used for the mouse cursor.
void CEGUI::MouseCursor::setPosition ( const Vector2f position)

Set the current mouse cursor position.

Parameters
positionPoint object describing the new location for the mouse. This will be clipped to within the renderer screen area.
void CEGUI::MouseCursor::setUnifiedConstraintArea ( const URect area)

Set the area that the mouse cursor is constrained to.

Parameters
areaPointer to a URect object that describes the area of the display that the mouse is allowed to occupy. The given area will be clipped to the current Renderer screen area - it is never possible for the mouse to leave this area. If this parameter is NULL, the constraint is set to the size of the current Renderer screen area.
Returns
Nothing.
void CEGUI::MouseCursor::setVisible ( bool  visible)
inline

Set the visibility of the mouse cursor.

Parameters
visible'true' to show the mouse cursor, 'false' to hide it.
Returns
Nothing.
void CEGUI::MouseCursor::show ( void  )
inline

Shows the mouse cursor.

Returns
Nothing.

Member Data Documentation

const String CEGUI::MouseCursor::EventDefaultImageChanged
static

Name of Event fired when the Image to be used as a default mouse cursor image is changed. Handlers are passed a const MouseCursorEventArgs reference with MouseCursorEventArgs::mouseCursor set to the MouseCursor that has had it's default image changed, and MouseCursorEventArgs::image set to the Image that is now set as the default (may be 0).

const String CEGUI::MouseCursor::EventImageChanged
static

Name of Event fired when the mouse cursor image is changed. Handlers are passed a const MouseCursorEventArgs reference with MouseCursorEventArgs::mouseCursor set to the MouseCursor that has had it's image changed, and MouseCursorEventArgs::image set to the Image that is now set for the MouseCursor (may be 0).