My Project
Public Types | Public Member Functions | Static Public Member Functions | List of all members
ParaEngine::CGUIBase Class Reference

base object for all 2D GUI objects (1) 2D GUI object are not tested against view frustum, instead it is controlled by visibility tag automatically or through user input. More...

#include <GUIBase.h>

Inheritance diagram for ParaEngine::CGUIBase:
ParaEngine::IAttributeFields ParaEngine::IObjectDrag ParaEngine::CPaintDevice ParaEngine::IObject ParaEngine::CRefCounted ParaEngine::CGUIAttributeGrid ParaEngine::CGUIButton ParaEngine::CGUICanvas ParaEngine::CGUIContainer ParaEngine::CGUIEditBox ParaEngine::CGUIScrollBar ParaEngine::CGUISlider ParaEngine::CGUIText ParaEngine::CGUIToolTip ParaEngine::CGUIWebBrowser

Public Types

typedef ParaEngine::weak_ptr< IObject, CGUIBaseWeakPtr_type
 
- Public Types inherited from ParaEngine::IAttributeFields
typedef ParaEngine::weak_ptr< IObject, IAttributeFieldsWeakPtr_type
 
- Public Types inherited from ParaEngine::IObject
typedef ParaEngine::weak_ptr< IObjectWeakPtr_type
 
- Public Types inherited from ParaEngine::CPaintDevice
enum  PaintDeviceMetric { PdmWidth = 1, PdmHeight, PdmDepth }
 

Public Member Functions

virtual const ITypeGetType () const
 
virtual int GetAttributeClassID ()
 attribute class ID should be identical, unless one knows how overriding rules work. More...
 
virtual const char * GetAttributeClassName ()
 a static string, describing the attribute class object's name
 
virtual const char * GetAttributeClassDescription ()
 a static string, describing the attribute class object
 
virtual int InstallFields (CAttributeClass *pClass, bool bOverride)
 this class should be implemented if one wants to add new attribute. More...
 
virtual void * QueryObject (int nObjectType)
 convert to object of a given type. More...
 
virtual IAttributeFieldsGetChildAttributeObject (const std::string &sName)
 get attribute by child object. More...
 
virtual int GetChildAttributeObjectCount (int nColumnIndex=0)
 get the number of child objects (row count) in the given column. More...
 
virtual int GetChildAttributeColumnCount ()
 we support multi-dimensional child object. More...
 
virtual IAttributeFieldsGetChildAttributeObject (int nRowIndex, int nColumnIndex=0)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetName_s, const char **)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetName_s, const char *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetTextScale_s, float *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetTextScale_s, float)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetUseTextShadow_s, bool *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetUseTextShadow_s, bool)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetTextShadowQuality_s, int *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetTextShadowQuality_s, int)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetTextShadowColor_s, int *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetTextShadowColor_s, int)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetTextOffsetX_s, int *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetTextOffsetX_s, int)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetTextOffsetY_s, int *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetTextOffsetY_s, int)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetEnabled_s, bool *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetEnabled_s, bool)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetAlwaysMouseOver_s, bool *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetAlwaysMouseOver_s, bool)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetDepth_s, float *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetDepth_s, float)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetLifeTime_s, int *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetLifeTime_s, int)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetX_s, int *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetX_s, int)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetY_s, int *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetY_s, int)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetWidth_s, int *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetWidth_s, int)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetHeight_s, int *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetHeight_s, int)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetRotation_s, float *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetRotation_s, float)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetScaling_s, Vector2 *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetScaling_s, Vector2)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetTranslation_s, Vector2 *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetTranslation_s, Vector2)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetRotOriginOffset_s, Vector2 *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetRotOriginOffset_s, Vector2)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetColorMask_s, DWORD *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetColorMask_s, DWORD)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetText_s, const char **)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetText_s, const char *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetSpacing_s, int *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetSpacing_s, int)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetPadding_s, int *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetPadding_s, int)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetZOrder_s, int *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetZOrder_s, int)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetCursor_s, const char **)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetCursor_s, const char *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetIndex_s, int *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetID_s, int *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetID_s, int)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetVisible_s, bool *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetVisible_s, bool)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetVisibleRecursive_s, bool *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetHighlightStyle_s, int *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetHighlightStyle_s, int)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetAnimationStyle_s, int *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetAnimationStyle_s, int)
 
 ATTRIBUTE_METHOD1 (CGUIBase, IsPressed_s, bool *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, IsClickThrough_s, bool *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetClickThrough_s, bool)
 
 ATTRIBUTE_METHOD1 (CGUIBase, CanHaveFocus_s, bool *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetCanHaveFocus_s, bool)
 
 ATTRIBUTE_METHOD1 (CGUIBase, IsDirty_s, bool *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetDirty_s, bool)
 
 ATTRIBUTE_METHOD1 (CGUIBase, IsOwnerDraw_s, bool *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetOwnerDraw_s, bool)
 
 ATTRIBUTE_METHOD1 (CGUIBase, IsUVWrappingEnabled_s, bool *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, EnableUVWrapping_s, bool)
 
 ATTRIBUTE_METHOD1 (CGUIBase, HasKeyFocus_s, bool *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetUsePointTextureFiltering_s, bool *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetUsePointTextureFiltering_s, bool)
 
 ATTRIBUTE_METHOD (CGUIBase, ApplyColorMask_s)
 
 ATTRIBUTE_METHOD (CGUIBase, ApplyAnim_s)
 
 ATTRIBUTE_METHOD1 (CGUIBase, IsSelfPaintEnabled_s, bool *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, EnableSelfPaint_s, bool)
 
 ATTRIBUTE_METHOD1 (CGUIBase, IsAutoClearBackground_s, bool *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetAutoClearBackground_s, bool)
 
 ATTRIBUTE_METHOD1 (CGUIBase, IsMouseCaptured_s, bool *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetMouseCaptured_s, bool)
 
 ATTRIBUTE_METHOD1 (CGUIBase, IsInputMethodEnabled_s, bool *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetInputMethodEnabled_s, bool)
 
 ATTRIBUTE_METHOD1 (CGUIBase, GetCompositionPoint_s, Vector2 *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, SetCompositionPoint_s, Vector2)
 
 ATTRIBUTE_METHOD1 (CGUIBase, IsNonClientTestEnabled_s, bool *)
 
 ATTRIBUTE_METHOD1 (CGUIBase, EnableNonClientTest_s, bool)
 
