get rid of unused e_pixmap parameter of ELOG
[platform/core/uifw/e-mod-tizen-effect.git] / src / e_mod_effect.h
1 #ifndef E_MOD_EFFECT_H
2 # define E_MOD_EFFECT_H
3
4 # include <e.h>
5 # include <tizen-extension-server-protocol.h>
6
7 #define EFFINF(f, ec, x...) ELOGF("EFFECT", f, ec, ##x)
8 #define EFFDBG(f, ec, x...)                                \
9    do                                                      \
10      {                                                     \
11         if ((!ec))                                         \
12           DBG("EWL|%20.20s|             |             |"f, \
13               "EFFECT", ##x);                              \
14         else                                               \
15           DBG("EWL|%20.20s|             |ec:0x%08x|"f,     \
16               "EFFECT",                                    \
17               (unsigned int)(ec),                          \
18               ##x);                                        \
19      }                                                     \
20    while (0)
21
22 typedef struct _E_Effect E_Effect;
23 typedef enum _E_Effect_Type E_Effect_Type;
24 typedef enum _E_Effect_Group E_Effect_Group;
25
26 enum _E_Effect_Type
27 {
28    E_EFFECT_TYPE_SHOW,
29    E_EFFECT_TYPE_HIDE,
30    E_EFFECT_TYPE_ICONIFY,
31    E_EFFECT_TYPE_UNICONIFY,
32    E_EFFECT_TYPE_RESTACK_SHOW,
33    E_EFFECT_TYPE_RESTACK_HIDE,
34    E_EFFECT_TYPE_LAUNCH,
35    E_EFFECT_TYPE_NONE,
36 };
37
38 enum _E_Effect_Group
39 {
40    E_EFFECT_GROUP_NORMAL,
41    E_EFFECT_GROUP_HOME,
42    E_EFFECT_GROUP_LOCKSCREEN,
43    E_EFFECT_GROUP_KEYBOARD,
44    E_EFFECT_GROUP_BACKGROUND,
45    E_EFFECT_GROUP_NONE,
46 };
47
48 struct _E_Effect
49 {
50    struct wl_global *global;
51    Eina_Hash *resources;
52    const char *file;
53    const char *style;
54
55    Eina_List *providers;
56    Eina_List *event_hdlrs;
57    Eina_List *hooks_ec;
58
59    Eina_Hash *clients;
60
61    struct {
62         Evas_Object *obj;
63    }layers[E_CLIENT_LAYER_COUNT];
64
65    struct {
66       Eina_List *old;
67       Eina_List *cur;
68    } stack;
69
70    struct {
71       Edje_Signal_Cb cb;
72       E_Client *ec;
73       void *data;
74       E_Effect_Type type;
75    } next_done;
76
77    Eina_List *under_layers;
78    Eina_Bool under_checked;
79 };
80
81 EAPI Eina_Bool e_mod_effect_init(void);
82 EAPI void e_mod_effect_shutdown(void);
83
84 #endif