forked from enlightenment/efl
parent
410fb16d6c
commit
590d5745a9
|
@ -84,11 +84,13 @@ typedef struct _Ecore_Evas_Cursor Ecore_Evas_Cursor;
|
||||||
|
|
||||||
typedef Eina_Bool (*Ecore_Evas_Selection_Internal_Delivery)(Ecore_Evas *ee, unsigned int seat, Ecore_Evas_Selection_Buffer buffer, const char *type, Eina_Rw_Slice *slice);
|
typedef Eina_Bool (*Ecore_Evas_Selection_Internal_Delivery)(Ecore_Evas *ee, unsigned int seat, Ecore_Evas_Selection_Buffer buffer, const char *type, Eina_Rw_Slice *slice);
|
||||||
typedef void (*Ecore_Evas_Selection_Internal_Cancel)(Ecore_Evas *ee, unsigned int seat, Ecore_Evas_Selection_Buffer buffer);
|
typedef void (*Ecore_Evas_Selection_Internal_Cancel)(Ecore_Evas *ee, unsigned int seat, Ecore_Evas_Selection_Buffer buffer);
|
||||||
typedef struct {
|
typedef struct
|
||||||
|
{
|
||||||
Ecore_Evas_Selection_Internal_Delivery delivery;
|
Ecore_Evas_Selection_Internal_Delivery delivery;
|
||||||
Ecore_Evas_Selection_Internal_Cancel cancel;
|
Ecore_Evas_Selection_Internal_Cancel cancel;
|
||||||
Eina_Array *available_types;
|
Eina_Array *available_types;
|
||||||
} Ecore_Evas_Selection_Callbacks;
|
} Ecore_Evas_Selection_Callbacks;
|
||||||
|
|
||||||
/* Engines interfaces */
|
/* Engines interfaces */
|
||||||
struct _Ecore_Evas_Engine_Func
|
struct _Ecore_Evas_Engine_Func
|
||||||
{
|
{
|
||||||
|
@ -203,23 +205,27 @@ struct _Ecore_Evas_Engine
|
||||||
Eina_List *ifaces;
|
Eina_List *ifaces;
|
||||||
Ecore_Timer *idle_flush_timer;
|
Ecore_Timer *idle_flush_timer;
|
||||||
#ifdef BUILD_ECORE_EVAS_EWS
|
#ifdef BUILD_ECORE_EVAS_EWS
|
||||||
struct {
|
struct
|
||||||
Evas_Object *image;
|
{
|
||||||
} ews;
|
Evas_Object *image;
|
||||||
|
} ews;
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _Ecore_Evas_Cursor {
|
struct _Ecore_Evas_Cursor
|
||||||
|
{
|
||||||
Evas_Object *object;
|
Evas_Object *object;
|
||||||
int layer;
|
int layer;
|
||||||
struct {
|
struct
|
||||||
int x, y;
|
{
|
||||||
} hot;
|
int x, y;
|
||||||
|
} hot;
|
||||||
int pos_x;
|
int pos_x;
|
||||||
int pos_y;
|
int pos_y;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct {
|
typedef struct
|
||||||
|
{
|
||||||
unsigned int seat;
|
unsigned int seat;
|
||||||
Eina_Content *selection_buffer[ECORE_EVAS_SELECTION_BUFFER_LAST];
|
Eina_Content *selection_buffer[ECORE_EVAS_SELECTION_BUFFER_LAST];
|
||||||
} Ecore_Evas_Selection_Seat_Buffers;
|
} Ecore_Evas_Selection_Seat_Buffers;
|
||||||
|
@ -248,110 +254,121 @@ struct _Ecore_Evas
|
||||||
|
|
||||||
Eina_Hash *selection_buffers;
|
Eina_Hash *selection_buffers;
|
||||||
|
|
||||||
struct {
|
struct
|
||||||
int x, y, w, h;
|
{
|
||||||
} req;
|
int x, y, w, h;
|
||||||
|
} req;
|
||||||
|
|
||||||
struct {
|
struct
|
||||||
int l, r, t, b;
|
{
|
||||||
int changed : 1;
|
int l, r, t, b;
|
||||||
} shadow;
|
int changed : 1;
|
||||||
|
} shadow;
|
||||||
|
|
||||||
struct {
|
struct
|
||||||
int w, h;
|
{
|
||||||
} expecting_resize;
|
int w, h;
|
||||||
|
} expecting_resize;
|
||||||
|
|
||||||
struct {
|
struct
|
||||||
int w, h;
|
{
|
||||||
} framespace;
|
int w, h;
|
||||||
|
} framespace;
|
||||||
|
|
||||||
struct {
|
struct
|
||||||
Eina_Hash *cursors;
|
{
|
||||||
char *title;
|
Eina_Hash *cursors;
|
||||||
char *name;
|
char *title;
|
||||||
char *clas;
|
char *name;
|
||||||
struct {
|
char *clas;
|
||||||
char *name;
|
struct
|
||||||
char **available_list;
|
{
|
||||||
int count;
|
char *name;
|
||||||
} profile;
|
char **available_list;
|
||||||
struct {
|
int count;
|
||||||
int w, h;
|
} profile;
|
||||||
} min, max, base, step;
|
struct
|
||||||
Ecore_Evas_Cursor cursor_cache;
|
{
|
||||||
struct {
|
int w, h;
|
||||||
Eina_Bool supported; // indicate that the underlying window system supports window manager rotation protocol
|
} min, max, base, step;
|
||||||
Eina_Bool app_set; // indicate that the ee supports window manager rotation protocol
|
Ecore_Evas_Cursor cursor_cache;
|
||||||
Eina_Bool win_resize; // indicate that the ee will be resized by the WM
|
struct
|
||||||
int angle; // rotation value which is decided by the WM
|
{
|
||||||
int w, h; // window size to rotate
|
Eina_Bool supported; // indicate that the underlying window system supports window manager rotation protocol
|
||||||
int preferred_rot; // preferred rotation hint
|
Eina_Bool app_set; // indicate that the ee supports window manager rotation protocol
|
||||||
int *available_rots; // array of avaialable rotation values
|
Eina_Bool win_resize; // indicate that the ee will be resized by the WM
|
||||||
unsigned int count; // number of elements of available_rots
|
int angle; // rotation value which is decided by the WM
|
||||||
struct {
|
int w, h; // window size to rotate
|
||||||
Eina_Bool set;
|
int preferred_rot; // preferred rotation hint
|
||||||
Eina_Bool wait_for_done;
|
int *available_rots; // array of avaialable rotation values
|
||||||
Ecore_Timer *timer;
|
unsigned int count; // number of elements of available_rots
|
||||||
} manual_mode;
|
struct
|
||||||
} wm_rot;
|
{
|
||||||
struct {
|
Eina_Bool set;
|
||||||
Eina_List *supported_list;
|
Eina_Bool wait_for_done;
|
||||||
Eina_List *hints;
|
Ecore_Timer *timer;
|
||||||
int id;
|
} manual_mode;
|
||||||
} aux_hint;
|
} wm_rot;
|
||||||
Eina_List *focused_by;
|
struct
|
||||||
int layer;
|
{
|
||||||
Ecore_Window window;
|
Eina_List *supported_list;
|
||||||
unsigned char avoid_damage;
|
Eina_List *hints;
|
||||||
Ecore_Evas *group_ee;
|
int id;
|
||||||
Ecore_Window group_ee_win;
|
} aux_hint;
|
||||||
double aspect;
|
Eina_List *focused_by;
|
||||||
Eina_Bool iconified : 1;
|
int layer;
|
||||||
Eina_Bool borderless : 1;
|
Ecore_Window window;
|
||||||
Eina_Bool override : 1;
|
unsigned char avoid_damage;
|
||||||
Eina_Bool maximized : 1;
|
Ecore_Evas *group_ee;
|
||||||
Eina_Bool fullscreen : 1;
|
Ecore_Window group_ee_win;
|
||||||
Eina_Bool withdrawn : 1;
|
double aspect;
|
||||||
Eina_Bool sticky : 1;
|
Eina_Bool iconified : 1;
|
||||||
Eina_Bool request_pos : 1;
|
Eina_Bool borderless : 1;
|
||||||
Eina_Bool hwsurface : 1;
|
Eina_Bool override : 1;
|
||||||
Eina_Bool urgent : 1;
|
Eina_Bool maximized : 1;
|
||||||
Eina_Bool modal : 1;
|
Eina_Bool fullscreen : 1;
|
||||||
Eina_Bool demand_attention : 1;
|
Eina_Bool withdrawn : 1;
|
||||||
Eina_Bool focus_skip : 1;
|
Eina_Bool sticky : 1;
|
||||||
Eina_Bool focused : 1;
|
Eina_Bool request_pos : 1;
|
||||||
} prop;
|
Eina_Bool hwsurface : 1;
|
||||||
|
Eina_Bool urgent : 1;
|
||||||
|
Eina_Bool modal : 1;
|
||||||
|
Eina_Bool demand_attention : 1;
|
||||||
|
Eina_Bool focus_skip : 1;
|
||||||
|
Eina_Bool focused : 1;
|
||||||
|
} prop;
|
||||||
|
|
||||||
struct {
|
struct
|
||||||
void (*fn_resize) (Ecore_Evas *ee);
|
{
|
||||||
void (*fn_move) (Ecore_Evas *ee);
|
void (*fn_resize) (Ecore_Evas *ee);
|
||||||
void (*fn_show) (Ecore_Evas *ee);
|
void (*fn_move) (Ecore_Evas *ee);
|
||||||
void (*fn_hide) (Ecore_Evas *ee);
|
void (*fn_show) (Ecore_Evas *ee);
|
||||||
void (*fn_delete_request) (Ecore_Evas *ee);
|
void (*fn_hide) (Ecore_Evas *ee);
|
||||||
void (*fn_destroy) (Ecore_Evas *ee);
|
void (*fn_delete_request) (Ecore_Evas *ee);
|
||||||
void (*fn_focus_in) (Ecore_Evas *ee);
|
void (*fn_destroy) (Ecore_Evas *ee);
|
||||||
void (*fn_focus_out) (Ecore_Evas *ee);
|
void (*fn_focus_in) (Ecore_Evas *ee);
|
||||||
void (*fn_sticky) (Ecore_Evas *ee);
|
void (*fn_focus_out) (Ecore_Evas *ee);
|
||||||
void (*fn_unsticky) (Ecore_Evas *ee);
|
void (*fn_sticky) (Ecore_Evas *ee);
|
||||||
void (*fn_mouse_in) (Ecore_Evas *ee);
|
void (*fn_unsticky) (Ecore_Evas *ee);
|
||||||
void (*fn_mouse_out) (Ecore_Evas *ee);
|
void (*fn_mouse_in) (Ecore_Evas *ee);
|
||||||
void (*fn_pre_render) (Ecore_Evas *ee);
|
void (*fn_mouse_out) (Ecore_Evas *ee);
|
||||||
void (*fn_post_render) (Ecore_Evas *ee);
|
void (*fn_pre_render) (Ecore_Evas *ee);
|
||||||
void (*fn_pre_free) (Ecore_Evas *ee);
|
void (*fn_post_render) (Ecore_Evas *ee);
|
||||||
void (*fn_state_change) (Ecore_Evas *ee);
|
void (*fn_pre_free) (Ecore_Evas *ee);
|
||||||
void (*fn_msg_parent_handle) (Ecore_Evas *ee, int maj, int min, void *data, int size);
|
void (*fn_state_change) (Ecore_Evas *ee);
|
||||||
void (*fn_msg_handle) (Ecore_Evas *ee, int maj, int min, void *data, int size);
|
void (*fn_msg_parent_handle) (Ecore_Evas *ee, int maj, int min, void *data, int size);
|
||||||
void (*fn_pointer_xy_get) (const Ecore_Evas *ee, Evas_Coord *x, Evas_Coord *y);
|
void (*fn_msg_handle) (Ecore_Evas *ee, int maj, int min, void *data, int size);
|
||||||
Eina_Bool (*fn_pointer_warp) (const Ecore_Evas *ee, Evas_Coord x, Evas_Coord y);
|
void (*fn_pointer_xy_get) (const Ecore_Evas *ee, Evas_Coord *x, Evas_Coord *y);
|
||||||
void (*fn_focus_device_in) (Ecore_Evas *ee, Efl_Input_Device *seat);
|
Eina_Bool (*fn_pointer_warp) (const Ecore_Evas *ee, Evas_Coord x, Evas_Coord y);
|
||||||
void (*fn_focus_device_out) (Ecore_Evas *ee, Efl_Input_Device *seat);
|
void (*fn_focus_device_in) (Ecore_Evas *ee, Efl_Input_Device *seat);
|
||||||
void (*fn_device_mouse_in) (Ecore_Evas *ee, Efl_Input_Device *mouse);
|
void (*fn_focus_device_out) (Ecore_Evas *ee, Efl_Input_Device *seat);
|
||||||
void (*fn_device_mouse_out) (Ecore_Evas *ee, Efl_Input_Device *mouse);
|
void (*fn_device_mouse_in) (Ecore_Evas *ee, Efl_Input_Device *mouse);
|
||||||
void (*fn_selection_changed) (Ecore_Evas *ee, unsigned int seat, Ecore_Evas_Selection_Buffer selection);
|
void (*fn_device_mouse_out) (Ecore_Evas *ee, Efl_Input_Device *mouse);
|
||||||
void (*fn_dnd_motion) (Ecore_Evas *ee, unsigned int seat, Eina_Position2D p);
|
void (*fn_selection_changed) (Ecore_Evas *ee, unsigned int seat, Ecore_Evas_Selection_Buffer selection);
|
||||||
void (*fn_dnd_state_change) (Ecore_Evas *ee, unsigned int seat, Eina_Position2D p, Eina_Bool inside);
|
void (*fn_dnd_motion) (Ecore_Evas *ee, unsigned int seat, Eina_Position2D p);
|
||||||
void (*fn_dnd_drop)(Ecore_Evas *ee, unsigned int seat, Eina_Position2D p, const char *action);
|
void (*fn_dnd_state_change) (Ecore_Evas *ee, unsigned int seat, Eina_Position2D p, Eina_Bool inside);
|
||||||
} func;
|
void (*fn_dnd_drop)(Ecore_Evas *ee, unsigned int seat, Eina_Position2D p, const char *action);
|
||||||
|
} func;
|
||||||
|
|
||||||
Ecore_Evas_Engine engine;
|
Ecore_Evas_Engine engine;
|
||||||
Eina_List *sub_ecore_evas;
|
Eina_List *sub_ecore_evas;
|
||||||
|
@ -360,34 +377,37 @@ struct _Ecore_Evas
|
||||||
Ecore_Animator *anim;
|
Ecore_Animator *anim;
|
||||||
unsigned int animator_count;
|
unsigned int animator_count;
|
||||||
|
|
||||||
struct {
|
struct
|
||||||
Eina_Inlist *active;
|
{
|
||||||
Eina_Inlist *deleted;
|
Eina_Inlist *active;
|
||||||
Eina_Inlist *suspended;
|
Eina_Inlist *deleted;
|
||||||
Eina_Inlist *run_list;
|
Eina_Inlist *suspended;
|
||||||
} ee_anim;
|
Eina_Inlist *run_list;
|
||||||
|
} ee_anim;
|
||||||
|
|
||||||
struct {
|
struct
|
||||||
unsigned char avoid_damage;
|
{
|
||||||
unsigned char resize_shape : 1;
|
unsigned char avoid_damage;
|
||||||
unsigned char shaped : 1;
|
unsigned char resize_shape : 1;
|
||||||
unsigned char shaped_changed : 1;
|
unsigned char shaped : 1;
|
||||||
unsigned char alpha : 1;
|
unsigned char shaped_changed : 1;
|
||||||
unsigned char alpha_changed : 1;
|
unsigned char alpha : 1;
|
||||||
unsigned char transparent : 1;
|
unsigned char alpha_changed : 1;
|
||||||
unsigned char transparent_changed : 1;
|
unsigned char transparent : 1;
|
||||||
int rotation;
|
unsigned char transparent_changed : 1;
|
||||||
int rotation_resize;
|
int rotation;
|
||||||
unsigned char rotation_changed : 1;
|
int rotation_resize;
|
||||||
} delayed;
|
unsigned char rotation_changed : 1;
|
||||||
|
} delayed;
|
||||||
|
|
||||||
Eina_Hash *active_drags;
|
Eina_Hash *active_drags;
|
||||||
struct {
|
struct
|
||||||
Ecore_Evas *rep;
|
{
|
||||||
void *data;
|
Ecore_Evas *rep;
|
||||||
Ecore_Evas_Drag_Finished_Cb free;
|
void *data;
|
||||||
Eina_Bool accepted;
|
Ecore_Evas_Drag_Finished_Cb free;
|
||||||
} drag;
|
Eina_Bool accepted;
|
||||||
|
} drag;
|
||||||
|
|
||||||
int refcount;
|
int refcount;
|
||||||
//#define ECORE_EVAS_ASYNC_RENDER_DEBUG 1 /* TODO: remove me */
|
//#define ECORE_EVAS_ASYNC_RENDER_DEBUG 1 /* TODO: remove me */
|
||||||
|
@ -438,31 +458,31 @@ EAPI void _ecore_evas_mouse_move_process(Ecore_Evas *ee, int x, int y, unsigned
|
||||||
EAPI void _ecore_evas_mouse_device_move_process(Ecore_Evas *ee, Efl_Input_Device *pointer,
|
EAPI void _ecore_evas_mouse_device_move_process(Ecore_Evas *ee, Efl_Input_Device *pointer,
|
||||||
int x, int y, unsigned int timestamp);
|
int x, int y, unsigned int timestamp);
|
||||||
EAPI void _ecore_evas_mouse_multi_move_process(Ecore_Evas *ee, int device,
|
EAPI void _ecore_evas_mouse_multi_move_process(Ecore_Evas *ee, int device,
|
||||||
int x, int y,
|
int x, int y,
|
||||||
double radius,
|
double radius,
|
||||||
double radius_x, double radius_y,
|
double radius_x, double radius_y,
|
||||||
double pressure,
|
double pressure,
|
||||||
double angle,
|
double angle,
|
||||||
double mx, double my,
|
double mx, double my,
|
||||||
unsigned int timestamp);
|
unsigned int timestamp);
|
||||||
EAPI void _ecore_evas_mouse_multi_down_process(Ecore_Evas *ee, int device,
|
EAPI void _ecore_evas_mouse_multi_down_process(Ecore_Evas *ee, int device,
|
||||||
int x, int y,
|
int x, int y,
|
||||||
double radius,
|
double radius,
|
||||||
double radius_x, double radius_y,
|
double radius_x, double radius_y,
|
||||||
double pressure,
|
double pressure,
|
||||||
double angle,
|
double angle,
|
||||||
double mx, double my,
|
double mx, double my,
|
||||||
Evas_Button_Flags flags,
|
Evas_Button_Flags flags,
|
||||||
unsigned int timestamp);
|
unsigned int timestamp);
|
||||||
EAPI void _ecore_evas_mouse_multi_up_process(Ecore_Evas *ee, int device,
|
EAPI void _ecore_evas_mouse_multi_up_process(Ecore_Evas *ee, int device,
|
||||||
int x, int y,
|
int x, int y,
|
||||||
double radius,
|
double radius,
|
||||||
double radius_x, double radius_y,
|
double radius_x, double radius_y,
|
||||||
double pressure,
|
double pressure,
|
||||||
double angle,
|
double angle,
|
||||||
double mx, double my,
|
double mx, double my,
|
||||||
Evas_Button_Flags flags,
|
Evas_Button_Flags flags,
|
||||||
unsigned int timestamp);
|
unsigned int timestamp);
|
||||||
EAPI Eina_Bool _ecore_evas_input_direct_cb(void *window, int type, const void *info);
|
EAPI Eina_Bool _ecore_evas_input_direct_cb(void *window, int type, const void *info);
|
||||||
|
|
||||||
EAPI extern Eina_Bool _ecore_evas_app_comp_sync;
|
EAPI extern Eina_Bool _ecore_evas_app_comp_sync;
|
||||||
|
|
Loading…
Reference in New Issue