virtual CPaintEnginepaintEngine () const
 Returns the paint engine. More...
 
void DeleteThis ()
 
CGUIContainerGetParent ()
 get the parent container
 
CGUIContainerGetPainterWindow ()
 get the parent container which has a self painted painter device. More...
 
bool IsPainterWindow ()
 if control contains its own painting device. More...
 
virtual int GetChildCount ()
 
virtual bool HasClickEvent ()
 return true, if this control can be clicked. More...
 
bool IsAncestorOf (CGUIBase *pChild)
 return true if current control is a parent of pChild. More...
 
bool HasParent (CGUIContainer *pParent)
 return true if pParent is a predecessor of this object. More...
 
void SetParent (CGUIContainer *parent)
 set the parent container
 
int GetIndex ()
 get the child index in the parent object. More...
 
bool GetEnabled ()
 whether control is enabled. More...
 
void SetEnabled (bool bEnabled)
 set whether the control is enabled or not
 
bool IsInputMethodEnabled () const
 
void SetInputMethodEnabled (bool val)
 
void SetNeedUpdate (bool bNeedUpdate=true)
 set need update
 
bool IsNeedUpdate (bool bRecursive=false)
 whether this control needs update. More...
 
void SetAlwaysMouseOver (bool bAlwaysMouseOver)
 set whether make mouse over to true as long as it contains the mouse point, no matter it has mouse focus or not. More...
 
bool GetAlwaysMouseOver ()
 get whether make mouse over to true as long as it contains the mouse point, no matter it has mouse focus or not. More...
 
virtual GUIBase_List_Type * GetChildren ()
 get pointer to children list. More...
 
virtual bool IsPressed ()
 whether it is pressed. More...
 
virtual void SetTextA (const char *szText)
 Set the text of this object. More...
 
virtual void SetText (const char16_t *wszText)
 Set the text of this object The control internally store everything in Unicode. More...
 
virtual int GetTextA (std::string &out)
 get the text of the control More...
 
virtual const char16_t * GetText ()
 get the text of the control The control internally store everything in Unicode. More...
 
virtual void Reset ()
 Resets the objects states. More...
 
bool HasEvent (int etype)
 check if the object has any events More...
 
void ClearAllEvent ()
 Clear all events in the event buffer (m_objEvents), not including interpreted events such as m_pMouseEvent and m_pKeyEvent.
 
void ClearEvent (int etype)
 Clear specific kind of events in the event buffer (m_objEvents), including interpreted events such as m_pMouseEvent and m_pKeyEvent. More...
 
