Reference for the Mosaic class WidgetSet::HorizontalScrollbarConfig

WidgetSet::HorizontalScrollbarConfig
AutoHideDelay
FadeInDuration
FadeOutDuration
HideIfNotNeeded
OnUpdate
SnapDuration
StateTransitionDuration
ThumbBitmapActive
ThumbBitmapDefault
ThumbBitmapDisabled
ThumbBorderColorActive
ThumbBorderColorDefault
ThumbBorderColorDisabled
ThumbBorderWidthActive
ThumbBorderWidthDefault
ThumbBorderWidthDisabled
ThumbColorActive
ThumbColorDefault
ThumbColorDisabled
ThumbCornerRadiusActive
ThumbCornerRadiusDefault
ThumbCornerRadiusDisabled
ThumbFrameActive
ThumbFrameDefault
ThumbFrameDisabled
ThumbMarginLeft
ThumbMarginRight
ThumbMinWidthActive
ThumbMinWidthDefault
ThumbMinWidthDisabled
ThumbOffsetActive
ThumbOffsetDefault
ThumbOffsetDisabled
ThumbShadowBlurRadiusActive
ThumbShadowBlurRadiusDefault
ThumbShadowBlurRadiusDisabled
ThumbShadowColorActive
ThumbShadowColorDefault
ThumbShadowColorDisabled
ThumbShadowOffsetActive
ThumbShadowOffsetDefault
ThumbShadowOffsetDisabled
ThumbSizeFixed
ThumbStackingPriority
ThumbThicknessActive
ThumbThicknessDefault
ThumbThicknessDisabled
ThumbTintActive
ThumbTintDefault
ThumbTintDisabled
Touchable
TrackBitmapActive
TrackBitmapDefault
TrackBitmapDisabled
TrackBorderColorActive
TrackBorderColorDefault
TrackBorderColorDisabled
TrackBorderWidthActive
TrackBorderWidthDefault
TrackBorderWidthDisabled
TrackColorActive
TrackColorDefault
TrackColorDisabled
TrackCornerRadiusActive
TrackCornerRadiusDefault
TrackCornerRadiusDisabled
TrackFrameActive
TrackFrameDefault
TrackFrameDisabled
TrackMarginLeft
TrackMarginRight
TrackOffsetActive
TrackOffsetDefault
TrackOffsetDisabled
TrackStackingPriority
TrackThicknessActive
TrackThicknessDefault
TrackThicknessDisabled
TrackTintActive
TrackTintDefault
TrackTintDisabled
WidgetMaxSize
WidgetMinSize
WidgetSet::WidgetConfig

SEE ALSO

Using and customizing the Horizontal Scrollbar widget.

This class implements the functionality permitting you to simply customize the look and feel of a 'horizontal scrollbar' widget (WidgetSet::HorizontalScrollbar). In the practice, you will create an instance of this class, configure its properties with bitmaps, colors and other relevant attributes according to your design expectations and assign such prepared configuration object to the property 'Appearance' of every affected horizontal scrollbar widget. Thereupon the widgets will use the configuration information provided in the object.

