2014-06-26 06:28:43 -07:00
|
|
|
#ifdef E_TYPEDEFS
|
|
|
|
|
|
|
|
typedef struct _E_Pointer E_Pointer;
|
|
|
|
|
|
|
|
typedef enum
|
|
|
|
{
|
|
|
|
/* These are compatible with netwm */
|
|
|
|
E_POINTER_RESIZE_TL = 0,
|
|
|
|
E_POINTER_RESIZE_T = 1,
|
|
|
|
E_POINTER_RESIZE_TR = 2,
|
|
|
|
E_POINTER_RESIZE_R = 3,
|
|
|
|
E_POINTER_RESIZE_BR = 4,
|
|
|
|
E_POINTER_RESIZE_B = 5,
|
|
|
|
E_POINTER_RESIZE_BL = 6,
|
|
|
|
E_POINTER_RESIZE_L = 7,
|
|
|
|
E_POINTER_MOVE = 8,
|
|
|
|
E_POINTER_RESIZE_NONE = 11
|
|
|
|
} E_Pointer_Mode;
|
|
|
|
|
|
|
|
#else
|
|
|
|
# ifndef E_POINTER_H
|
|
|
|
# define E_POINTER_H
|
|
|
|
|
|
|
|
# define E_POINTER_TYPE 0xE0b01013
|
|
|
|
|
|
|
|
struct _E_Pointer
|
|
|
|
{
|
|
|
|
E_Object e_obj_inherit;
|
|
|
|
|
|
|
|
Evas *evas;
|
|
|
|
Ecore_Evas *ee;
|
2015-07-09 11:42:55 -07:00
|
|
|
Evas *buffer_evas;
|
2014-06-26 06:28:43 -07:00
|
|
|
Evas_Object *o_ptr;
|
|
|
|
Evas_Object *o_hot;
|
2015-07-09 11:42:55 -07:00
|
|
|
Evas_Object *buffer_o_ptr;
|
|
|
|
Evas_Object *buffer_o_hot;
|
2017-06-09 17:18:20 -07:00
|
|
|
struct
|
|
|
|
{
|
|
|
|
E_Client *ec;
|
|
|
|
int x, y;
|
|
|
|
} client;
|
2014-06-26 06:28:43 -07:00
|
|
|
|
|
|
|
Ecore_Window win;
|
|
|
|
|
2014-08-28 08:00:22 -07:00
|
|
|
int *pixels;
|
2014-06-26 06:28:43 -07:00
|
|
|
int x, y, w, h;
|
|
|
|
const char *type;
|
2017-11-14 01:15:26 -08:00
|
|
|
const char *deferred_type;
|
2014-06-26 06:28:43 -07:00
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
int x, y;
|
2017-11-06 09:46:08 -08:00
|
|
|
Eina_Bool update E_BITFIELD;
|
2014-06-26 06:28:43 -07:00
|
|
|
} hot;
|
|
|
|
|
|
|
|
Ecore_Timer *idle_tmr;
|
|
|
|
Ecore_Poller *idle_poll;
|
|
|
|
|
|
|
|
Eina_List *stack;
|
|
|
|
|
2017-11-14 01:15:26 -08:00
|
|
|
unsigned short grabcount;
|
|
|
|
|
2017-11-06 09:46:08 -08:00
|
|
|
Eina_Bool e_cursor E_BITFIELD;
|
|
|
|
Eina_Bool color E_BITFIELD;
|
|
|
|
Eina_Bool idle E_BITFIELD;
|
|
|
|
Eina_Bool canvas E_BITFIELD;
|
2014-06-26 06:28:43 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
EINTERN int e_pointer_init(void);
|
|
|
|
EINTERN int e_pointer_shutdown(void);
|
2017-07-14 15:44:22 -07:00
|
|
|
EINTERN void e_pointers_freeze_set(Eina_Bool set);
|
2014-06-26 06:28:43 -07:00
|
|
|
|
2015-05-07 12:13:10 -07:00
|
|
|
E_API E_Pointer *e_pointer_window_new(Ecore_Window win, Eina_Bool filled);
|
|
|
|
E_API E_Pointer *e_pointer_canvas_new(Ecore_Evas *ee, Eina_Bool filled);
|
2014-06-26 06:28:43 -07:00
|
|
|
|
2015-05-07 12:13:10 -07:00
|
|
|
E_API void e_pointers_size_set(int size);
|
|
|
|
E_API void e_pointer_hide(E_Pointer *ptr);
|
2017-02-03 12:13:48 -08:00
|
|
|
E_API void e_pointer_show(E_Pointer *ptr);
|
2015-05-07 12:13:10 -07:00
|
|
|
E_API void e_pointer_type_push(E_Pointer *ptr, void *obj, const char *type);
|
|
|
|
E_API void e_pointer_type_pop(E_Pointer *ptr, void *obj, const char *type);
|
|
|
|
E_API void e_pointer_mode_push(void *obj, E_Pointer_Mode mode);
|
|
|
|
E_API void e_pointer_mode_pop(void *obj, E_Pointer_Mode mode);
|
|
|
|
E_API void e_pointer_idler_before(void);
|
|
|
|
E_API void e_pointer_object_set(E_Pointer *ptr, Evas_Object *obj, int x, int y);
|
2015-07-10 10:04:12 -07:00
|
|
|
E_API void e_pointer_window_add(E_Pointer *ptr, Ecore_Window win);
|
2017-11-14 01:15:26 -08:00
|
|
|
E_API void e_pointer_grab_set(E_Pointer *ptr, Eina_Bool grab);
|
2014-06-26 06:28:43 -07:00
|
|
|
# endif
|
|
|
|
#endif
|