void BeginDepthTest (GUIState *pState=NULL)
 draw calls between BeginDepthTest() and EndDepthTest() are rendered with depth enabled, such as for relative to 3d objects. More...
 
void EndDepthTest (GUIState *pState=NULL)
 
virtual void GetAbsolutePosition (CGUIPosition *pOut, const CGUIPosition *pIn)
 Gets the absolute position of a CGUIPosition structure. More...
 
virtual void SetDepth (float fDepth)
 set the 3D depth. More...
 
virtual float GetDepth ()
 Get the 3D depth.
 
bool HasFocus () const
 
virtual bool HasKeyFocus ()
 whether this control has key focus. More...
 
virtual bool MsgProc (MSG *event)
 the procedure that handles all the events. More...
 
virtual void SetLifeTime (int lifttime)
 Set/get how many frames the control will survive. More...
 
virtual int GetLifeTime () const
 
- Public Member Functions inherited from ParaEngine::IAttributeFields
 ATTRIBUTE_METHOD1 (IAttributeFields, GetName_s, const char **)
 
 ATTRIBUTE_METHOD1 (IAttributeFields, SetName_s, const char *)
 
 ATTRIBUTE_METHOD (IAttributeFields, PrintObject_s)
 
 ATTRIBUTE_METHOD (IAttributeFields, AddRef_s)
 
 ATTRIBUTE_METHOD1 (IAttributeFields, GetRefCount_s, int *)
 
 ATTRIBUTE_METHOD1 (IAttributeFields, SetTime_s, int)
 
 ATTRIBUTE_METHOD1 (IAttributeFields, GetTime_s, int *)
 
 ATTRIBUTE_METHOD (IAttributeFields, Release_s)
 
virtual const std::string & GetIdentifier ()
 
virtual void SetIdentifier (const std::string &sID)
 
virtual bool IsModified ()
 whether some of the fields are modified.It is up to the implementation class to provide this functionality if necessary. More...
 
virtual void SetModified (bool bModified)
 set whether any field has been modified. More...
 
virtual bool ValidateFields ()
 validate all fields and return true if validation passed. More...
 
virtual string GetValidationMessage ()
 get the recent validation message due to the most recent call to ValidateFields()
 
virtual bool ResetField (int nFieldID)
 Reset the field to its initial or default value. More...
 
virtual bool InvokeEditor (int nFieldID, const std::string &sParameters)
 Invoke an (external) editor for a given field. More...
 
virtual bool AddChildAttributeObject (IAttributeFields *pChild, int nRowIndex=-1, int nColumnIndex=0)
 add child object. More...
 
virtual void * QueryObjectByName (const std::string &sObjectType)
 convert to object of a given type. More...
 
virtual int GetTime ()
 get the current local time in case it is animated in milli seconds frames. More...
 
virtual void SetTime (int nTime)
 
virtual CDynamicAttributeFieldGetDynamicField (const std::string &sName)
 Get a dynamic field with a given name. More...
 
virtual CDynamicAttributeFieldGetDynamicField (int nIndex)
 Get a dynamic field with a given index. More...
 
virtual const char * GetDynamicFieldNameByIndex (int nIndex)
 get field name by index
 
virtual int GetDynamicFieldCount ()
 how many dynamic field this object currently have. More...
 
virtual int SetDynamicField (const std::string &sName, const CVariable &value)
 set a dynamic field with a given name. More...
 
virtual int AddDynamicField (const std::string &sName, ATTRIBUTE_FIELDTYPE dwType)
 add dynamic field and return field index
 
virtual void RemoveAllDynamicFields ()
 remove all dynamic fields
 
virtual int SaveDynamicFieldsToString (std::string &output)
 save only text dynamic fields to fieldname = value text strings. More...
 
virtual int LoadDynamicFieldsFromString (const std::string &input)
 load only text dynamic fields from string More...
 
CAttributeClassGetAttributeClass ()
 get the main attribute class object. More...
 
void PrintObject ()
 print the content of this object to a text file at temp/doc/[ClassName].txt. More...
 
- Public Member Functions inherited from ParaEngine::IObject
virtual void Clone (IObject *obj) const
 Clone the object's contains to a pointer. More...
 
virtual IObjectClone () const
 Clone the object's contains and return a pointer to the newly created object. More...
 
virtual bool Equals (const IObject *obj) const
 Compare the object with another object. More...
 
virtual std::string ToString () const
 
