Guiliani  Version 2.4 revision 5970 (build 3)
CGUIGauge Class Reference

Basic gauge control, which visualizes values on a meter using a needle. More...

#include <GUIGauge.h>

Inheritance diagram for CGUIGauge:

Public Member Functions

 CGUIGauge (CGUICompositeObject *const pParent, const eC_Value &vX, const eC_Value &vY, const eC_Value &vWidth, const eC_Value &vHeight, const eC_Int iMin, const eC_Int iMax, const eC_Value vMinAngle, const eC_Value vMaxAngle, const ImageResource_t eGaugeImage, const eC_Value &vNeedleLength, const ObjectHandle_t &eID=NO_HANDLE)
 
 CGUIGauge (CGUICompositeObject *const pParent, const eC_Value &vX, const eC_Value &vY, const eC_Value &vWidth, const eC_Value &vHeight, const eC_Int iMin, const eC_Int iMax, const eC_Value vMinAngle, const eC_Value vMaxAngle, const ImageResource_t eGaugeImage, const ImageResource_t eNeedleImage, const ObjectHandle_t &eID=NO_HANDLE)
 
virtual void DoAnimate (const eC_Value &vTimes=eC_FromInt(1))
 
virtual eC_Bool DoDraw ()
 
virtual eC_Bool IsHighlightable () const
 
virtual void ReadFromStream ()
 
void SetGaugeImage (const ImageResource_t eGaugeImageID)
 
void SetMaxAngle (const eC_Value vMaxAngle)
 
void SetMinAngle (const eC_Value vMinAngle)
 
void SetNeedleColor (const eC_UInt &uiNeedleColor)
 
void SetNeedleColor (const GlobalProperty_t &eNeedleColor)
 
void SetNeedleImage (const ImageResource_t eNeedleImageID)
 
void SetNeedleLength (const eC_Value vLength)
 
void SetNeedleWdith (const eC_Value vWidth)
 
void SetShadowColor (const eC_UInt &uiShadowColor)
 
void SetShadowColor (const GlobalProperty_t &eShadowColor)
 
void SetSimulate (const eC_Bool bSimulate)
 
virtual void WriteToStream (const eC_Bool bWriteClassID)
 
- Public Member Functions inherited from CGUIAbstractBar
void AnimateToValue (const eC_Int iTargetValue)
 
eC_Bool Decrease ()
 
eC_UInt GetAnimationInterval () const
 
eC_UInt GetAnimationSpeed () const
 
const CGUIRangeGetRange () const
 
eC_Bool Increase ()
 
void SetAnimationInterval (const eC_UInt &ruiAnimationInterval)
 
void SetAnimationSpeed (const eC_UInt &ruiAnimationSpeed)
 
void SetBase (CGUIRange::Base_t eBase)
 
void SetLevel (eC_Value vPercent)
 
void SetLevelPercentage (eC_UInt uiPercentage)
 
void SetMaximumLevelIsAlwaysValid (eC_Bool bNotOnlyMultiplesOfStepSize)
 
void SetMaxValue (eC_Int iMaxValue)
 
void SetMinValue (eC_Int iMinValue)
 
void SetRange (eC_Int iMinValue, eC_Int iMaxValue)
 
void SetStepSize (eC_UInt uiIntValues)
 
void SetStepSizeLevel (eC_Value vPercent)
 
void SetStepSizeLevelPercentage (eC_UInt uiPercentage)
 
virtual eC_Bool SetValue (const CGUIValue &rkValue)
 
- Public Member Functions inherited from CGUIObject
 CGUIObject (CGUICompositeObject *const pParent, const eC_Value &vX, const eC_Value &vY, const eC_Value &vWidth, const eC_Value &vHeight, const ObjectHandle_t &eID=NO_HANDLE)
 
 CGUIObject (CGUICompositeObject *const pParent, const CGUIRect &kRect, const ObjectHandle_t &eID=NO_HANDLE)
 
 CGUIObject ()
 
 CGUIObject (const CGUIObject &kSource)
 
virtual ~CGUIObject ()
 
void AddValueObserver (CGUIObserver *pObserver)
 
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 DoDrawSnapshot ()
 
virtual void EnableSnapshotDrawing ()
 
