Elementary Scrolling

Enumerations | Functions
Elementary Scrolling

These are functions setting how scrollable views in Elementary widgets should behave on user interaction. More...

## Enumerations
enum | Elm_Slider_Indicator_Visible_Mode { ELM_SLIDER_INDICATOR_VISIBLE_MODE_DEFAULT, ELM_SLIDER_INDICATOR_VISIBLE_MODE_ALWAYS, ELM_SLIDER_INDICATOR_VISIBLE_MODE_ON_FOCUS, ELM_SLIDER_INDICATOR_VISIBLE_MODE_NONE }
| Slider's indicator visiblity mode. More...

## Functions
Eina_Bool | elm_config_scroll_bounce_enabled_get (void)
| Get whether scrollers should bounce when they reach their viewport's edge during a scroll. More...
void | elm_config_scroll_bounce_enabled_set (Eina_Bool enabled)
| Set whether scrollers should bounce when they reach their viewport's edge during a scroll. More...
double | elm_config_scroll_bounce_friction_get (void)
| Get the amount of inertia a scroller will impose at bounce animations. More...
void | elm_config_scroll_bounce_friction_set (double friction)
| Set the amount of inertia a scroller will impose at bounce animations. More...
double | elm_config_scroll_page_scroll_friction_get (void)
| Get the amount of inertia a paged scroller will impose at page fitting animations. More...
void | elm_config_scroll_page_scroll_friction_set (double friction)
| Set the amount of inertia a paged scroller will impose at page fitting animations. More...
double | elm_config_scroll_bring_in_scroll_friction_get (void)
| Get the amount of inertia a scroller will impose at region bring animations. More...
void | elm_config_scroll_bring_in_scroll_friction_set (double friction)
| Set the amount of inertia a scroller will impose at region bring animations. More...
double | elm_config_scroll_zoom_friction_get (void)
| Get the amount of inertia scrollers will impose at animations triggered by Elementary widgets' zooming API. More...
void | elm_config_scroll_zoom_friction_set (double friction)
| Set the amount of inertia scrollers will impose at animations triggered by Elementary widgets' zooming API. More...
Eina_Bool | elm_config_scroll_thumbscroll_enabled_get (void)
| Get whether scrollers should be draggable from any point in their views. More...
void | elm_config_scroll_thumbscroll_enabled_set (Eina_Bool enabled)
| Set whether scrollers should be draggable from any point in their views. More...
unsigned int | elm_config_scroll_thumbscroll_threshold_get (void)
| Get the number of pixels one should travel while dragging a scroller's view to actually trigger scrolling. More...
void | elm_config_scroll_thumbscroll_threshold_set (unsigned int threshold)
| Set the number of pixels one should travel while dragging a scroller's view to actually trigger scrolling. More...
unsigned int | elm_config_scroll_thumbscroll_hold_threshold_get (void)
| Get the number of pixels the range which can be scrolled, while the scroller is holded. More...
void | elm_config_scroll_thumbscroll_hold_threshold_set (unsigned int threshold)
| Set the number of pixels the range which can be scrolled, while the scroller is holded. More...
double | elm_config_scroll_thumbscroll_momentum_threshold_get (void)
| Get the minimum speed of mouse cursor movement which will trigger list self scrolling animation after a mouse up event (pixels/second). More...
void | elm_config_scroll_thumbscroll_momentum_threshold_set (double threshold)
| Set the minimum speed of mouse cursor movement which will trigger list self scrolling animation after a mouse up event (pixels/second). More...
unsigned int | elm_config_scroll_thumbscroll_flick_distance_tolerance_get (void)
| Get the number of pixels the maximum distance which can be flicked. More...
void | elm_config_scroll_thumbscroll_flick_distance_tolerance_set (unsigned int distance)
| Set the number of pixels the maximum distance which can be flicked. More...
double | elm_config_scroll_thumbscroll_friction_get (void)
| Get the amount of inertia a scroller will impose at self scrolling animations. More...
void | elm_config_scroll_thumbscroll_friction_set (double friction)
| Set the amount of inertia a scroller will impose at self scrolling animations. More...
double | elm_config_scroll_thumbscroll_min_friction_get (void)
| Get the min amount of inertia a scroller will impose at self scrolling animations. More...
void | elm_config_scroll_thumbscroll_min_friction_set (double friction)
| Set the min amount of inertia a scroller will impose at self scrolling animations. More...
double | elm_config_scroll_thumbscroll_friction_standard_get (void)
| Get the standard velocity of the scroller. More...
void | elm_config_scroll_thumbscroll_friction_standard_set (double standard)
| Set the standard velocity of the scroller. More...
double | elm_config_scroll_thumbscroll_border_friction_get (void)
| Get the amount of lag between your actual mouse cursor dragging movement and a scroller's view movement itself, while pushing it into bounce state manually. More...
void | elm_config_scroll_thumbscroll_border_friction_set (double friction)
| Set the amount of lag between your actual mouse cursor dragging movement and a scroller's view movement itself, while pushing it into bounce state manually. More...
double | elm_config_scroll_thumbscroll_sensitivity_friction_get (void)
| Get the sensitivity amount which is be multiplied by the length of mouse dragging. More...
void | elm_config_scroll_thumbscroll_sensitivity_friction_set (double friction)
| Set the sensitivity amount which is be multiplied by the length of mouse dragging. More...
Eina_Bool | elm_config_scroll_thumbscroll_smooth_start_get (void)
| Get the smooth start mode for scrolling with your finger. More...
void | elm_config_scroll_thumbscroll_smooth_start_set (Eina_Bool enable)
| Set the smooth start mode for scrolling with your finger. More...
double | elm_config_scroll_thumbscroll_smooth_amount_get (void)
| Get the amount of smoothing to apply to scrolling. More...
void | elm_config_scroll_thumbscroll_smooth_amount_set (double amount)
| Set the amount of smoothing to apply to scrolling. More...
double | elm_config_scroll_thumbscroll_smooth_time_window_get (void)
| Get the time window to look back at for events for smoothing. More...
void | elm_config_scroll_thumbscroll_smooth_time_window_set (double amount)
| Set the time window to look back at for events for smoothing. More...
double | elm_config_scroll_thumbscroll_acceleration_threshold_get (void)
| Get the minimum speed of mouse cursor movement which will accelerate scrolling velocity after a mouse up event (pixels/second). More...
void | elm_config_scroll_thumbscroll_acceleration_threshold_set (double threshold)
| Set the minimum speed of mouse cursor movement which will accelerate scrolling velocity after a mouse up event (pixels/second). More...
double | elm_config_scroll_thumbscroll_acceleration_time_limit_get (void)
| Get the time limit for accelerating velocity. More...
void | elm_config_scroll_thumbscroll_acceleration_time_limit_set (double time_limit)
| Set the time limit for accelerating velocity. More...
double | elm_config_scroll_thumbscroll_acceleration_weight_get (void)
| Get the weight for the acceleration. More...
void | elm_config_scroll_thumbscroll_acceleration_weight_set (double weight)
| Set the weight for the acceleration. More...

