GL Studio API
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
GlsNinePatch Class Reference

#include <gls_nine_patch.h>

Inheritance diagram for GlsNinePatch:
GLPolygon DisplayObject AttributeChangedNotifier WeakReferenceableMixin WeakReferenceable

Classes

class  Rect3D
 

Public Member Functions

virtual void Scale (float px, float py, float pz, Vertex *anchor, int handleBar)
 
virtual void Rotate (const Vector &orig, float angle, const Vector &axis)
 
virtual bool Hit (float x, float y, float z, float scale, const Vector &directionVector, Vector *collisionPoint)
 
virtual VertexVertices ()
 
virtual void GetExtents (float &minx, float &miny, float &minz, float &maxx, float &maxy, float &maxz)
 
virtual void GetTransformedExtents (Vector &min, Vector &max, const GlsMatrixType &matrix, bool resetMinMax)
 
virtual void UpdateBoundingVolume (void)
 
virtual void SetValue (int spec, va_list &args)
 
virtual void SetAvailableAttributes (unsigned int value)
 
virtual DisplayObjectCloneObject (bool generateNames=false)
 
virtual void CopyProperties (DisplayObject *src)
 
virtual void CopyGeometry (DisplayObject *srcArg)
 
virtual InterfaceListTypeGetCppInterfaceDescription (InterfaceListType *addToThisList=NULL)
 
virtual void GetCppInterfaceDescriptionFree (InterfaceListType *array)
 
virtual void Calculate (double time)
 
virtual void Draw (void)
 
virtual void SetFillColor (const glsColor &color)
 
virtual glsColor GetFillColor (void)
 
virtual int PolygonMode (void)
 
virtual void PolygonMode (int mode)
 
void TextureEdge (Edge index, float value)
 
void VertexEdge (Edge index, float value)
 
virtual float TextureEdge (Edge index)
 
virtual float VertexEdge (Edge index)
 
bool CenterVisible ()
 
void WidthVector (const Vector &v)
 
void HeightVector (const Vector &v)
 
const Vector WidthVector (void) const
 
const Vector HeightVector (void) const
 
void TextureBLC (const float x, const float y)
 
void TextureTRC (const float x, const float y)
 
Vector TextureBLC (void) const
 
Vector TextureTRC (void) const
 
void Height (const float &value)
 
void Width (const float &value)
 
float Height (void) const
 
float Width (void) const
 
virtual const VertexGetPatchVerts ()
 
virtual const VectorGetPatchTex ()
 
Rect3D GetChildRect ()
 
void ReferenceTextureWidth (const unsigned int &value)
 
void ReferenceTextureHeight (const unsigned int &value)
 
unsigned int ReferenceTextureWidth ()
 
unsigned int ReferenceTextureHeight ()
 
void ForceRecalculate ()
 
- Public Member Functions inherited from GLPolygon
 GLPolygon (unsigned int nPoints, Vertex *vertices)
 
 GLPolygon (unsigned int nPoints, Vertex *vertices, Vertex &location)
 
 GLPolygon (void)
 
 GLPolygon (const GLPolygon &polygon, const bool generateNames)
 
virtual ~GLPolygon (void)
 
void ConfigureMetaData (void)
 
virtual void CalculateTextureCoordinates (void)
 
virtual void CalcNormals (int windingOrder=1)
 
virtual void DeleteVertex (unsigned int index)
 
virtual DisplayObjectPick3D (const Vector &winLoc, const Vector &logicalCoords, float scale, const Vector &directionVector, Vector &collisionWinLoc, const OpenGLMatrices &parentDrawn)
 
- Public Member Functions inherited from DisplayObject
 DisplayObject (float x, float y, float z)
 
 DisplayObject (const DisplayObject &object, const bool generateNames)
 
virtual ~DisplayObject (void)
 
void Destroy ()
 
virtual void AlphaMode (int mode)
 
virtual int AlphaMode (void)
 
virtual bool AntiAlias (void)
 
virtual void AntiAlias (bool alias)
 
void ApplyTextureSettings (int textureIndex=-1)
 
DistiAttribDictAttributes ()
 
virtual void SetBlendColor (const glsColor &color)
 
