tizen 2.4 release
[framework/uifw/e17-mod-tizen-comp.git] / src / e_mod_comp_effect.h
1 #ifdef E_TYPEDEFS
2 #else
3 #ifndef E_MOD_COMP_EFFECT_H
4 #define E_MOD_COMP_EFFECT_H
5
6 typedef enum   _E_Comp_Effect_Style  E_Comp_Effect_Style;
7 typedef enum   _E_Comp_Effect_Kind   E_Comp_Effect_Kind;
8 typedef struct _E_Comp_Effect_Type   E_Comp_Effect_Type;
9 typedef struct _E_Comp_Effect_Job    E_Comp_Effect_Job;
10
11 enum _E_Comp_Effect_Style
12 {
13    E_COMP_EFFECT_STYLE_DEFAULT = 0,
14    E_COMP_EFFECT_STYLE_NONE,
15    E_COMP_EFFECT_STYLE_CUSTOM0,
16    E_COMP_EFFECT_STYLE_CUSTOM1,
17    E_COMP_EFFECT_STYLE_CUSTOM2,
18    E_COMP_EFFECT_STYLE_CUSTOM3,
19    E_COMP_EFFECT_STYLE_CUSTOM4,
20    E_COMP_EFFECT_STYLE_CUSTOM5,
21    E_COMP_EFFECT_STYLE_CUSTOM6,
22    E_COMP_EFFECT_STYLE_CUSTOM7,
23    E_COMP_EFFECT_STYLE_CUSTOM8,
24    E_COMP_EFFECT_STYLE_CUSTOM9
25 };
26
27 enum _E_Comp_Effect_Kind
28 {
29    E_COMP_EFFECT_KIND_SHOW = 0,
30    E_COMP_EFFECT_KIND_HIDE,
31    E_COMP_EFFECT_KIND_RESTACK,
32    E_COMP_EFFECT_KIND_ROTATION,
33    E_COMP_EFFECT_KIND_FOCUSIN,
34    E_COMP_EFFECT_KIND_FOCUSOUT
35 };
36
37 struct _E_Comp_Effect_Object
38 {
39    Evas_Object   *edje;
40    Evas_Object   *img;
41    Ecore_X_Window win;
42    Ecore_X_Window cwin;
43    Ecore_X_Pixmap pixmap;
44    Eina_Bool      ev_vis; // send E_EVENT_COMP_SOURCE_VISIBILITY event when effect is done
45    Eina_Bool      show;   // indicates that object is used to show app launching effect
46    Eina_Bool      send_launching_done; // send client message as the meaning that launching effect was done.
47    struct
48    {
49       Evas_Object *offset;      // offset rectangle object for transparent rectangle
50       Evas_Object *rect;        // transparent rectangle object
51    } transp;
52 };
53
54 struct _E_Comp_Effect_Type
55 {
56    Eina_Bool           animatable : 1; // if this valuse is true then window can show animaton.
57    E_Comp_Effect_Style show;           // indicate show effect type
58    E_Comp_Effect_Style hide;           // indicate hide effect type
59    E_Comp_Effect_Style restack;        // indicate restack effect type
60    E_Comp_Effect_Style rotation;       // indicate rotation effect type
61    E_Comp_Effect_Style focusin;        // indicate focus in effect type
62    E_Comp_Effect_Style focusout;       // indicate focus out effect type
63 };
64
65 struct _E_Comp_Effect_Job
66 {
67    Evas_Object   *o;
68    E_Comp_Canvas *canvas;
69    Ecore_X_Window win;
70    Ecore_X_Window cwin;
71    char           emission[1024];
72    char           src[1024];
73    Eina_Bool      emitted;
74    Eina_Bool      effect_obj;
75 };
76 #endif
77 #endif