## Detailed Description

These are functions setting how scrollable views in Elementary widgets should behave on user interaction.

## Enumeration Type Documentation

## ◆ Elm_Slider_Indicator_Visible_Mode

enum Elm_Slider_Indicator_Visible_Mode

Slider's indicator visiblity mode.

Since
  1.13

Enumerator
ELM_SLIDER_INDICATOR_VISIBLE_MODE_DEFAULT | show indicator on mouse down or change in slider value
ELM_SLIDER_INDICATOR_VISIBLE_MODE_ALWAYS | Always show the indicator.
ELM_SLIDER_INDICATOR_VISIBLE_MODE_ON_FOCUS | Show the indicator on focus.
ELM_SLIDER_INDICATOR_VISIBLE_MODE_NONE | Never show the indicator.

## Function Documentation

## ◆ elm_config_scroll_bounce_enabled_get()

Eina_Bool elm_config_scroll_bounce_enabled_get | ( | void |  | ) |

Get whether scrollers should bounce when they reach their viewport's edge during a scroll.

Returns
  the thumb scroll bouncing state

This is the default behavior for touch screens, in general.

## ◆ elm_config_scroll_bounce_enabled_set()

void elm_config_scroll_bounce_enabled_set | ( | Eina_Bool | enabled | ) |

Set whether scrollers should bounce when they reach their viewport's edge during a scroll.

Parameters

  enabled | the thumb scroll bouncing state

See also
  elm_config_scroll_bounce_enabled_get()

## ◆ elm_config_scroll_bounce_friction_get()

double elm_config_scroll_bounce_friction_get | ( | void |  | ) |

Get the amount of inertia a scroller will impose at bounce animations.

Returns
  the thumb scroll bounce friction

## ◆ elm_config_scroll_bounce_friction_set()

void elm_config_scroll_bounce_friction_set | ( | double | friction | ) |

Set the amount of inertia a scroller will impose at bounce animations.

Parameters

  friction | the thumb scroll bounce friction

See also
  elm_config_scroll_bounce_friction_get()

## ◆ elm_config_scroll_bring_in_scroll_friction_get()