void GetBlendColor (unsigned char color[])
 
void GetBlendColor (unsigned char &r, unsigned char &g, unsigned char &b, unsigned char &a)
 
virtual glsColor GetBlendColor ()
 
void SetBlendColor (unsigned char color[])
 
void SetBlendColor (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
 
bool BlinkedOff (void)
 
virtual bool Blinking (void)
 
virtual void Blinking (const bool blink)
 
virtual float BlinkRate (void)
 
virtual void BlinkRate (const float rate)
 
const VectorBoundingVolumeCenter () const
 
void BoundingVolumeCenter (const Vector &center)
 
bool BoundingVolumeHit (const Vector &start, const Vector &direction)
 
float BoundingVolumeRadius () const
 
void BoundingVolumeRadius (float radius)
 
void CalculateCollisionPoint (const Vector &pickLoc, const Vector &directionVector, Vector *collisionPoint)
 
virtual void CalculateParentBoundingBox (void)
 
bool GetTexturePointTransformationMatrix (GlsMatrixType &world2tex)
 
CallbackMethodCallerBaseCallbackCaller () const
 
void CallbackCaller (CallbackMethodCallerBase *cb)
 
virtual void GetCenter (Vector &center)
 
virtual glsColor GetColor ()
 
void GetColor (unsigned char c4[])
 
void GetColor (unsigned char &r, unsigned char &g, unsigned char &b, unsigned char &a)
 
virtual void SetColor (const glsColor &color)
 
void SetColor (unsigned char c4[])
 
void SetColor (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
 
virtual void CopyHierarchyProperties (DisplayObject *src, bool copyName)
 
virtual void CullBackFace (const bool val)
 
virtual bool CullBackFace (void)
 
bool Culled () const
 
bool CullTest (const GlsMatrixType *matrix, const Culler &culler)
 
GlsMatrixTypeDcsMatrix ()
 
void DcsMatrix (const GlsMatrixType &matrix)
 
virtual int DepthTest (void)
 
virtual void DepthTest (unsigned char zbuf)
 
const GlsMatrixTypeDrawMatrix ()
 
bool NeedCalcDrawMatrix ()
 
void DynamicRotate (float angle, int axis)
 
void DynamicRotate (const Vector &v)
 
void DynamicRotate (float angle[])
 
virtual void DynamicRotate (float x, float y, float z)
 
virtual void DynamicRotateRelative (float angle, int axis)
 
virtual float DynamicRotation (int axis)
 
virtual Vector DynamicScale ()
 
virtual void DynamicScale (float x, float y, float z)
 
void DynamicScale (const Vector &scale)
 
virtual void DynamicTranslate (float x, float y, float z, bool relative=false)
 
void DynamicTranslate (const Vertex &amount, bool relative)
 
void DynamicTranslate (const Vector &amount)
 
virtual void DynamicTranslate (float amount, int axis, bool relative=false)
 
virtual float DynamicTranslation (int axis)
 
virtual Vector DynamicTranslation ()
 
DisplayObjectEditor * Editor ()
 
const DisplayObjectEditor * Editor () const
 
void Editor (DisplayObjectEditor *editor)
 
void GetExtentsDCS (Vector &min, Vector &max)
 
void GetFillColor (unsigned char &r, unsigned char &g, unsigned char &b, unsigned char &a)
 
void GetFillColor (unsigned char c4[])
 
void SetFillColor (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
 
void SetFillColor (unsigned char c4[])
 
virtual DisplayObjecthandle (DisplayEvent *ev)
 
virtual bool HitUtil (float x, float y, float z, float scale, Vertex *vertices, unsigned int vertex_cnt, const Vector &directionVector, Vector *collisionPoint)
 
virtual void InsertVertex (unsigned int index)
 
char * InstanceName (void)
 
void InstanceName (const char *name)
 
virtual bool LightingEnabled ()
 
virtual void LightingEnabled (bool lighting)
 
virtual int LineStippleMultiplier (void)
 
virtual void LineStippleMultiplier (int mult)
 
virtual int LineStipplePattern (void)
 
virtual void LineStipplePattern (int pattern)
 
virtual float LineWidth (void)
 
virtual void LineWidth (float width)
 
virtual const VertexLocation (void) const
 
virtual void Location (const Vertex &v)
 
virtual void Location (float x, float y, float z)
 
virtual void GetLocation (Vertex &v)
 
virtual void GetLocation (float &x, float &y, float &z)
 
float X (void) const
 
float Y (void) const
 
float Z (void) const
 
void X (const float x)
 
void Y (const float y)
 
void Z (const float z)
 
virtual int MaterialIndex ()
 
virtual void MaterialIndex (int index)
 
virtual DynamicArray< int > & MaterialIndices ()
 
virtual void MaterialIndices (DynamicArray< int > indices)
 
GlsMatrixTypeModelMatrix ()
 
bool NeedCalculate ()
 
VectorNormals ()
 
virtual void SetNormals (unsigned int nPoints, Vector *vertices)
 
void VaSetNormals (unsigned int nPoints,...)
 
unsigned int NumberOfVertices () const
 
virtual float ObjectDepth (void)
 
virtual float ObjectHeight (void)
 
virtual float ObjectWidth (void)
 
virtual void SetOrigin (const Vertex &vert)
 
virtual void Parent (DisplayFrame *par)
 
DisplayFrameParent (void) const
 
virtual void ParentGroup (Group *group)
 
GroupParentGroup (void) const
 
unsigned char Pickable ()
 
virtual void Pickable (unsigned char pick)
 
virtual int PolygonEnd (void)
 
virtual void PolygonEnd (const int end)
 
virtual void PreDraw (const OpenGLMatrices &current, Culler &culler)
 
GlsMatrixTypeProjMatrix ()
 
virtual void ReallocateVertices (unsigned int numVertices, bool initializeNew, bool copyOld)
 
virtual float RelativeAngle (const float x, const float y)
 
virtual DistiAttributeBaseResource (const char *name)
 
virtual void GetResources (std::ostream &outstr, GlsResourceFilter *filter=NULL)
 
void RestoreAlpha (void)
 
void RestoreAntiAlias (void)
 
void RestoreLighting (void)
 
void RestoreLineStyle (void)
 
const VertexRotationPoint ()
 
virtual void RotationPoint (const Vertex &v)
 
virtual void RotationPoint (float x, float y, float z)
 
virtual void GetRotationPoint (Vertex &v)
 
virtual void Rotate (float angle, int axis=Z_AXIS)
 
virtual void Rotate (const Vector &origin, float angle, int axis=Z_AXIS)
 
void SaveMatrices ()
 
void Scale (int handleBar, float px, float py, Vertex *anchor=NULL)
 
void Set (int spec,...)
 
bool SetupAlpha (void)
 
bool SetupAntiAlias (void)
 
void SetupDepthTest (void)
 
void SetupLighting (void)
 
bool SetupLineStyle (void)
 
void SetupPolyDrawStyle (void)
 
void SetupShading (void)
 
bool SetupTexture (void)
 
virtual int Shading (void)
 
virtual void Shading (const int shading)
 
virtual void SetTexCoords (unsigned int nPoints, Vector *new_tex_coord, bool isVectorArray=true)
 
void SetTexCoords (unsigned int nPoints, Vertex *new_tex_coord)
 
void VaSetTexCoords (unsigned int nPoints,...)
 
VectorTextureCoordinates (void)
 
VectorGetTextureCoordinates (void)
 
virtual int TextureIndex (void)
 
virtual void TextureIndex (int textureIndex)
 
virtual VectorGetTexturePoints (void)
 
virtual bool TextureRepeat (void)
 
virtual void TextureRepeat (const int rep)
 
virtual int TextureMappingTechnique (void)
 
virtual void TextureMappingTechnique (const int map)
 
virtual int TextureMagnificationFilter (void)
 
virtual void TextureMagnificationFilter (const int filter)
 
virtual int TextureMinificationFilter (void)
 
virtual void TextureMinificationFilter (const int filter)
 
virtual void Translate (float tr[])
 
virtual void Translate (float x, float y, float z)
 
virtual void TranslateVertices (float x, float y, float z)
 
void * UserData (void) const
 
void UserData (void *data)
 
virtual void SetVertexColor (unsigned int vertex, unsigned char CurrentFillColor[])
 
virtual void SetVertices (unsigned int nPoints, Vertex *vertices)
 
void VaSetVertices (unsigned int nPoints,...)
 
int * ViewMatrix ()
 
bool Visible (void) const
 
bool Visibility (void) const
 
virtual void Visibility (const bool vis)
 
virtual Vector WorldRotationPoint (void)
 
virtual void WorldRotationPoint (const Vector &vert)
 
virtual Vertex WorldVertex (unsigned int i)
 
virtual void WorldVertex (unsigned int i, const Vertex &vert)
 
bool LogicalToWindow (const Vector &logical, Vector &winLoc, const OpenGLMatrices &alternateMatrices=OpenGLMatrices())
 
bool WindowToLogical (const Vector &winLoc, Vector &logical, Vector *directionVector=NULL, const OpenGLMatrices &alternateMatrices=OpenGLMatrices())
 
void LogicalToDCS (Vector logicalPoint, Vector &objectLocal, const Vector *directionVector, const Vector &planeNormal=Vector(0, 0, 1), const Vector &planePoint=Vector(), const GlsMatrixType *dcsMatrix=NULL)
 
void DCSToLogical (Vector dcsPoint, Vector &logicalPoint, const GlsMatrixType *dcsMatrix=NULL)
 
virtual bool GetPlaneVectorPoints (Vertex &p1, Vertex &p2, Vertex &p3, Vertex &planeVector)
 
void NotifyAttributeChanged (const AttributeName &name)
 
- Public Member Functions inherited from AttributeChangedNotifier
virtual ~AttributeChangedNotifier ()
 
- Public Member Functions inherited from WeakReferenceableMixin
void AddWeakReference (WeakReference *weakRef)
 
void NotifyWeakReferenceDestroyed (WeakReference *ref)
 

Protected Member Functions

void CalculatePatchVerts ()
 
void CalculateTextureVerts ()
 
void CalculateTextureResize (const int tw, const int th)
 
void CalculateRadiiUnit (void)
 
void SetNeedsRecalculate (void)
 
void SetNeedsTextureRecalculate (void)
 
void DrawGuides (void)
 
void DrawPatches (bool texture)
 
void DrawGeometry (void)
 
- Protected Member Functions inherited from DisplayObject
virtual void VaListSetVertices (unsigned int nPoints, va_list args)
 
virtual void VaListSetNormals (unsigned int nPoints, va_list args)
 
virtual void VaListSetTexCoords (unsigned int nPoints, va_list args)
 
void AllocateModelMatrix ()
 
bool ApplyDynamicRotation (void)
 
virtual void CalcDrawMatrix ()
 
void CalcDrawMatrixIfExists ()
 
virtual void CalculateMatrices (const OpenGLMatrices &newMatrices)
 
bool InsideVertexExtents (float x, float y, unsigned int nVerts, Vertex *verts, float tolerance)
 
void NeedCalculate (bool val)
 
void PickSetup (float x, float y, float z, Vertex *vertices, unsigned int vertex_cnt, const Vector &directionVector)
 
void PickCleanup (Vertex *vertices, unsigned int vertex_cnt)
 
int GetApplicableTextureIndex ()
 
int GetApplicableTextureRepeat ()
 
- Protected Member Functions inherited from WeakReferenceableMixin
 WeakReferenceableMixin (void)
 
virtual ~WeakReferenceableMixin ()
 

Protected Attributes

Vertex _patchVerts [16]
 
Vector _patchTex [16]
 
Vector _radii [2]
 
Vector _normal
 
Vector _textureBLC
 
Vector _textureTRC
 
float _width
 
float _height
 
float _textureEdge [4]
 
float _vertexEdge [4]
 
bool _centerVisible
 
bool _needsRecalculate
 
bool _needsTextureRecalculate
 
bool _guidesVisible
 
glsColor _objectColor
 
unsigned int _texWidth
 
unsigned int _texHeight
 
unsigned int _referenceTexWidth
 
unsigned int _referenceTexHeight
 
- Protected Attributes inherited from DisplayObject
int _alphaMode
 
bool _antiAlias
 
bool _attributesAdded
 
bool _blinking
 
float _blinkRate
 
glsColor _color
 
bool _cullBackFace
 
GlsMatrixType _dcsMatrix
 
unsigned char _depthTest
 
GlsMatrixType_drawMatrix
 
unsigned char _lineStippleMultiplier
 
unsigned short _lineStipplePattern
 
float _lineWidth
 
Vertex _location
 
GlsMatrixType_modelMatrix
 
Vector_normals
 
unsigned int _nTex_vertices
 
unsigned int _nVertices
 
unsigned char _polygonEnd
 
unsigned char _polygonMode
 
int _polygonOffset
 
GlsMatrixType_projMatrix
 
unsigned char _shading
 
Vector_texCoord
 
glsColor _textureBlendColor
 
int _textureIndex
 
unsigned char _textureMagFilter
 
unsigned char _textureMinFilter
 
unsigned char _textureMap
 
Vector _texturePoints [4]
 
unsigned char _textureRepeat
 
void * _userData
 
Vertex_vertices
 
int * _viewMatrix
 
bool _visible
 
- Protected Attributes inherited from WeakReferenceableMixin
DynamicArray< WeakReference * > * _weakRefs
 

Additional Inherited Members

- Public Types inherited from DisplayObject
enum  AvailableAttributesEnum
 
- Static Public Member Functions inherited from DisplayObject
static void UseManualBlinkElapsedTime (bool useManualTime)
 
static void SetManualBlinkElapsedTime (double elapsedTime)
 

Detailed Description

Runtime implementation of a GlsNinePatch

Member Function Documentation

virtual void Calculate ( double  time)
virtual

Provides a mechanism for performing regular calculations, seperate from drawing. In a standalone applicaton Calculate is recursively called by the main loop before the objects are drawn.

Parameters
timeThe elaspsed time in seconds since program start

Reimplemented from DisplayObject.

void CalculatePatchVerts ( )
protected

Calculate the vertices for the nine patches

void CalculateRadiiUnit ( void  )
protected

Calculates _width, _height and _normal based on _radii

void CalculateTextureResize ( const int  tw,
const int  th 
)
protected

Calculates new values when a texture has been upsized or downsized

void CalculateTextureVerts ( )
protected

Calculate the texture coordinates for the nine patches

bool CenterVisible ( )
inline

Getter function to determine whether or not the center will be drawn

Returns
True being returned lets the use know that the Center of the NinePatch is visible.
virtual DisplayObject* CloneObject ( bool  generateNames = false)
virtual

Copy+Create operation in one method. In derived classes, this method will create a new instance of the derived class and then copy the object into the new instance. The cut,copy,paste and undo operations use this method.

Parameters
generateNamesWhether or not to generate new names for cloned objects
Returns
A new object, identical to the original, except for the instance name

Reimplemented from GLPolygon.

virtual void CopyGeometry ( DisplayObject src)
virtual

Copies the geometry information from one object to another. Used by the undo mechanism to allow user to undo a geometry change.

Parameters
srcThe object to copy geometry from

Reimplemented from DisplayObject.

virtual void CopyProperties ( DisplayObject src)
virtual

Copies the attributes except for geometry attributes from one object to another. Used by the undo mechanism to undo most attribute change operations.

Parameters
srcThe object to copy properties from

Reimplemented from DisplayObject.

virtual void Draw ( void  )
virtual

Draws this object on the current display frame (_parent member).

Reimplemented from GLPolygon.

void DrawGeometry ( void  )
protected

Performs OpenGL drawing commands

void DrawGuides ( void  )
protected

Draws a grid displaying the 9 polygons on top of the image

void DrawPatches ( bool  texture)
protected

Helper routine to draws the 9 patches

void ForceRecalculate ( )

Forces the nine patch to recalculate it's verts and it's texture verts.

See also
ForceRecalculate()
Rect3D GetChildRect ( )

Gets the "child" rectangle. The child rectangle refers to the inner rectangle of the nine patch, which is where normal content would be drawn

virtual InterfaceListType* GetCppInterfaceDescription ( InterfaceListType addToThisList = NULL)
virtual

Get the details of the Cpp Interface The actual interface is exposed in compiled code.

Parameters
addToThisListIf not NULL this list will be added to then returned. If NULL a new list will be created.
Returns
A templated list. The caller must call the corresponding free method to safely free the memory.

Reimplemented from DisplayObject.

virtual void GetCppInterfaceDescriptionFree ( InterfaceListType array)
virtual

Frees the memory allocated by a previous call to GetCppInterfaceDescription

Parameters
arrayMemory allocated by a previous call to GetCppInterfaceDescription

Reimplemented from DisplayObject.

virtual void GetExtents ( float &  x,
float &  y,
float &  z,
float &  x1,
float &  y1,
float &  z1 
)
virtual

Figure out the static extents for the object. Used by the editor as part of the pick operation and for figuring out the size of groups.

Parameters
xGets the minimum x extent
yGets the minimum y extent
zGets the minimum z extent
x1Gets the maximum x extent
y1Gets the maximum y extent
z1Gets the maximum z extent

Reimplemented from DisplayObject.

virtual glsColor GetFillColor ( void  )
virtual

Gets the fill color of the object

Returns
The fill color

Reimplemented from DisplayObject.

virtual const Vector* GetPatchTex ( )
virtual

Returns a pointer to the texture points

virtual const Vertex* GetPatchVerts ( )
virtual

Returns a pointer to the patch vertices

virtual void GetTransformedExtents ( Vector min,
Vector max,
const GlsMatrixType matrix,
bool  resetMinMax 
)
virtual

Determines the static extents of the geometry projected to the XY plane of an arbirary coordinate system.

Parameters
minReturns the minimum values found in the traversal
maxReturns the maximum values found in the traversal
matrixTransformation matrix from logical coordinates to the coordinate system to determine the extents in.
resetMinMaxNormally not specified by user. Should be true for the initial call.

Reimplemented from DisplayObject.

void Height ( const float &  value)

Setter function for the height of the GlsNinePatch in logical units

Parameters
valuesets the height of the GlsNinePatch in the direction of _radii[1]
float Height ( void  ) const
inline

Getter function for the height of the GlsNinePatch in logical units

Returns
The height of the NinePatch
void HeightVector ( const Vector v)

Sets the radii of the height vector in logical units

Parameters
vWill set the radii's height row's logical values of the glsNinePatch object
const Vector HeightVector ( void  ) const
inline

Gets the radii of the height vector in logical units.

Returns
The height of the NinePatch as a Vector.
virtual bool Hit ( float  x,
float  y,
float  z,
float  scale,
const Vector directionVector,
Vector collisionPoint 
)
virtual

Determines if the object is hit by a pick ray starting at (x,y,z) and pointing towards directionVector in object logical coordinate system. If Pickable() == PICK_BEST it will return the closest point that was hit, otherwise it returns the first point that was hit. This method should not pick points behind the viewer.

Parameters
xX coordinate of pick ray start in logical coordinates.
yY coordinate of pick ray start in logical coordinates.
yY coordinate of pick ray start in logical coordinates.
zZ coordinate of pick ray start in logical coordinates.
scaleThe scale factor of the window. Affects picking of outlines. Standard value is 1.0.
directionVectorThe direction of the pick ray.
collisionPointIf this method returns true, this Vector will contain the location that was hit in logical coordinates.
Returns
boolean indicating if the object was hit by the pick ray.

Reimplemented from DisplayObject.

virtual int PolygonMode ( void  )
inlinevirtual

Gets the polygon drawing mode for this object

Returns
The polygon drawing mode for this object
See also
PolygonMode_e

Reimplemented from DisplayObject.

virtual void PolygonMode ( int  mode)
inlinevirtual

Sets the polygon drawing mode for this object

Parameters
modeThe new polygon drawing mode for this object
See also
PolygonMode_e

Reimplemented from DisplayObject.

void ReferenceTextureHeight ( const unsigned int &  value)

Sets the reference texture height, which allows the nine patch to respond to changes of texture size.

Parameters
valueThe reference height of the texture in pixel units
Note
Setting this value is optional, but if it is not set and the physical texture size changes, the nine patch will not display will need to be reconfigured by hand. The reference height should generally be the height of the original texture. It will be automatically updated when image changes are detected.
See also
ReferenceTextureHeight()
unsigned int ReferenceTextureHeight ( )

Gets the reference texture height, which allows the nine patch to respond to changes of texture size.

See also
ReferenceTextureHeight()
void ReferenceTextureWidth ( const unsigned int &  value)

Sets the reference texture width, which allows the nine patch to respond to changes of texture size.

Parameters
valueThe reference width of the texture in pixel units
Note
Setting this value is optional, but if it is not set and the physical texture size changes, the nine patch will not display will need to be reconfigured by hand. The reference width should generally be the width of the original texture. It will be automatically updated when image changes are detected.
See also
ReferenceTextureWidth()
unsigned int ReferenceTextureWidth ( )

Gets the reference texture width, which allows the nine patch to respond to changes of texture size.

See also
ReferenceTextureWidth()
virtual void Rotate ( const Vector orig,
float  angle,
const Vector axis 
)
virtual

Rotates the object (around the specified axis) by the angle indicated, at the point specified. Recalculates the vertex data.

Parameters
origThe point to rotate around
angleThe angle to rotate by, in degrees
axisThe arbitrary axis to rotate the object around

Reimplemented from DisplayObject.

virtual void Scale ( float  px,
float  py,
float  pz,
Vertex anchor,
int  handleBar 
)
virtual

Scales the object, either the handleBar, or the Anchor is used to translate the object, not both. Anchor takes presidence, if it is set HandleBar is ignored. The footprint is different from the 2D scale so the compiler can destinguish the two.

Parameters
pxValue of the percentage of scale in x-axis
pyValue of the percentage of scale in y-axis
pzValue of the percentage of scale in z-axis
anchorAnchor from which to scale object relative to
handleBarVertex that is being dragged

Reimplemented from DisplayObject.

virtual void SetAvailableAttributes ( unsigned int  value)
virtual

Specifies which attributes are available for the object. Currently the available attributes cannot be changed after they have been set. (Only the first call has an effect.)

Parameters
valueA bitfield specifying which types of attributes to make available.
See also
AvailableAttributesEnum

Reimplemented from DisplayObject.

virtual void SetFillColor ( const glsColor color)
virtual

Sets the RGBA color for filling the object

Parameters
colorThe new RGBA fill color (0-255 range) for the object

Reimplemented from DisplayObject.

void SetNeedsRecalculate ( void  )
protected

callback called when the 9patch needs to be recalculated

void SetNeedsTextureRecalculate ( void  )
protected

callback called when the 9patch texture coordinates need to be recalculated

virtual void SetValue ( int  spec,
va_list &  args 
)
virtual

Sets an attribute of this object using variable arguments

Parameters
specA GLS_Initializer tag
argsA variable argument list

Reimplemented from DisplayObject.

void TextureBLC ( const float  x,
const float  y 
)

Setter function for the bottom left corner of the texture in the GlsNinePatch

Parameters
xA pixel unit value that is applied to the GlsNinePatch's first field in the 'Bottom Left Corner' vector
yA pixel unit value that is applied to the GlsNinePatch's second field in the 'Bottom Left Corner' vector
Vector TextureBLC ( void  ) const
inline

Getter function for the bottom left corner of the texture in the GlsNinePatch

Returns
Returns the vector in pixel units for the value of the 'Bottom Left Corner'
void TextureEdge ( Edge  index,
float  value 
)

Set's the texture edge at enum specified by index to the value specified as pixel units.

Parameters
indexRefers to the texture edge enumeration that will be modified
valueThe pixel unit(s) assigned to the specificed texture edge enumeration
virtual float TextureEdge ( Edge  index)
virtual

Return the value in pixel units of the TextureEdge given at enumeration specified by index

Parameters
indexrefers to the edge enumeration that the value will be gotten from
Returns
A float value in pixel units that corresponds with the respective VertexEdge index/enum.
void TextureTRC ( const float  x,
const float  y 
)

Setter function for the top right corner of the texture in the GlsNinePatch

Parameters
xA pixel unit value that is applied to the GlsNinePatch's first field in the 'Top Right Corner' vector
yA pixel unit value that is applied to the GlsNinePatch's second field in the 'Top Right Corner' vector
Vector TextureTRC ( void  ) const
inline

Getter function for the top right corner of the texture in the GLSNinePatch

Returns
Returns the vector in pixel units for the value of the 'Top Right Corner'
virtual void UpdateBoundingVolume ( void  )
virtual

Updates the bounding volume of this object This method should be called if the vertices change for picking and culling to work correctly. This will only update this object. If PerformGroupCullCheck is enabled for one of the objects parents, you may also need to call CalculateParentBoundingBox() to update all of the objects parents.

Reimplemented from DisplayObject.

void VertexEdge ( Edge  index,
float  value 
)

Set's the vertex edge at enum specified by index to the value specified as logical units.

Parameters
indexrefers to the vertex edge enumeration that will be modified
valueis the logical unit(s) assigned to the specificed vertex edge enumeration
virtual float VertexEdge ( Edge  index)
virtual

Return the value in logical units at the edge enumeration specified by index

Parameters
indexrefers to the edge enumeration
Returns
A float value in logical units that corresponds with the respective TextureEdge index/enum.
virtual Vertex* Vertices ( )
virtual

Gets the object's vertices. You should call UpdateBoundingVolume after changing an objects extents.

See also
UpdateBoundingVolume
Returns
Pointer to the object's vertex array

Reimplemented from DisplayObject.

void Width ( const float &  value)

Setter function for the width of the GlsNinePatch in logical units

Parameters
valuesets the width of the GlsNinePatch in the direction of _radii[0]
float Width ( void  ) const
inline

Getter function for the width of the GlsNinePatch in logical units

Returns
The width of the NinePatch
void WidthVector ( const Vector v)

Sets the radii of the width vector in logical units

Parameters
vWill set the radii's width row's logical values of the glsNinePatch object
const Vector WidthVector ( void  ) const
inline

Gets the radii of the width vector in logical units.

Returns
The width of the NinePatch as a Vector.

Member Data Documentation

bool _centerVisible
protected

Whether or not the center patch will be drawn

bool _guidesVisible
protected

If true, then "guides" will be drawn". Normally only set in the editor

float _height
protected

Height of the NinePatch in the direction of _radii[1]

bool _needsRecalculate
protected

True when the vertices need to be recalculated

bool _needsTextureRecalculate
protected

True when the texture coordinates need to be recalculated

Vector _normal
protected

Surface normal of the NinePatch. Computed from the _radii

glsColor _objectColor
protected

Fill color is normally stored in vertices, but we're not using these in GlsNinePatch

Vector _patchTex[16]
protected

Array of texture coordinates, arranged the same way as _patchVerts

Vertex _patchVerts[16]
protected

Array of vertices that defines the NinePatch, arranged as follows: 12–13—14—15 | | | | 8-—9—10—11 | | | | 4-—5-—6-—7 | | | | 0-—1-—2-—3

Vector _radii[2]
protected

Radius vectors that define the size of the NinePatch _radii[0] defines the width _radii[1] defines the height

unsigned int _referenceTexHeight
protected

Texture Height when the object was configured. Used to correctly adjust for new texture resolutions.

unsigned int _referenceTexWidth
protected

Texture Width when the object was configured. Used to correctly adjust for new texture resolutions.

unsigned int _texHeight
protected

Texture Height

Vector _textureBLC
protected

Texture coordinate of bottom left corner of NinePatch

float _textureEdge[4]
protected

Values representing the distance from the edge of the texture that makes up the NinePatch borders. Units are in pixels and are the distance IN from the edge of the texture.

Vector _textureTRC
protected

Texture coordinate of top right corner of NinePatch

unsigned int _texWidth
protected

Texture Width

float _vertexEdge[4]
protected

Values representing the size of edges of the NinePatch. Units are in logical units measure going IN from the edge of the NinePatch

float _width
protected

Width of the NinePatch in the direction of _radii[0]


The documentation for this class was generated from the following file: