package com.exanimo.controls { import com.exanimo.display.IDisplayObject; /** * * The ScrollBar component provides the end user with a way to control the * portion of data that is displayed when there is too much data to fit in * the display area. The scroll bar consists of four parts: two arrow * buttons, a track, and a thumb. The position of the thumb and display of * the buttons depends on the current state of the scroll bar. The scroll * bar uses four parameters to calculate its display state: a minimum range * value; a maximum range value; a current position that must be within the * range values; and a viewport size that must be equal to or less than the * range and represents the number of items in the range that can be * displayed at the same time. * * @see http://exanimo.com/actionscript/scrollpane/ * * @author Matthew Tretter (matthew@exanimo.com) * * @langversion ActionScript 3 * @playerversion Flash 9.0.0 * */ public interface IScrollBar extends IDisplayObject { // // accessors // /** * * Gets or sets a value that indicates whether the scroll bar scrolls * horizontally or vertically. Valid values are * ScrollBarDirection.HORIZONTAL and ScrollBarDirection.VERTICAL. * * @default ScrollBarDirection.VERTICAL. * */ function get direction():String; /** * @private */ function set direction(direction:String):void; /** * * Gets or sets a Boolean value that indicates whether the scroll bar is * enabled. A value of true indicates that the scroll bar is enabled; a * value of false indicates that it is not. * * @default true * */ function get enabled():Boolean; /** * @private */ function set enabled(enabled:Boolean):void; /** * * Gets or sets a value that represents the increment by which to scroll * the page when the scroll bar track is pressed. The * pageScrollSize is measured in increments between the * minScrollPosition and the maxScrollPosition * values. If this value is set to 0, the value of the * pageSize property is used. * * @default 0 * */ function get lineScrollSize():Number; /** * @private */ function set lineScrollSize(lineScrollSize:Number):void; /** * * Gets or sets a number that represents the maximum scroll position. * The scrollPosition value represents a relative position * between the minScrollPosition and the * maxScrollPosition values. This property is set by the * component that contains the scroll bar, and is the maximum value. * * @default 0 * */ function get maxScrollPosition():Number; /** * @private */ function set maxScrollPosition(maxScrollPosition:Number):void; /** * * Gets or sets a number that represents the minimum scroll position. * The scrollPosition value represents a relative position * between the minScrollPosition and the * maxScrollPosition values. This property is set by the * component that contains the scroll bar, and is usually zero. * * @default 0 * */ function get minScrollPosition():Number; /** * @private */ function set minScrollPosition(minScrollPosition:Number):void; /** * * Gets or sets a value that represents the increment by which the page * is scrolled when the scroll bar track is pressed. The * pageScrollSize value is measured in increments between * the minScrollPosition and the * maxScrollPosition values. If this value is set to 0, the * value of the pageSize property is used. * * @default 0 * */ function get pageScrollSize():Number; /** * @private */ function set pageScrollSize(pageScrollSize:Number):void; /** * * Gets or sets the number of lines that a page contains. The * lineScrollSize is measured in increments between the * minScrollPosition and the * maxScrollPosition. If this property is 0, the scroll bar * will not scroll. * * @default 10 * */ function get pageSize():Number; /** * @private */ function set pageSize(pageSize:Number):void; /** * * Gets or sets the number of milliseconds between when the user presses * the arrow button and the content begins to scroll at a consistant * rate. * * @default 500 * */ function get repeatDelay():Number; /** * @private */ function set repeatDelay(repeatDelay:Number):void; /** * * Gets or sets the number of milliseconds between scrolling after an * arrow button has been depressed for repeatDelay milliseconds. * * @default 35 * */ function get repeatInterval():Number; /** * @private */ function set repeatInterval(repeatInterval:Number):void; /** * * A boolean value that represents whether the thumb should be resized * based on the difference between minScrollPosition and * maxScrollPosition. * * @default true * */ function get scaleThumb():Boolean; /** * @private */ function set scaleThumb(scaleThumb:Boolean):void; /** * * Gets or sets the current scroll position and updates the position of * the thumb. The scrollPosition value represents a * relative position between the minScrollPosition and * maxScrollPosition values. * */ function get scrollPosition():Number; /** * @private */ function set scrollPosition(scrollPosition:Number):void; } }