Ogre::BorderPanelOverlayElement Class Reference

A specialisation of the PanelOverlayElement to provide a panel with a border. More...

#include <OgreBorderPanelOverlayElement.h>

Inheritance diagram for Ogre::BorderPanelOverlayElement:

Inheritance graph
[legend]

List of all members.

Public Types

typedef std::map
< String,
OverlayElement * > 
ChildMap
typedef MapIterator
< ChildMap
ChildIterator
typedef std::map
< String,
OverlayContainer * > 
ChildContainerMap
typedef MapIterator
< ChildContainerMap
ChildContainerIterator

Public Member Functions

 BorderPanelOverlayElement (const String &name)
 Constructor.
virtual ~BorderPanelOverlayElement ()
virtual void initialise (void)
 Initialise.
const StringgetTypeName (void) const
 See OverlayElement.
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.
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
void setBorderMaterialName (const String &name)
 Sets the name of the material to use for the borders.
const StringgetBorderMaterialName (void) const
 Gets the name of the material to use for the borders.
void _updateRenderQueue (RenderQueue *queue)
 Overridden from OverlayContainer.
void visitRenderables (Renderable::Visitor *visitor, bool debugRenderables=false)
 
void setMetricsMode (GuiMetricsMode gmm)
 Overridden from OverlayElement.
void _update (void)
 Overridden from OverlayElement.
void setTiling (Real x, Real y, ushort layer=0)
 Sets the number of times textures should repeat.
Real getTileX (ushort layer=0) const
Real getTileY (ushort layer=0) const
 Gets the number of times the texture should repeat vertically.
void setUV (Real u1, Real v1, Real u2, Real v2)
 Sets the texture coordinates for the panel.
void getUV (Real &u1, Real &v1, Real &u2, Real &v2) const
 Get the uv coordinates for the panel.
void setTransparent (bool isTransparent)
 Sets whether this panel is transparent (used only as a grouping level), or if it is actually rendered.
bool isTransparent (void) const
 Returns whether this panel is transparent.
void getRenderOperation (RenderOperation &op)
 See Renderable.
void setMaterialName (const String &matName)
 Overridden from OverlayElement.
virtual void addChild (OverlayElement *elem)
 Adds another OverlayElement to this container.
virtual void addChildImpl (OverlayElement *elem)
 Adds another OverlayElement to this container.
virtual void addChildImpl (OverlayContainer *cont)
 Add a nested container to this container.
virtual void removeChild (const String &name)
 Removes a named element from this container.
virtual OverlayElementgetChild (const String &name)
 Gets the named child of this container.
void _addChild (OverlayElement *elem)
void _removeChild (OverlayElement *elem)
void _removeChild (const String &name)
virtual ChildIterator getChildIterator (void)
 Gets an object for iterating over all the children of this object.
virtual
ChildContainerIterator 
getChildContainerIterator (void)
 Gets an iterator for just the container children of this object.
virtual void _positionsOutOfDate (void)
 Tell the object and its children to recalculate.
virtual ushort _notifyZOrder (ushort newZOrder)
 Overridden from OverlayElement.
virtual void _notifyViewport ()
 Overridden from OverlayElement.
virtual void _notifyWorldTransforms (const Matrix4 &xform)
 Overridden from OverlayElement.
virtual void _notifyParent (OverlayContainer *parent, Overlay *overlay)
 Overridden from OverlayElement.
bool isContainer () const
 Overridden from OverlayElement.
virtual bool isChildrenProcessEvents () const
 Should this container pass events to their children.
virtual void setChildrenProcessEvents (bool val)
 Should this container pass events to their children.
virtual OverlayElementfindElementAt (Real x, Real y)
 This returns a OverlayElement at position x,y.
void copyFromTemplate (OverlayElement *templateOverlay)
virtual OverlayElementclone (const String &instanceName)
const StringgetName (void) const
 Gets the name of this overlay.
virtual void show (void)
 Shows this element if it was hidden.
virtual void hide (void)
 Hides this element if it was visible.
bool isVisible (void) const
 Returns whether or not the element is visible.
bool isEnabled () const
virtual void setEnabled (bool b)
void setDimensions (Real width, Real height)
 Sets the dimensions of this element in relation to the screen (1.0 = screen width/height).
void setPosition (Real left, Real top)
 Sets the position of the top-left corner of the element, relative to the screen size (1.0 = screen width / height).
void setWidth (Real width)
 Sets the width of this element in relation to the screen (where 1.0 = screen width).