virtual CGUIObjectFindObject (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
 
CGUIBehaviourDecoratorGetBehaviour ()
 
const CGUIBehaviourDecoratorGetBehaviour () const
 
GUIBitmapPlaneID_t GetBitmapID () const
 
CGUIBitmapPlaneGetBitmapPlane () 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
 
CDataPoolConnectorGetDataPoolConnector ()
 
eC_Value GetDistanceBottom () const
 
eC_Value GetDistanceRight () const
 
eC_Value GetHalfHeight () const
 
eC_Value GetHalfWidth () const
 
eC_Value GetHeight () const
 
ObjectHandle_t GetID () const
 
CGUILayouterGetLayouter ()
 
const CGUILayouterGetLayouter () const
 
ObjectHandle_t GetNeighborBottomID () const
 
ObjectHandle_t GetNeighborLeftID () const
 
ObjectHandle_t GetNeighborRightID () const
 
ObjectHandle_t GetNeighborTopID () const
 
CGUIObjectGetObjectByID (const ObjectHandle_t &eID, const eC_Bool &bOnlyVisible=false)
 
const CGUIObjectGetObjectByID (const ObjectHandle_t &eID, const eC_Bool &bOnlyVisible=false) const
 
CGUIRect GetOriginRect () const
 
CGUICompositeObjectGetParent ()
 
const CGUICompositeObjectGetParent () 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
 
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
 
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)
 
CGUIObjectoperator= (const CGUIObject &kSource)
 
virtual void RefreshLayout (CGUILayouter::eMovedEdges_t eMovedEdges) const
 
void RemoveValueObserver (CGUIObserver *pObserver)
 
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 *pBehaviour)
 
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 pParent)
 
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)
 
virtual eC_Bool SetValue (CDataPoolEntry &rkValue)
 
virtual void SetWidth (const eC_Value &vX)
 
- Public Member Functions inherited from CGUIBehaviour
virtual eC_Bool DoUserEvent (CGUIEvent *const pEvent)
 
virtual void OnCreate ()
 
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 DoDrag (const eC_Value &vDeltaX=eC_FromInt(-1), const eC_Value &vDeltaY=eC_FromInt(-1), const eC_Value &vAbsX=eC_FromInt(-1), const eC_Value &vAbsY=eC_FromInt(-1))
 
