devilhorns pushed a commit to branch devs/devilhorns/wayland.
commit ec4cca9622485de55390ecde3a362d577f4c5ddd
Author: Chris Michael <[email protected]>
Date: Wed Mar 6 13:09:45 2013 +0000
Add new header for wayland client compositing code.
Signed-off-by: Chris Michael <[email protected]>
---
src/bin/e_comp_wl.h | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 102 insertions(+)
diff --git a/src/bin/e_comp_wl.h b/src/bin/e_comp_wl.h
index 2918124..ec5cc8c 100644
--- a/src/bin/e_comp_wl.h
+++ b/src/bin/e_comp_wl.h
@@ -5,6 +5,108 @@
# include <wayland-server.h>
+# define LOGFNS 1
+
+# ifdef LOGFNS
+# include <stdio.h>
+# define LOGFN(fl, ln, fn) printf("-E-COMP-WL: %25s: %5i - %s\n", fl, ln, fn);
+# else
+# define LOGFN(fl, ln, fn)
+# endif
+
+# define container_of(ptr, type, member) ({ \
+ const __typeof__(((type *)0)->member) *__mptr = (ptr); \
+ (type *)((char *)__mptr - offsetof(type,member));})
+
+/* local structures */
+typedef enum _E_Wayland_Compositor_State E_Wayland_Compositor_State;
+typedef struct _E_Wayland_Compositor E_Wayland_Compositor;
+typedef struct _E_Wayland_Surface E_Wayland_Surface;
+typedef struct _E_Wayland_Region E_Wayland_Region;
+typedef struct _E_Wayland_Frame_Cb E_Wayland_Frame_Cb;
+
+enum _E_Wayland_Compositor_State
+{
+ E_WAYLAND_COMPOSITOR_STATE_ACTIVE,
+ E_WAYLAND_COMPOSITOR_STATE_IDLE,
+ E_WAYLAND_COMPOSITOR_STATE_SLEEPING
+};
+
+struct _E_Wayland_Compositor
+{
+ struct
+ {
+ struct wl_display *display;
+
+ struct
+ {
+ struct wl_signal destroy;
+ struct wl_signal activate;
+ struct wl_signal kill;
+ struct wl_signal idle;
+ struct wl_signal wake;
+ struct wl_signal seat;
+ } signals;
+
+ struct
+ {
+ struct wl_list surface;
+ } lists;
+
+ } wl;
+
+ Ecore_Fd_Handler *fd_handler;
+};
+
+struct _E_Wayland_Surface
+{
+ struct
+ {
+ struct wl_surface surface;
+
+ struct wl_list link;
+ struct wl_list frames;
+ } wl;
+
+ E_Win *win;
+ Evas_Object *img;
+
+ E_Wayland_Region *opaque;
+ E_Wayland_Region *input;
+
+ Evas_Coord width, height;
+ Eina_Tiler *damages;
+
+ struct
+ {
+ struct wl_buffer *buffer;
+ struct wl_listener buffer_destroy;
+ struct wl_list frames;
+
+ Eina_Bool remove_buffer : 1;
+ } pending;
+};
+
+struct _E_Wayland_Region
+{
+ struct
+ {
+ struct wl_resource resource;
+ } wl;
+
+ Eina_Tiler *tiler;
+};
+
+struct _E_Wayland_Frame_Cb
+{
+ struct
+ {
+ struct wl_resource resource;
+ struct wl_list link;
+ } wl;
+};
+
+/* external function prototypes */
Eina_Bool e_comp_wl_init(void);
void e_comp_wl_shutdown(void);
--
------------------------------------------------------------------------------
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester
Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the
endpoint security space. For insight on selecting the right partner to
tackle endpoint security challenges, access the full report.
http://p.sf.net/sfu/symantec-dev2dev