AC_SUBST(SHM_OPEN_LIBS)
if test "x${e_cv_want_wayland_only}" != "xno" || test "x${e_cv_want_wayland_clients}" != "xno";then
- PKG_CHECK_MODULES([WAYLAND], [wayland-server >= 1.8.0 xkbcommon uuid xdg-shell-server scaler-server screenshooter-server tizen-extension-server tizen-launch-server tizen-surface-server eom-server],
+ PKG_CHECK_MODULES([WAYLAND], [wayland-server >= 1.8.0 xkbcommon uuid xdg-shell-server scaler-server screenshooter-server tizen-extension-server tizen-launch-server eom-server],
[
have_wayland=yes
AC_DEFINE_UNQUOTED([HAVE_WAYLAND],[1],[enable wayland support])
BuildRequires: pkgconfig(tizen-launch-server)
BuildRequires: pkgconfig(wayland-tbm-server)
BuildRequires: pkgconfig(tizen-remote-surface-server)
-BuildRequires: pkgconfig(tizen-surface-server)
BuildRequires: pkgconfig(eom-server)
BuildRequires: pkgconfig(libtdm)
BuildRequires: pkgconfig(gbm)
src/bin/e_comp_wl_data.c \
src/bin/e_comp_wl_input.c \
src/bin/e_comp_wl.c \
+src/bin/tizen-surface-protocol.c \
$(ENLIGHTENMENTHEADERS)
if HAVE_WAYLAND_TBM
#include "e_comp_wl.h"
#include <wayland-tbm-server.h>
#include <tizen-extension-server-protocol.h>
-#include <tizen-surface-server-protocol.h>
+#include "tizen-surface-server.h"
#ifndef EGL_TEXTURE_RGBA
# define EGL_TEXTURE_RGBA 0x305E
#endif
--- /dev/null
+#include <stdlib.h>
+#include <stdint.h>
+#include "wayland-util.h"
+
+extern const struct wl_interface tizen_surface_shm_flusher_interface;
+extern const struct wl_interface wl_surface_interface;
+
+static const struct wl_interface *types[] = {
+ &tizen_surface_shm_flusher_interface,
+ &wl_surface_interface,
+};
+
+static const struct wl_message tizen_surface_shm_requests[] = {
+ { "get_flusher", "no", types + 0 },
+};
+
+WL_EXPORT const struct wl_interface tizen_surface_shm_interface = {
+ "tizen_surface_shm", 2,
+ 1, tizen_surface_shm_requests,
+ 0, NULL,
+};
+
+static const struct wl_message tizen_surface_shm_flusher_requests[] = {
+ { "destroy", "", types + 0 },
+};
+
+static const struct wl_message tizen_surface_shm_flusher_events[] = {
+ { "flush", "", types + 0 },
+ { "free_flush", "2", types + 0 },
+};
+
+WL_EXPORT const struct wl_interface tizen_surface_shm_flusher_interface = {
+ "tizen_surface_shm_flusher", 2,
+ 1, tizen_surface_shm_flusher_requests,
+ 2, tizen_surface_shm_flusher_events,
+};
+
--- /dev/null
+#ifndef TIZEN_SURFACE_SERVER_PROTOCOL_H
+#define TIZEN_SURFACE_SERVER_PROTOCOL_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdint.h>
+#include <stddef.h>
+#include "wayland-server.h"
+
+struct wl_client;
+struct wl_resource;
+
+struct tizen_surface_shm;
+struct tizen_surface_shm_flusher;
+struct wl_surface;
+
+extern const struct wl_interface tizen_surface_shm_interface;
+extern const struct wl_interface tizen_surface_shm_flusher_interface;
+
+struct tizen_surface_shm_interface {
+ /**
+ * get_flusher - (none)
+ * @id:
+ * @surface: surface object
+ */
+ void (*get_flusher)(struct wl_client *client,
+ struct wl_resource *resource,
+ uint32_t id,
+ struct wl_resource *surface);
+};
+
+
+struct tizen_surface_shm_flusher_interface {
+ /**
+ * destroy - (none)
+ */
+ void (*destroy)(struct wl_client *client,
+ struct wl_resource *resource);
+};
+
+#define TIZEN_SURFACE_SHM_FLUSHER_FLUSH 0
+#define TIZEN_SURFACE_SHM_FLUSHER_FREE_FLUSH 1
+
+#define TIZEN_SURFACE_SHM_FLUSHER_FLUSH_SINCE_VERSION 1
+#define TIZEN_SURFACE_SHM_FLUSHER_FREE_FLUSH_SINCE_VERSION 2
+
+static inline void
+tizen_surface_shm_flusher_send_flush(struct wl_resource *resource_)
+{
+ wl_resource_post_event(resource_, TIZEN_SURFACE_SHM_FLUSHER_FLUSH);
+}
+
+static inline void
+tizen_surface_shm_flusher_send_free_flush(struct wl_resource *resource_)
+{
+ wl_resource_post_event(resource_, TIZEN_SURFACE_SHM_FLUSHER_FREE_FLUSH);
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- /dev/null
+<protocol name="tizen_surface">
+ <interface name="tizen_surface_shm" version="2">
+ <request name="get_flusher">
+ <arg name="id" type="new_id" interface="tizen_surface_shm_flusher" summary=""/>
+ <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
+ </request>
+ </interface>
+
+ <interface name="tizen_surface_shm_flusher" version="2">
+ <request name="destroy" type="destructor" />
+ <event name="flush">
+ </event>
+ <event name="free_flush" since="2">
+ </event>
+ </interface>
+</protocol>