From fcb560fca7e4d0e42c36bc6a652ce96bf83177c1 Mon Sep 17 00:00:00 2001 From: Chris Michael Date: Wed, 8 Jul 2015 14:59:52 -0400 Subject: [PATCH] e-comp-wl: Add screenshooter protocol files Signed-off-by: Chris Michael --- src/bin/e_comp_wl_screenshooter_server.c | 26 +++++++++++++ src/bin/e_comp_wl_screenshooter_server.h | 47 ++++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 src/bin/e_comp_wl_screenshooter_server.c create mode 100644 src/bin/e_comp_wl_screenshooter_server.h diff --git a/src/bin/e_comp_wl_screenshooter_server.c b/src/bin/e_comp_wl_screenshooter_server.c new file mode 100644 index 0000000000..5a3a8fb6a5 --- /dev/null +++ b/src/bin/e_comp_wl_screenshooter_server.c @@ -0,0 +1,26 @@ +#include +#include +#include "wayland-util.h" + +extern const struct wl_interface wl_buffer_interface; +extern const struct wl_interface wl_output_interface; + +static const struct wl_interface *types[] = { + &wl_output_interface, + &wl_buffer_interface, +}; + +static const struct wl_message screenshooter_requests[] = { + { "shoot", "oo", types + 0 }, +}; + +static const struct wl_message screenshooter_events[] = { + { "done", "", types + 0 }, +}; + +WL_EXPORT const struct wl_interface screenshooter_interface = { + "screenshooter", 1, + 1, screenshooter_requests, + 1, screenshooter_events, +}; + diff --git a/src/bin/e_comp_wl_screenshooter_server.h b/src/bin/e_comp_wl_screenshooter_server.h new file mode 100644 index 0000000000..43891243cf --- /dev/null +++ b/src/bin/e_comp_wl_screenshooter_server.h @@ -0,0 +1,47 @@ +#ifndef SCREENSHOOTER_SERVER_PROTOCOL_H +#define SCREENSHOOTER_SERVER_PROTOCOL_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include "wayland-server.h" + +struct wl_client; +struct wl_resource; + +struct screenshooter; +struct wl_buffer; +struct wl_output; + +extern const struct wl_interface screenshooter_interface; + +struct screenshooter_interface { + /** + * shoot - (none) + * @output: (none) + * @buffer: (none) + */ + void (*shoot)(struct wl_client *client, + struct wl_resource *resource, + struct wl_resource *output, + struct wl_resource *buffer); +}; + +#define SCREENSHOOTER_DONE 0 + +#define SCREENSHOOTER_DONE_SINCE_VERSION 1 + +static inline void +screenshooter_send_done(struct wl_resource *resource_) +{ + wl_resource_post_event(resource_, SCREENSHOOTER_DONE); +} + +#ifdef __cplusplus +} +#endif + +#endif -- 2.34.1