3 #ifndef E_MOD_COMP_HWCOMP_H
4 #define E_MOD_COMP_HWCOMP_H
6 typedef enum _E_HWComp_Mode
8 E_HWCOMP_USE_INVALID = -1,
9 E_HWCOMP_USE_NOCOMP_MODE,
10 E_HWCOMP_USE_HYBRIDCOMP_MODE,
11 E_HWCOMP_USE_FULLCOMP_MODE
14 typedef struct _E_Comp_HWComp_Update E_Comp_HWComp_Update;
15 typedef struct _E_Comp_HWComp_Drawable E_Comp_HWComp_Drawable;
17 struct _E_Comp_HWComp;
19 struct _E_Comp_HWComp_Drawable
23 Eina_Bool set_drawable; /* if set_drawable is true, this drawable is set */
24 int set_countdown; /* if set_countdown is 0, this drawable is going to hwc set */
25 int comp_countdown; /* if comp_countdown is 0, this drawable is going to composite */
27 Eina_Bool region_update;
30 int update_count; /* for debugging */
34 struct _E_Comp_HWComp_Update
36 E_HWComp_Mode update_mode; /* hw composite mode */
37 unsigned int num_overlays; /* # of hw overlays */
38 unsigned int num_drawable; /* # of the candidate drawables */
39 E_Comp_HWComp_Drawable **hwc_drawable; /* the candidate drawables */
40 Eina_Bool comp_update; /* flag for ee_win update */
42 Eina_Bool ime_present;
43 Eina_Bool keymag_present;
44 Eina_Bool split_launcher_rect_present;
45 Eina_Rectangle ime_rect;
46 Eina_Rectangle keymag_rect;
47 Eina_Rectangle split_launcher_rect;
49 struct _E_Comp_HWComp *hwcomp;
55 E_Comp_Canvas *canvas;
57 int num_overlays; /* # of hw overlays */
58 E_Comp_HWComp_Update *hwc_update;
60 Ecore_Timer *idle_timer;
61 Eina_Bool idle_status;
62 Ecore_Idle_Enterer *idle_enterer;
64 Eina_Bool force_composite;
67 Eina_Bool miniapp_present;
74 Eina_Bool doing_rotation;