double elm_config_scroll_bring_in_scroll_friction_get | ( | void |  | ) |

Get the amount of inertia a scroller will impose at region bring animations.

Returns
  the bring in scroll friction

## ◆ elm_config_scroll_bring_in_scroll_friction_set()

void elm_config_scroll_bring_in_scroll_friction_set | ( | double | friction | ) |

Set the amount of inertia a scroller will impose at region bring animations.

Parameters

  friction | the bring in scroll friction

See also
  elm_config_scroll_bring_in_scroll_friction_get()

## ◆ elm_config_scroll_page_scroll_friction_get()

double elm_config_scroll_page_scroll_friction_get | ( | void |  | ) |

Get the amount of inertia a paged scroller will impose at page fitting animations.

Returns
  the page scroll friction

## ◆ elm_config_scroll_page_scroll_friction_set()

void elm_config_scroll_page_scroll_friction_set | ( | double | friction | ) |

Set the amount of inertia a paged scroller will impose at page fitting animations.

Parameters

  friction | the page scroll friction

See also
  elm_config_scroll_page_scroll_friction_get()

## ◆ elm_config_scroll_thumbscroll_acceleration_threshold_get()

double elm_config_scroll_thumbscroll_acceleration_threshold_get | ( | void |  | ) |

Get the minimum speed of mouse cursor movement which will accelerate scrolling velocity after a mouse up event (pixels/second).

Returns
  the thumb scroll acceleration threshold

## ◆ elm_config_scroll_thumbscroll_acceleration_threshold_set()

void elm_config_scroll_thumbscroll_acceleration_threshold_set | ( | double | threshold | ) |

Set the minimum speed of mouse cursor movement which will accelerate scrolling velocity after a mouse up event (pixels/second).

Parameters

  threshold | the thumb scroll acceleration threshold

See also
  elm_config_thumbscroll_acceleration_threshold_get()

## ◆ elm_config_scroll_thumbscroll_acceleration_time_limit_get()

double elm_config_scroll_thumbscroll_acceleration_time_limit_get | ( | void |  | ) |

Get the time limit for accelerating velocity.

Returns
  the thumb scroll acceleration time limit

## ◆ elm_config_scroll_thumbscroll_acceleration_time_limit_set()

void elm_config_scroll_thumbscroll_acceleration_time_limit_set | ( | double | time_limit | ) |

Set the time limit for accelerating velocity.

Parameters

  time_limit | the thumb scroll acceleration time limit

See also
  elm_config_thumbscroll_acceleration_time_limit_get()

## ◆ elm_config_scroll_thumbscroll_acceleration_weight_get()

double elm_config_scroll_thumbscroll_acceleration_weight_get | ( | void |  | ) |

Get the weight for the acceleration.

Returns
  the thumb scroll acceleration weight

## ◆ elm_config_scroll_thumbscroll_acceleration_weight_set()

void elm_config_scroll_thumbscroll_acceleration_weight_set | ( | double | weight | ) |

Set the weight for the acceleration.

Parameters

  weight | the thumb scroll acceleration weight

See also
  elm_config_thumbscroll_acceleration_weight_get()

## ◆ elm_config_scroll_thumbscroll_border_friction_get()

double elm_config_scroll_thumbscroll_border_friction_get | ( | void |  | ) |

Get the amount of lag between your actual mouse cursor dragging movement and a scroller's view movement itself, while pushing it into bounce state manually.

Returns
  the thumb scroll border friction

## ◆ elm_config_scroll_thumbscroll_border_friction_set()

void elm_config_scroll_thumbscroll_border_friction_set | ( | double | friction | ) |

Set the amount of lag between your actual mouse cursor dragging movement and a scroller's view movement itself, while pushing it into bounce state manually.

Parameters

  friction | the thumb scroll border friction. `0.0` for perfect synchrony between two movements, `1.0` for maximum lag.

See also
  elm_config_thumbscroll_border_friction_get()

Note
  parameter value will get bound to 0.0 - 1.0 interval, always

## ◆ elm_config_scroll_thumbscroll_enabled_get()

Eina_Bool elm_config_scroll_thumbscroll_enabled_get | ( | void |  | ) |

Get whether scrollers should be draggable from any point in their views.

Returns
  the thumb scroll state

Note
  This is the default behavior for touch screens, in general.
  All other functions namespaced with "thumbscroll" will only have effect if this mode is enabled.

## ◆ elm_config_scroll_thumbscroll_enabled_set()

void elm_config_scroll_thumbscroll_enabled_set | ( | Eina_Bool | enabled | ) |

Set whether scrollers should be draggable from any point in their views.