Real getWidth (void) const
 Gets the width of this element in relation to the screen (where 1.0 = screen width).
void setHeight (Real height)
 Sets the height of this element in relation to the screen (where 1.0 = screen height).
Real getHeight (void) const
 Gets 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 0 = far left, 1.0 = far right).
Real getLeft (void) const
 Gets the left of this element in relation to the screen (where 0 = far left, 1.0 = far right).
void setTop (Real Top)
 Sets the top of this element in relation to the screen (where 0 = top, 1.0 = bottom).
Real getTop (void) const
 Gets the top of this element in relation to the screen (where 0 = top, 1.0 = bottom).
Real _getLeft (void) const
 Gets the left of this element in relation to the screen (where 0 = far left, 1.0 = far right).
Real _getTop (void) const
 Gets the top of this element in relation to the screen (where 0 = far left, 1.0 = far right).
Real _getWidth (void) const
 Gets the width of this element in relation to the screen (where 1.0 = screen width).
Real _getHeight (void) const
 Gets 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 _setTop (Real top)
 Sets the top of this element in relation to the screen (where 1.0 = screen width).
void _setWidth (Real width)
 Sets the width of this element in relation to the screen (where 1.0 = screen width).
void _setHeight (Real height)
 Sets the height of this element in relation to the screen (where 1.0 = screen width).
void _setPosition (Real left, Real top)
 Sets the left and top 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).
virtual const StringgetMaterialName (void) const
 Gets the name of the material this element uses.
const MaterialPtrgetMaterial (void) const
 See Renderable.
void getWorldTransforms (Matrix4 *xform) const
 See Renderable.
virtual void _updateFromParent (void)
 Updates this elements transform based on it's parent.
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.
virtual Real _getRelativeWidth (void)
 Gets the 'width' as derived from own width and metrics mode.
virtual Real _getRelativeHeight (void)
 Gets the 'height' as derived from own height and metrics mode.
virtual void _getClippingRegion (Rectangle &clippingRegion)
 Gets the clipping region of the element.
virtual void setCaption (const DisplayString &text)
 Sets the caption on elements that support it.
virtual const
DisplayString
getCaption (void) const
 Gets the caption for this element.
virtual void setColour (const ColourValue &col)
 Sets the colour on elements that support it.
virtual const
ColourValue
getColour (void) const
 Gets the colour for this element.
virtual GuiMetricsMode getMetricsMode (void) const
 Retrieves the current settings of how the element metrics are interpreted.
virtual void setHorizontalAlignment (GuiHorizontalAlignment gha)
 Sets the horizontal origin for this element.
virtual
GuiHorizontalAlignment 
getHorizontalAlignment (void) const
 Gets the horizontal alignment for this element.
virtual void setVerticalAlignment (GuiVerticalAlignment gva)
 Sets the vertical origin for this element.
virtual
GuiVerticalAlignment 
getVerticalAlignment (void) const
 Gets the vertical alignment for this element.
virtual bool contains (Real x, Real y) const
 Returns true if xy is within the constraints of the component.
virtual bool isKeyEnabled () const
virtual bool isCloneable () const
virtual void setCloneable (bool c)
OverlayContainergetParent ()
 Returns the parent container.
void _setParent (OverlayContainer *parent)
ushort getZOrder () const
 Returns the zOrder of the element.
Real getSquaredViewDepth (const Camera *cam) const
 Overridden from Renderable.
const LightListgetLights (void) const
 Gets a list of lights, ordered relative to how close they are to this renderable.

Remarks:
Directional lights, which have no position, will always be first on this list.

const OverlayElementgetSourceTemplate () const
ParamDictionarygetParamDictionary (void)
 Retrieves the parameter dictionary for this class.
const ParamDictionarygetParamDictionary (void) const
const ParameterListgetParameters (void) const
 Retrieves a list of parameters valid for this object.
virtual bool setParameter (const String &name, const String &value)
 Generic parameter setting method.
virtual void setParameterList (const NameValuePairList &paramList)
 Generic multiple parameter setting method.
virtual String getParameter (const String &name) const
 Generic parameter retrieval method.
virtual void copyParametersTo (StringInterface *dest) const
 Method for copying this object's parameters to another object.
virtual TechniquegetTechnique (void) const
 Retrieves a pointer to the Material Technique this renderable object uses.
virtual bool preRender (SceneManager *sm, RenderSystem *rsys)
 Called just prior to the Renderable being rendered.
virtual void postRender (SceneManager *sm, RenderSystem *rsys)
 Called immediately after the Renderable has been rendered.
