enum @beta Efl.Ui.Scrollbar_Mode { [[When should the scrollbar be shown.]] auto = 0, [[Visible if necessary]] on, [[Always visible]] off, [[Always invisible]] last [[For internal use only]] } enum @beta Efl.Ui.Scrollbar_Direction { [[What kind of scrollbar is this.]] horizontal = 0, [[Goes along the X axis.]] vertical, [[Goes along the Y axis.]] last [[For internal use only]] } interface @beta Efl.Ui.Scrollbar { [[Interface used by widgets which can display scrollbars, enabling them to contain more content than actually fits inside them.]] methods { @property bar_mode { [[Scrollbar visibility policy]] set { } get { } values { hbar: Efl.Ui.Scrollbar_Mode; [[Horizontal scrollbar.]] vbar: Efl.Ui.Scrollbar_Mode; [[Vertical scrollbar.]] } } @property bar_size { [[Scrollbar size. It is calculated based on viewport size-content sizes. ]] // TODO: This needs more details. What does 1.0 mean? get { } values { width: double; [[Value between 0.0 and 1.0.]] height: double; [[Value between 0.0 and 1.0.]] } } @property bar_position { [[Scrollbar position. It is calculated based on current position-maximum positions. ]] set { } get { } values { posx: double; [[Value between 0.0 and 1.0.]] posy: double; [[Value between 0.0 and 1.0.]] } } bar_visibility_update @protected @beta{ [[Update bar visibility. The object will call this function whenever the bar needs to be shown or hidden. ]] } } events { bar,press: Efl.Ui.Scrollbar_Direction; [[Called when bar is pressed.]] bar,unpress: Efl.Ui.Scrollbar_Direction; [[Called when bar is unpressed.]] bar,drag: Efl.Ui.Scrollbar_Direction; [[Called when bar is dragged.]] bar,size,changed: void; [[Called when bar size is changed.]] bar,pos,changed: void; [[Called when bar position is changed.]] bar,show: Efl.Ui.Scrollbar_Direction; [[Callend when bar is shown.]] bar,hide: Efl.Ui.Scrollbar_Direction; [[Called when bar is hidden.]] } }