Parameters

  enabled | the thumb scroll state

See also
  elm_config_scroll_thumbscroll_enabled_get()

## ◆ elm_config_scroll_thumbscroll_flick_distance_tolerance_get()

unsigned int elm_config_scroll_thumbscroll_flick_distance_tolerance_get | ( | void |  | ) |

Get the number of pixels the maximum distance which can be flicked.

If it is flicked more than this, the flick distance is same with maximum distance.

Returns
  the thumb scroll maximum flick distance

## ◆ elm_config_scroll_thumbscroll_flick_distance_tolerance_set()

void elm_config_scroll_thumbscroll_flick_distance_tolerance_set | ( | unsigned int | distance | ) |

Set the number of pixels the maximum distance which can be flicked.

If it is flicked more than this, the flick distance is same with maximum distance.

Parameters

  distance | the thumb scroll maximum flick distance

See also
  elm_config_thumbscroll_flick_distance_tolerance_get()

## ◆ elm_config_scroll_thumbscroll_friction_get()

double elm_config_scroll_thumbscroll_friction_get | ( | void |  | ) |

Get the amount of inertia a scroller will impose at self scrolling animations.

Returns
  the thumb scroll friction

## ◆ elm_config_scroll_thumbscroll_friction_set()

void elm_config_scroll_thumbscroll_friction_set | ( | double | friction | ) |

Set the amount of inertia a scroller will impose at self scrolling animations.

Parameters

  friction | the thumb scroll friction

See also
  elm_config_thumbscroll_friction_get()

## ◆ elm_config_scroll_thumbscroll_friction_standard_get()

double elm_config_scroll_thumbscroll_friction_standard_get | ( | void |  | ) |

Get the standard velocity of the scroller.

The scroll animation time is same with thumbscroll friction, if the velocity is same with standard velocity.

Returns
  the thumb scroll friction

## ◆ elm_config_scroll_thumbscroll_friction_standard_set()

void elm_config_scroll_thumbscroll_friction_standard_set | ( | double | standard | ) |

Set the standard velocity of the scroller.

The scroll animation time is same with thumbscroll friction, if the velocity is same with standard velocity.

Parameters

  standard | the thumb scroll friction standard

See also
  elm_config_thumbscroll_friction_standard_get()

## ◆ elm_config_scroll_thumbscroll_hold_threshold_get()

unsigned int elm_config_scroll_thumbscroll_hold_threshold_get | ( | void |  | ) |

Get the number of pixels the range which can be scrolled, while the scroller is holded.

Returns
  the thumb scroll hold threshold

## ◆ elm_config_scroll_thumbscroll_hold_threshold_set()

void elm_config_scroll_thumbscroll_hold_threshold_set | ( | unsigned int | threshold | ) |

Set the number of pixels the range which can be scrolled, while the scroller is holded.

Parameters

  threshold | the thumb scroll hold threshold

See also
  elm_config_thumbscroll_hold_threshold_get()

## ◆ elm_config_scroll_thumbscroll_min_friction_get()

double elm_config_scroll_thumbscroll_min_friction_get | ( | void |  | ) |

Get the min amount of inertia a scroller will impose at self scrolling animations.

Returns
  the thumb scroll min friction

## ◆ elm_config_scroll_thumbscroll_min_friction_set()

void elm_config_scroll_thumbscroll_min_friction_set | ( | double | friction | ) |

Set the min amount of inertia a scroller will impose at self scrolling animations.

Parameters

  friction | the thumb scroll min friction

See also
  elm_config_thumbscroll_min_friction_get()

## ◆ elm_config_scroll_thumbscroll_momentum_threshold_get()

double elm_config_scroll_thumbscroll_momentum_threshold_get | ( | void |  | ) |

Get the minimum speed of mouse cursor movement which will trigger list self scrolling animation after a mouse up event (pixels/second).

Returns
  the thumb scroll momentum threshold

## ◆ elm_config_scroll_thumbscroll_momentum_threshold_set()

void elm_config_scroll_thumbscroll_momentum_threshold_set | ( | double | threshold | ) |

Set the minimum speed of mouse cursor movement which will trigger list self scrolling animation after a mouse up event (pixels/second).

Parameters

  threshold | the thumb scroll momentum threshold

See also
  elm_config_thumbscroll_momentum_threshold_get()

## ◆ elm_config_scroll_thumbscroll_sensitivity_friction_get()

double elm_config_scroll_thumbscroll_sensitivity_friction_get | ( | void |  | ) |

Get the sensitivity amount which is be multiplied by the length of mouse dragging.

Returns
  the thumb scroll sensitivity friction

