Tizen 2.1 release
[platform/core/uifw/e17.git] / src / bin / e_pointer.h
1 #ifdef E_TYPEDEFS
2
3 typedef struct _E_Pointer E_Pointer;
4
5 #else
6 #ifndef E_POINTER_H
7 #define E_POINTER_H
8
9 #define E_POINTER_TYPE 0xE0b01013
10
11 struct _E_Pointer
12 {
13    E_Object e_obj_inherit;
14
15    unsigned char     e_cursor : 1;
16    unsigned char     color : 1;
17    unsigned char     idle : 1;
18
19    Evas             *evas;
20    Evas_Object      *pointer_object;
21    Evas_Object      *hot_object;
22    int              *pixels;
23    Ecore_X_Window    win;
24    int               w, h;
25    Ecore_Timer      *idle_timer;
26    Ecore_Poller     *idle_poller;
27    int               x, y;
28
29    const char       *type;
30    void             *obj;
31    Eina_List        *stack;
32
33    struct {
34       int            x, y;
35       unsigned char  update : 1;
36    } hot;
37 };
38
39 EINTERN int        e_pointer_init(void);
40 EINTERN int        e_pointer_shutdown(void);
41 EAPI E_Pointer *e_pointer_window_new(Ecore_X_Window win, int filled);
42 EAPI void       e_pointer_hide(E_Pointer *p);
43 EAPI void       e_pointer_type_push(E_Pointer *p, void *obj, const char *type);
44 EAPI void       e_pointer_type_pop(E_Pointer *p, void *obj, const char *type);
45 EAPI void       e_pointers_size_set(int size);
46 EAPI void       e_pointer_idler_before(void);
47
48 #endif
49 #endif