WeakPtr_typeGetWeakReference ()
 get weak reference object. More...
 
virtual int ProcessObjectEvent (const ObjectEvent &event)
 this function is only used to backward compatibility of ParaObject:AddEvent() function. More...
 
- Public Member Functions inherited from ParaEngine::CRefCounted
void addref () const
 add reference count of the object. More...
 
bool delref () const
 decrease reference count of the object. More...
 
int GetRefCount () const
 get the reference count
 
virtual int Release ()
 
CRefCountedAddToAutoReleasePool ()
 addref and releases the ownership sometime soon automatically (usually at the end of the current frame). More...
 
- Public Member Functions inherited from ParaEngine::IObjectDrag
virtual void SetCandrag (bool bCandrag)=0
 
virtual bool GetCandrag () const =0
 
virtual void BeginDrag (int nEvent, int x, int y, int z)=0
 Default BeginDrag handle function. More...
 
virtual void EndDrag (int nEvent, int x, int y, int z)=0
 Default EndDrag handle function. More...
 
virtual BOOL IsOnObject (int x, int y, int z)=0
 Decide whether the input position is on this object This function is to help other function to decide if the currently pointing position is logically "on" the object. More...
 
virtual void SetPositionI (const CGUIPosition &position)
 restore to a given position. More...
 
- Public Member Functions inherited from ParaEngine::CPaintDevice
virtual int devType () const
 
bool paintingActive () const
 
int width () const
 
int height () const
 
int depth () const
 
virtual float GetUIScalingX () const
 
virtual float GetUIScalingY () const
 
virtual float GetViewportLeft () const
 
virtual float GetViewportTop () const
 

Static Public Member Functions

static void StaticInit ()
 Initialize the event mapping for the default CGUIBase class All its inheritances should have a StaticInit() for each kind of class.
 
- Static Public Member Functions inherited from ParaEngine::IAttributeFields
static HRESULT GetAttributeClassID_s (IAttributeFields *cls, int *p1)
 
static HRESULT GetAttributeClassName_s (IAttributeFields *cls, const char **p1)
 
static bool OpenWithDefaultEditor (const char *sFilename, bool bWaitOnReturn=false)
 Open a given file with the default registered editor in the game engine. More...
 
- Static Public Member Functions inherited from ParaEngine::IObjectDrag
static bool CancelDrag (STRUCT_DRAG_AND_DROP *pdrag)
 try cancel the drag operation. More...
 

Additional Inherited Members

- Static Public Attributes inherited from ParaEngine::IObjectDrag
static STRUCT_DRAG_AND_DROP DraggingObject
 This structure contains the information about the dragging object.
 
- Protected Member Functions inherited from ParaEngine::IAttributeFields
virtual CAttributeClassCreateAttributeClass ()
 initialize fields
 
virtual CDynamicAttributesSetGetDynamicAttributes (bool bCreateIfNotExist=false)
 
- Protected Member Functions inherited from ParaEngine::CPaintDevice
virtual int metric (PaintDeviceMetric metric) const
 
virtual void initPainter (CPainter *painter) const
 
virtual CPaintersharedPainter () const
 
- Protected Attributes inherited from ParaEngine::IObject
WeakPtr_type m_weak_reference
 
- Protected Attributes inherited from ParaEngine::CRefCounted
int m_refcount
 
- Protected Attributes inherited from ParaEngine::IObjectDrag
bool m_bCandrag
 
- Protected Attributes inherited from ParaEngine::CPaintDevice
int32 painters
 refcount
 

Detailed Description

base object for all 2D GUI objects (1) 2D GUI object are not tested against view frustum, instead it is controlled by visibility tag automatically or through user input.

(2) 2D GUI object generally does not obey the physical law of 3D world. (3) GUI object are generally specified by screen coordinates, instead of 3D position. (4) GUI object may be frequently created and discarded. They may also have a fixed life time, as in the 2D sprite animation of a magic effect.

Base class for all GUI elements: So the best way to do a GUI is to add two classes of object (1) status objects (2) GUI sensor object.

Member Function Documentation

§ BeginDepthTest()

void ParaEngine::CGUIBase::BeginDepthTest ( GUIState pState = NULL)

draw calls between BeginDepthTest() and EndDepthTest() are rendered with depth enabled, such as for relative to 3d objects.

Nested called are allowed and detected.

§ ClearEvent()

void CGUIBase::ClearEvent ( int  etype)

Clear specific kind of events in the event buffer (m_objEvents), including interpreted events such as m_pMouseEvent and m_pKeyEvent.