virtual unsigned short getNumWorldTransforms (void) const
 Returns the number of world transform matrices this renderable requires.
void setUseIdentityProjection (bool useIdentityProjection)
 Sets whether or not to use an 'identity' projection.
bool getUseIdentityProjection (void) const
 Returns whether or not to use an 'identity' projection.
void setUseIdentityView (bool useIdentityView)
 Sets whether or not to use an 'identity' view.
bool getUseIdentityView (void) const
 Returns whether or not to use an 'identity' view.
virtual bool getCastsShadows (void) const
 Method which reports whether this renderable would normally cast a shadow.
void setCustomParameter (size_t index, const Vector4 &value)
 Sets a custom parameter for this Renderable, which may be used to drive calculations for this specific Renderable, like GPU program parameters.
const Vector4getCustomParameter (size_t index) const
 Gets the custom value associated with this Renderable at the given index.
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 void setPolygonModeOverrideable (bool override)
 Sets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting.
virtual bool getPolygonModeOverrideable (void) const
 Gets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting.
virtual void setUserAny (const Any &anything)
 Sets any kind of user value on this object.
virtual const AnygetUserAny (void) const
 Retrieves the custom user value associated with this object.
virtual
RenderSystemData * 
getRenderSystemData () const
 Sets render system private data.
virtual void setRenderSystemData (RenderSystemData *val) const
 gets render system private data
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info
void * operator new (size_t sz)
void * operator new (size_t sz, void *ptr)
 placement operator new
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info
void * operator new[] (size_t sz)
void operator delete (void *ptr)
void operator delete (void *ptr, const char *, int, const char *)
void operator delete[] (void *ptr)
void operator delete[] (void *ptr, const char *, int, const char *)

Static Public Member Functions

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.

Protected Types

enum  BorderCellIndex {
  BCELL_TOP_LEFT = 0, BCELL_TOP = 1, BCELL_TOP_RIGHT = 2, BCELL_LEFT = 3,
  BCELL_RIGHT = 4, BCELL_BOTTOM_LEFT = 5, BCELL_BOTTOM = 6, BCELL_BOTTOM_RIGHT = 7
}
typedef std::map
< size_t, Vector4
CustomParameterMap

Protected Member Functions

void updatePositionGeometry (void)
 internal method for setting up geometry, called by OverlayElement::update
void updateTextureGeometry (void)
 internal method for setting up geometry, called by OverlayElement::update
void addBaseParameters (void)
 Internal method for setting up parameters.
String getCellUVString (BorderCellIndex idx) const
bool createParamDictionary (const String &className)
 Internal method for creating a parameter dictionary for the class, if it does not already exist.

Protected Attributes

Real mLeftBorderSize
Real mRightBorderSize
Real mTopBorderSize
Real mBottomBorderSize
CellUV mBorderUV [8]
ushort mPixelLeftBorderSize
ushort mPixelRightBorderSize
ushort mPixelTopBorderSize
ushort mPixelBottomBorderSize
String mBorderMaterialName
MaterialPtr mpBorderMaterial
RenderOperation mRenderOp2
BorderRenderablemBorderRenderable
bool mTransparent
Real mTileX [OGRE_MAX_TEXTURE_LAYERS]
Real mTileY [OGRE_MAX_TEXTURE_LAYERS]
size_t mNumTexCoordsInBuffer
Real mU1
Real mV1
Real mU2
Real mV2
RenderOperation mRenderOp
ChildMap mChildren
ChildContainerMap mChildContainers
bool mChildrenProcessEvents
String mName
bool mVisible
bool mCloneable
Real mLeft
Real mTop
Real mWidth
Real mHeight
String mMaterialName
MaterialPtr mpMaterial
DisplayString mCaption
ColourValue mColour
Rectangle mClippingRegion
GuiMetricsMode mMetricsMode
GuiHorizontalAlignment mHorzAlign
GuiVerticalAlignment mVertAlign
Real mPixelTop
Real mPixelLeft
Real mPixelWidth
Real mPixelHeight
Real mPixelScaleX
Real mPixelScaleY
OverlayContainermParent
OverlaymOverlay
Real mDerivedLeft
Real mDerivedTop
bool mDerivedOutOfDate
bool mGeomPositionsOutOfDate
 Flag indicating if the vertex positions need recalculating.
bool mGeomUVsOutOfDate
 Flag indicating if the vertex uvs need recalculating.
ushort mZOrder
Matrix4 mXForm
bool mEnabled
bool mInitialised
OverlayElementmSourceTemplate
String mParamDictName
 Class name for this instance to be used as a lookup (must be initialised by subclasses).
