tizen 2.4 release
[framework/uifw/e17-mod-tizen-comp.git] / src / e_mod_comp_update.h
1 #ifdef E_TYPEDEFS
2 #else
3 #ifndef E_MOD_COMP_UPDATE_H
4 #define E_MOD_COMP_UPDATE_H
5
6 typedef struct _E_Update      E_Update;
7 typedef struct _E_Update_Rect E_Update_Rect;
8 typedef enum _E_Update_Policy
9 {
10    E_UPDATE_POLICY_RAW,
11    E_UPDATE_POLICY_HALF_WIDTH_OR_MORE_ROUND_UP_TO_FULL_WIDTH,
12 } E_Update_Policy;
13
14 struct _E_Update_Rect
15 {
16    int x, y, w, h;
17 };
18
19 struct _E_Update
20 {
21    int             w, h;
22    int             tw, th;
23    int             tsw, tsh;
24    unsigned char  *tiles;
25    E_Update_Policy pol;
26 };
27
28 E_Update *e_mod_comp_update_new(void);
29 void      e_mod_comp_update_free(E_Update *up);
30 void      e_mod_comp_update_policy_set(E_Update       *up,
31                                        E_Update_Policy pol);
32 void      e_mod_comp_update_tile_size_set(E_Update *up,
33                                           int       tsw,
34                                           int       tsh);
35 void e_mod_comp_update_resize(E_Update *up,
36                               int       w,
37                               int       h);
38 void e_mod_comp_update_add(E_Update *up,
39                            int       x,
40                            int       y,
41                            int       w,
42                            int       h);
43 E_Update_Rect *e_mod_comp_update_rects_get(E_Update *up);
44 void           e_mod_comp_update_clear(E_Update *up);
45
46 #endif
47 #endif