Circle Scroller
PUBLISHED
This feature is supported in wearable applications only.
The circle scroller component changes corresponding to the rotary events. It shows the whole scrollable area with a circular scroll bar.
The circle scroller wraps the scroller component (elm_scroller
) internally to draw a circular scroller to the edge of the circular screen. This means that you can use the elm_scroller
callbacks and functions, excluding the elm_scroller_policy_set()
and elm_scroller_policy_get()
functions.
For more information, see the Efl Extension Circle Scroller API.
Figure: Circle scroller component
Adding a Circle Scroller Component
To create a circle scroller component, use the eext_circle_object_scroller_add()
function. Pass a elm_scroller
component as the first parameter and a circle surface as the second parameter.
Evas_Object *scroller; Evas_Object *circle_scroller; scroller = elm_scroller_add(parent); circle_scroller = eext_circle_object_scroller_add(scroller, surface);
The circle scroller component is created with the default
style.
Configuring the Circle Scroller
You can use the elm_scroller
functions to configure a circle scroller, except for the elm_scroller_policy_set()
and elm_scroller_policy_get()
functions.
To set the circle scroller policy, use the eext_circle_object_scroller_policy_set()
function. The scroller policy can be:
ELM_SCROLLER_POLICY_AUTO
: Scrollbar is made visible if it is needed, and otherwise kept hidden.ELM_SCROLLER_POLICY_ON
: Scrollbar is always visible.ELM_SCROLLER_POLICY_OFF
: Scrollbar is always hidden.
The following example sets the horizontal scrollbar on when needed and the vertical scrollbar always off:
eext_circle_object_scroller_policy_set(circle_scroller, ELM_SCROLLER_POLICY_AUTO, ELM_SCROLLER_POLICY_OFF);
To get the current scroller policy, use the eext_circle_object_scroller_policy_get()
function.
Activating a Rotary Event
To activate or deactivate the circle scroller, use the eext_rotary_object_event_activated_set()
function:
eext_rotary_object_event_activated_set(circle_scroller, EINA_TRUE);
If the second parameter is EINA_TRUE
, the circle scroller can receive rotary events.
Configuring the Circle Properties
To configure the circle properties of the circle scroller:
-
You can modify the circle object within the circle scroller component using the following functions:
eext_circle_object_line_width_set()
eext_circle_object_line_width_get()
eext_circle_object_radius_set()
eext_circle_object_radius_get()
eext_circle_object_color_set()
eext_circle_object_color_get()
eext_circle_object_disabled_set()
eext_circle_object_disabled_get()
-
You can modify the circle scroller item properties with the
eext_circle_object_item_XXX()
functions.The circle scroller has the following items:
default
: Default circle item that draws the vertical scroller.vertical,scroll,bg
: Vertical scroller background circle item.horizontal,scroll,bar
: Horizontal scroller circle item.horizontal,scroll,bg
: Horizontal scroller background circle item.
For more information, see Circle Object and the Efl Extension Circle Object API.
Was this document helpful?
We value your feedback. Please let us know what you think.