CustomParameterMap mCustomParameters
bool mPolygonModeOverrideable
bool mUseIdentityProjection
bool mUseIdentityView
Any mUserAny
RenderSystemData * mRenderSystemData

Static Protected Attributes

static String msTypeName
static CmdBorderSize msCmdBorderSize
static CmdBorderMaterial msCmdBorderMaterial
static CmdBorderLeftUV msCmdBorderLeftUV
static CmdBorderTopUV msCmdBorderTopUV
static CmdBorderBottomUV msCmdBorderBottomUV
static CmdBorderRightUV msCmdBorderRightUV
static CmdBorderTopLeftUV msCmdBorderTopLeftUV
static
CmdBorderBottomLeftUV 
msCmdBorderBottomLeftUV
static
CmdBorderTopRightUV 
msCmdBorderTopRightUV
static
CmdBorderBottomRightUV 
msCmdBorderBottomRightUV
static CmdTiling msCmdTiling
static CmdTransparent msCmdTransparent
static CmdUVCoords msCmdUVCoords
static
OverlayElementCommands::CmdLeft 
msLeftCmd
static
OverlayElementCommands::CmdTop 
msTopCmd
static
OverlayElementCommands::CmdWidth 
msWidthCmd
static
OverlayElementCommands::CmdHeight 
msHeightCmd
static
OverlayElementCommands::CmdMaterial 
msMaterialCmd
static
OverlayElementCommands::CmdCaption 
msCaptionCmd
static
OverlayElementCommands::CmdMetricsMode 
msMetricsModeCmd
static
OverlayElementCommands::CmdHorizontalAlign 
msHorizontalAlignCmd
static
OverlayElementCommands::CmdVerticalAlign 
msVerticalAlignCmd
static
OverlayElementCommands::CmdVisible 
msVisibleCmd
static ParamDictionaryMap msDictionary
 Dictionary of parameters.

Friends

class BorderRenderable

Classes

struct  CellUV
class  CmdBorderBottomLeftUV
 Command object for specifying texture coordinates for the border (see ParamCommand). More...
class  CmdBorderBottomRightUV
 Command object for specifying texture coordinates for the border (see ParamCommand). More...
class  CmdBorderBottomUV
 Command object for specifying texture coordinates for the border (see ParamCommand). More...
class  CmdBorderLeftUV
 Command object for specifying texture coordinates for the border (see ParamCommand). More...
class  CmdBorderMaterial
 Command object for specifying the Material for the border (see ParamCommand). More...
class  CmdBorderRightUV
 Command object for specifying texture coordinates for the border (see ParamCommand). More...
class  CmdBorderSize
 Command object for specifying border sizes (see ParamCommand). More...
class  CmdBorderTopLeftUV
 Command object for specifying texture coordinates for the border (see ParamCommand). More...
class  CmdBorderTopRightUV
 Command object for specifying texture coordinates for the border (see ParamCommand). More...
class  CmdBorderTopUV
 Command object for specifying texture coordinates for the border (see ParamCommand). More...


Detailed Description

A specialisation of the PanelOverlayElement to provide a panel with a border.

Remarks:
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.
In addition to the usual PanelOverlayElement properties, this class has a 'border material', which specifies the material used for the edges of the panel, a border width (which can either be constant all the way around, or specified per edge), and the texture coordinates for each of the border sections.

Definition at line 52 of file OgreBorderPanelOverlayElement.h.


Member Typedef Documentation

typedef std::map<String, OverlayElement*> Ogre::OverlayContainer::ChildMap [inherited]

Definition at line 54 of file OgreOverlayContainer.h.

typedef MapIterator<ChildMap> Ogre::OverlayContainer::ChildIterator [inherited]

Definition at line 55 of file OgreOverlayContainer.h.

typedef std::map<String, OverlayContainer*> Ogre::OverlayContainer::ChildContainerMap [inherited]

Definition at line 56 of file OgreOverlayContainer.h.

typedef MapIterator<ChildContainerMap> Ogre::OverlayContainer::ChildContainerIterator [inherited]

Definition at line 57 of file OgreOverlayContainer.h.

typedef std::map<size_t, Vector4> Ogre::Renderable::CustomParameterMap [protected, inherited]

Definition at line 371 of file OgreRenderable.h.


Member Enumeration Documentation

enum Ogre::BorderPanelOverlayElement::BorderCellIndex [protected]

Enumerator:
BCELL_TOP_LEFT 
BCELL_TOP