3 #ifndef E_MOD_COMP_CANVAS_H
4 #define E_MOD_COMP_CANVAS_H
6 typedef struct _E_Comp_Canvas E_Comp_Canvas;
7 typedef struct _E_Comp_Layer E_Comp_Layer;
9 //enum for stereoscopic view modes
10 typedef enum _E_Comp_Stereo_Mode
12 E_COMP_STEREO_MONO = 0,
13 E_COMP_STEREO_HORIZONTAL = 1,
14 E_COMP_STEREO_VERTICAL = 2,
15 E_COMP_STEREO_INTERLACED = 3,
18 typedef enum _E_Nocomp_Mode
21 E_NOCOMP_MODE_PREPARE,
31 Evas_Object *layout; // e_layout
32 Evas_Object *bg; // background rectangle object for e_layout
33 int x, y, w, h; // geometry
34 E_Comp_Canvas *canvas; // parent canvas
35 unsigned int count; // indicates number of running effect objects, if 0 then layer will be hidden
36 Eina_List *objs; // list of E_Comp_Effect_Object
37 Eina_Bool need_init; // EINA_TRUE: need to initialize, EINA_FALSE: already initialized.
43 E_Zone *zone; // NULL if we have a single big canvas for all screens
45 Ecore_X_Window ee_win;
47 Eina_List *layers; // list of E_Comp_Layer
48 int x, y, w, h; // geometry
53 double frametimes[122];
59 Eina_Bool force_composite;
60 int comp_ref; // indicates the number of modules using composite mode
76 Eina_Bool use_bg_img : 1;
78 E_Comp_Effect_Zone_Rotation *zr;
79 Eina_Bool xv_ready[3]; // [0]: XV is running [1]: rotation_end_event was occcured [2]: XV_BYPASS_DONE1 msg was received
81 E_Comp_HWComp *hwcomp;
82 E_Comp_Stereo_Mode stereoscopic_mode; //stereoscopic view mode
85 EAPI E_Comp_Canvas *e_mod_comp_canvas_add(E_Comp *c, E_Zone *zone);
86 EAPI void e_mod_comp_canvas_del(E_Comp_Canvas *canvas);
87 EAPI E_Comp_Win *e_mod_comp_canvas_fullscreen_check(E_Comp_Canvas *canvas);
88 EAPI void e_mod_comp_canvas_nocomp_prepare(E_Comp_Canvas *canvas, E_Comp_Win *cw);
89 EAPI Eina_Bool e_mod_comp_canvas_nocomp_begin(E_Comp_Canvas *canvas);
90 EAPI Eina_Bool e_mod_comp_canvas_nocomp_end(E_Comp_Canvas *canvas);
91 EAPI Eina_Bool e_mod_comp_canvas_nocomp_dispose(E_Comp_Canvas *canvas);
92 EAPI E_Comp_Layer *e_mod_comp_canvas_layer_get(E_Comp_Canvas *canvas, const char *name);
93 EAPI void e_mod_comp_canvas_stereo_layout_set(E_Comp_Canvas *canvas);
95 EAPI void e_mod_comp_layer_populate(E_Comp_Layer *ly, Evas_Object *o);
96 EAPI void e_mod_comp_layer_populate_above_normal(E_Comp_Layer *ly, Evas_Object *o);
97 EAPI void e_mod_comp_layer_raise_above(E_Comp_Canvas *canvas, Evas_Object *o, E_Border *bd);
98 EAPI void e_mod_comp_layer_lower_below(E_Comp_Canvas *canvas, Evas_Object *o, E_Border *bd);
99 EAPI void e_mod_comp_layer_eval(E_Comp_Layer *ly);
100 EAPI void e_mod_comp_layer_bg_adjust(E_Comp_Layer *ly);
101 EAPI void e_mod_comp_layer_effect_set(E_Comp_Layer *ly, Eina_Bool set);
102 EAPI Eina_Bool e_mod_comp_layer_effect_get(E_Comp_Layer *ly);
103 EAPI E_Comp_Effect_Object *e_mod_comp_layer_effect_obj_get(E_Comp_Layer *ly, Ecore_X_Window win);