forked from enlightenment/enlightenment
Add structures for a buffer and reference to a buffer.
Switch client_data structure to use eina_tiler for input, opaque, damage regions. Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit is contained in:
parent
1d1d82ea12
commit
c6a3d4cfca
|
@ -23,6 +23,15 @@
|
||||||
# define BTN_BACK 0x116
|
# define BTN_BACK 0x116
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
# define container_of(ptr, type, member) \
|
||||||
|
({ \
|
||||||
|
const __typeof__( ((type *)0)->member ) *__mptr = (ptr); \
|
||||||
|
(type *)( (char *)__mptr - offsetof(type,member) ); \
|
||||||
|
})
|
||||||
|
|
||||||
|
typedef struct _E_Comp_Wl_Buffer E_Comp_Wl_Buffer;
|
||||||
|
typedef struct _E_Comp_Wl_Buffer_Ref E_Comp_Wl_Buffer_Ref;
|
||||||
|
|
||||||
struct _E_Comp_Wl_Data
|
struct _E_Comp_Wl_Data
|
||||||
{
|
{
|
||||||
struct
|
struct
|
||||||
|
@ -120,13 +129,28 @@ struct _E_Comp_Wl_Data
|
||||||
Eina_Bool restack : 1;
|
Eina_Bool restack : 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct _E_Comp_Wl_Buffer
|
||||||
|
{
|
||||||
|
struct wl_resource *resource;
|
||||||
|
struct wl_signal destroy_signal;
|
||||||
|
struct wl_listener destroy_listener;
|
||||||
|
union
|
||||||
|
{
|
||||||
|
struct wl_shm_buffer *shm_buffer;
|
||||||
|
void *legacy_buffer;
|
||||||
|
};
|
||||||
|
int32_t w, h;
|
||||||
|
uint32_t busy;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _E_Comp_Wl_Buffer_Ref
|
||||||
|
{
|
||||||
|
E_Comp_Wl_Buffer *buffer;
|
||||||
|
struct wl_listener destroy_listener;
|
||||||
|
};
|
||||||
|
|
||||||
struct _E_Comp_Wl_Client_Data
|
struct _E_Comp_Wl_Client_Data
|
||||||
{
|
{
|
||||||
Eina_Rectangle *input;
|
|
||||||
Eina_Rectangle *opaque;
|
|
||||||
Eina_Rectangle *shape;
|
|
||||||
Eina_Rectangle *damage;
|
|
||||||
|
|
||||||
Ecore_Timer *first_draw_tmr;
|
Ecore_Timer *first_draw_tmr;
|
||||||
|
|
||||||
/* regular surface resource (wl_compositor_create_surface) */
|
/* regular surface resource (wl_compositor_create_surface) */
|
||||||
|
@ -146,11 +170,17 @@ struct _E_Comp_Wl_Client_Data
|
||||||
void (*unmap)(struct wl_resource *resource);
|
void (*unmap)(struct wl_resource *resource);
|
||||||
} shell;
|
} shell;
|
||||||
|
|
||||||
|
E_Comp_Wl_Buffer_Ref buffer_ref;
|
||||||
|
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
int32_t x, y, w, h;
|
int32_t x, y, w, h;
|
||||||
struct wl_resource *buffer;
|
E_Comp_Wl_Buffer *buffer;
|
||||||
|
struct wl_listener buffer_destroy;
|
||||||
Eina_Bool new_attach : 1;
|
Eina_Bool new_attach : 1;
|
||||||
|
Eina_Tiler *damage;
|
||||||
|
Eina_Tiler *input;
|
||||||
|
Eina_Tiler *opaque;
|
||||||
} pending;
|
} pending;
|
||||||
|
|
||||||
struct
|
struct
|
||||||
|
|
Loading…
Reference in New Issue