virtual eC_Bool DoDragEnd (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 DoKeyDown (const GUIKeyIdentifier_t &eKeyIdentifier, const eC_UInt &uiModifiers)
 
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 DoScrollUp (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
virtual eC_Bool DoScrollDown (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
virtual eC_Bool DoScrollLeft (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
virtual eC_Bool DoScrollRight (const eC_Value &vAbsX, const eC_Value &vAbsY)
 
- Public Member Functions inherited from CGUIStreamableObject
const eC_String & GetXMLTag () const
 
void SetXMLTag (const eC_String &kXMLTag)
 
- Public Member Functions inherited from CGUIAnimatable
virtual ~CGUIAnimatable ()
 Destructor. Removes all existing animation callbacks.
 
virtual eC_Bool IsAnimating () const
 
virtual void StartAnimation ()
 
virtual void StopAnimation ()
 
- Public Member Functions inherited from CGUIColorPropertyObserver
 CGUIColorPropertyObserver ()
 default-constructor
 
 ~CGUIColorPropertyObserver ()
 destructor
 
eC_UInt AddColorProperty (const eC_Bool &bColorIsProperty, const eC_UInt &uiColorValue, const GlobalProperty_t &eColorProperty)
 
void AddColorProperty (const eC_UInt &uiIndex, const eC_Bool &bColorIsProperty, const eC_UInt &uiColorValue, const GlobalProperty_t &eColorProperty)
 
ColorValue_t GetColorProperty (const eC_UInt &uiIndex) const
 
eC_UInt GetColorValue (const eC_UInt &uiIndex) const
 
virtual void OnColorPropertyChange ()
 
virtual void OnNotification ()
 Called by CGUISubject whenever an observed object triggers an update.
 
void RemoveColorProperty (const eC_UInt &uiIndex)
 
void SetColorProperty (const eC_UInt &uiIndex, const eC_UInt &uiColorValue)
 
void SetColorProperty (const eC_UInt &uiIndex, const GlobalProperty_t &eColorProperty)
 
void SetColorProperty (const eC_UInt &uiIndex, const ColorValue_t &kColorValue)
 
- Public Member Functions inherited from CGUIObserver
 CGUIObserver ()
 Default constructor.
 
virtual ~CGUIObserver ()
 Default destructor. Notifies all subjects of destruction.
 
const eC_TListDoubleLinked< CGUISubject * > & GetSubjectList () const
 
virtual void OnNotification (const eC_String &kMessage)
 
virtual void OnNotification (const CGUIObject *const pkUpdatedObject)
 
virtual void OnNotification (const CGUIValue &kObservedValue, const CGUIObject *const pkUpdatedObject, const eC_UInt uiX=0, const eC_UInt uiY=0)
 
void SetAutoDelete (const eC_Bool bAutoDelete)
 

Protected Member Functions

void CalculateEndpoint ()
 Calculates the endpoint of the needle's tip after rotation.
 
virtual void DrawGauge ()
 Helper method for drawing the gauge.
 
virtual void DrawNeedle ()
 Helper method for drawing the needle.
 
void Init (const eC_Int iMin, const eC_Int iMax, const eC_Value vMinAngle, const eC_Value vMaxAngle, const ImageResource_t eGaugeImage)
 
virtual eC_Bool OnValueChange ()
 
void SmartInvalidation ()
 Improved invalidation method, which does not simply invalidate the entire object, but instead only the area covered by the needle.
 
void UpdateNeedleAngle ()
 Updates the needle's rotationangle with respect to Min/Max Value and Min/Max Angle.
 
- Protected Member Functions inherited from CGUIAbstractBar
 CGUIAbstractBar ()
 
 CGUIAbstractBar (CGUICompositeObject *const pParent, const eC_Value &vX, const eC_Value &vY, const eC_Value &vWidth, const eC_Value &vHeight, const ObjectHandle_t &eID=NO_HANDLE)
 
 CGUIAbstractBar (CGUICompositeObject *const pParent, const CGUIRect &kRect, const ObjectHandle_t &eID=NO_HANDLE)
 
 CGUIAbstractBar (const CGUIAbstractBar &kSource)
 
CGUIAbstractBaroperator= (const CGUIAbstractBar &kSource)
 
- Protected Member Functions inherited from CGUIObject
virtual eC_Bool CreateBitmapPlane ()
 
virtual eC_Bool FourWayNext (FourWayFocus_t eFocusDirection)
 
- Protected Member Functions inherited from CGUIStreamableObject
eC_UInt ReadStreamingHeader (const eC_UInt &uiClassVersion, const eC_UInt &uiClassMinVersion=0) const
 
void WriteStreamingFooter (const eC_Bool &bWriteClassID) const
 
void WriteStreamingHeader (const eC_Bool &bWriteClassID, const eC_Char *const pkClassIDTag, const eC_Int &iClassID, const eC_UInt &uiClassVersion) const
 
- Protected Member Functions inherited from CGUIObserver
virtual void AddSubject (CGUISubject *pSubjectToAdd)
 
virtual void RemoveSubject (CGUISubject *pSubjectToRemove)
 

Additional Inherited Members

- Public Types inherited from CGUIObject
enum  FourWayFocus_t { FOCUS_LEFT, FOCUS_RIGHT, FOCUS_UP, FOCUS_DOWN }
 
- Static Public Attributes inherited from CGUIObject
static const eC_Char XMLTAG_ALPHA [] = "Alpha"
 XML tag to be used writing alpha-value into a stream.
 
static const eC_Char XMLTAG_CLICKTHROUGH [] = "ClickThrough"
 XML tag to be used writing clickthrough-state into a stream.
 
static const eC_Char XMLTAG_CONTROLCLASSID [] = "ControlClassID"
 XML tag to be used when writing a control class ID into a stream.
 
static const eC_Char XMLTAG_DISABLED [] = "Disabled"
 XML tag to be used writing disabled-state into a stream.
 
static const eC_Char XMLTAG_FOCUSSABLE [] = "Focussable"
 XML tag to be used writing focussable-state into a stream.
 
static const eC_Char XMLTAG_GRAYEDOUT [] = "GrayedOut"
 XML tag to be used writing grayedout-state into a stream.
 
static const eC_Char XMLTAG_HEIGHT [] = "Height"
 XML tag to be used writing height into a stream.
 
static const eC_Char XMLTAG_INVISIBLE [] = "Invisible"
 XML tag to be used writing invisible-state into a stream.
 
static const eC_Char XMLTAG_OBJECTID [] = "ObjectID"
 XML tag to be used writing object id into a stream.
 
static const eC_Char XMLTAG_OVERRIDDENNEIGHBORS [] = "OverriddenNeighbors"
 XML tag to be used writing overridden neighbors into a stream.
 
static const eC_Char XMLTAG_WIDTH [] = "Width"
 XML tag to be used writing width into a stream.
 
static const eC_Char XMLTAG_XPOS [] = "XPos"
 XML tag to be used writing x-position into a stream.
 
static const eC_Char XMLTAG_YPOS [] = "YPos"
 XML tag to be used writing y-position into a stream.
 
- Static Public Attributes inherited from CGUIBehaviour
static const eC_Char XMLTAG_BEHAVIOURCLASSID [] = "BehaviourClassID"
 XML tag to be used when writing a behaviour class ID into a stream.
 
- Static Public Attributes inherited from CGUIStreamableObject
static const eC_Char XMLTAG_CLASSVERSION [] = "ClassVersion"
 

Detailed Description

Basic gauge control, which visualizes values on a meter using a needle.

gauge.png
The "gauge" control is used to visualize values on a meter using a needle. The visualization can be customized by either supplying images, for both the background and the needle, or by drawing the needle with a line of customizable color and length. The usage of the "gauge" control is very easy as only minimal value, maximal value and maximal rotation have to be defined. The current position of the needle is calculated automatically through the given value. The "gauge" control can be used in a wide range of use-cases e.g. to present an analog clock or a speedometer (Class: CGUIGauge).

The gauge is derived from the CGUIAbstractBar baseclass. It defines a range of valid values along with a minimum- and maximum value for the contained needle. It visualizes any value within the valid range by rotating the needle to the respective angle.

The visualization can be customized by either supplying images, for both the background and the needle, or by drawing the needle with a line of customizable color and length. The simple line-based visualization is useful as a fallback solution if you do not have access to the final needle graphics yet.

Another application of the gauge control is as an interactive object, which enables the user to select a value from a given range. This can be done by using the CGUIAbstractBar::SetStepSize and CGUIAbstractBar::SetMinValue / CGUIAbstractBar::SetMaxValue APIs. The control is then operated via the Increase() and Decrease() APIs of CGUIAbstractBar, which are by default mapped onto GK_PAGEDOWN / GK_PAGEUP.

Note
Since the needle is only allowed to reside at valid positions (e.g. integers between given Minimum and Maximum) its movement may appear jerky e.g., if the range of values is 0-100 and the range of angles is 0-180. If you wish to achieve a smooth rotation, increase the range of values.

Example:

// Create gauge object (visualized using bitmaps)
CGUIGauge* pGauge = new CGUIGauge(pkPage4,
eC_FromInt(300), eC_FromInt(300), // Position
eC_FromInt(400), eC_FromInt(400), // Size
0, 2000, // Value range
eC_FromInt(-20), eC_FromInt(200), // Min- and Max angle of needle
eGaugeImage, eNeedleImage); // Bitmaps for background and needle
// Sets the gauge to the given value (The needle will reflect the value automatically)
pGauge->SetValue((eC_Int)50);
// Increases the gauge to the next valid value
pGauge->Increase();
// Reconfigures the gauge to only allow (integer!) values from 0 through 9
pGauge->SetMinValue(0);
pGauge->SetMaxValue(9);
// Simulates the needle movement by animating the needle with dummy values
pGauge->SetSimulate(true);

Example2:

// Create gauge object (visualized using background-bitmap and vector-based needle)
CGUIGauge* pGauge = new CGUIGauge(pkPage4,
eC_FromInt(300), eC_FromInt(300), // Position
eC_FromInt(400), eC_FromInt(400), // Size
0, 2000, // Value range
eC_FromInt(-20), eC_FromInt(200), // Min- and Max angle of needle
eGaugeImage, DUMMY_IMAGE); // Bitmap for background, needle is drawn as vector
// set needle-length to 50 pixels
pGauge->SetNeedleLength(eC_FromInt(50));
// set needle-width to 3 pixels
pGauge->SetNeedleWidth(eC_FromInt(3));
// Simulates the needle movement by animating the needle with dummy values
pGauge->SetSimulate(true);

Constructor & Destructor Documentation

◆ CGUIGauge() [1/2]

CGUIGauge::CGUIGauge ( CGUICompositeObject *const  pParent,
const eC_Value &  vX,
const eC_Value &  vY,
const eC_Value &  vWidth,
const eC_Value &  vHeight,
const eC_Int  iMin,
const eC_Int  iMax,
const eC_Value  vMinAngle,
const eC_Value  vMaxAngle,
const ImageResource_t  eGaugeImage,
const eC_Value &  vNeedleLength,
const ObjectHandle_t eID = NO_HANDLE 
)

Constructs a gauge with a vector needle.

Parameters
pParentPointer to the designated parent object.
vXX-position relative to its parent object.
vYY-position relative to its parent object.
vWidthWidth of the gauge.
vHeightHeight of the gauge.
iMinMinimum allowed value
iMaxMaximum allowed value
vMinAngleMinimum allowed needle angle
vMaxAngleMaximum allowed needle angle
eGaugeImageImage used to represent the gauge itself (without needle)
vNeedleLengthLength of the needle in pixels (From center of gauge to its tip)
eIDObjectID of the gauge

◆ CGUIGauge() [2/2]

CGUIGauge::CGUIGauge ( CGUICompositeObject *const  pParent,
const eC_Value &  vX,
const eC_Value &  vY,
const eC_Value &  vWidth,
const eC_Value &  vHeight,
const eC_Int  iMin,
const eC_Int  iMax,
const eC_Value  vMinAngle,
const eC_Value  vMaxAngle,
const ImageResource_t  eGaugeImage,
const ImageResource_t  eNeedleImage,
const ObjectHandle_t eID = NO_HANDLE 
)

Constructs a gauge with a bitmap needle

Parameters
pParentPointer to the designated parent object.
vXX-position relative to its parent object.
vYY-position relative to its parent object.
vWidthWidth of the gauge.
vHeightHeight of the gauge.
iMinMinimum allowed value
iMaxMaximum allowed value
vMinAngleMinimum allowed needle angle
vMaxAngleMaximum allowed needle angle
eGaugeImageImage used to represent the gauge itself (without needle)
eNeedleImageImage used to represent the needle (Will be rotated to corresponding angle)
eIDObjectID of the gauge

Member Function Documentation

◆ DoAnimate()

void CGUIGauge::DoAnimate ( const eC_Value &  vTimes = eC_FromInt(1))
virtual

Called when the timer of an animation callback belonging to this animatable has expired.

Parameters
vTimesThe factor of the registered callback time in relation to the actually elapsed time. For example, the elapsed time is 80ms, and the standard time is 50ms, then vTimes is 1.6. If the given time in GETTIMER.AddAnimationCallback is 0, It will be set to -1.

Reimplemented from CGUIAbstractBar.

◆ DoDraw()

eC_Bool CGUIGauge::DoDraw ( )
virtual

Visualizes the object. It is forbidden to call SetRelXPos, SetRelYPos, SetWidth or SetHeight in DoDraw, i.e., it is not allowed to change the layout.

Returns
True if anything was drawn, False otherwise

Reimplemented from CGUIObject.

◆ Init()

void CGUIGauge::Init ( const eC_Int  iMin,
const eC_Int  iMax,
const eC_Value  vMinAngle,
const eC_Value  vMaxAngle,
const ImageResource_t  eGaugeImage 
)
protected

Internal helper method for initialization

Parameters
iMin
iMax
vMinAngle
vMaxAngle
eGaugeImage

◆ IsHighlightable()

virtual eC_Bool CGUIGauge::IsHighlightable ( ) const
inlinevirtual

This method checks if an object is highlightable. This refers to whether it can be highlighted via the event handler. If true the event handler may mark this object as the currently highlighted one. Thus, there is no special flag in CGUIObject that determines if an object is highlightable. The default determination is that the control is in none of the following states:

  • invisible
  • grayed-out
  • disabled if so the return value will be true. NOTE: when an object is not highlightable, it will never receive DoMouseEnter and DoMouseLeave-events
    Returns
    True if highlightable, False otherwise

Reimplemented from CGUIObject.

◆ OnValueChange()

eC_Bool CGUIGauge::OnValueChange ( )
protectedvirtual

Called by the framework whenever the GUIAbstractBar's (and therefore the gauge's value) changes. This causes an update of the needle's angle.

Returns
Always True

Reimplemented from CGUIAbstractBar.

◆ ReadFromStream()

void CGUIGauge::ReadFromStream ( )
virtual

Reads all object attributes from streaming file. Only for use with GUIFactory. GUIStreamingFileReader has to be set in CGUI::Init().

See also
CGUIFactory

Reimplemented from CGUIAbstractBar.

◆ SetGaugeImage()

void CGUIGauge::SetGaugeImage ( const ImageResource_t  eGaugeImageID)

Sets the image, which will be used for visualizing the gauge

Parameters
eGaugeImageIDThe image ID

◆ SetMaxAngle()

void CGUIGauge::SetMaxAngle ( const eC_Value  vMaxAngle)

Sets the maximum allowed rotation angle (in degrees) for the needle.

Parameters
vMaxAngleNew maximum angle
See also
SetMinAngle

◆ SetMinAngle()

void CGUIGauge::SetMinAngle ( const eC_Value  vMinAngle)

Sets the minimum allowed rotation angle (in degrees) for the needle. 0 = Needle points to the left 90 = Needle points upwards 180 = Needle points right 270 = Needle points downwards

Parameters
vMinAngleNew minimum angle

◆ SetNeedleColor() [1/2]

void CGUIGauge::SetNeedleColor ( const eC_UInt &  uiNeedleColor)

Set the color of the needle which is used when needle-image is set to DUMMY_IMAGE

Parameters
uiNeedleColorcolor

◆ SetNeedleColor() [2/2]

void CGUIGauge::SetNeedleColor ( const GlobalProperty_t eNeedleColor)

Set the color of the needle which is used when needle-image is set to DUMMY_IMAGE

Parameters
eNeedleColorcolor

◆ SetNeedleImage()

void CGUIGauge::SetNeedleImage ( const ImageResource_t  eNeedleImageID)

Sets the image, which will be used for visualizing the needle. The needle image will be centered within the gauge and will be rotated around its own center. It will always be displayed in its original size, regardless of the surrounding gauge's size.

Parameters
eNeedleImageIDThe image ID

◆ SetNeedleLength()

void CGUIGauge::SetNeedleLength ( const eC_Value  vLength)

Sets length for vector needle. This has no effect when using a bitmap for the needle

Parameters
vLengthNew needle length in pixels

◆ SetNeedleWdith()

void CGUIGauge::SetNeedleWdith ( const eC_Value  vWidth)

Sets width for vector needle. This has no effect when using a bitmap for the needle

Parameters
vWidthNew needle width in pixels

◆ SetShadowColor() [1/2]

void CGUIGauge::SetShadowColor ( const eC_UInt &  uiShadowColor)

Set the color of the shadow which is used when needle-image is set to DUMMY_IMAGE

Parameters
uiShadowColorcolor

◆ SetShadowColor() [2/2]

void CGUIGauge::SetShadowColor ( const GlobalProperty_t eShadowColor)

Set the color of the shadow which is used when needle-image is set to DUMMY_IMAGE

Parameters
eShadowColorcolor

◆ SetSimulate()

void CGUIGauge::SetSimulate ( const eC_Bool  bSimulate)

Simulates needle movement by feeding the gauge with dummy values. This is especially useful during a project's prototyping phase

Parameters
bSimulateTRUE starts simulation mode, FALSE stops simulation

◆ WriteToStream()

void CGUIGauge::WriteToStream ( const eC_Bool  bWriteClassID)
virtual

Writes all object attributes to the streaming file. StreamWriter has to be initialized. Only for use with GUIStreamWriter.

Parameters
bWriteClassIDThis flag is used to select if writing of ControlID, leading and trailing tags is performed. Only GUIStreamWriter and GUICompositeObject have to set this flag true.
See also
CGUIStreamWriter

Reimplemented from CGUIAbstractBar.


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