During its lifetime the scrollbar remains always in one of the three states: 'disabled', 'default' and 'active'. The state 'disabled' is true for every not available scrollbar (the property 'Enabled' of the scrollbar is 'false'). Such scrollbars will ignore all user inputs. The state 'default' determines a scrollbar, which is ready to be touched by the user. Finally, the state 'active' is true, if the user actually interacts with the scrollbar (the scrollbar's thumb is pressed). With the configuration object you can specify the appearance of the scrollbar for every state individually. For this purpose you should know from which views the scrollbar is composed of:

All above mentioned views are arranged one above the other whereby the resulting stacking order can be configured by using the properties TrackStackingPriority and ThumbStackingPriority. The view with higher priority will appear in front of other views with lower priority.

Normally, when a state alternation occurs, the affected views are updated immediatelly to reflect the new state. By using the property StateTransitionDuration it is possible to configure the scrollbar to perform state alternations with animations (e.g. the displacement of the thumb shadow can be animated). This affects all attributes of the filled rectangle, border and shadow views belonging to the thumb and track. In case of the images displayed in the track and thumb, the animation has an effect only on the colors and offsets used to configure the views. Consequently, during animations these views can fade-out/in their colors and move only.

With the properties AutoHideDelay and HideIfNotNeeded you can configure the behavior of the scrollbar, whether and when it should disappear automatically. If the scrollbar is configured to disappear and appear automatically, you can configure an opacity fade-in/out effect to be used for this operation by using the properties FadeInDuration and FadeOutDuration.

Whether the scrollbar should be able to react to user touch interactions or not can be configured in the property Touchable. If this property is 'true', the user can touch and drag the scrollbar thumb. If this property is 'false', the scrollbar serves as a pure passive widget.

To further enhance the widgets, a slot method can be assigned to the property OnUpdate. Within the slot method new decoration views can be added to the widgets and updated according to the current state of the widget.

With the properties WidgetMinSize and WidgetMaxSize you can configure size constraints for the widget itself. You can, for example, limit the scrollbar to not shrink below a specified width or height.

property int32 AutoHideDelay = 0;

The property 'AutoHideDelay' determines the period in milliseconds to hide the scrollbar automatically. When the scrollrange or position in the scrollbar changes or when the user touches within the scrollbar, the scrollbar appears again. When this property is 0 (zero), the scrollbar doesn't disappear automatically.

By configuring the properties FadeInDuration and FadeOutDuration you can determine whether the appearance/disappearance of the scrollbar should be performed with an opacity fade effect.

property int32 FadeInDuration = 0;

The property 'FadeInDuration' determines the duration of the opacity fade-in effect expressed in milliseconds to show the scrollbar again after it has been hidden in the past. If this property is 0 (zero), the scrollbar appears immediately without any effect.

The scrollbar can disappear and appear automatically only when the property HideIfNotNeeded is 'true' or the property AutoHideDelay is greater than 0.

property int32 FadeOutDuration = 0;

The property 'FadeOutDuration' determines the duration of the opacity fade-out effect expressed in milliseconds to hide the scrollbar. If this property is 0 (zero), the scrollbar disappears immediately without any effect.

The scrollbar can disappear and appear automatically only when the property HideIfNotNeeded is 'true' or the property AutoHideDelay is greater than 0.

property bool HideIfNotNeeded = false;

The property 'HideIfNotNeeded' controls how the scrollbar should behave, when the entire scrollable content can be presented at once without the necessity to scroll it. Setting this property to the value 'true' causes the scrollbar to disappear in such case. As soon as there is some content to scroll, the scrollbar appears again. If this property is 'false' and the scrollbar is not needed, the scrollbar remains visible with its track bitmap but without the thumb.

By configuring the properties FadeInDuration and FadeOutDuration you can determine whether the appearance/disappearance of the scrollbar should be performed with an opacity fade effect.

property slot OnUpdate = null;

The property 'OnUpdate' can refer to a slot method, which should be invoked by widgets connected to this configuration object when the widget's state changes. This method is intended to add and update custom widget decorations.

The usage of this property is equal to the homonymous property explained in WidgetSet::HorizontalScrollbar. See its description for more details.

Please note, when the slot method is invoked, the method's parameter 'sender' refers the widget instance causing the invocation. In this manner, by using 'sender' the implementation of the slot method can access the widget to add and manipulate decoration views.

property int32 SnapDuration = 0;

The property 'SnapDuration' determines the duration in milliseconds of an animation effect to automatically adjust the scrollbar position to snap at predetermined snap position after the user has dragged the thumb and released it again. If this property is 0 (zero), the scrollbar adjusts the position immediately without the animation.

property int32 StateTransitionDuration = 0;

The property 'StateTransitionDuration' controls how long do animations take when the state of the scrollbar changes. In this manner the appearance of the widget is updated smoothly (e.g. the thumb shadow is faded-out) instead of being performed abruptly. This value is expressed in milliseconds. If this value is 0 (zero), no animations are performed.

Animations affect all attributes of the filled rectangle, border and shadow views belonging to the thumb and track. In case of the images displayed in the track and thumb, the animation has an effect only on the colors and offsets used to configure the views. Consequently, during animations these views can fade-out/in their colors and move only.

property Resources::Bitmap ThumbBitmapActive = null;

The property 'ThumbBitmapActive' determines the bitmap to be displayed per default vertically centered at the actual thumb position when the scrollbar is in the 'active' state (the user is actually touching the scrollbar).

If the specified bitmap contains more than one frame (multi-frame bitmap), the desired frame number can be selected in the property ThumbFrameActive. If the selected bitmap is intended to be animated, ensure that the property ThumbFrameActive is -1.

If the specified bitmap contains opacity information only (Alpha8 bitmap), you can tint the bitmap by specifying the desired color in the property ThumbTintActive. With the property ThumbTintActive you can also modulate the opacity of a regular bitmap.

Per default, the width of the displayed thumb does correspond to the ratio between the size of the visible area (view area) in the scrollable content and the entire size of the scrollable content. The maximal possible thumb width is limited by the actual width of the scrollbar minus the margins ThumbMarginLeft and ThumbMarginRight.

The minimal thumb width is limited to the 2/3 of the original width of the used bitmap (the left and right edges of the bitmap without its interior area, see also Views::Frame). By setting the property ThumbSizeFixed, the thumb will assume permanently its minimal possible size.

With the property ThumbOffsetActive an optional displacement for the thumb can be specified.

property Resources::Bitmap ThumbBitmapDefault = null;

The property 'ThumbBitmapDefault' determines the bitmap to be displayed per default vertically centered at the actual thumb position when the scrollbar is in the 'default' state.

If the specified bitmap contains more than one frame (multi-frame bitmap), the desired frame number can be selected in the property ThumbFrameDefault. If the selected bitmap is intended to be animated, ensure that the property ThumbFrameDefault is -1.

If the specified bitmap contains opacity information only (Alpha8 bitmap), you can tint the bitmap by specifying the desired color in the property ThumbTintDefault. With the property ThumbTintDefault you can also modulate the opacity of a regular bitmap.

Per default, the width of the displayed thumb does correspond to the ratio between the size of the visible area (view area) in the scrollable content and the entire size of the scrollable content. The maximal possible thumb width is limited by the actual width of the scrollbar minus the margins ThumbMarginLeft and ThumbMarginRight.

The minimal thumb width is limited to the 2/3 of the original width of the used bitmap (the left and right edges of the bitmap without its interior area, see also Views::Frame). By setting the property ThumbSizeFixed, the thumb will assume permanently its minimal possible size.

With the property ThumbOffsetDefault an optional displacement for the thumb can be specified.

property Resources::Bitmap ThumbBitmapDisabled = null;

The property 'ThumbBitmapDisabled' determines the bitmap to be displayed per default vertically centered at the actual thumb position when the scrollbar is in the 'disabled' state (property 'Enabled' of the scrollbar is 'false').

If the specified bitmap contains more than one frame (multi-frame bitmap), the desired frame number can be selected in the property ThumbFrameDisabled. If the selected bitmap is intended to be animated, ensure that the property ThumbFrameDisabled is -1.

If the specified bitmap contains opacity information only (Alpha8 bitmap), you can tint the bitmap by specifying the desired color in the property ThumbTintDisabled. With the property ThumbTintDisabled you can also modulate the opacity of a regular bitmap.

Per default, the width of the displayed thumb does correspond to the ratio between the size of the visible area (view area) in the scrollable content and the entire size of the scrollable content. The maximal possible thumb width is limited by the actual width of the scrollbar minus the margins ThumbMarginLeft and ThumbMarginRight.

The minimal thumb width is limited to the 2/3 of the original width of the used bitmap (the left and right edges of the bitmap without its interior area, see also Views::Frame). By setting the property ThumbSizeFixed, the thumb will assume permanently its minimal possible size.

With the property ThumbffsetDisabled an optional displacement for the thumb can be specified.

property color ThumbBorderColorActive = #00000000;

The property 'ThumbBorderColorActive' determines the color of the border surrounding the thumb when the scrollbar is in the 'active' state (the user is actually touching the scrollbar). To determine the thickness of the border use the property ThumbBorderWidthActive.

Please note, in order to be visible, a valid height for the thumb has to be configured in the property ThumbThicknessActive. With the property ThumbCornerRadiusActive the rounding at the corners of the border can be specified.

property color ThumbBorderColorDefault = #00000000;

The property 'ThumbBorderColorDefault' determines the color of the border surrounding the thumb when the scrollbar is in the 'default' state. To determine the thickness of the border use the property ThumbBorderWidthDefault.

Please note, in order to be visible, a valid height for the thumb has to be configured in the property ThumbThicknessDefault. With the property ThumbCornerRadiusDefault the rounding at the corners of the border can be specified.

property color ThumbBorderColorDisabled = #00000000;

The property 'ThumbBorderColorDisabled' determines the color of the border surrounding the thumb when the scrollbar is in the 'disabled' state (property 'Enabled' of the scrollbar is 'false'). To determine the thickness of the border use the property ThumbBorderWidthDisabled.

Please note, in order to be visible, a valid height for the thumb has to be configured in the property ThumbThicknessDisabled. With the property ThumbCornerRadiusDisabled the rounding at the corners of the border can be specified.

property int32 ThumbBorderWidthActive = 0;

The property 'ThumbBorderWidthActive' determines the thickness of the border surrounding the thumb when the scrollbar is in the 'active' state (the user is actually touching the scrollbar). The value is expressed in pixel. To determine the color of the border use the property ThumbBorderColorActive.

Please note, in order to be visible, a valid height for the thumb has to be configured in the property ThumbThicknessActive. With the property ThumbCornerRadiusActive the rounding at the corners of the border can be specified.

property int32 ThumbBorderWidthDefault = 0;

The property 'ThumbBorderWidthDefault' determines the thickness of the border surrounding the thumb when the scrollbar is in the 'default' state. The value is expressed in pixel. To determine the color of the border use the property ThumbBorderColorDefault.

Please note, in order to be visible, a valid height for the thumb has to be configured in the property ThumbThicknessDefault. With the property ThumbCornerRadiusDefault the rounding at the corners of the border can be specified.

property int32 ThumbBorderWidthDisabled = 0;

The property 'ThumbBorderWidthDisabled' determines the thickness of the border surrounding the thumb when the scrollbar is in the 'disabled' state (property 'Enabled' of the scrollbar is 'false'). The value is expressed in pixel. To determine the color of the border use the property ThumbBorderColorDisabled.

Please note, in order to be visible, a valid height for the thumb has to be configured in the property ThumbThicknessDisabled. With the property ThumbCornerRadiusDisabled the rounding at the corners of the border can be specified.

property color ThumbColorActive = #00000000;

The property 'ThumbColorActive' determines the color to fill the background of the thumb when the scrollbar is in the 'active' state (the user is actually touching the scrollbar). In order to be visible, a valid height for the thumb has to be configured in the property ThumbThicknessActive. With the property ThumbCornerRadiusActive the rounding at the corners of the filled area can be specified.

property color ThumbColorDefault = #00000000;

The property 'ThumbColorDefault' determines the color to fill the background of the thumb when the scrollbar is in the 'default' state. In order to be visible, a valid height for the thumb has to be configured in the property ThumbThicknessDefault. With the property ThumbCornerRadiusDefault the rounding at the corners of the filled area can be specified.

property color ThumbColorDisabled = #00000000;

The property 'ThumbColorDisabled' determines the color to fill the background of the thumb when the scrollbar is in the 'disabled' state (property 'Enabled' of the scrollbar is 'false'). In order to be visible, a valid height for the thumb has to be configured in the property ThumbThicknessDisabled. With the property ThumbCornerRadiusDisabled the rounding at the corners of the filled area can be specified.

property int32 ThumbCornerRadiusActive = 0;

The property 'ThumbCornerRadiusActive' determines the rounding at corners of a filled rectangle, border and shadow belonging to the thumb when the scrollbar is in the 'active' state (the user is actually touching the scrollbar). Normally, the thumb has the shape of a rectangle with sharp corners. Specifying a value greater than 0 in this property rounds the corners. The larger the value, the bigger the rounding effect. The value is expressed as radius in pixel.

Please note, that the corner radius is automatically limited to half the height of the thumb according to the value specified in the property ThumbThicknessActive and to half of the thumb's actual width which can additionally be restricted by the property ThumbMinWidthActive.

property int32 ThumbCornerRadiusDefault = 0;

The property 'ThumbCornerRadiusDefault' determines the rounding at corners of a filled rectangle, border and shadow belonging to the thumb when the scrollbar is in the 'default' state. Normally, the thumb has the shape of a rectangle with sharp corners. Specifying a value greater than 0 in this property rounds the corners. The larger the value, the bigger the rounding effect. The value is expressed as radius in pixel.

Please note, that the corner radius is automatically limited to half the height of the thumb according to the value specified in the property ThumbThicknessDefault and to half of the thumb's actual width which can additionally be restricted by the property ThumbMinWidthDefault.

property int32 ThumbCornerRadiusDisabled = 0;

The property 'ThumbCornerRadiusDisabled' determines the rounding at corners of a filled rectangle, border and shadow belonging to the thumb when the scrollbar is in the 'disabled' state (property 'Enabled' of the scrollbar is 'false'). Normally, the thumb has the shape of a rectangle with sharp corners. Specifying a value greater than 0 in this property rounds the corners. The larger the value, the bigger the rounding effect. The value is expressed as radius in pixel.

Please note, that the corner radius is automatically limited to half the height of the thumb according to the value specified in the property ThumbThicknessDisabled and to half of the thumb's actual width which can additionally be restricted by the property ThumbMinWidthDisabled.

property int32 ThumbFrameActive = -1;

The property 'ThumbFrameActive' determines the frame number within the bitmap ThumbBitmapActive. This property is applicable for multi-frame bitmaps only (see also Resources::Bitmap). If the desired frame is not available in the bitmap, no bitmap is shown.

If the property is initialized with the value -1 and the ThumbBitmapActive bitmap is animated, the animation is automatically started as soon as the scrollbar enters the 'active' state. If the bitmap is not animated and the property is -1, the frame with number 0 is displayed.

property int32 ThumbFrameDefault = -1;

The property 'ThumbFrameDefault' determines the frame number within the bitmap ThumbBitmapDefault. This property is applicable for multi-frame bitmaps only (see also Resources::Bitmap). If the desired frame is not available in the bitmap, no bitmap is shown.

If the property is initialized with the value -1 and the ThumbBitmapDefault bitmap is animated, the animation is automatically started as soon as the scrollbar enters the 'default' state. If the bitmap is not animated and the property is -1, the frame with number 0 is displayed.

property int32 ThumbFrameDisabled = -1;

The property 'ThumbFrameDisabled' determines the frame number within the bitmap ThumbBitmapDisabled. This property is applicable for multi-frame bitmaps only (see also Resources::Bitmap). If the desired frame is not available in the bitmap, no bitmap is shown.

If the property is initialized with the value -1 and the ThumbBitmapDisabled bitmap is animated, the animation is automatically started as soon as the scrollbar enters the 'disabled' state. If the bitmap is not animated and the property is -1, the frame with number 0 is displayed.

property int32 ThumbMarginLeft = 0;

The property 'ThumbMarginLeft' determines an additional gap in pixel between the left edge of the scrollbar at the leftmost position of an area destined to display views belonging to the thumb (filled rectangle, border, shadow and image). The thumb can't be moved beyond this position.

property int32 ThumbMarginRight = 0;

The property 'ThumbMarginRight' determines an additional gap in pixel between the right edge of the scrollbar and the rightmost position of an area destined to display views belonging to the thumb (filled rectangle, border, shadow and image). The thumb can't be moved beyond this position.

property int32 ThumbMinWidthActive = 0;

The property 'ThumbMinWidthActive' determines the minimum width in pixel of a filled rectangle, border and shadow belonging to the thumb when the scrollbar is in the 'active' state (the user is actually touching the scrollbar).

Usually the width of the thumb corresponds to the ratio between the size of the visible area (view area) in the scrollable content and the entire size of the scrollable content. The property ThumbMinWidthActive limits this value.

If the thumb is configured to have fixed width (ThumbSizeFixed), the property ThumbMinWidthActive determines explicitily the (fixed) width of the thumb. The maximal possible thumb width is limited by the actual width of the scrollbar minus the margins ThumbMarginLeft and ThumbMarginRight.

Please note, this property does not affect how bitmap specified in the property ThumbBitmapActive is displayed. The minimum width of the area filled by the bitmap is determined exclusively by the bitmap itself.

property int32 ThumbMinWidthDefault = 0;

The property 'ThumbMinWidthDefault' determines the minimum width in pixel of a filled rectangle, border and shadow belonging to the thumb when the scrollbar is in the 'default' state.

Usually the width of the thumb corresponds to the ratio between the size of the visible area (view area) in the scrollable content and the entire size of the scrollable content. The property ThumbMinWidthDefault limits this value.

If the thumb is configured to have fixed width (ThumbSizeFixed), the property ThumbMinWidthDefault determines explicitily the (fixed) width of the thumb. The maximal possible thumb width is limited by the actual width of the scrollbar minus the margins ThumbMarginLeft and ThumbMarginRight.

Please note, this property does not affect how bitmap specified in the property ThumbBitmapDefault is displayed. The minimum width of the area filled by the bitmap is determined exclusively by the bitmap itself.

property int32 ThumbMinWidthDisabled = 0;

The property 'ThumbMinWidthDisabled' determines the minimum width in pixel of a filled rectangle, border and shadow belonging to the thumb when the scrollbar is in the 'disabled' state (property 'Enabled' of the scrollbar is 'false').

Usually the width of the thumb corresponds to the ratio between the size of the visible area (view area) in the scrollable content and the entire size of the scrollable content. The property ThumbMinWidthDisabled limits this value.

If the thumb is configured to have fixed width (ThumbSizeFixed), the property ThumbMinWidthDisabled determines explicitily the (fixed) width of the thumb. The maximal possible thumb width is limited by the actual width of the scrollbar minus the margins ThumbMarginLeft and ThumbMarginRight.

Please note, this property does not affect how bitmap specified in the property ThumbBitmapDisabled is displayed. The minimum width of the area filled by the bitmap is determined exclusively by the bitmap itself.

property point ThumbOffsetActive = <0,0>;

The property 'ThumbOffsetActive' determines an additional displacement in pixel for the thumb when the scrollbar is in the 'active' state (the user is actually touching the scrollbar). The thumb (composed of a filled rectangle, border, shadow and image) is per default vertically centered and arranged horizontally at position corresponding to the scroll position of the visible area (view area) within the entire scrollable content. By configuring this property, the position of the thumb can be adjusted.

property point ThumbOffsetDefault = <0,0>;

The property 'ThumbOffsetDefault' determines an additional displacement in pixel for the thumb when the scrollbar is in the 'default' state. The thumb (composed of a filled rectangle, border, shadow and image) is per default vertically centered and arranged horizontally at position corresponding to the scroll position of the visible area (view area) within the entire scrollable content. By configuring this property, the position of the thumb can be adjusted.

property point ThumbOffsetDisabled = <0,0>;

The property 'ThumbOffsetDisabled' determines an additional displacement in pixel for the thumb when the scrollbar is in the 'disabled' state (property 'Enabled' of the scrollbar is 'false'). The thumb (composed of a filled rectangle, border, shadow and image) is per default vertically centered and arranged horizontally at position corresponding to the scroll position of the visible area (view area) within the entire scrollable content. By configuring this property, the position of the thumb can be adjusted.

property int32 ThumbShadowBlurRadiusActive = 0;

The property 'ThumbShadowBlurRadiusActive' determines the blur radius of the shadow behind the thumb when the scrollbar is in the 'active' state (the user is actually touching the scrollbar). The value is expressed in pixel and it is limitted to 64 pixel. To determine the color of the shadow use the property ThumbShadowColorActive.

Please note, in order to be visible, a valid size for the thumb has to be configured in the property ThumbThicknessActive. With the property ThumbCornerRadiusActive the rounding at the corners of the shadow shape can be specified.

property int32 ThumbShadowBlurRadiusDefault = 0;

The property 'ThumbShadowBlurRadiusDefault' determines the blur radius of the shadow behind the thumb when the scrollbar is in the 'default' state. The value is expressed in pixel and it is limitted to 64 pixel. To determine the color of the shadow use the property ThumbShadowColorDefault.

Please note, in order to be visible, a valid size for the thumb has to be configured in the property ThumbThicknessDefault. With the property ThumbCornerRadiusDefault the rounding at the corners of the shadow shape can be specified.

property int32 ThumbShadowBlurRadiusDisabled = 0;

The property 'ThumbShadowBlurRadiusDisabled' determines the blur radius of the shadow behind the thumb when the scrollbar is in the 'disabled' state (property 'Enabled' of the scrollbar is 'false'). The value is expressed in pixel and it is limitted to 64 pixel. To determine the color of the shadow use the property ThumbShadowColorDisabled.

Please note, in order to be visible, a valid size for the thumb has to be configured in the property ThumbThicknessDisabled. With the property ThumbCornerRadiusDisabled the rounding at the corners of the shadow shape can be specified.

property color ThumbShadowColorActive = #00000000;

The property 'ThumbShadowColorActive' determines the color of the shadow behind the thumb when the scrollbar is in the 'active' state (the user is actually touching the scrollbar).

Please note, in order to be visible, a valid size for the thumb has to be configured in the property ThumbThicknessActive. With the property ThumbCornerRadiusActive the rounding at the corners of the shadow shape can be specified.

property color ThumbShadowColorDefault = #00000000;

The property 'ThumbShadowColorDefault' determines the color of the shadow behind the thumb when the scrollbar is in the 'default' state.

Please note, in order to be visible, a valid size for the thumb has to be configured in the property ThumbThicknessDefault. With the property ThumbCornerRadiusDefault the rounding at the corners of the shadow shape can be specified.

property color ThumbShadowColorDisabled = #00000000;

The property 'ThumbShadowColorDisabled' determines the color of the shadow behind the thumb when the scrollbar is in the 'disabled' state (property 'Enabled' of the scrollbar is 'false').

Please note, in order to be visible, a valid size for the thumb has to be configured in the property ThumbThicknessDisabled. With the property ThumbCornerRadiusDisabled the rounding at the corners of the shadow shape can be specified.

property point ThumbShadowOffsetActive = <0,0>;

The property 'ThumbShadowOffsetActive' determines the displacement of the shadow behind the thumb when the scrollbar is in the 'active' state (the user is actually touching the scrollbar). The value is expressed in pixel. To determine the color of the shadow use the property ThumbShadowColorActive.

Please note, in order to be visible, a valid size for the thumb has to be configured in the property ThumbThicknessActive. With the property ThumbCornerRadiusActive the rounding at the corners of the shadow shape can be specified.

property point ThumbShadowOffsetDefault = <0,0>;

The property 'ThumbShadowOffsetDefault' determines the displacement of the shadow behind the thumb when the scrollbar is in the 'default' state. The value is expressed in pixel. To determine the color of the shadow use the property ThumbShadowColorDefault.

Please note, in order to be visible, a valid size for the thumb has to be configured in the property ThumbThicknessDefault. With the property ThumbCornerRadiusDefault the rounding at the corners of the shadow shape can be specified.

property point ThumbShadowOffsetDisabled = <0,0>;

The property 'ThumbShadowOffsetDisabled' determines the displacement of the shadow behind the thumb when the scrollbar is in the 'disabled' state (property 'Enabled' of the scrollbar is 'false'). The value is expressed in pixel. To determine the color of the shadow use the property ThumbShadowColorDisabled.

Please note, in order to be visible, a valid size for the thumb has to be configured in the property ThumbThicknessDisabled. With the property ThumbCornerRadiusDisabled the rounding at the corners of the shadow shape can be specified.

property bool ThumbSizeFixed = false;

The property 'ThumbSizeFixed' controls whether the thumb should retain its minimal possible width or whether its width should be adjusted according to the ratio between the size of the visible area (view area) in the scrollable content and the entire size of the scrollable content. By configuring this property with the value 'true', the thumb will assume permanently its minimal possible width.

In case of the thumb being composed of a bitmap the minimal thumb width corresponds to the 2/3 of the original width of the used bitmap (ThumbBitmapActive, ThumbBitmapDefault or ThumbBitmapDisabled) - means the left and right edges of the bitmap without its interior area.

In case of the thumb being composed of a filled rectangle, border and shadow the minimal size is determined explicitly by the properties ThumbMinWidthDefault, ThumbMinWidthDisabled and ThumbMinWidthActive.

The maximal possible thumb width is limited by the actual width of the scrollbar minus the margins ThumbMarginLeft and ThumbMarginRight.

property int32 ThumbStackingPriority = 2;

The property 'ThumbStackingPriority' determines the Z-order position of the views destined to display the thumb (rectangle, border, shadow and image). Per default all thumb views are arranged in front of the views belonging to the track. By configuring this property the arrangement of the views within the widget can be changed whereby views with larger priority will be arranged in front of views with lower priority. For example, to place the thumb views in background of the scrollbar, configure the property with a smaller value.

property int32 ThumbThicknessActive = 0;

The property 'ThumbThicknessActive' determines the height in pixel of a filled rectangle, border and shadow belonging to the thumb when the scrollbar is in the 'active' state (the user is actually touching the scrollbar). The color of the rectangle has to be configured by property ThumbColorActive. The thickness and the color of the border are configured by the properties ThumbBorderWidthActive and ThumbBorderColorActive.

Please note, this property does not affect how bitmap specified in the property ThumbBitmapActive is displayed. The height of the bitmap is determined exclusively by the bitmap itself.

property int32 ThumbThicknessDefault = 0;

The property 'ThumbThicknessDefault' determines the height in pixel of a filled rectangle, border and shadow belonging to the thumb when the scrollbar is in the 'default' state. The color of the rectangle has to be configured by property ThumbColorDefault. The thickness and the color of the border are configured by the properties ThumbBorderWidthDefault and ThumbBorderColorDefault.

Please note, this property does not affect how bitmap specified in the property ThumbBitmapDefault is displayed. The height of the bitmap is determined exclusively by the bitmap itself.

property int32 ThumbThicknessDisabled = 0;

The property 'ThumbThicknessDisabled' determines the height in pixel of a filled rectangle, border and shadow belonging to the thumb when the scrollbar is in the 'disabled' state (property 'Enabled' of the scrollbar is 'false'). The color of the rectangle has to be configured by property ThumbColorDisabled. The thickness and the color of the border are configured by the properties ThumbBorderWidthDisabled and ThumbBorderColorDisabled.

Please note, this property does not affect how bitmap specified in the property ThumbBitmapDisabled is displayed. The height of the bitmap is determined exclusively by the bitmap itself.

property color ThumbTintActive = #FFFFFFFF;

The property 'ThumbTintActive' determines the color value to tint or modulate the bitmap specified in the property ThumbBitmapActive. The effect of this color value depends on the type of the bitmap:

property color ThumbTintDefault = #FFFFFFFF;

The property 'ThumbTintDefault' determines the color value to tint or modulate the bitmap specified in the property ThumbBitmapDefault. The effect of this color value depends on the type of the bitmap:

property color ThumbTintDisabled = #FFFFFFFF;

The property 'ThumbTintDisabled' determines the color value to tint or modulate the bitmap specified in the property ThumbBitmapDisabled. The effect of this color value depends on the type of the bitmap:

property bool Touchable = true;

The property 'Touchable' controls whether the user may touch and interact with the scrollbar. With this property initialized with the value 'false', the scrollbar is just a passive view.

property Resources::Bitmap TrackBitmapActive = null;

The property 'TrackBitmapActive' determines the bitmap to fill horizontally the background of the scrollbar when the scrollbar is in the 'active' state (the user is actually touching the scrollbar).

If the specified bitmap contains more than one frame (multi-frame bitmap), the desired frame number can be selected in the property TrackFrameActive. If the selected bitmap is intended to be animated, ensure that the property TrackFrameActive is -1.

If the specified bitmap contains opacity information only (Alpha8 bitmap), you can tint the bitmap by specifying the desired color in the property TrackTintActive. With the property TrackTintActive you can also modulate the opacity of a regular bitmap.

The bitmap is arranged vertically centered with optional displacement specified in the property TrackOffsetActive. In the width the bitmap fills the entire area of the scrollbar whereby the distances to the left and right track edges can optionally be adjusted by using the properties TrackMarginLeft and TrackMarginRight.

property Resources::Bitmap TrackBitmapDefault = null;

The property 'TrackBitmapDefault' determines the bitmap to fill horizontally the background of the scrollbar when the scrollbar is in the 'default' state.

If the specified bitmap contains more than one frame (multi-frame bitmap), the desired frame number can be selected in the property TrackFrameDefault. If the selected bitmap is intended to be animated, ensure that the property TrackFrameDefault is -1.

If the specified bitmap contains opacity information only (Alpha8 bitmap), you can tint the bitmap by specifying the desired color in the property TrackTintDefault. With the property TrackTintDefault you can also modulate the opacity of a regular bitmap.

The bitmap is arranged vertically centered with optional displacement specified in the property TrackOffsetDefault. In the width the bitmap fills the entire area of the scrollbar whereby the distances to the left and right track edges can optionally be adjusted by using the properties TrackMarginLeft and TrackMarginRight.

property Resources::Bitmap TrackBitmapDisabled = null;

The property 'TrackBitmapDisabled' determines the bitmap to fill horizontally the background of the scrollbar when the scrollbar is in the 'disabled' state (property 'Enabled' of the scrollbar is 'false').

If the specified bitmap contains more than one frame (multi-frame bitmap), the desired frame number can be selected in the property TrackFrameDisabled. If the selected bitmap is intended to be animated, ensure that the property TrackFrameDisabled is -1.

If the specified bitmap contains opacity information only (Alpha8 bitmap), you can tint the bitmap by specifying the desired color in the property TrackTintDisabled. With the property TrackTintDisabled you can also modulate the opacity of a regular bitmap.

The bitmap is arranged vertically centered with optional displacement specified in the property TrackOffsetDisabled. In the width the bitmap fills the entire area of the scrollbar whereby the distances to the left and right track edges can optionally be adjusted by using the properties TrackMarginLeft and TrackMarginRight.

property color TrackBorderColorActive = #00000000;

The property 'TrackBorderColorActive' determines the color of the border surrounding the track when the scrollbar is in the 'active' state (the user is actually touching the scrollbar). To determine the thickness of the border use the property TrackBorderWidthActive.

Please note, in order to be visible, a valid height for the track has to be configured in the property TrackThicknessActive. With the property TrackCornerRadiusActive the rounding at the corners of the border can be specified.

property color TrackBorderColorDefault = #00000000;

The property 'TrackBorderColorDefault' determines the color of the border surrounding the track when the scrollbar is in the 'default' state. To determine the thickness of the border use the property TrackBorderWidthDefault.

Please note, in order to be visible, a valid height for the track has to be configured in the property TrackThicknessDefault. With the property TrackCornerRadiusDefault the rounding at the corners of the border can be specified.

property color TrackBorderColorDisabled = #00000000;

The property 'TrackBorderColorDisabled' determines the color of the border surrounding the track when the scrollbar is in the 'disabled' state (property 'Enabled' of the scrollbar is 'false'). To determine the thickness of the border use the property TrackBorderWidthDisabled.

Please note, in order to be visible, a valid height for the track has to be configured in the property TrackThicknessDisabled. With the property TrackCornerRadiusDisabled the rounding at the corners of the border can be specified.

property int32 TrackBorderWidthActive = 0;

The property 'TrackBorderWidthActive' determines the thickness of the border surrounding the track when the scrollbar is in the 'active' state (the user is actually touching the scrollbar). The value is expressed in pixel. To determine the color of the border use the property TrackBorderColorActive.

Please note, in order to be visible, a valid height for the track has to be configured in the property TrackThicknessActive. With the property TrackCornerRadiusActive the rounding at the corners of the border can be specified.

property int32 TrackBorderWidthDefault = 0;

The property 'TrackBorderWidthDefault' determines the thickness of the border surrounding the track when the scrollbar is in the 'default' state. The value is expressed in pixel. To determine the color of the border use the property TrackBorderColorDefault.

Please note, in order to be visible, a valid height for the track has to be configured in the property TrackThicknessDefault. With the property TrackCornerRadiusDefault the rounding at the corners of the border can be specified.

property int32 TrackBorderWidthDisabled = 0;

The property 'TrackBorderWidthDisabled' determines the thickness of the border surrounding the track when the scrollbar is in the 'disabled' state (property 'Enabled' of the scrollbar is 'false'). The value is expressed in pixel. To determine the color of the border use the property TrackBorderColorDisabled.

Please note, in order to be visible, a valid height for the track has to be configured in the property TrackThicknessDisabled. With the property TrackCornerRadiusDisabled the rounding at the corners of the border can be specified.

property color TrackColorActive = #00000000;

The property 'TrackColorActive' determines the color to fill the background of the track when the scrollbar is in the 'active' state (the user is actually touching the scrollbar). In order to be visible, a valid height for the track has to be configured in the property TrackThicknessActive. With the property TrackCornerRadiusActive the rounding at the corners of the filled area can be specified.

property color TrackColorDefault = #00000000;

The property 'TrackColorDefault' determines the color to fill the background of the track when the scrollbar is in the 'default' state. In order to be visible, a valid height for the track has to be configured in the property TrackThicknessDefault. With the property TrackCornerRadiusDefault the rounding at the corners of the filled area can be specified.

property color TrackColorDisabled = #00000000;

The property 'TrackColorDisabled' determines the color to fill the background of the track when the scrollbar is in the 'disabled' state (property 'Enabled' of the scrollbar is 'false'). In order to be visible, a valid height for the track has to be configured in the property TrackThicknessDisabled. With the property TrackCornerRadiusDisabled the rounding at the corners of the filled area can be specified.

property int32 TrackCornerRadiusActive = 0;

The property 'TrackCornerRadiusActive' determines the rounding at corners of a filled rectangle and border belonging to the track. Normally, the track has the shape of a rectangle with sharp corners. Specifying a value greater than 0 in this property rounds the corners. The larger the value, the bigger the rounding effect. The value is expressed as radius in pixel.

Please note, that the corner radius is automatically limited to half the height of the track according to the value specified in the property TrackThicknessActive.

property int32 TrackCornerRadiusDefault = 0;

The property 'TrackCornerRadiusDefault' determines the rounding at corners of a filled rectangle and border belonging to the track. Normally, the track has the shape of a rectangle with sharp corners. Specifying a value greater than 0 in this property rounds the corners. The larger the value, the bigger the rounding effect. The value is expressed as radius in pixel.

Please note, that the corner radius is automatically limited to half the height of the track according to the value specified in the property TrackThicknessDefault.

property int32 TrackCornerRadiusDisabled = 0;

The property 'TrackCornerRadiusDisabled' determines the rounding at corners of a filled rectangle and border belonging to the track. Normally, the track has the shape of a rectangle with sharp corners. Specifying a value greater than 0 in this property rounds the corners. The larger the value, the bigger the rounding effect. The value is expressed as radius in pixel.

Please note, that the corner radius is automatically limited to half the height of the track according to the value specified in the property TrackThicknessDisabled.

property int32 TrackFrameActive = -1;

The property 'TrackFrameActive' determines the frame number within the bitmap TrackBitmapActive. This property is applicable for multi-frame bitmaps only (see also Resources::Bitmap). If the desired frame is not available in the bitmap, no bitmap is shown.

If the property is initialized with the value -1 and the TrackBitmapActive bitmap is animated, the animation is automatically started as soon as the scrollbar enters the 'active' state. If the bitmap is not animated and the property is -1, the frame with number 0 is displayed.

property int32 TrackFrameDefault = -1;

The property 'TrackFrameDefault' determines the frame number within the bitmap TrackBitmapDefault. This property is applicable for multi-frame bitmaps only (see also Resources::Bitmap). If the desired frame is not available in the bitmap, no bitmap is shown.

If the property is initialized with the value -1 and the TrackBitmapDefault bitmap is animated, the animation is automatically started as soon as the scrollbar enters the 'default' state. If the bitmap is not animated and the property is -1, the frame with number 0 is displayed.

property int32 TrackFrameDisabled = -1;

The property 'TrackFrameDisabled' determines the frame number within the bitmap TrackBitmapDisabled. This property is applicable for multi-frame bitmaps only (see also Resources::Bitmap). If the desired frame is not available in the bitmap, no bitmap is shown.

If the property is initialized with the value -1 and the TrackBitmapDisabled bitmap is animated, the animation is automatically started as soon as the scrollbar enters the 'disabled' state. If the bitmap is not animated and the property is -1, the frame with number 0 is displayed.

property int32 TrackMarginLeft = 0;

The property 'TrackMarginLeft' determines an additional gap in pixel between the left edge of the scrollbar and the area destined to display views belonging to the track (filled rectangle, border and image). If this property is 0 (zero), the track is directly aligned at the left edge of the scrollbar. To adjust the vertical position of the track use the properties TrackOffsetActive, TrackOffsetDefault, TrackOffsetDisabled.

property int32 TrackMarginRight = 0;

The property 'TrackMarginRight' determines an additional gap in pixel between the right edge of the scrollbar and the right end of the area destined to display views belonging to the track (filled rectangle, border and image). If this property is 0 (zero), the track is directly aligned at the right edge of the scrollbar. To adjust the vertical position of the track use the properties TrackOffsetActive, TrackOffsetDefault, TrackOffsetDisabled.

property int32 TrackOffsetActive = 0;

The property 'TrackOffsetActive' determines an additional vertical displacement in pixel for the area destined to display views belonging to the track (filled rectangle, border and image). Per default, the track is vertically centered within the scrollbar. By configuring this property, the vertical position of the track can be adjusted. To adjust the horizontal position of the track use the properties TrackMarginLeft and TrackMarginRight.

property int32 TrackOffsetDefault = 0;

The property 'TrackOffsetDefault' determines an additional vertical displacement in pixel for the area destined to display views belonging to the track (filled rectangle, border and image). Per default, the track is vertically centered within the scrollbar. By configuring this property, the vertical position of the track can be adjusted. To adjust the horizontal position of the track use the properties TrackMarginLeft and TrackMarginRight.

property int32 TrackOffsetDisabled = 0;

The property 'TrackOffsetDisabled' determines an additional vertical displacement in pixel for the area destined to display views belonging to the track (filled rectangle, border and image). Per default, the track is vertically centered within the scrollbar. By configuring this property, the vertical position of the track can be adjusted. To adjust the horizontal position of the track use the properties TrackMarginLeft and TrackMarginRight.

property int32 TrackStackingPriority = 1;

The property 'TrackStackingPriority' determines the Z-order position of the views destined to display the track (rectangle, border and image). Per default all track views are arranged in background of the scrollbar. By configuring this property the arrangement of the views within the widget can be changed whereby views with larger priority will be arranged in front of views with lower priority. For example, to place the track views in front of the thumb configure the property with a larger value.

property int32 TrackThicknessActive = 0;

The property 'TrackThicknessActive' determines the height in pixel of a filled rectangle and border belonging to the track. The color of the rectangle has to be configured by properties TrackColorActive, TrackColorDefault and TrackColorDisabled. The thickness and the color of the border are configured by the properties TrackBorderWidthActive, TrackBorderWidthDefault, TrackBorderWidthDisabled and TrackBorderColorActive, TrackBorderColorDefault, TrackBorderColorDisabled.

Please note, this property does not affect how bitmaps specified in the properties TrackBitmapActive, TrackBitmapDefault and TrackBitmapDisabled are displayed. The height of the bitmap is determined exclusively by the bitmap itself.

property int32 TrackThicknessDefault = 0;

The property 'TrackThicknessDefault' determines the height in pixel of a filled rectangle and border belonging to the track. The color of the rectangle has to be configured by properties TrackColorActive, TrackColorDefault and TrackColorDisabled. The thickness and the color of the border are configured by the properties TrackBorderWidthActive, TrackBorderWidthDefault, TrackBorderWidthDisabled and TrackBorderColorActive, TrackBorderColorDefault, TrackBorderColorDisabled.

Please note, this property does not affect how bitmaps specified in the properties TrackBitmapActive, TrackBitmapDefault and TrackBitmapDisabled are displayed. The height of the bitmap is determined exclusively by the bitmap itself.

property int32 TrackThicknessDisabled = 0;

The property 'TrackThicknessDisabled' determines the height in pixel of a filled rectangle and border belonging to the track. The color of the rectangle has to be configured by properties TrackColorActive, TrackColorDefault and TrackColorDisabled. The thickness and the color of the border are configured by the properties TrackBorderWidthActive, TrackBorderWidthDefault, TrackBorderWidthDisabled and TrackBorderColorActive, TrackBorderColorDefault, TrackBorderColorDisabled.

Please note, this property does not affect how bitmaps specified in the properties TrackBitmapActive, TrackBitmapDefault and TrackBitmapDisabled are displayed. The height of the bitmap is determined exclusively by the bitmap itself.

property color TrackTintActive = #FFFFFFFF;

The property 'TrackTintActive' determines the color value to tint or modulate the bitmap specified in the property TrackBitmapActive. The effect of this color value depends on the type of the bitmap:

property color TrackTintDefault = #FFFFFFFF;

The property 'TrackTintDefault' determines the color value to tint or modulate the bitmap specified in the property TrackBitmapDefault. The effect of this color value depends on the type of the bitmap:

property color TrackTintDisabled = #FFFFFFFF;

The property 'TrackTintDisabled' determines the color value to tint or modulate the bitmap specified in the property TrackBitmapDisabled. The effect of this color value depends on the type of the bitmap:

property point WidgetMaxSize = <0,0>;

The property 'WidgetMaxSize' determines the maximum allowed size of the widget. Accordingly, the scrollbar can't become bigger than the value specified in this property. By using this property you can configure the size constraints for the scrollbar.

property point WidgetMinSize = <0,0>;

The property 'WidgetMinSize' determines the minimal allowed size of the widget. Accordingly, the scrollbar can't become smaller than the value specified in this property. By using this property you can configure the size constraints for the scrollbar.