Parameters
etypeType of events to clear. Can be GUI_EVENT_TYPE::KEYBOARD or GUI_EVENT_TYPE::MOUSE

§ GetAbsolutePosition()

void CGUIBase::GetAbsolutePosition ( CGUIPosition pOut,
const CGUIPosition pIn 
)
virtual

Gets the absolute position of a CGUIPosition structure.

compute the absolute screen position for the object.

Parameters
pInPointer to the input CGUIPosition structure.
pOutPointer to the output CGUIPosition structure.
See also
CGUIPosition for more details.

§ GetAlwaysMouseOver()

bool ParaEngine::CGUIBase::GetAlwaysMouseOver ( )
inline

get whether make mouse over to true as long as it contains the mouse point, no matter it has mouse focus or not.

default to false.

§ GetAttributeClassID()

virtual int ParaEngine::CGUIBase::GetAttributeClassID ( )
inlinevirtual

attribute class ID should be identical, unless one knows how overriding rules work.

Reimplemented from ParaEngine::IAttributeFields.

Reimplemented in ParaEngine::CGUIIMEEditBox, ParaEngine::CGUIRoot, ParaEngine::CGUIWebBrowser, ParaEngine::CGUIEditBox, and ParaEngine::CGUIButton.

§ GetChildAttributeColumnCount()

int ParaEngine::CGUIBase::GetChildAttributeColumnCount ( )
virtual

we support multi-dimensional child object.

by default objects have only one column.

Reimplemented from ParaEngine::IAttributeFields.

§ GetChildAttributeObject()

IAttributeFields * ParaEngine::CGUIBase::GetChildAttributeObject ( const std::string &  sName)
virtual

get attribute by child object.

used to iterate across the attribute field hierarchy.

Reimplemented from ParaEngine::IAttributeFields.

§ GetChildAttributeObjectCount()

int ParaEngine::CGUIBase::GetChildAttributeObjectCount ( int  nColumnIndex = 0)
virtual

get the number of child objects (row count) in the given column.

please note different columns can have different row count.

Reimplemented from ParaEngine::IAttributeFields.

§ GetChildren()

virtual GUIBase_List_Type* ParaEngine::CGUIBase::GetChildren ( )
inlinevirtual

get pointer to children list.

It may return NULL, if the control can not have children.

Reimplemented in ParaEngine::CGUIContainer.

§ GetEnabled()

bool ParaEngine::CGUIBase::GetEnabled ( )
inline

whether control is enabled.

§ GetIndex()

int ParaEngine::CGUIBase::GetIndex ( )

get the child index in the parent object.

this function returns -1 if no parent found.

§ GetPainterWindow()

CGUIContainer * ParaEngine::CGUIBase::GetPainterWindow ( )

get the parent container which has a self painted painter device.

It will return null if it does not belong to any painter device.

§ GetText()

const char16_t * ParaEngine::CGUIBase::GetText ( )
virtual

get the text of the control The control internally store everything in Unicode.

So it is faster this version than the acsii version.

Returns

Reimplemented in ParaEngine::CGUIEditBox, ParaEngine::CGUIWebBrowser, ParaEngine::CGUIListBox, ParaEngine::CGUIButton, and ParaEngine::CGUIText.

§ GetTextA()

int ParaEngine::CGUIBase::GetTextA ( std::string &  out)
virtual

get the text of the control

Parameters
szText[out] buffer to receive the text
nLengthsize of the input buffer
Returns
return the number of bytes written to the buffer. If nLength is 0, this function returns the total number of characters of the text

Reimplemented in ParaEngine::CGUIEditBox, ParaEngine::CGUIWebBrowser, ParaEngine::CGUIListBox, ParaEngine::CGUIButton, and ParaEngine::CGUIText.

§ HasClickEvent()

bool ParaEngine::CGUIBase::HasClickEvent ( )
virtual

return true, if this control can be clicked.

In mobile device we will use the finger size to touch a control which has Click event. Generally edit box and button with onclick event

Reimplemented in ParaEngine::CGUIEditBox.

§ HasEvent()

bool CGUIBase::HasEvent ( int  etype)

check if the object has any events

check if the object has a certain event handler : script type.

§ HasKeyFocus()

bool ParaEngine::CGUIBase::HasKeyFocus ( )
virtual

whether this control has key focus.

§ HasParent()

bool ParaEngine::CGUIBase::HasParent ( CGUIContainer pParent)

