Commit Graph

14 Commits

Author SHA1 Message Date
Marcel Hollerbach a73904ba66 elm_interface_scrollable: freeze the manager object when content moves
this freezes the manager object of the user of the interface. This
improves the overall performance when moving arround focus in a
scrollable object, since no new relations are needed to be recalculated.
This safes up about 2% in the "Scroller 2" test. Additional
optimizations are added in another commit.

Differential Revision: https://phab.enlightenment.org/D7349
2018-11-26 11:37:04 +01:00
Wonki Kim 1566cc79ec scroller: removes unused variables
Summary: this patch removes some variables that are unused.

Reviewers: Hermet, eagleeye, zmike

Reviewed By: Hermet

Subscribers: #reviewers, cedric, #committers, zmike

Tags: #efl_widgets

Differential Revision: https://phab.enlightenment.org/D6593
2018-08-29 21:38:20 +09:00
Wonki Kim 6409cfa41b scroller: refactory a momentum scroll animator
Summary:
this patch refactories a momentum scroll animator logics.

1. animation duration

  animating runs within a one second now.
  and if it needs more time to animate, it decrease intepolation progress by dividing some value.
  current logic makes sense however, it is not easy to read to know how it works.

  this patch modify current logic to calculate distance to move, and time to animate.

2. distance to move

  we can apply simple physics something like mass of pan and friction of scroller itself.
  but this patch apply just geometric seqeunce to calculate distance to go.
  it's more easy to customize behavior of scroller than current sine graph based one.

3. accelerate logic

  scroller sets 'extra_time' to accelerate a scroller for now.
  but this patch modify logic not to use it.
  however it uses current momenutum velocity as a bais of next momentum animating.

@feature

Reviewers: zmike, #reviewers, Hermet

Reviewed By: #reviewers, Hermet

Subscribers: Hermet, cedric, zmike

Tags: #efl, #do_not_merge

Differential Revision: https://phab.enlightenment.org/D6643
2018-08-29 15:58:10 +09:00
Wonki Kim 79ec29897f scroller: remove unused ifdef blocks
Summary:
there are unused ifdef blocks and also there is a variable that accessed from nowhere.
this patch removes both of theme.

related with D6567

Reviewers: Hermet, eagleeye, devilhorns

Reviewed By: Hermet

Subscribers: cedric, zmike

Tags: #efl, #do_not_merge

Differential Revision: https://phab.enlightenment.org/D6585
2018-08-20 13:56:46 +09:00
Jean-Philippe Andre ffa041fe58 scroll: Rename elm enum to efl.ui
This scroll block enum should also be used in widget itself.

Ref T5363
2017-08-30 17:29:52 +09:00
Marcel Hollerbach 44e40c7c5e elm_interface_scrollable: use the submanager to register the children
this adds the registered elements at the broder of the scrollable to the
parents manager. scroller and gengrid works for registering
2017-04-20 14:38:58 +02:00
Jean-Philippe Andre 0cd610af20 scroller: Fix freeze after dragging bars
The freeze property is a set() only but could internally
be reset to false, after dragging a vertical or horizontal slider.

Test scenario:
  elementary_test -to scroller

Click Freeze, test the mouse wheel (can't do anything), drag a
scroller side bar, test the mouse wheel again.

Before this patch, the scroller would scroll. After the patch, the
scroller remains fixed, respecting the value of freeze.

FIXME: It is possible that the proper fix would be to disable
       bars drag during freeze, but that is not the case currently.

NOTE: freeze, hold, movement_block, lock_x/y have very similar
      meanings. The doc really needs clarification here, and some
      property might be removed. Also, freeze and hold have no
      getter, only a setter. drag_lock_x/y is part of elm_widget,
      and not specific to scrollers.
2017-04-12 15:18:24 +09:00
Jean-Philippe Andre bc31a47fd9 elm: Restore ABI compatibility (elm_pan_gravity)
elm_pan_gravity_{set,get} are functions that were generated as
legacy APIs (in other words EAPI), but were never actually exposed
to applications as they were protected behind EFL_EO_API_SUPPORT
(see elm_interfaces.h).

This patch restores the ABI compatibility with elementary 1.18.
2017-02-23 15:43:56 +09:00
Hosang Kim f148296ed1 scrollable_interface: fixed gravity_set() API.
Summary: elm_scroller_gravity_set()  API is not working.

Test Plan: elementary_test -> scroller3

Reviewers: jaehwan, SanghyeonLee, Hermet, jypark, raster, cedric

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4252
2016-09-22 11:06:29 +09:00
Tom Hacohen e65aae994e Eo: Finish the renaming of Eo to the EFL.
This renames all the rest of the API to the EFL namespace except for
Eo_Event that will follow soon.

Obviously breaks both API and ABI.
2016-08-15 15:07:42 +01:00
Stefan Schmidt 9f5e5ae732 elm: scrollable: add guards to include eo and legacy header only when allowed
Make sure the eo and legacy headers are only included when the matching defines
are enabled.
2016-08-03 15:03:37 +02:00
Carsten Haitzler 7a70d41541 elm scroller accel was broken by default confgis setting it to 0. fix
now set default wheel scroll accel to 7 as epr the confgi upgrade code
and also improve the acceleration to "rely on itself" and feedback
loop. this is so much better now i can scroll through things in a
whisk with the wheel.

fixes T4263

@fix
2016-08-02 17:32:19 +09:00
Tom Hacohen dc05a18731 Elm interface scrollable: Fix eo type errors. 2016-04-19 17:15:28 +01:00
Cedric BAIL c2a1c49ab2 elementary: move all legacy files to their expected new location. 2016-03-23 13:24:41 -07:00