## ◆ elm_config_scroll_thumbscroll_sensitivity_friction_set()

void elm_config_scroll_thumbscroll_sensitivity_friction_set | ( | double | friction | ) |

Set the sensitivity amount which is be multiplied by the length of mouse dragging.

Parameters

  friction | the thumb scroll sensitivity friction. `0.1` for minimum sensitivity, `1.0` for maximum sensitivity. 0.25 is proper.

See also
  elm_config_thumbscroll_sensitivity_friction_get()

Note
  parameter value will get bound to 0.1 - 1.0 interval, always

## ◆ elm_config_scroll_thumbscroll_smooth_amount_get()

double elm_config_scroll_thumbscroll_smooth_amount_get | ( | void |  | ) |

Get the amount of smoothing to apply to scrolling.

Returns
  the amount of smoothing to apply from 0.0 to 1.0

See also
  elm_config_scroll_thumbscroll_smooth_amount_set()

Since
  1.16

## ◆ elm_config_scroll_thumbscroll_smooth_amount_set()

void elm_config_scroll_thumbscroll_smooth_amount_set | ( | double | amount | ) |

Set the amount of smoothing to apply to scrolling.

Scrolling with your finger can be smoothed out and the amount to smooth is determined by this parameter. 0.0 means to not smooth at all and 1.0 is to smoth as much as possible.

Parameters

  the | amount to smooth from 0.0 to 1.0 with 0.0 being none

See also
  elm_config_thumbscroll_acceleration_threshold_set()

Since
  1.16

## ◆ elm_config_scroll_thumbscroll_smooth_start_get()

Eina_Bool elm_config_scroll_thumbscroll_smooth_start_get | ( | void |  | ) |

Get the smooth start mode for scrolling with your finger.

Returns
  smooth scroll flag

See also
  elm_config_scroll_thumbscroll_smooth_start_set()

Since
  1.16

## ◆ elm_config_scroll_thumbscroll_smooth_start_set()

void elm_config_scroll_thumbscroll_smooth_start_set | ( | Eina_Bool | enable | ) |

Set the smooth start mode for scrolling with your finger.

This enabled finger scrolling to scroll from the currunt point rather than jumping and playing catch-up to make start of scrolling look smoother once the finger or mouse goes past the threshold.

Parameters

  enable | The enabled state of the smooth scroller

See also
  elm_config_scroll_thumbscroll_smooth_start_get()

Since
  1.16

## ◆ elm_config_scroll_thumbscroll_smooth_time_window_get()

double elm_config_scroll_thumbscroll_smooth_time_window_get | ( | void |  | ) |

Get the time window to look back at for events for smoothing.

Returns
  the time window in seconds (between 0.0 and 1.0)

See also
  elm_config_scroll_thumbscroll_smooth_time_window_set()

Since
  1.16

## ◆ elm_config_scroll_thumbscroll_smooth_time_window_set()

void elm_config_scroll_thumbscroll_smooth_time_window_set | ( | double | amount | ) |

Set the time window to look back at for events for smoothing.

Scrolling with your finger can be smoothed out and the window of time to look at is determined by this config. The value is in seconds and is from 0.0 to 1.0

Parameters

  the | time window in seconds (between 0.0 and 1.0)

See also
  elm_config_scroll_thumbscroll_smooth_time_window_get()

Since
  1.16

## ◆ elm_config_scroll_thumbscroll_threshold_get()

unsigned int elm_config_scroll_thumbscroll_threshold_get | ( | void |  | ) |

Get the number of pixels one should travel while dragging a scroller's view to actually trigger scrolling.

Returns
  the thumb scroll threshold

One would use higher values for touch screens, in general, because of their inherent imprecision.

## ◆ elm_config_scroll_thumbscroll_threshold_set()

void elm_config_scroll_thumbscroll_threshold_set | ( | unsigned int | threshold | ) |

Set the number of pixels one should travel while dragging a scroller's view to actually trigger scrolling.

Parameters

  threshold | the thumb scroll threshold

See also
  elm_config_thumbscroll_threshold_get()

## ◆ elm_config_scroll_zoom_friction_get()

double elm_config_scroll_zoom_friction_get | ( | void |  | ) |

Get the amount of inertia scrollers will impose at animations triggered by Elementary widgets' zooming API.

Returns
  the zoom friction

## ◆ elm_config_scroll_zoom_friction_set()

void elm_config_scroll_zoom_friction_set | ( | double | friction | ) |

Set the amount of inertia scrollers will impose at animations triggered by Elementary widgets' zooming API.

Parameters

  friction | the zoom friction

See also
  elm_config_scroll_zoom_friction_get()