This is a description on how scroll transition works. More...
Data Fields | |
Evas_Map * | map |
int | id |
int | pos |
int | content_num |
Eo * | obj |
Eo * | content |
Eina_Rectangle | geometry |
Eina_Rectangle | temp |
struct _Page_Info * | prev |
struct _Page_Info * | next |
Eina_Bool | visible |
This is a description on how scroll transition works.
Regardless of the number of pages, scroll transition maintains a fixed number of boxes which can contain pages. The boxes move along with scrolling and some of them are emptied or filled as they come in or out of screen area. When pager is scrolled left or right, each box takes the position of its previous or next box. Since the leftmost and rightmost boxes might move in reverse direction, they shouldn't be visible. This is why there are dummy boxes at both ends.
Here is an example of box arrangement change by scrolling. The pager has 10 pages, numbered from 1 to 10. The current page is page5, and side_page_num equals 1.
head |----- screen area ----| tail
(dummy) | | (dummy)
BOX1 | BOX2 | BOX3 | BOX4 | BOX5 | ||||
---|---|---|---|---|---|---|---|---|
(empty) | page4 | page5 | page6 | (empty) | ||||
| | |-------------------—|
After scrolling left,
The box moved from the end is filled with content.
head tail
BOX2 | BOX3 | BOX4 | BOX5 | BOX1 | ||||
---|---|---|---|---|---|---|---|---|
(empty) | page5 | page6 | page7 | (empty) | ||||
*emptied | *filled | |||||||