Implement wayland subsurface support based on E_Client.
Summary: Support subsurface interface of wayland. Test Plan: 1. Build enlightenment on devs/devilhorns/e_comp_wl branch. 2. Run enlightenment. 3. Run weston-subsurfaces - should be built after removing code of gl surface (not yet implemented) - just comment out the line egl_state_create in function of demoapp_create() Reviewers: gwanglim, devilhorns Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D1182
This commit is contained in:
parent
a96d7290f5
commit
1370d6bd32
File diff suppressed because it is too large
Load Diff
|
@ -36,6 +36,7 @@
|
|||
|
||||
typedef struct _E_Comp_Wl_Buffer E_Comp_Wl_Buffer;
|
||||
typedef struct _E_Comp_Wl_Buffer_Ref E_Comp_Wl_Buffer_Ref;
|
||||
typedef struct _E_Comp_Wl_Subsurf E_Comp_Wl_Subsurf;
|
||||
|
||||
struct _E_Comp_Wl_Data
|
||||
{
|
||||
|
@ -164,10 +165,46 @@ struct _E_Comp_Wl_Buffer_Ref
|
|||
struct wl_listener destroy_listener;
|
||||
};
|
||||
|
||||
struct _E_Comp_Wl_Subsurf
|
||||
{
|
||||
struct wl_resource *resource;
|
||||
|
||||
E_Client *parent;
|
||||
|
||||
struct
|
||||
{
|
||||
int x, y;
|
||||
Eina_Bool set;
|
||||
} position;
|
||||
|
||||
struct
|
||||
{
|
||||
int x, y;
|
||||
|
||||
Eina_Bool has_data;
|
||||
Eina_Bool new_attach;
|
||||
|
||||
E_Comp_Wl_Buffer_Ref buffer_ref;
|
||||
|
||||
Eina_Tiler *damage;
|
||||
Eina_Tiler *opaque;
|
||||
Eina_Tiler *input;
|
||||
} cached;
|
||||
|
||||
Eina_Bool synchronized;
|
||||
};
|
||||
|
||||
struct _E_Comp_Wl_Client_Data
|
||||
{
|
||||
Ecore_Timer *first_draw_tmr;
|
||||
|
||||
struct
|
||||
{
|
||||
E_Comp_Wl_Subsurf *cdata;
|
||||
E_Client *restack_target;
|
||||
Eina_List *list;
|
||||
} sub;
|
||||
|
||||
/* regular surface resource (wl_compositor_create_surface) */
|
||||
struct wl_resource *surface;
|
||||
|
||||
|
|
Loading…
Reference in New Issue