OGRE 14.3
Object-Oriented Graphics Rendering Engine
|
A specialisation of the PanelOverlayElement to provide a panel with a border. More...
#include <OgreBorderPanelOverlayElement.h>
Public Member Functions | |
BorderPanelOverlayElement (const String &name) | |
Constructor. | |
virtual | ~BorderPanelOverlayElement () |
void | _releaseManualHardwareResources () override |
Notifies that hardware resources were lost. | |
void | _restoreManualHardwareResources () override |
Notifies that hardware resources should be restored. | |
void | _update (void) override |
Internal method to update the element based on transforms applied. | |
void | _updateRenderQueue (RenderQueue *queue) override |
Overridden from OverlayElement. | |
const String & | getBorderMaterialName (void) const |
Gets the name of the material to use for the borders. | |
const String & | getTypeName (void) const override |
Gets the type name of the element. | |
void | initialise (void) override |
Initialise gui element. | |
void | setBorderMaterialName (const String &name, const String &group=DEFAULT_RESOURCE_GROUP) |
Sets the name of the material to use for the borders. | |
void | setMetricsMode (GuiMetricsMode gmm) override |
Tells this element how to interpret the position and dimension values it is given. | |
void | visitRenderables (Renderable::Visitor *visitor, bool debugRenderables=false) |
Method to allow a caller to abstractly iterate over the Renderable instances that this MovableObject will add to the render queue when asked, if any. | |
Border Size | |
Remember that the dimensions specified here are in relation to the size of the screen, so 0.1 is 1/10th of the screen width or height. Also note that because most screen resolutions are 1.333:1 width:height ratio that using the same border size will look slightly bigger across than up. | |
void | setBorderSize (Real size) |
Sets the size of the border. | |
void | setBorderSize (Real sides, Real topAndBottom) |
Sets the size of the border, with different sizes for vertical and horizontal borders. | |
void | setBorderSize (Real left, Real right, Real top, Real bottom) |
Sets the size of the border separately for all borders. | |
Real | getLeftBorderSize (void) const |
Gets the size of the left border. | |
Real | getRightBorderSize (void) const |
Gets the size of the right border. | |
Real | getTopBorderSize (void) const |
Gets the size of the top border. | |
Real | getBottomBorderSize (void) const |
Gets the size of the bottom border. | |
Border UV Coordinates | |
The border panel uses 8 panels for the border (9 including the center). Imagine a table with 3 rows and 3 columns. The corners are always the same size, but the edges stretch depending on how big the panel is. Those who have done resizable HTML tables will be familiar with this approach. We only require 2 sets of uv coordinates, one for the top-left and one for the bottom-right of the panel, since it is assumed the sections are aligned on the texture. | |
void | setLeftBorderUV (Real u1, Real v1, Real u2, Real v2) |
Sets the texture coordinates for the left edge of the border. | |
void | setRightBorderUV (Real u1, Real v1, Real u2, Real v2) |
Sets the texture coordinates for the right edge of the border. | |
void | setTopBorderUV (Real u1, Real v1, Real u2, Real v2) |
Sets the texture coordinates for the top edge of the border. | |
void | setBottomBorderUV (Real u1, Real v1, Real u2, Real v2) |
Sets the texture coordinates for the bottom edge of the border. | |
void | setTopLeftBorderUV (Real u1, Real v1, Real u2, Real v2) |
Sets the texture coordinates for the top-left corner of the border. | |
void | setTopRightBorderUV (Real u1, Real v1, Real u2, Real v2) |
Sets the texture coordinates for the top-right corner of the border. | |
void | setBottomLeftBorderUV (Real u1, Real v1, Real u2, Real v2) |
Sets the texture coordinates for the bottom-left corner of the border. | |
void | setBottomRightBorderUV (Real u1, Real v1, Real u2, Real v2) |
Sets the texture coordinates for the bottom-right corner of the border. | |
String | getLeftBorderUVString () const |
String | getRightBorderUVString () const |
String | getTopBorderUVString () const |
String | getBottomBorderUVString () const |
String | getTopLeftBorderUVString () const |
String | getTopRightBorderUVString () const |
String | getBottomLeftBorderUVString () const |
String | getBottomRightBorderUVString () const |
Public Member Functions inherited from Ogre::PanelOverlayElement | |
PanelOverlayElement (const String &name) | |
Constructor. | |
virtual | ~PanelOverlayElement () |
void | _releaseManualHardwareResources () override |
Notifies that hardware resources were lost. | |
void | _restoreManualHardwareResources () override |
Notifies that hardware resources should be restored. | |
void | _updateRenderQueue (RenderQueue *queue) override |
Overridden from OverlayContainer. | |
void | getRenderOperation (RenderOperation &op) override |
Gets the render operation required to send this object to the frame buffer. | |
Real | getTileX (ushort layer=0) const |
Real | getTileY (ushort layer=0) const |
Gets the number of times the texture should repeat vertically. | |
const String & | getTypeName (void) const override |
Gets the type name of the element. | |
void | getUV (Real &u1, Real &v1, Real &u2, Real &v2) const |
Get the uv coordinates for the panel. | |
void | initialise (void) override |
Initialise. | |
bool | isTransparent (void) const |
Returns whether this panel is transparent. | |
void | setTiling (Real x, Real y, ushort layer=0) |
Sets the number of times textures should repeat. | |
void | setTransparent (bool isTransparent) |
Sets whether this panel is transparent (used only as a grouping level), or if it is actually rendered. | |
void | setUV (Real u1, Real v1, Real u2, Real v2) |
Sets the texture coordinates for the panel. | |
Public Member Functions inherited from Ogre::OverlayContainer | |
OverlayContainer (const String &name) | |
Constructor: do not call direct, use OverlayManager::createOverlayElement. | |
virtual | ~OverlayContainer () |
void | _addChild (OverlayElement *elem) |
void | _notifyParent (OverlayContainer *parent, Overlay *overlay) override |
Overridden from OverlayElement. | |
void | _notifyViewport () override |
Overridden from OverlayElement. | |
void | _notifyWorldTransforms (const Matrix4 &xform) override |
Overridden from OverlayElement. | |
ushort | _notifyZOrder (ushort newZOrder) override |
Overridden from OverlayElement. | |
void | _positionsOutOfDate (void) override |
Tell the object and its children to recalculate. | |
void | _removeChild (const String &name) |
void | _removeChild (OverlayElement *elem) |
void | _update (void) override |
Overridden from OverlayElement. | |
virtual void | addChild (OverlayElement *elem) |
Adds another OverlayElement to this container. | |
virtual void | addChildImpl (OverlayContainer *cont) |
Add a nested container to this container. | |
virtual void | addChildImpl (OverlayElement *elem) |
Adds another OverlayElement to this container. | |
OverlayElement * | clone (const String &instanceName) override |
void | copyFromTemplate (OverlayElement *templateOverlay) override |
OverlayElement * | findElementAt (Real x, Real y) override |
This returns a OverlayElement at position x,y. | |
virtual OverlayElement * | getChild (const String &name) |
Gets the named child of this container. | |
virtual ChildContainerIterator | getChildContainerIterator (void) |
Gets an iterator for just the container children of this object. | |
virtual ChildIterator | getChildIterator (void) |
const ChildMap & | getChildren () const |
Gets all the children of this object. | |
virtual bool | isChildrenProcessEvents () const |
Should this container pass events to their children. | |
bool | isContainer () const override |
Overridden from OverlayElement. | |
virtual void | removeChild (const String &name) |
Removes a named element from this container. | |
virtual void | setChildrenProcessEvents (bool val) |
Should this container pass events to their children. | |
Public Member Functions inherited from Ogre::OverlayElement | |
OverlayElement (const String &name) | |
Constructor: do not call direct, use OverlayManager::createElement. | |
virtual | ~OverlayElement () |
virtual void | _getClippingRegion (RealRect &clippingRegion) |
Gets the clipping region of the element. | |
virtual Real | _getDerivedLeft (void) |
Gets the 'left' position as derived from own left and that of parents. | |
virtual Real | _getDerivedTop (void) |
Gets the 'top' position as derived from own left and that of parents. | |
Real | _getHeight (void) const |
Gets the height of this element in relation to the screen (where 1.0 = screen height) | |
Real | _getLeft (void) const |
Gets the left of this element in relation to the screen (where 0 = far left, 1.0 = far right) | |
virtual Real | _getRelativeHeight (void) |
Gets the 'height' as derived from own height and metrics mode. | |
virtual Real | _getRelativeWidth (void) |
Gets the 'width' as derived from own width and metrics mode. | |
Real | _getTop (void) const |
Gets the top of this element in relation to the screen (where 0 = far top, 1.0 = far bottom) | |
Real | _getWidth (void) const |
Gets the width of this element in relation to the screen (where 1.0 = screen width) | |
void | _setDimensions (Real width, Real height) |
Sets the width and height of this element in relation to the screen (where 1.0 = screen width/height) | |
void | _setHeight (Real height) |
Sets the height of this element in relation to the screen (where 1.0 = screen height) | |
void | _setLeft (Real left) |
Sets the left of this element in relation to the screen (where 1.0 = screen width) | |
void | _setParent (OverlayContainer *parent) |
void | _setPosition (Real left, Real top) |
Sets the left and top of this element in relation to the screen (where 1.0 = screen width/height) | |
void | _setTop (Real top) |
Sets the top of this element in relation to the screen (where 1.0 = screen height) | |
void | _setWidth (Real width) |
Sets the width of this element in relation to the screen (where 1.0 = screen width) | |
virtual void | _updateFromParent (void) |
Updates this elements transform based on it's parent. | |
virtual bool | contains (Real x, Real y) const |
Returns true if xy is within the constraints of the component. | |
const DisplayString & | getCaption (void) const |
Gets the caption for this element. | |
virtual const ColourValue & | getColour (void) const |
Gets the colour for this element. | |
Real | getHeight (void) const |
Gets the height of this element in relation to the current GuiMetricsMode. | |
GuiHorizontalAlignment | getHorizontalAlignment (void) const |
Gets the horizontal alignment for this element. | |
Real | getLeft (void) const |
Gets the left of this element in relation to the current GuiMetricsMode. | |
const LightList & | getLights (void) const override |
Gets a list of lights, ordered relative to how close they are to this renderable. | |
const MaterialPtr & | getMaterial (void) const override |
Retrieves a weak reference to the material this renderable object uses. | |
virtual const String & | getMaterialName (void) const |
Gets the name of the material this element uses. | |
GuiMetricsMode | getMetricsMode (void) const |
Retrieves the current settings of how the element metrics are interpreted. | |
const String & | getName (void) const |
Gets the name of this overlay. | |
OverlayContainer * | getParent () |
Returns the parent container. | |
Real | getSquaredViewDepth (const Camera *cam) const override |
Returns the squared distance between the camera and this renderable. | |
Real | getTop (void) const |
Gets the top of this element in relation to the current GuiMetricsMode (where 0 = top). | |
GuiVerticalAlignment | getVerticalAlignment (void) const |
Gets the vertical alignment for this element. | |
Real | getWidth (void) const |
Gets the width of this element in relation to the current GuiMetricsMode. | |
void | getWorldTransforms (Matrix4 *xform) const override |
Gets the world transform matrix / matrices for this renderable object. | |
ushort | getZOrder () const |
Returns the zOrder of the element. | |
void | hide (void) |
Hides this element if it was visible. | |
bool | isCloneable () const |
bool | isEnabled () const |
virtual bool | isKeyEnabled () const |
bool | isVisible (void) const |
Returns whether or not the element is visible. | |
virtual void | setCaption (const DisplayString &text) |
Sets the caption on elements that support it. | |
void | setCloneable (bool c) |
virtual void | setColour (const ColourValue &col) |
Sets the colour on elements that support it. | |
void | setDimensions (Real width, Real height) |
Sets the dimensions of this element in relation to the current GuiMetricsMode. | |
void | setEnabled (bool b) |
void | setHeight (Real height) |
Sets the height of this element in relation to the current GuiMetricsMode. | |
virtual void | setHorizontalAlignment (GuiHorizontalAlignment gha) |
Sets the horizontal origin for this element. | |
void | setLeft (Real left) |
Sets the left of this element in relation to the current GuiMetricsMode. | |
void | setMaterial (const MaterialPtr &mat) |
Sets the the material this element will use. | |
void | setMaterialName (const String &matName, const String &group=DEFAULT_RESOURCE_GROUP) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
void | setPosition (Real left, Real top) |
Sets the position of the top-left corner in relation to the current GuiMetricsMode (where 0 = top). | |
void | setTop (Real Top) |
Sets the top of this element in relation to the current GuiMetricsMode (where 0 = top). | |
virtual void | setVerticalAlignment (GuiVerticalAlignment gva) |
Sets the vertical origin for this element. | |
void | setVisible (bool visible) |
Shows or hides this element. | |
void | setWidth (Real width) |
Sets the width of this element in relation to the current GuiMetricsMode. | |
void | show (void) |
Shows this element if it was hidden. | |
void | visitRenderables (Renderable::Visitor *visitor, bool debugRenderables=false) |
Method to allow a caller to abstractly iterate over the Renderable instances that this MovableObject will add to the render queue when asked, if any. | |
Public Member Functions inherited from Ogre::StringInterface | |
StringInterface () | |
virtual | ~StringInterface () |
Virtual destructor, see Effective C++. | |
void | copyParametersTo (StringInterface *dest) const |
Method for copying this object's parameters to another object. | |
ParamDictionary * | getParamDictionary (void) |
Retrieves the parameter dictionary for this class. | |
const ParamDictionary * | getParamDictionary (void) const |
String | getParameter (const String &name) const |
Generic parameter retrieval method. | |
const ParameterList & | getParameters (void) const |
Retrieves a list of parameters valid for this object. | |
bool | setParameter (const String &name, const String &value) |
Generic parameter setting method. | |
void | setParameterList (const NameValuePairList ¶mList) |
Generic multiple parameter setting method. | |
Public Member Functions inherited from Ogre::Renderable | |
Renderable () | |
virtual | ~Renderable () |
Virtual destructor needed as class has virtual methods. | |
uint16 | _getMaterialLodIndex () const |
virtual void | _updateCustomGpuParameter (const GpuProgramParameters::AutoConstantEntry &constantEntry, GpuProgramParameters *params) const |
Update a custom GpuProgramParameters constant which is derived from information only this Renderable knows. | |
virtual bool | getCastsShadows (void) const |
Method which reports whether this renderable would normally cast a shadow. | |
const Vector4f & | getCustomParameter (size_t index) const |
Gets the custom value associated with this Renderable at the given index. | |
virtual uint16 | getNumWorldTransforms (void) const |
Returns the number of world transform matrices this renderable requires. | |
bool | getPolygonModeOverrideable (void) const |
Gets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting. | |
virtual Technique * | getTechnique (void) const |
Retrieves a pointer to the Material Technique this renderable object uses. | |
bool | getUseIdentityProjection (void) const |
Returns whether or not to use an 'identity' projection. | |
bool | getUseIdentityView (void) const |
Returns whether or not to use an 'identity' view. | |
const Any & | getUserAny (void) const |
UserObjectBindings & | getUserObjectBindings () |
Class that provides convenient interface to establish a linkage between custom user application objects and Ogre core classes. | |
const UserObjectBindings & | getUserObjectBindings () const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
bool | hasCustomParameter (size_t index) const |
Checks whether a custom value is associated with this Renderable at the given index. | |
virtual void | postRender (SceneManager *sm, RenderSystem *rsys) |
Called immediately after the Renderable has been rendered. | |
virtual bool | preRender (SceneManager *sm, RenderSystem *rsys) |
Called just prior to the Renderable being rendered. | |
void | removeCustomParameter (size_t index) |
Removes a custom value which is associated with this Renderable at the given index. | |
void | setCustomParameter (size_t index, const Vector4f &value) |
Sets a custom parameter for this Renderable, which may be used to drive calculations for this specific Renderable, like GPU program parameters. | |
void | setPolygonModeOverrideable (bool override) |
Sets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting. | |
void | setUseIdentityProjection (bool useIdentityProjection) |
Sets whether or not to use an 'identity' projection. | |
void | setUseIdentityView (bool useIdentityView) |
Sets whether or not to use an 'identity' view. | |
void | setUserAny (const Any &anything) |
Additional Inherited Members | |
Public Types inherited from Ogre::OverlayContainer | |
typedef MapIterator< ChildContainerMap > | ChildContainerIterator |
typedef std::map< String, OverlayContainer * > | ChildContainerMap |
typedef MapIterator< ChildMap > | ChildIterator |
typedef std::map< String, OverlayElement * > | ChildMap |
Public Types inherited from Ogre::Renderable | |
enum | { DEFAULT_PRIORITY = 100 } |
Static Public Member Functions inherited from Ogre::StringInterface | |
static void | cleanupDictionary () |
Cleans up the static 'msDictionary' required to reset Ogre, otherwise the containers are left with invalid pointers, which will lead to a crash as soon as one of the ResourceManager implementers (e.g. | |
Static Public Attributes inherited from Ogre::OverlayElement | |
static const String & | DEFAULT_RESOURCE_GROUP |
A specialisation of the PanelOverlayElement to provide a panel with a border.
Whilst the standard panel can use a single tiled material, this class allows panels with a tileable backdrop plus a border texture. This is handy for large panels that are too big to use a single large texture with a border, or for multiple different size panels where you want the border a constant width but the center to repeat.
|
virtual |
Initialise gui element.
Implements Ogre::OverlayElement.
|
overridevirtual |
Notifies that hardware resources were lost.
Reimplemented from Ogre::OverlayElement.
|
overridevirtual |
Notifies that hardware resources should be restored.
Reimplemented from Ogre::OverlayElement.
Gets the type name of the element.
All concrete subclasses must implement this.
Implements Ogre::OverlayElement.
Sets the size of the border.
This method sets a constant size for all borders.
size | The size of the border as a factor of the screen dimensions ie 0.2 is one-fifth of the screen size. |
Sets the size of the border, with different sizes for vertical and horizontal borders.
This method sets a size for the side and top / bottom borders separately.
sides | The size of the side borders as a factor of the screen dimensions ie 0.2 is one-fifth of the screen size. |
topAndBottom | The size of the top and bottom borders as a factor of the screen dimensions. |
void Ogre::BorderPanelOverlayElement::setBorderSize | ( | Real | left, |
Real | right, | ||
Real | top, | ||
Real | bottom | ||
) |
Sets the size of the border separately for all borders.
This method sets a size all borders separately.
left | The size of the left border as a factor of the screen dimensions ie 0.2 is one-fifth of the screen size. |
right | The size of the left border as a factor of the screen dimensions. |
top | The size of the top border as a factor of the screen dimensions. |
bottom | The size of the bottom border as a factor of the screen dimensions. |
Gets the size of the left border.
Gets the size of the right border.
Gets the size of the top border.
Gets the size of the bottom border.
Sets the texture coordinates for the left edge of the border.
Sets the texture coordinates for the right edge of the border.
Sets the texture coordinates for the top edge of the border.
Sets the texture coordinates for the bottom edge of the border.
Sets the texture coordinates for the top-left corner of the border.
Sets the texture coordinates for the top-right corner of the border.
Sets the texture coordinates for the bottom-left corner of the border.
Sets the texture coordinates for the bottom-right corner of the border.
String Ogre::BorderPanelOverlayElement::getLeftBorderUVString | ( | ) | const |
String Ogre::BorderPanelOverlayElement::getRightBorderUVString | ( | ) | const |
String Ogre::BorderPanelOverlayElement::getTopBorderUVString | ( | ) | const |
String Ogre::BorderPanelOverlayElement::getBottomBorderUVString | ( | ) | const |
String Ogre::BorderPanelOverlayElement::getTopLeftBorderUVString | ( | ) | const |
String Ogre::BorderPanelOverlayElement::getTopRightBorderUVString | ( | ) | const |
String Ogre::BorderPanelOverlayElement::getBottomLeftBorderUVString | ( | ) | const |
String Ogre::BorderPanelOverlayElement::getBottomRightBorderUVString | ( | ) | const |
void Ogre::BorderPanelOverlayElement::setBorderMaterialName | ( | const String & | name, |
const String & | group = DEFAULT_RESOURCE_GROUP |
||
) |
Sets the name of the material to use for the borders.
Gets the name of the material to use for the borders.
|
overridevirtual |
Overridden from OverlayElement.
Reimplemented from Ogre::OverlayElement.
void Ogre::BorderPanelOverlayElement::visitRenderables | ( | Renderable::Visitor * | visitor, |
bool | debugRenderables = false |
||
) |
Method to allow a caller to abstractly iterate over the Renderable instances that this MovableObject will add to the render queue when asked, if any.
visitor | Pointer to a class implementing the Renderable::Visitor interface which will be called back for each Renderable which will be queued. Bear in mind that the state of the Renderable instances may not be finalised depending on when you call this. |
debugRenderables | If false, only regular renderables will be visited (those for normal display). If true, debug renderables will be included too. |
|
overridevirtual |
Tells this element how to interpret the position and dimension values it is given.
By default, OverlayElements are positioned and sized according to relative dimensions of the screen. This is to ensure portability between different resolutions when you want things to be positioned and sized the same way across all resolutions. However, sometimes you want things to be sized according to fixed pixels. In order to do this, you can call this method with the parameter GMM_PIXELS. Note that if you then want to place your element relative to the center, right or bottom of it's parent, you will need to use the setHorizontalAlignment and setVerticalAlignment methods.
Reimplemented from Ogre::OverlayElement.
Internal method to update the element based on transforms applied.
Reimplemented from Ogre::OverlayElement.