13#include "GUIBehaviour.h"
16#include "GUIBitmapPlane.h"
17#include "GUILayouter.h"
18#include "GUIAnimatable.h"
19#include "GUIDataPool.h"
21#include "GUIStreamTypes.h"
92#if defined(GUILIANI_STREAM_GUI) || defined(GUILIANI_WRITE_GUI)
158 const eC_Value& vX,
const eC_Value& vY,
159 const eC_Value& vWidth,
const eC_Value& vHeight,
321 eC_FromInt(0), eC_FromInt(0),
329 inline eC_Value
GetWidth()
const {
return m_vWidth; }
418 inline eC_Value
GetAbsXPos()
const {
return m_vXPosAbsParent + m_vXPosRelVisible; }
424 inline eC_Value
GetAbsYPos()
const {
return m_vYPosAbsParent + m_vYPosRelVisible; }
434 inline eC_Value
GetHalfWidth()
const {
return eC_Div(m_vWidth, eC_FromInt(2)); }
444 inline eC_Value
GetHalfHeight()
const {
return eC_Div(m_vHeight, eC_FromInt(2)); }
625 const eC_Bool &bSubTreeOfRefObjDone =
false);
639 const eC_Bool &bSubTreeOfRefObjDone =
false);
698 m_eNeighborRightID = eNewNeighborRightID;
706 m_eNeighborLeftID = eNewNeighborLeftID;
714 m_eNeighborTopID = eNewNeighborTopID;
722 m_eNeighborBottomID = eNewNeighborBottomID;
737 m_eNeighborLeftID = eNewNeighborLeftID;
738 m_eNeighborRightID = eNewNeighborRightID;
739 m_eNeighborTopID = eNewNeighborTopID;
740 m_eNeighborBottomID = eNewNeighborBottomID;
775 return m_pkBehaviour;
783 return m_pkBehaviour;
844 m_bStopFocus = bDontFocusToParent;
858 m_bClickThrough = bClickThrough;
939 return m_bClickThrough;
959 inline eC_UByte
GetAlpha()
const {
return m_ubAlpha; }
970 void RenderToBitmap(eC_UInt uiBitmapID, eC_Value vXOffset = eC_FromInt(0), eC_Value vYOffset = eC_FromInt(0));
1010 return m_bDrawSnapshot;
1029 if (m_pkDataPoolConnector)
1040 if (m_pkDataPoolConnector)
1053 return (m_pkDataPoolConnector != NULL);
1074#ifndef GUILIANI_NO_DATAPOOL
1083#ifdef GUILIANI_STREAM_GUI
1092#ifdef GUILIANI_WRITE_GUI
1166 void UpdateInvalidation();
1179 virtual eC_Bool FocusNextDown();
1192 virtual eC_Bool FocusPreviousDown();
1210 void NotifyOfCreation();
1215 eC_Value m_vXPosRel, m_vYPosRel;
1218 eC_Value m_vWidth, m_vHeight;
1256 static const CGUIObject* ms_pkFocusTerminatingObj;
1264 static const CGUIObject* ms_pkFirstRequestedObj;
1270 eC_Value m_vWidthVisible, m_vHeightVisible;
1276 eC_Value m_vXPosRelVisible, m_vYPosRelVisible;
1293 eC_Value m_vXPosAbsParent, m_vYPosAbsParent;
1300 eC_Bool m_bStopFocus;
1304 eC_Bool m_bClickThrough;
1309 eC_Bool m_bIsFocussable;
1312 eC_Bool m_bIsGrayedOut;
1315 eC_Bool m_bIsInvisible;
1319 eC_Bool m_bIsDisabled;
1326 eC_Bool m_bMarkedForInvalidation;
1330 eC_Bool m_bDrawSnapshot;
1333 GUIBitmapPlaneID_t m_uiBitmapID;
Helper Macros in Guiliani
ObjectHandle_t
List of object resource ids.
Definition: GUIObjectHandleResource.h:55
Connects a GUIObject to the DataPool. DataPoolConnectors are used to observe values within the DataPo...
Definition: GUIDataPool.h:58
A single entry in the DataPool. The DataPoolEntry class represents a single entry (unique id + a valu...
Definition: GUIDataPool.h:108
Base interface for animation callbacks.
Definition: GUIAnimatable.h:51
GUIBehaviourDecorator base class.
Definition: GUIBehaviourDecorator.h:78
CGUIBehaviour base class.
Definition: GUIBehaviour.h:73
The bitmap plane base class.
Definition: GUIBitmapPlane.h:152
This is the Guiliani base class for all composite objects.
Definition: GUICompositeObject.h:70
virtual void HandleDraw(const CGUIRect &ClipRect)
GUI base class for any Guiliani application.
Definition: GUI.h:39
Definition: GUILayouter.h:57
eMovedEdges_t
Enumerate possible reasons for calling layout,.
Definition: GUILayouter.h:61
This is the Guiliani base class all controls are derived from.
Definition: GUIObject.h:81
virtual void EnableSnapshotDrawing()
CGUIRect GetCurrentAbsRect() const
virtual eC_Bool FocusNext(CGUIObject *const pRefObj=NULL, const eC_Bool &bSubTreeOfRefObjDone=false)
ObjectHandle_t GetNeighborLeftID() const
Definition: GUIObject.h:751
eC_Bool IsGrayedOut() const
Definition: GUIObject.h:919
void SetNeighborIDs(const ObjectHandle_t eNewNeighborLeftID, const ObjectHandle_t eNewNeighborRightID, const ObjectHandle_t eNewNeighborTopID, const ObjectHandle_t eNewNeighborBottomID)
Definition: GUIObject.h:731
UUID_t GetUUID() const
Definition: GUIObject.h:1114
eC_Value GetCurrentAbsYPos() const
eC_Value GetAbsXPosCenter() const
Definition: GUIObject.h:449
void SetNeighborRightID(const ObjectHandle_t eNewNeighborRightID)
Definition: GUIObject.h:696
eC_Value GetRelYPos() const
Definition: GUIObject.h:347
static const eC_Char XMLTAG_CONTROLCLASSID[]
XML tag to be used when writing a control class ID into a stream.
Definition: GUIObject.h:94
void SetLayouter(CGUILayouter *pLayouter)
ObjectHandle_t GetID() const
Definition: GUIObject.h:606
eC_Value GetRelYPosBEdge() const
Definition: GUIObject.h:361
eC_Value GetRelXPos() const
Definition: GUIObject.h:341
static const eC_Char XMLTAG_FOCUSSABLE[]
XML tag to be used writing focussable-state into a stream.
Definition: GUIObject.h:118
const CGUILayouter * GetLayouter() const
Definition: GUIObject.h:804
eC_Bool DataPoolConnectorExists() const
Definition: GUIObject.h:1051
eC_Bool IsFocussable() const
eC_Bool IsHighlighted() const
const CGUICompositeObject * GetParent() const
Definition: GUIObject.h:548
eC_Value GetCurrentAbsYPosCenter() const
Definition: GUIObject.h:523
eC_Bool IsFocussed() const
eC_Value GetCurrentAbsXPosCenter() const
Definition: GUIObject.h:515
const CGUIBehaviourDecorator * GetBehaviour() const
Definition: GUIObject.h:781
void SetStopFocus(const eC_Bool &bDontFocusToParent)
Definition: GUIObject.h:842
void SetRelYPosCenter(const eC_Value &vYCenter)
Definition: GUIObject.h:259
CGUILayouter * GetLayouter()
Definition: GUIObject.h:796
virtual void SetGrayedOut(const eC_Bool &bGrayOut)
CGUIObject * GetObjectByID(const ObjectHandle_t &eID, const eC_Bool &bOnlyVisible=false)
Definition: GUIObject.h:567
CGUIRect GetAbsRect() const
Definition: GUIObject.h:296
virtual void SetWidth(const eC_Value &vX)
eC_Value GetCurrentAbsXPos() const
eC_Value GetAbsYPos() const
Definition: GUIObject.h:424
virtual void ReadFromStream()
CDataPoolConnector & GetDataPoolConnector()
CGUIRect GetRelRect() const
Definition: GUIObject.h:307
eC_Value GetWidth() const
Definition: GUIObject.h:329
ObjectHandle_t GetNeighborBottomID() const
Definition: GUIObject.h:761
void SetNeighborLeftID(const ObjectHandle_t eNewNeighborLeftID)
Definition: GUIObject.h:704
CGUIObject(CGUICompositeObject *const pkParent, const CGUIRect &kRect, const ObjectHandle_t &eID=NO_HANDLE)
virtual eC_Bool IsCompositeObject() const
Definition: GUIObject.h:954
eC_Bool IsDescendantOf(const CGUIObject *const pAncestor) const
static const eC_Char XMLTAG_WIDTH[]
XML tag to be used writing width into a stream.
Definition: GUIObject.h:109
void RemoveValueObserver(CGUIObserver *pkObserver)
Definition: GUIObject.h:1027
static const eC_Char XMLTAG_DISABLED[]
XML tag to be used writing disabled-state into a stream.
Definition: GUIObject.h:127
virtual eC_Bool CreateBitmapPlane()
eC_Bool IsDrawingSnapshot() const
Definition: GUIObject.h:1008
virtual eC_Bool DoDrawSnapshot()
eC_UByte GetAlpha() const
Definition: GUIObject.h:959
void NotifyValueObservers(const CGUIValue &kValue, const eC_UInt uiX=0, const eC_UInt uiY=0)
Definition: GUIObject.h:1038
eC_Bool IsDragable() const
eC_Bool IsDragged() const
eC_Bool IsClickThrough() const
Definition: GUIObject.h:937
eC_Value GetAbsYPosBEdge() const
Definition: GUIObject.h:389
virtual void SetRelYPos(const eC_Value &vY)
void SetClickThrough(const eC_Bool &bClickThrough)
Definition: GUIObject.h:856
CGUIRect GetOriginRect() const
Definition: GUIObject.h:318
virtual eC_Bool SetValue(CDataPoolEntry &rkValue)
eC_Value GetHalfWidth() const
Definition: GUIObject.h:434
virtual CGUIObject * FindObject(const eC_Value &vAbsX, const eC_Value &vAbsY)
eC_Bool IsInvisible() const
Definition: GUIObject.h:925
eC_Value GetCurrentAbsYPosBEdge() const
Definition: GUIObject.h:495
GUIBitmapPlaneID_t GetBitmapID() const
virtual eC_Bool SetValue(const CGUIValue &rkValue)
Definition: GUIObject.h:1067
static const eC_Char XMLTAG_ALPHA[]
XML tag to be used writing alpha-value into a stream.
Definition: GUIObject.h:133
virtual eC_Bool ClaimFocus()
virtual eC_Bool IsHighlightable() const
virtual eC_Bool FourWayNext(FourWayFocus_t eFocusDirection)
static const eC_Char XMLTAG_YPOS[]
XML tag to be used writing y-position into a stream.
Definition: GUIObject.h:106
eC_Value GetHalfHeight() const
Definition: GUIObject.h:444
static const eC_Char XMLTAG_INVISIBLE[]
XML tag to be used writing invisible-state into a stream.
Definition: GUIObject.h:121
eC_Bool IsDisabled() const
Definition: GUIObject.h:932
virtual void SetInvisible(const eC_Bool &bInvisible)
eC_Bool IsPressed() const
void SetNeighborTopID(const ObjectHandle_t eNewNeighborTopID)
Definition: GUIObject.h:712
eC_Value GetDistanceRight() const
eC_Value GetRelYPosCenter() const
Definition: GUIObject.h:439
static const eC_Char XMLTAG_XPOS[]
XML tag to be used writing x-position into a stream.
Definition: GUIObject.h:103
virtual void DisableSnapshotDrawing(eC_Bool bDeleteSnapshot=true)
void SetRelYPosBEdge(const eC_Value &vY)
Definition: GUIObject.h:241
virtual void SetFocussable(const eC_Bool &bFocussable)
FourWayFocus_t
Definition: GUIObject.h:141
virtual void SetHeight(const eC_Value &vY)
void SetUUID(const UUID_t &kUUID)
Definition: GUIObject.h:1106
void SetRelRect(const CGUIRect &kNewRect)
Definition: GUIObject.h:207
CGUIObject & operator=(const CGUIObject &kSource)
eC_Value GetAbsXPosREdge() const
Definition: GUIObject.h:375
virtual void WriteToStream(const eC_Bool bWriteClassID=false)
void SetNeighborBottomID(const ObjectHandle_t eNewNeighborBottomID)
Definition: GUIObject.h:720
static const eC_Char XMLTAG_OVERRIDDENNEIGHBORS[]
XML tag to be used writing overridden neighbors into a stream.
Definition: GUIObject.h:100
eC_Value GetHeight() const
Definition: GUIObject.h:335
ObjectHandle_t GetNeighborTopID() const
Definition: GUIObject.h:756
CGUIBitmapPlane & GetBitmapPlane() const
void RenderToBitmap(eC_UInt uiBitmapID, eC_Value vXOffset=eC_FromInt(0), eC_Value vYOffset=eC_FromInt(0))
virtual void RefreshLayout(CGUILayouter::eMovedEdges_t eMovedEdges) const
void SetID(const ObjectHandle_t &eID)
Definition: GUIObject.h:601
static const eC_Char XMLTAG_HEIGHT[]
XML tag to be used writing height into a stream.
Definition: GUIObject.h:112
CGUICompositeObject * GetParent()
Definition: GUIObject.h:539
static const eC_Char XMLTAG_UUID[]
XML tag to be used when writing a UUID into a stream.
Definition: GUIObject.h:97
eC_Value GetRelXPosREdge() const
Definition: GUIObject.h:354
void SetRelXPosREdge(const eC_Value &vX)
Definition: GUIObject.h:232
UUID_t m_kUUID
UUID of object.
Definition: GUIObject.h:1145
eC_Bool IsClickable() const
static const eC_Char XMLTAG_OBJECTID[]
XML tag to be used writing object id into a stream.
Definition: GUIObject.h:115
eC_Value GetCurrentAbsXPosREdge() const
Definition: GUIObject.h:483
virtual eC_Bool FocusPrevious(CGUIObject *const pRefObj=NULL, const eC_Bool &bSubTreeOfRefObjDone=false)
virtual eC_Bool FocusAny()
Definition: GUIObject.h:611
eC_Value GetAbsYPosCenter() const
Definition: GUIObject.h:454
CGUIObject(CGUICompositeObject *const pkParent, const eC_Value &vX, const eC_Value &vY, const eC_Value &vWidth, const eC_Value &vHeight, const ObjectHandle_t &eID=NO_HANDLE)
static const eC_Char XMLTAG_GRAYEDOUT[]
XML tag to be used writing grayedout-state into a stream.
Definition: GUIObject.h:124
eC_Value GetRelXPosCenter() const
Definition: GUIObject.h:429
virtual void CreateSnapshot(eC_UInt uiBackColor=0x00)
void SetBehaviour(CGUIBehaviourDecorator *pkBehaviour)
ObjectHandle_t GetNeighborRightID() const
Definition: GUIObject.h:746
eC_Value GetAbsXPos() const
Definition: GUIObject.h:418
virtual void SetRelXPos(const eC_Value &vX)
void SetAlpha(eC_UByte ubAlpha)
static const eC_Char XMLTAG_CLICKTHROUGH[]
XML tag to be used writing clickthrough-state into a stream.
Definition: GUIObject.h:130
const CGUIObject * GetObjectByID(const ObjectHandle_t &eID, const eC_Bool &bOnlyVisible=false) const
eC_Bool IsStopFocus() const
Definition: GUIObject.h:947
eC_Value GetDistanceBottom() const
virtual void SetParent(CGUICompositeObject *const pkParent)
CGUIBehaviourDecorator * GetBehaviour()
Definition: GUIObject.h:773
CGUIObject(const CGUIObject &kSource)
void SetRelXPosCenter(const eC_Value &vXCenter)
Definition: GUIObject.h:250
eC_Bool CalculateInvalidatedRect(CGUIRect &rRect) const
virtual void SetDisabled(const eC_Bool &bDisabled)
Observer Base class for Observer-Design-Pattern within Guiliani.
Definition: GUIObserver.h:28
Helper class to supply a platform independent rectangle implementation.
Definition: GUIRect.h:63
eC_Value GetX1() const
Definition: GUIRect.h:196
eC_Value GetY1() const
Definition: GUIRect.h:197
eC_Value GetWidth() const
Definition: GUIRect.h:164
eC_Value GetHeight() const
Definition: GUIRect.h:175
void RemoveObserver(CGUIObserver *pObserver)
void AddObserver(CGUIObserver *pObserver)
CGUIValue stores a single value in one specific type.
Definition: GUIValue.h:25
void AddValueObserver(CGUIObserver *pkObserver)
Definition: GUIObject.h:1019
Definition: GUIStreamTypes.h:43