return true if pParent is a predecessor of this object.

§ InstallFields()

int ParaEngine::CGUIBase::InstallFields ( CAttributeClass pClass,
bool  bOverride 
)
virtual

this class should be implemented if one wants to add new attribute.

This function is always called internally.

Reimplemented from ParaEngine::IAttributeFields.

Reimplemented in ParaEngine::CGUIRoot, ParaEngine::CGUIWebBrowser, ParaEngine::CGUIEditBox, and ParaEngine::CGUIButton.

§ IsAncestorOf()

bool ParaEngine::CGUIBase::IsAncestorOf ( CGUIBase pChild)

return true if current control is a parent of pChild.

§ IsNeedUpdate()

bool ParaEngine::CGUIBase::IsNeedUpdate ( bool  bRecursive = false)

whether this control needs update.

Parameters
bRecursiveif true, this function will return true if any of its visible child node needs update recursively.

§ IsPainterWindow()

bool ParaEngine::CGUIBase::IsPainterWindow ( )
inline

if control contains its own painting device.

i.e. self painted as a window.

§ IsPressed()

virtual bool ParaEngine::CGUIBase::IsPressed ( )
inlinevirtual

whether it is pressed.

Reimplemented in ParaEngine::CGUIButton.

§ MsgProc()

bool CGUIBase::MsgProc ( MSG event)
virtual

the procedure that handles all the events.

It automatically calls some default event handlers.

Returns
: return true if we want to tell it's caller to suppress further handling process. Otherwise, return false By default, the MsgProc() in CGUIBase returns false.

Reimplemented in ParaEngine::CGUIRoot, ParaEngine::CGUIContainer, ParaEngine::CGUIListBox, ParaEngine::CGUIEditBox, ParaEngine::CGUIButton, ParaEngine::CGUIScrollBar, ParaEngine::CGUISlider, and ParaEngine::CGUICanvas.

§ paintEngine()

CPaintEngine * ParaEngine::CGUIBase::paintEngine ( ) const
virtual

Returns the paint engine.

Note that this function should not be called explicitly by the user, since it's meant for reimplementation purposes only. The function is called internally, and the default implementation may not always return a valid pointer.

Implements ParaEngine::CPaintDevice.

Reimplemented in ParaEngine::CGUIRoot.

§ QueryObject()

void * ParaEngine::CGUIBase::QueryObject ( int  nObjectType)
virtual

convert to object of a given type.

Parameters
nObjectTypesuch as values in ATTRIBUTE_CLASSID_TABLE, In most cases, we query ATTRIBUTE_CLASSID_CBaseObject

Reimplemented from ParaEngine::IAttributeFields.

§ Reset()

void CGUIBase::Reset ( )
virtual

Resets the objects states.

Descendants should have their own reset function;

Reimplemented in ParaEngine::CGUIRoot, ParaEngine::CGUIEditBox, ParaEngine::CGUIButton, and ParaEngine::CGUICanvas.

§ SetAlwaysMouseOver()

void ParaEngine::CGUIBase::SetAlwaysMouseOver ( bool  bAlwaysMouseOver)
inline

set whether make mouse over to true as long as it contains the mouse point, no matter it has mouse focus or not.

default to false.

§ SetDepth()

void ParaEngine::CGUIBase::SetDepth ( float  fDepth)
virtual

set the 3D depth.

this is usually automatically set when object is attached to 3d object. it the object contains children. it will also affect all children automatically.

Parameters
fDeptha value of [0,1). Default to 0, which is closest to the screen.

Reimplemented in ParaEngine::CGUIContainer.

§ SetLifeTime()

virtual void ParaEngine::CGUIBase::SetLifeTime ( int  lifttime)
inlinevirtual

Set/get how many frames the control will survive.

-1 is permanent

§ SetText()

virtual void ParaEngine::CGUIBase::SetText ( const char16_t *  wszText)
inlinevirtual

Set the text of this object The control internally store everything in Unicode.

Parameters
wszText

Reimplemented in ParaEngine::CGUIEditBox, ParaEngine::CGUIWebBrowser, ParaEngine::CGUIButton, and ParaEngine::CGUIText.

§ SetTextA()

virtual void ParaEngine::CGUIBase::SetTextA ( const char *  szText)
inlinevirtual

Set the text of this object.

Parameters
szText

Reimplemented in ParaEngine::CGUIEditBox, ParaEngine::CGUIWebBrowser, ParaEngine::CGUIButton, and ParaEngine::CGUIText.


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