This composite object arranges and animates its contained children in a "carousel" fashion.
More...
|
| CGUICarousel (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) |
|
virtual eC_Bool | AddObject (CGUIObject *pkObject) |
|
eC_Bool | Decrease () |
|
virtual void | DoAnimate (const eC_Value &vTimes=eC_FromInt(1)) |
|
virtual eC_Bool | DoDrag (const eC_Value &vDeltaX, const eC_Value &vDeltaY, const eC_Value &vAbsX, const eC_Value &vAbsY) |
|
virtual eC_Bool | DoDragEnd (const eC_Value &vAbsX, const eC_Value &vAbsY) |
|
virtual eC_Bool | DoKeyDown (const GUIKeyIdentifier_t &eKeyID, const eC_UInt &uiModifiers) |
|
void | EnableFlowMode (const eC_Bool bEnable) |
|
void | GetOriginalSize (const eC_UInt uiIndex, eC_Value &vWidth, eC_Value &vHeight) |
|
eC_Value | GetRadius () const |
|
eC_Int | GetSelectedIndex () const |
|
CGUIObject * | GetSelectedObject () |
|
eC_Value | GetTiltAngle () const |
|
eC_Bool | Increase () |
|
virtual eC_Bool | IsHighlightable () const |
|
void | JumpToObject (CGUIObject *pkObject) |
|
virtual void | ReadFromStream () |
|
virtual void | RemoveObject (CGUIObject *pkObject) |
|
void | RotateToObject (CGUIObject *pkObject) |
|
virtual void | SetHeight (const eC_Value &vX) |
|
void | SetNumberOfFlowModeEntries (const eC_UInt uiNOFEntries) |
|
void | SetPerspectiveFactor (const eC_Value vPerspectiveFactor) |
|
void | SetRadius (const eC_Value vRadius) |
|
void | SetTiltAngle (const eC_Value vTiltAngle) |
|
virtual eC_Bool | SetValue (const CGUIValue &rkValue) |
|
void | SetVertical (const eC_Bool bVertical) |
|
virtual void | SetWidth (const eC_Value &vX) |
|
virtual void | WriteToStream (const eC_Bool bWriteClassID=false) |
|
| CGUICompositeObject () |
|
| CGUICompositeObject (CGUICompositeObject *const pkParent, const CGUIRect &kRect, const ObjectHandle_t &eID=NO_HANDLE) |
|
| CGUICompositeObject (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) |
|
| CGUICompositeObject (const CGUICompositeObject &kSource) |
|
virtual | ~CGUICompositeObject () |
| This destructor is automatically virtual, as the base class destructor is virtual.
|
|
virtual eC_Bool | AddObject (CGUIObject *pkObject) |
|
eC_Bool | BringToFront (CGUIObject *pkObject) |
|
eC_Bool | CanBeCyclicFocussed () const |
|
virtual eC_Bool | DoPostDraw () |
|
void | DrawOnTop (CGUIObject *pkObject) |
|
void | DrawOnTopOf (CGUIObject *const pkObject, CGUIObject *const pDrawOnTopOf) |
|
virtual CGUIObject * | FindObject (const eC_Value &vAbsX, const eC_Value &vAbsY) |
|
void | Flip (const eC_Bool &rbVertical) |
|
eC_Bool | FocusAny () |
|
virtual eC_Bool | FocusNext (CGUIObject *const pRefObj=NULL, const eC_Bool &bSubTreeOfRefObjDone=false) |
|
virtual eC_Bool | FocusPrevious (CGUIObject *const pRefObj=NULL, const eC_Bool &bSubTreeOfRefObjDone=false) |
|
CGUIObject * | GetAndCheckObjectByID (ObjectHandle_t eObjID, const eC_String &kObjectName) |
|
const CGUIObject * | GetAndCheckObjectByID (ObjectHandle_t eObjID, const eC_String &kObjectName) const |
|
CGUIObject * | GetChild (const eC_UInt uIndex) |
|
CGUIObject * | GetChild (const eC_UInt uIndex) const |
|
const ObjectPtrList & | GetChildObjectsList () const |
|
const ObjectPtrList & | GetDrawOrderList () const |
|
eC_Int | GetIndexOfChild (const CGUIObject *pkObject) const |
|
eC_UInt | GetNumberOfChildren () const |
|
CGUIObject * | GetObjectByID (const ObjectHandle_t &eID, const eC_Bool &bOnlyVisible=false) |
|
const CGUIObject * | GetObjectByID (const ObjectHandle_t &eID, const eC_Bool &bOnlyVisible=false) const |
|
eC_Bool | InsertChildAt (const eC_UInt cuiIndex, CGUIObject *pkChild) |
|
void | InvalidateChildren () |
| Invalidates all chidren, but not this parent.
|
|
eC_Bool | IsAncestorOf (const CGUIObject *pkObject) const |
|
virtual eC_Bool | IsCompositeObject () const |
|
eC_Bool | LowerOneLevel (CGUIObject *pkObject) |
|
CGUICompositeObject & | operator= (const CGUICompositeObject &kSource) |
|
eC_Bool | RaiseOneLevel (CGUIObject *pkObject) |
|
virtual void | ReadFromStream () |
|
virtual void | RefreshLayout (CGUILayouter::eMovedEdges_t eMovedEdges) const |
|
void | RemoveAllChildren () |
|
virtual void | RemoveObject (CGUIObject *pkObject) |
|
void | Rotate (const eC_UInt &ruiDegrees, const eC_Bool &rbFirst=false) |
|
eC_Bool | SendToBack (CGUIObject *pkObject) |
|
virtual void | SetClickThrough (const eC_Bool &bClickThrough) |
|
virtual void | SetClickThrough (const eC_Bool &bClickThrough, const eC_Bool &bChildrenClickThrough) |
|
void | SetCyclicFocus (const eC_Bool &bCyclicFocus) |
|
virtual void | SetDisabled (const eC_Bool &bDisabled) |
|
virtual void | SetDisabled (const eC_Bool &bDisabled, const eC_Bool &bChildrenDisabled) |
|
virtual void | SetFocussable (const eC_Bool &bFocussable) |
|
virtual void | SetFocussable (const eC_Bool &bFocussable, const eC_Bool &bChildrenFocussable) |
|
virtual void | SetGrayedOut (const eC_Bool &bGrayedOut) |
|
virtual void | SetGrayedOut (const eC_Bool &bGrayedOut, const eC_Bool &bChildrenGrayedOut) |
|
virtual void | SetHeight (const eC_Value &vY) |
|
virtual void | SetInvisible (const eC_Bool &bInvisible) |
|
virtual void | SetInvisible (const eC_Bool &bInvisible, const eC_Bool &bChildrenInvisible) |
|
virtual void | SetWidth (const eC_Value &vX) |
|
virtual void | WriteToStream (const eC_Bool bWriteClassID=false) |
|
| CGUIObject () |
|
| CGUIObject (CGUICompositeObject *const pkParent, const CGUIRect &kRect, const ObjectHandle_t &eID=NO_HANDLE) |
|
| 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) |
|
| CGUIObject (const CGUIObject &kSource) |
|
virtual | ~CGUIObject () |
|
void | AddValueObserver (CGUIObserver *pkObserver) |
|
eC_Bool | CalculateInvalidatedRect (CGUIRect &rRect) const |
|
virtual eC_Bool | ClaimFocus () |
|
virtual void | CreateSnapshot (eC_UInt uiBackColor=0x00) |
|
eC_Bool | DataPoolConnectorExists () const |
|
void | DeleteSnapshot () |
|
virtual void | DisableSnapshotDrawing (eC_Bool bDeleteSnapshot=true) |
|
virtual eC_Bool | DoDraw () |
|
virtual eC_Bool | DoDrawSnapshot () |
|
virtual void | EnableSnapshotDrawing () |
|
virtual CGUIObject * | FindObject (const eC_Value &vAbsX, const eC_Value &vAbsY) |
|
virtual eC_Bool | FocusAny () |
|
virtual eC_Bool | FocusNext (CGUIObject *const pRefObj=NULL, const eC_Bool &bSubTreeOfRefObjDone=false) |
|
virtual eC_Bool | FocusPrevious (CGUIObject *const pRefObj=NULL, const eC_Bool &bSubTreeOfRefObjDone=false) |
|
CGUIRect | GetAbsRect () const |
|
eC_Value | GetAbsXPos () const |
|
eC_Value | GetAbsXPosCenter () const |
|
eC_Value | GetAbsXPosREdge () const |
|
eC_Value | GetAbsYPos () const |
|
eC_Value | GetAbsYPosBEdge () const |
|
eC_Value | GetAbsYPosCenter () const |
|
eC_UByte | GetAlpha () const |
|
CGUIBehaviourDecorator * | GetBehaviour () |
|
const CGUIBehaviourDecorator * | GetBehaviour () const |
|
GUIBitmapPlaneID_t | GetBitmapID () const |
|
CGUIBitmapPlane & | GetBitmapPlane () const |
|
CGUIRect | GetCurrentAbsRect () const |
|
eC_Value | GetCurrentAbsXPos () const |
|
eC_Value | GetCurrentAbsXPosCenter () const |
|
eC_Value | GetCurrentAbsXPosREdge () const |
|
eC_Value | GetCurrentAbsYPos () const |
|
eC_Value | GetCurrentAbsYPosBEdge () const |
|
eC_Value | GetCurrentAbsYPosCenter () const |
|
CDataPoolConnector & | GetDataPoolConnector () |
|
eC_Value | GetDistanceBottom () const |
|
eC_Value | GetDistanceRight () const |
|
eC_Value | GetHalfHeight () const |
|
eC_Value | GetHalfWidth () const |
|
eC_Value | GetHeight () const |
|
ObjectHandle_t | GetID () const |
|
CGUILayouter * | GetLayouter () |
|
const CGUILayouter * | GetLayouter () const |
|
ObjectHandle_t | GetNeighborBottomID () const |
|
ObjectHandle_t | GetNeighborLeftID () const |
|
ObjectHandle_t | GetNeighborRightID () const |
|
ObjectHandle_t | GetNeighborTopID () const |
|
CGUIObject * | GetObjectByID (const ObjectHandle_t &eID, const eC_Bool &bOnlyVisible=false) |
|
const CGUIObject * | GetObjectByID (const ObjectHandle_t &eID, const eC_Bool &bOnlyVisible=false) const |
|
CGUIRect | GetOriginRect () const |
|
CGUICompositeObject * | GetParent () |
|
const CGUICompositeObject * | GetParent () const |
|
CGUIRect | GetRelRect () const |
|
eC_Value | GetRelXPos () const |
|
eC_Value | GetRelXPosCenter () const |
|
eC_Value | GetRelXPosREdge () const |
|
eC_Value | GetRelYPos () const |
|
eC_Value | GetRelYPosBEdge () const |
|
eC_Value | GetRelYPosCenter () const |
|
UUID_t | GetUUID () const |
|
eC_Value | GetWidth () const |
|
void | InvalidateArea () |
|
eC_Bool | IsClickable () const |
|
eC_Bool | IsClickThrough () const |
|
virtual eC_Bool | IsCompositeObject () const |
|
eC_Bool | IsDescendantOf (const CGUIObject *const pAncestor) const |
|
eC_Bool | IsDisabled () const |
|
eC_Bool | IsDragable () const |
|
eC_Bool | IsDragged () const |
|
eC_Bool | IsDrawingSnapshot () const |
|
eC_Bool | IsFocussable () const |
|
eC_Bool | IsFocussed () const |
|
eC_Bool | IsGrayedOut () const |
|
virtual eC_Bool | IsHighlightable () const |
|
eC_Bool | IsHighlighted () const |
|
eC_Bool | IsInvisible () const |
|
eC_Bool | IsPressed () const |
|
eC_Bool | IsStopFocus () const |
|
void | NotifyValueObservers (const CGUIValue &kValue, const eC_UInt uiX=0, const eC_UInt uiY=0) |
|
CGUIObject & | operator= (const CGUIObject &kSource) |
|
virtual void | ReadFromStream () |
|
virtual void | RefreshLayout (CGUILayouter::eMovedEdges_t eMovedEdges) const |
|
void | RemoveValueObserver (CGUIObserver *pkObserver) |
|
void | RenderToBitmap (eC_UInt uiBitmapID, eC_Value vXOffset=eC_FromInt(0), eC_Value vYOffset=eC_FromInt(0)) |
|
eC_Bool | RequestFocus () |
|
void | SetAlpha (eC_UByte ubAlpha) |
|
void | SetBehaviour (CGUIBehaviourDecorator *pkBehaviour) |
|
void | SetClickThrough (const eC_Bool &bClickThrough) |
|
virtual void | SetDisabled (const eC_Bool &bDisabled) |
|
virtual void | SetFocussable (const eC_Bool &bFocussable) |
|
virtual void | SetGrayedOut (const eC_Bool &bGrayOut) |
|
virtual void | SetHeight (const eC_Value &vY) |
|
void | SetID (const ObjectHandle_t &eID) |
|
virtual void | SetInvisible (const eC_Bool &bInvisible) |
|
void | SetLayouter (CGUILayouter *pLayouter) |
|
void | SetNeighborBottomID (const ObjectHandle_t eNewNeighborBottomID) |
|
void | SetNeighborIDs (const ObjectHandle_t eNewNeighborLeftID, const ObjectHandle_t eNewNeighborRightID, const ObjectHandle_t eNewNeighborTopID, const ObjectHandle_t eNewNeighborBottomID) |
|
void | SetNeighborLeftID (const ObjectHandle_t eNewNeighborLeftID) |
|
void | SetNeighborRightID (const ObjectHandle_t eNewNeighborRightID) |
|
void | SetNeighborTopID (const ObjectHandle_t eNewNeighborTopID) |
|
virtual void | SetParent (CGUICompositeObject *const pkParent) |
|
void | SetRelRect (const CGUIRect &kNewRect) |
|
virtual void | SetRelXPos (const eC_Value &vX) |
|
void | SetRelXPosCenter (const eC_Value &vXCenter) |
|
void | SetRelXPosREdge (const eC_Value &vX) |
|
virtual void | SetRelYPos (const eC_Value &vY) |
|
void | SetRelYPosBEdge (const eC_Value &vY) |
|
void | SetRelYPosCenter (const eC_Value &vYCenter) |
|
void | SetStopFocus (const eC_Bool &bDontFocusToParent) |
|
void | SetUUID (const UUID_t &kUUID) |
|
virtual eC_Bool | SetValue (CDataPoolEntry &rkValue) |
|
virtual eC_Bool | SetValue (const CGUIValue &rkValue) |
|
virtual void | SetWidth (const eC_Value &vX) |
|
virtual void | WriteToStream (const eC_Bool bWriteClassID=false) |
|
virtual eC_Bool | DoScale (const eC_Value &vDelta) |
|
virtual eC_Bool | DoUserEvent (CGUIEvent *const pEvent) |
|
virtual void | OnCreate () |
|
virtual void | OnDataPool (const DataPoolResource_t &eID) |
|
virtual void | OnDelete () |
|
virtual void | OnHide () |
|
virtual void | OnShow () |
|
virtual eC_Bool | DoClick (const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1)) |
|
virtual eC_Bool | DoLongClick (const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1)) |
|
virtual eC_Bool | DoDoubleClick (const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1)) |
|
virtual eC_Bool | DoButtonDown (const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1)) |
|
virtual eC_Bool | DoButtonUp (const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1)) |
|
virtual eC_Bool | DoMouseEnter (const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1)) |
|
virtual eC_Bool | DoMouseLeave (const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1)) |
|
virtual eC_Bool | DoMouseMove (const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1)) |
|
virtual void | GetFocus () |
|
virtual void | LoseFocus () |
|
virtual eC_Bool | DoKeyUp (const GUIKeyIdentifier_t &eKeyIdentifier, const eC_UInt &uiModifiers) |
|
virtual eC_Bool | DoChar (const eC_UInt &uiKey, const GUIKeyIdentifier_t &eKeyIdentifier, const eC_UInt &uiModifiers) |
|
virtual eC_Bool | DoScroll (const eC_Value &vAbsX, const eC_Value &vAbsY, const eC_Value &vDelta, const eC_Bool &bModifierActive) |
|
const eC_String & | GetXMLTag () const |
|
virtual void | ReadFromStream () |
|
void | SetXMLTag (const eC_String &kXMLTag) |
|
virtual void | WriteToStream (const eC_Bool bWriteClassID=false) |
|
virtual | ~CGUIAnimatable () |
| Destructor. Removes all existing animation callbacks.
|
|
virtual void | DoAnimate (const eC_Value &vTimes=eC_FromInt(1)) |
|
virtual eC_Bool | IsAnimating () const |
|
virtual void | StartAnimation () |
|
virtual void | StopAnimation () |
|
This composite object arranges and animates its contained children in a "carousel" fashion.
| The "carousel" control is a container which automatically arranges all its children in an elliptic (Pseudo 3D) manner. It supports animation effects like speed-up or slow-down during changing the focus between its children. The carousel is very common to present e.g., Coverflows (Class: CGUICarousel). |
The CGUICarousel class is a container which automatically arranges all its children in an elliptic (Pseudo 3D) manner. This is a useful control for allowing users to choose between several entries in a menu, or to browse through huge number of entries (e.g. cover-art browsing) when deploying the carousel in "flow-mode". (see below for further details)
The Following code creates a simple carousel and fills it with buttons
new CGUIBaseButton(pCarousel, eC_FromInt(0), eC_FromInt(0), eC_FromInt(100), eC_FromInt(100),
"1", NULL);
new CGUIBaseButton(pCarousel, eC_FromInt(0), eC_FromInt(0), eC_FromInt(100), eC_FromInt(100),
"2", NULL);
new CGUIBaseButton(pCarousel, eC_FromInt(0), eC_FromInt(0), eC_FromInt(100), eC_FromInt(100),
"3", NULL);
new CGUIBaseButton(pCarousel, eC_FromInt(0), eC_FromInt(0), eC_FromInt(100), eC_FromInt(100),
"4", NULL);
new CGUIBaseButton(pCarousel, eC_FromInt(0), eC_FromInt(0), eC_FromInt(100), eC_FromInt(100),
"5", NULL);
This composite object arranges and animates its contained children in a "carousel" fashion.
Definition: GUICarousel.h:98
void SetRadius(const eC_Value vRadius)
Definition: GUICarousel.h:142
eC_Value GetWidth() const
Definition: GUIObject.h:329
eC_Value GetHeight() const
Definition: GUIObject.h:335
Using the carousel in flow-mode
When working with huge numbers of children in a carousel, you will notice that the carousel tends to appear very crowded. This is where the "flow mode" comes in handy. When used in "flow mode", the carousel can contain very large numbers of entries of which only a few are visible at any time. You can specify the number of virtual entries in the carousel, which will affect the spacing between the visual children, and therefore also number of simultaneously visible ones. If for instance you are having a total of 1000 entries in your carousel, and set the number of virtual entries to 10, the carousel will arrange its content as if it had only 10 children, by spreading out these 10 along the carousel's 360 degrees. But in fact you will only see the currently selected (=frontmost) child object, plus the two children to its left and the two children to it's right side.
The Following code creates a carousel in flow mode
for (int i=0; i < 100; i++)
{
pCarouselEntry =
new CGUIImage(pCarousel, eC_FromInt(0), eC_FromInt(0), eC_FromInt(100), eC_FromInt(50), SOME_IMAGE_ID,
true);
}
void SetTiltAngle(const eC_Value vTiltAngle)
void SetNumberOfFlowModeEntries(const eC_UInt uiNOFEntries)
Definition: GUICarousel.h:240
void EnableFlowMode(const eC_Bool bEnable)
Definition: GUICarousel.h:235
Displays a static image in the GUI.
Definition: GUIImage.h:59
This is the Guiliani base class all controls are derived from.
Definition: GUIObject.h:81
virtual void SetDisabled(const eC_Bool &bDisabled)
Technical details regarding the CGUICarousel
To achieve the carousel effect, the size and position of added child object's will be overwritten (for zooming and rotating). The user may then cycle through the child objects, which causes the carousel to rotate around its vertical axis. One object - namely the one in the front - is always the currently selected one. All objects except for the selected one will be set to non-focusable to enhance focusing behaviour. This ensures that at any time, only the selected object will receive the focus.