Om
1.0.0
A universal framework for multimedia simulation
|
A GUI object that mirrors and wraps the generic state of an external GUI object. More...
#include <omGraphicsGUIObjectWrapper.h>
Public Member Functions | |
GUIObjectWrapper () | |
Create a new GUI object wrapper that has no object to wrap. More... | |
GUIObjectWrapper (GUIObject *wrappedObject) | |
Create a GUI object wrapper that wraps the specified object. More... | |
GUIObject * | getWrappedObject () const |
Return a pointer to the GUI object that is being wrapped by this one. More... | |
void | setWrappedObject (GUIObject *newWrappedObject) |
Set a pointer to the GUI object that is being wrapped by this one. More... | |
virtual Bool | setPosition (const Vector3f &newPosition) |
Set the position of this object's origin relative to its parent's coordinate origin. More... | |
virtual Bool | setRotation (const Matrix3f &newRotation) |
Set a 3x3 orthonormal matrix indicating the basis of this object's coordinate frame. More... | |
virtual Bool | setScale (const Vector3f &newScale) |
Set the 3D scaling factor of this object along each of its local axes. More... | |
virtual Bool | setOrigin (const Origin &newPositionOrigin) |
Set the alignment of the coordinate origin for this object. More... | |
virtual Bool | setSize (const Vector3f &newSize) |
Set the 3D size of this object along each of its local axes. More... | |
virtual Bool | resizeForContent () |
Resize this object to fit tightly around its contents. More... | |
virtual Bool | setFocus (Bool newHasFocus) |
Set whether or not this object currently has keyboard focus at its level in the GUI hierarchy. More... | |
virtual Bool | setFlags (const GUIObjectFlags &newFlags) |
Set the flags for this GUI object. More... | |
virtual Bool | setRectangleStyle (const RectangleStyle &newRectangleStyle) |
Set an object that describes the style of the main outside rectangle of this object. More... | |
virtual Bool | setBorder (const Border &newBorder) |
Set an object that describes this object's border. More... | |
virtual Bool | setBorderColor (const Color4f &newBorderColor) |
Set the border color for an object. More... | |
virtual Bool | setBackgroundColor (const Color4f &newBackgroundColor) |
Set the background color for this object's area. More... | |
virtual Bool | guiEvent (const GUIEvent &event) |
Handle the specified GUI input event that occured when this object had focus. More... | |
virtual Bool | textEvent (const TextEvent &event) |
Handle the specified text input event that occured when this object had focus. More... | |
virtual Bool | keyEvent (const KeyEvent &event) |
Handle the specified keyboard event that occured when this object had focus. More... | |
virtual Bool | mouseMotionEvent (const MouseMotionEvent &event) |
Handle the specified mouse motion event that occurred. More... | |
virtual Bool | mouseButtonEvent (const MouseButtonEvent &event) |
Handle the specified mouse button event that occurred. More... | |
virtual Bool | mouseWheelEvent (const MouseWheelEvent &event) |
Handle the specified mouse wheel event that occurred. More... | |
virtual void | update (Float dt) |
Update the current internal state of this object for the specified time interval in seconds. More... | |
virtual Bool | drawSelf (GUIRenderer &renderer, const AABB3f &parentBounds) const |
Draw this object using the specified GUI renderer to the given parent coordinate system bounds. More... | |
Public Member Functions inherited from om::graphics::gui::objects::GUIObject | |
GUIObject () | |
Create a default visible GUI object positioned at the origin (0,0) with 0 width and 0 height. More... | |
GUIObject (const RectangleStyle &newRectangleStyle) | |
Create a visible GUI object positioned at the origin (0,0) with 0 width and 0 height and the given rectangle style. More... | |
GUIObject (const Rectangle &newRectangle) | |
Create a visible GUI object that occupies the specified rectangle. More... | |
GUIObject (const Rectangle &newRectangle, const RectangleStyle &newRectangleStyle) | |
Create a visible GUI object that occupies the specified rectangle and rectangle style. More... | |
virtual | ~GUIObject () |
Destory the GUI object, releasing all internal resources. More... | |
const Rectangle & | getRectangle () const |
Return a reference to this GUI object's rectangle. More... | |
const Vector3f & | getSize () const |
Return a reference to the 3D size of this object along each of its local axes. More... | |
const Vector2f & | getSizeXY () const |
Return a reference to the 2D scaling factor of this object along each of its local axes. More... | |
Bool | setSize (const Vector2f &newSizeXY) |
Set the 2D size of this object along the X and Y local axes. More... | |
Bool | setSize (Float newWidth, Float newHeight) |
Set the 2D size of this object along the X and Y local axes. More... | |
Bool | setSizeX (Float newWidth) |
Set the size of this object along the X axis. More... | |
Bool | setSizeY (Float newHeight) |
Set the size of this object along the Y axis. More... | |
Bool | setSizeZ (Float newDepth) |
Set the size of this object along the Z axis. More... | |
void | fillParent (const Vector3f &parentSize) |
Resize and resposition this object so that it fills the specified parent bounding box size. More... | |
const Vector3f & | getScale () const |
Return a reference to the 3D scaling factor of this object along each of its local axes. More... | |
const Vector2f & | getScaleXY () const |
Return a reference to the 2D scaling factor of this object along each of its local axes. More... | |
Bool | setScale (const Vector2f &newScaleXY) |
Set the 2D scaling factor of this object along the X and Y local axes. More... | |
Bool | setScale (Float newScaleX, Float newScaleY) |
Set the 2D scaling factor of this object along the X and Y local axes. More... | |
Bool | setScale (Float newScale) |
Set the scaling factor of this object along all 3 axes. More... | |
const Vector3f & | getPosition () const |
Return the position of this GUI object's origin relative to its parent's coordinate origin. More... | |
const Vector2f & | getPositionXY () const |
Return the 2D position of this GUI object's origin relative to its parent's coordinate origin. More... | |
Bool | setPosition (const Vector2f &newPosition) |
Set the position of this GUI object's origin relative to its parent's coordinate origin. More... | |
const Matrix3f & | getRotation () const |
Return a 3x3 orthonormal matrix indicating the basis of this object's coordinate frame. More... | |
Bool | setRotation (Float radians) |
Set the rotation of this GUI object to be along the Z-axis with a rotation specified in radians. More... | |
Bool | setRotationDegrees (Float degrees) |
Set the rotation of this GUI object to be along the Z-axis with a rotation specified in degrees. More... | |
Origin & | getOrigin () |
Return the alignment of the coordinate origin for this object. More... | |
const Origin & | getOrigin () const |
Return the alignment of the coordinate origin for this object. More... | |
void | setOrigin (Origin::XOrigin newXOrigin, Origin::YOrigin newYOrigin) |
Set the XY alignment of the coordinate origin for this object. More... | |
void | setOrigin (Origin::XOrigin newXOrigin, Origin::YOrigin newYOrigin, Origin::ZOrigin newZOrigin) |
Set the XYZ alignment of the coordinate origin for this object. More... | |
AABB2f | getBoundsInParent (const AABB2f &parentBounds) const |
Return the 2D bounding box of this object in the coordinate frame of the specified parent bounding box. More... | |
AABB3f | getBoundsInParent (const AABB3f &parentBounds) const |
Return the 3D bounding box of this object in the coordinate frame of the specified parent bounding box. More... | |
AABB2f | getLocalBoundsXY () const |
Return the 2D bounding box of this object in its local coordinate frame. More... | |
AABB3f | getLocalBounds () const |
Return the 3D bounding box of this object in its local coordinate frame. More... | |
Vector2f | getLocalCenterXY () const |
Return the 2D center of this object's rectangle in its local coordinate frame. More... | |
Vector3f | getLocalCenter () const |
Return the 3D center of this object's rectangle in its local coordinate frame. More... | |
Matrix4f | getTransformMatrix (const AABB3f &parentBounds) const |
Return the object-space-to-parent-space homogeneous transformation matrix for the given parent bounding box. More... | |
Vector2f | transformToLocal (const Vector2f &pointInParent, const AABB2f &parentBounds) const |
Transform a 3D point in the parent coordinate system into this object's coordinate system. More... | |
Vector3f | transformToLocal (const Vector3f &pointInParent, const AABB3f &parentBounds) const |
Transform a 3D point in the parent coordinate system into this object's coordinate system. More... | |
Vector2f | transformFromLocal (const Vector2f &localPoint, const AABB2f &parentBounds) const |
Transform a 2D point in this object's local coordinate system into its parent's coordinate system. More... | |
Vector3f | transformFromLocal (const Vector3f &localPoint, const AABB3f &parentBounds) const |
Transform a 3D point in this object's local coordinate system into its parent's coordinate system. More... | |
Vector2f | transformVectorToLocal (const Vector2f &vectorInParent) const |
Transform a 3D vector in the parent coordinate system into this object's coordinate system. More... | |
Vector3f | transformVectorToLocal (const Vector3f &vectorInParent) const |
Transform a 3D vector in the parent coordinate system into this object's coordinate system. More... | |
Vector2f | transformVectorFromLocal (const Vector2f &localVector) const |
Transform a 2D vector in this object's local coordinate system into its parent's coordinate system. More... | |
Vector3f | transformVectorFromLocal (const Vector3f &localVector) const |
Transform a 3D vector in this object's local coordinate system into its parent's coordinate system. More... | |
MouseButtonEvent | transformEventToLocal (const MouseButtonEvent &event, const AABB2f &parentBounds) const |
Transform a mouse button event in the parent coordinate system into this object's coordinate system. More... | |
MouseButtonEvent | transformEventFromLocal (const MouseButtonEvent &event, const AABB2f &parentBounds) const |
Transform a mouse button event in this object's local coordinate system into its parent's coordinate system. More... | |
MouseMotionEvent | transformEventToLocal (const MouseMotionEvent &event, const AABB2f &parentBounds) const |
Transform a mouse motion event in the parent coordinate system into this object's coordinate system. More... | |
MouseMotionEvent | transformEventFromLocal (const MouseMotionEvent &event, const AABB2f &parentBounds) const |
Transform a mouse motion event in this object's local coordinate system into its parent's coordinate system. More... | |
MouseWheelEvent | transformEventToLocal (const MouseWheelEvent &event, const AABB2f &parentBounds) const |
Transform a mouse wheel event in the parent coordinate system into this object's coordinate system. More... | |
MouseWheelEvent | transformEventFromLocal (const MouseWheelEvent &event, const AABB2f &parentBounds) const |
Transform a mouse wheel event in this object's local coordinate system into its parent's coordinate system. More... | |
virtual Bool | containsLocalPoint (const Vector2f &localPoint) const |
Return whether or not this GUI object contains the specified local 2D point within its local bounds. More... | |
virtual Bool | containsLocalPoint (const Vector3f &localPoint) const |
Return whether or not this GUI object contains the specified local 3D point within its local bounds. More... | |
AABB2f | getLocalContentBoundsXY () const |
Return the 2D bounding box for the object's rectangle inside area in its local coordinate frame. More... | |
virtual AABB3f | getLocalContentBounds () const |
Return the 3D bounding box for the object's rectangle inside area in its local coordinate frame. More... | |
GUIStyle * | getStyle () const |
Return a pointer to the style object to use when drawing this GUI object. More... | |
void | setStyle (GUIStyle *newStyle) |
Set a pointer to the style object to use when drawing this GUI object. More... | |
const RectangleStyle & | getRectangleStyle () const |
Return an object that describes the style of the main outside rectangle of this object. More... | |
const Border & | getBorder () const |
Return an object that describes the border for this object's main rectangle. More... | |
Float | getBorderWidth () const |
Return the width of this object's main rectangle border. More... | |
Bool | setBorderWidth (Float newWidth) |
Set the width of this object's main rectangle border. More... | |
Float | getBorderRadius () const |
Return the corner radius of this object's main rectangle border. More... | |
Bool | setBorderRadius (Float newRadius) |
Set the corner radius of this object's main rectangle border. More... | |
const Margin & | getBorderMargin () const |
Return an object that describes the padding between the exterior and interior of the object's main rectangle. More... | |
Bool | setBorderMargin (const Margin &newMargin) |
Set an object that describes the padding between the exterior and interior of the object's main rectangle. More... | |
const Color4f & | getBackgroundColor () const |
Return the background color for this object's main rectangle. More... | |
const Color4f & | getBorderColor () const |
Return the border color used when rendering the object's main rectangle. More... | |
const GUIObjectFlags & | getFlags () const |
Return a const reference to the flags for this GUI object. More... | |
Bool | flagIsSet (GUIObjectFlags::Flag flag) const |
Return whether or not the specified boolan flag is set for this GUI object. More... | |
Bool | setFlag (GUIObjectFlags::Flag flag, Bool newIsSet=true) |
Set whether or not the specified boolan flag is set for this GUI object. More... | |
Bool | getIsVisible () const |
Return whether or not this GUI object should be drawn to the screen. More... | |
void | setIsVisible (Bool newIsVisible) |
Set whether or not this GUI object should be drawn to the screen. More... | |
Bool | hasFocus () const |
Return whether or not this GUI object currently has keyboard focus at its level in the GUI hierarchy. More... | |
Public Member Functions inherited from om::gui::input::InputHandler | |
virtual | ~InputHandler () |
Destroy an input handler. More... | |
A GUI object that mirrors and wraps the generic state of an external GUI object.
The result is a GUI object that behaves like the wrapped object. Classes can inherit from GUIObjectWrapper in order to create new functionality from existing objects that are wrapped. This simplifies the boilerplate code required to forward GUI object events to the wrapped object.
om::graphics::gui::objects::GUIObjectWrapper::GUIObjectWrapper | ( | ) |
Create a new GUI object wrapper that has no object to wrap.
om::graphics::gui::objects::GUIObjectWrapper::GUIObjectWrapper | ( | GUIObject * | wrappedObject | ) |
Create a GUI object wrapper that wraps the specified object.
|
inline |
Return a pointer to the GUI object that is being wrapped by this one.
void om::graphics::gui::objects::GUIObjectWrapper::setWrappedObject | ( | GUIObject * | newWrappedObject | ) |
Set a pointer to the GUI object that is being wrapped by this one.
|
virtual |
Set the position of this object's origin relative to its parent's coordinate origin.
Reimplemented from om::graphics::gui::objects::GUIObject.
|
virtual |
Set a 3x3 orthonormal matrix indicating the basis of this object's coordinate frame.
Reimplemented from om::graphics::gui::objects::GUIObject.
|
virtual |
Set the 3D scaling factor of this object along each of its local axes.
Reimplemented from om::graphics::gui::objects::GUIObject.
|
virtual |
Set the alignment of the coordinate origin for this object.
Reimplemented from om::graphics::gui::objects::GUIObject.
|
virtual |
Set the 3D size of this object along each of its local axes.
Reimplemented from om::graphics::gui::objects::GUIObject.
|
virtual |
Resize this object to fit tightly around its contents.
Reimplemented from om::graphics::gui::objects::GUIObject.
Set whether or not this object currently has keyboard focus at its level in the GUI hierarchy.
Reimplemented from om::graphics::gui::objects::GUIObject.
Reimplemented in om::editors::views::SpaceView.
|
virtual |
Set the flags for this GUI object.
Reimplemented from om::graphics::gui::objects::GUIObject.
|
virtual |
Set an object that describes the style of the main outside rectangle of this object.
Reimplemented from om::graphics::gui::objects::GUIObject.
|
virtual |
Set an object that describes this object's border.
Reimplemented from om::graphics::gui::objects::GUIObject.
|
virtual |
Set the border color for an object.
Reimplemented from om::graphics::gui::objects::GUIObject.
|
virtual |
Set the background color for this object's area.
Reimplemented from om::graphics::gui::objects::GUIObject.
|
virtual |
Handle the specified GUI input event that occured when this object had focus.
Reimplemented from om::gui::input::InputHandler.
|
virtual |
Handle the specified text input event that occured when this object had focus.
Reimplemented from om::gui::input::InputHandler.
|
virtual |
Handle the specified keyboard event that occured when this object had focus.
Reimplemented from om::gui::input::InputHandler.
Reimplemented in om::graphics::gui::objects::ColorField.
|
virtual |
Handle the specified mouse motion event that occurred.
Reimplemented from om::gui::input::InputHandler.
|
virtual |
Handle the specified mouse button event that occurred.
Reimplemented from om::gui::input::InputHandler.
Reimplemented in om::graphics::gui::objects::ColorField.
|
virtual |
Handle the specified mouse wheel event that occurred.
Reimplemented from om::gui::input::InputHandler.
|
virtual |
Update the current internal state of this object for the specified time interval in seconds.
Reimplemented from om::graphics::gui::objects::GUIObject.
Reimplemented in om::editors::views::SpaceView.
|
virtual |
Draw this object using the specified GUI renderer to the given parent coordinate system bounds.
Reimplemented from om::graphics::gui::objects::GUIObject.
Reimplemented in om::graphics::gui::objects::ColorField.