Data Fields
_Page_Info Struct Reference

This is a description on how scroll transition works. More...

Data Fields

Evas_Map * map
 
int id
 
int pos
 
int content_num
 
Eoobj
 
Eocontent
 
Eina_Rectangle geometry
 
Eina_Rectangle temp
 
struct _Page_Infoprev
 
struct _Page_Infonext
 
Eina_Bool visible
 

Detailed Description

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,

  1. each box takes the position of it's previous box.
  2. head and tail is changed.
  3. The box moved to the end is emptied.
  4. The box moved from the end is filled with content.

    head tail


    BOX2 BOX3 BOX4 BOX5 BOX1
    (empty)page5 page6 page7 (empty)
    *emptied*filled