display-wayland: Replace scaler with viewporter
authorPrasad, Ram <x0038811@ti.com>
Tue, 5 Jun 2018 17:36:30 +0000 (17:36 +0000)
committerRamprasad N <x0038811@ti.com>
Fri, 15 Jun 2018 05:41:10 +0000 (11:11 +0530)
scaler protocol is no more supported with wayland-protocols
and has been replaced with viewporter protocols

Signed-off-by: Ramprasad N <x0038811@ti.com>
util/Makefile.am
util/display-wayland.c
util/viewporter-client-protocol.h [new file with mode: 0644]
util/viewporter-protocol.c [new file with mode: 0644]
util/wayland-scaler-client-protocol.h [deleted file]
util/wayland-scaler-protocol.c [deleted file]

index 23f868d3d27f28dd05bf04d5a74dd6ed7d937af3..2bfcb5e2dd852add4e23c1021a15a8ee943373d9 100644 (file)
@@ -35,7 +35,7 @@ libutil_la_SOURCES += display-kmscube.c esTransform.c
 endif
 
 if ENABLE_WAYLAND
-libutil_la_SOURCES += display-wayland.c wayland-drm-protocol.c wayland-scaler-protocol.c
+libutil_la_SOURCES += display-wayland.c wayland-drm-protocol.c viewporter-protocol.c
 libutil_la_CFLAGS = @DRM_CFLAGS@
 libutil_la_LDFLAGS = -lwayland-client -lwayland-cursor -ldrm -ldrm_omap -lpthread -lpvr_wlegl -lavcodec
 
index e41040f30776561b0b834081c540075f4a5620ba..a044788c4133e901793051e8d0d4be5094c2a94c 100644 (file)
@@ -24,7 +24,7 @@
 #include <xf86drmMode.h>
 #include <wayland-client.h>
 #include <wayland-drm-client-protocol.h>
-#include <wayland-scaler-client-protocol.h>
+#include <viewporter-client-protocol.h>
 
 /* NOTE: healthy dose of recycling from libdrm modetest app.. */
 
@@ -40,8 +40,8 @@ struct display_wl {
        struct wl_shell *shell;
        struct wl_drm *drm;
        struct wl_callback *callback;
-       struct wl_viewport *viewport;
-       struct wl_scaler *scaler;
+       struct wp_viewport *viewport;
+       struct wp_viewporter *viewporter;
        pthread_t threadID;
 };
 
@@ -259,10 +259,9 @@ post_vid_buffer(struct display *disp, struct buffer *buf,
        wl_surface_attach(disp_wl->surface, buf_wl->wl_buf, 0, 0);
        wl_surface_damage(disp_wl->surface,
                        0, 0, disp->width, disp->height);
-       wl_viewport_set(disp_wl->viewport,
+       wp_viewport_set_source(disp_wl->viewport,
                        wl_fixed_from_int(x), wl_fixed_from_int(y),
-                       wl_fixed_from_int(w), wl_fixed_from_int(h),
-                       disp->width, disp->height);
+                       wl_fixed_from_int(w), wl_fixed_from_int(h));
 
        if (disp_wl->callback)
                wl_callback_destroy(disp_wl->callback);
@@ -314,9 +313,9 @@ registry_handle_global(void *data, struct wl_registry *registry, uint32_t id,
        } else if (strcmp(interface, "wl_drm") == 0) {
                disp_wl->drm = wl_registry_bind(registry, id,
                        &wl_drm_interface, 1);
-       } else if (strcmp(interface, "wl_scaler") == 0) {
-               disp_wl->scaler = wl_registry_bind(registry, id,
-                       &wl_scaler_interface, 2);
+       } else if (strcmp(interface, "wp_viewporter") == 0) {
+               disp_wl->viewporter = wl_registry_bind(registry, id,
+                       &wp_viewporter_interface, 1);
        }
 }
 
@@ -427,8 +426,9 @@ disp_wayland_open(int argc, char **argv)
        region = wl_compositor_create_region(disp_wl->compositor);
        wl_region_add(region, 0, 0, disp->width, disp->height);
 
-       disp_wl->viewport = wl_scaler_get_viewport(disp_wl->scaler,
+       disp_wl->viewport = wp_viewporter_get_viewport(disp_wl->viewporter,
                                                disp_wl->surface);
+       wp_viewport_set_destination(disp_wl->viewport, width, height);
 
        ret = pthread_create(&disp_wl->threadID, NULL, wayland_ev_task, disp_wl);
        if(ret) {
diff --git a/util/viewporter-client-protocol.h b/util/viewporter-client-protocol.h
new file mode 100644 (file)
index 0000000..76af360
--- /dev/null
@@ -0,0 +1,408 @@
+/* Generated by wayland-scanner 1.13.0 */
+
+#ifndef VIEWPORTER_CLIENT_PROTOCOL_H
+#define VIEWPORTER_CLIENT_PROTOCOL_H
+
+#include <stdint.h>
+#include <stddef.h>
+#include "wayland-client.h"
+
+#ifdef  __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @page page_viewporter The viewporter protocol
+ * @section page_ifaces_viewporter Interfaces
+ * - @subpage page_iface_wp_viewporter - surface cropping and scaling
+ * - @subpage page_iface_wp_viewport - crop and scale interface to a wl_surface
+ * @section page_copyright_viewporter Copyright
+ * <pre>
+ *
+ * Copyright © 2013-2016 Collabora, Ltd.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ * </pre>
+ */
+struct wl_surface;
+struct wp_viewport;
+struct wp_viewporter;
+
+/**
+ * @page page_iface_wp_viewporter wp_viewporter
+ * @section page_iface_wp_viewporter_desc Description
+ *
+ * The global interface exposing surface cropping and scaling
+ * capabilities is used to instantiate an interface extension for a
+ * wl_surface object. This extended interface will then allow
+ * cropping and scaling the surface contents, effectively
+ * disconnecting the direct relationship between the buffer and the
+ * surface size.
+ * @section page_iface_wp_viewporter_api API
+ * See @ref iface_wp_viewporter.
+ */
+/**
+ * @defgroup iface_wp_viewporter The wp_viewporter interface
+ *
+ * The global interface exposing surface cropping and scaling
+ * capabilities is used to instantiate an interface extension for a
+ * wl_surface object. This extended interface will then allow
+ * cropping and scaling the surface contents, effectively
+ * disconnecting the direct relationship between the buffer and the
+ * surface size.
+ */
+extern const struct wl_interface wp_viewporter_interface;
+/**
+ * @page page_iface_wp_viewport wp_viewport
+ * @section page_iface_wp_viewport_desc Description
+ *
+ * An additional interface to a wl_surface object, which allows the
+ * client to specify the cropping and scaling of the surface
+ * contents.
+ *
+ * This interface works with two concepts: the source rectangle (src_x,
+ * src_y, src_width, src_height), and the destination size (dst_width,
+ * dst_height). The contents of the source rectangle are scaled to the
+ * destination size, and content outside the source rectangle is ignored.
+ * This state is double-buffered, and is applied on the next
+ * wl_surface.commit.
+ *
+ * The two parts of crop and scale state are independent: the source
+ * rectangle, and the destination size. Initially both are unset, that
+ * is, no scaling is applied. The whole of the current wl_buffer is
+ * used as the source, and the surface size is as defined in
+ * wl_surface.attach.
+ *
+ * If the destination size is set, it causes the surface size to become
+ * dst_width, dst_height. The source (rectangle) is scaled to exactly
+ * this size. This overrides whatever the attached wl_buffer size is,
+ * unless the wl_buffer is NULL. If the wl_buffer is NULL, the surface
+ * has no content and therefore no size. Otherwise, the size is always
+ * at least 1x1 in surface local coordinates.
+ *
+ * If the source rectangle is set, it defines what area of the wl_buffer is
+ * taken as the source. If the source rectangle is set and the destination
+ * size is not set, then src_width and src_height must be integers, and the
+ * surface size becomes the source rectangle size. This results in cropping
+ * without scaling. If src_width or src_height are not integers and
+ * destination size is not set, the bad_size protocol error is raised when
+ * the surface state is applied.
+ *
+ * The coordinate transformations from buffer pixel coordinates up to
+ * the surface-local coordinates happen in the following order:
+ * 1. buffer_transform (wl_surface.set_buffer_transform)
+ * 2. buffer_scale (wl_surface.set_buffer_scale)
+ * 3. crop and scale (wp_viewport.set*)
+ * This means, that the source rectangle coordinates of crop and scale
+ * are given in the coordinates after the buffer transform and scale,
+ * i.e. in the coordinates that would be the surface-local coordinates
+ * if the crop and scale was not applied.
+ *
+ * If src_x or src_y are negative, the bad_value protocol error is raised.
+ * Otherwise, if the source rectangle is partially or completely outside of
+ * the non-NULL wl_buffer, then the out_of_buffer protocol error is raised
+ * when the surface state is applied. A NULL wl_buffer does not raise the
+ * out_of_buffer error.
+ *
+ * The x, y arguments of wl_surface.attach are applied as normal to
+ * the surface. They indicate how many pixels to remove from the
+ * surface size from the left and the top. In other words, they are
+ * still in the surface-local coordinate system, just like dst_width
+ * and dst_height are.
+ *
+ * If the wl_surface associated with the wp_viewport is destroyed,
+ * all wp_viewport requests except 'destroy' raise the protocol error
+ * no_surface.
+ *
+ * If the wp_viewport object is destroyed, the crop and scale
+ * state is removed from the wl_surface. The change will be applied
+ * on the next wl_surface.commit.
+ * @section page_iface_wp_viewport_api API
+ * See @ref iface_wp_viewport.
+ */
+/**
+ * @defgroup iface_wp_viewport The wp_viewport interface
+ *
+ * An additional interface to a wl_surface object, which allows the
+ * client to specify the cropping and scaling of the surface
+ * contents.
+ *
+ * This interface works with two concepts: the source rectangle (src_x,
+ * src_y, src_width, src_height), and the destination size (dst_width,
+ * dst_height). The contents of the source rectangle are scaled to the
+ * destination size, and content outside the source rectangle is ignored.
+ * This state is double-buffered, and is applied on the next
+ * wl_surface.commit.
+ *
+ * The two parts of crop and scale state are independent: the source
+ * rectangle, and the destination size. Initially both are unset, that
+ * is, no scaling is applied. The whole of the current wl_buffer is
+ * used as the source, and the surface size is as defined in
+ * wl_surface.attach.
+ *
+ * If the destination size is set, it causes the surface size to become
+ * dst_width, dst_height. The source (rectangle) is scaled to exactly
+ * this size. This overrides whatever the attached wl_buffer size is,
+ * unless the wl_buffer is NULL. If the wl_buffer is NULL, the surface
+ * has no content and therefore no size. Otherwise, the size is always
+ * at least 1x1 in surface local coordinates.
+ *
+ * If the source rectangle is set, it defines what area of the wl_buffer is
+ * taken as the source. If the source rectangle is set and the destination
+ * size is not set, then src_width and src_height must be integers, and the
+ * surface size becomes the source rectangle size. This results in cropping
+ * without scaling. If src_width or src_height are not integers and
+ * destination size is not set, the bad_size protocol error is raised when
+ * the surface state is applied.
+ *
+ * The coordinate transformations from buffer pixel coordinates up to
+ * the surface-local coordinates happen in the following order:
+ * 1. buffer_transform (wl_surface.set_buffer_transform)
+ * 2. buffer_scale (wl_surface.set_buffer_scale)
+ * 3. crop and scale (wp_viewport.set*)
+ * This means, that the source rectangle coordinates of crop and scale
+ * are given in the coordinates after the buffer transform and scale,
+ * i.e. in the coordinates that would be the surface-local coordinates
+ * if the crop and scale was not applied.
+ *
+ * If src_x or src_y are negative, the bad_value protocol error is raised.
+ * Otherwise, if the source rectangle is partially or completely outside of
+ * the non-NULL wl_buffer, then the out_of_buffer protocol error is raised
+ * when the surface state is applied. A NULL wl_buffer does not raise the
+ * out_of_buffer error.
+ *
+ * The x, y arguments of wl_surface.attach are applied as normal to
+ * the surface. They indicate how many pixels to remove from the
+ * surface size from the left and the top. In other words, they are
+ * still in the surface-local coordinate system, just like dst_width
+ * and dst_height are.
+ *
+ * If the wl_surface associated with the wp_viewport is destroyed,
+ * all wp_viewport requests except 'destroy' raise the protocol error
+ * no_surface.
+ *
+ * If the wp_viewport object is destroyed, the crop and scale
+ * state is removed from the wl_surface. The change will be applied
+ * on the next wl_surface.commit.
+ */
+extern const struct wl_interface wp_viewport_interface;
+
+#ifndef WP_VIEWPORTER_ERROR_ENUM
+#define WP_VIEWPORTER_ERROR_ENUM
+enum wp_viewporter_error {
+       /**
+        * the surface already has a viewport object associated
+        */
+       WP_VIEWPORTER_ERROR_VIEWPORT_EXISTS = 0,
+};
+#endif /* WP_VIEWPORTER_ERROR_ENUM */
+
+#define WP_VIEWPORTER_DESTROY 0
+#define WP_VIEWPORTER_GET_VIEWPORT 1
+
+
+/**
+ * @ingroup iface_wp_viewporter
+ */
+#define WP_VIEWPORTER_DESTROY_SINCE_VERSION 1
+/**
+ * @ingroup iface_wp_viewporter
+ */
+#define WP_VIEWPORTER_GET_VIEWPORT_SINCE_VERSION 1
+
+/** @ingroup iface_wp_viewporter */
+static inline void
+wp_viewporter_set_user_data(struct wp_viewporter *wp_viewporter, void *user_data)
+{
+       wl_proxy_set_user_data((struct wl_proxy *) wp_viewporter, user_data);
+}
+
+/** @ingroup iface_wp_viewporter */
+static inline void *
+wp_viewporter_get_user_data(struct wp_viewporter *wp_viewporter)
+{
+       return wl_proxy_get_user_data((struct wl_proxy *) wp_viewporter);
+}
+
+static inline uint32_t
+wp_viewporter_get_version(struct wp_viewporter *wp_viewporter)
+{
+       return wl_proxy_get_version((struct wl_proxy *) wp_viewporter);
+}
+
+/**
+ * @ingroup iface_wp_viewporter
+ *
+ * Informs the server that the client will not be using this
+ * protocol object anymore. This does not affect any other objects,
+ * wp_viewport objects included.
+ */
+static inline void
+wp_viewporter_destroy(struct wp_viewporter *wp_viewporter)
+{
+       wl_proxy_marshal((struct wl_proxy *) wp_viewporter,
+                        WP_VIEWPORTER_DESTROY);
+
+       wl_proxy_destroy((struct wl_proxy *) wp_viewporter);
+}
+
+/**
+ * @ingroup iface_wp_viewporter
+ *
+ * Instantiate an interface extension for the given wl_surface to
+ * crop and scale its content. If the given wl_surface already has
+ * a wp_viewport object associated, the viewport_exists
+ * protocol error is raised.
+ */
+static inline struct wp_viewport *
+wp_viewporter_get_viewport(struct wp_viewporter *wp_viewporter, struct wl_surface *surface)
+{
+       struct wl_proxy *id;
+
+       id = wl_proxy_marshal_constructor((struct wl_proxy *) wp_viewporter,
+                        WP_VIEWPORTER_GET_VIEWPORT, &wp_viewport_interface, NULL, surface);
+
+       return (struct wp_viewport *) id;
+}
+
+#ifndef WP_VIEWPORT_ERROR_ENUM
+#define WP_VIEWPORT_ERROR_ENUM
+enum wp_viewport_error {
+       /**
+        * negative or zero values in width or height
+        */
+       WP_VIEWPORT_ERROR_BAD_VALUE = 0,
+       /**
+        * destination size is not integer
+        */
+       WP_VIEWPORT_ERROR_BAD_SIZE = 1,
+       /**
+        * source rectangle extends outside of the content area
+        */
+       WP_VIEWPORT_ERROR_OUT_OF_BUFFER = 2,
+       /**
+        * the wl_surface was destroyed
+        */
+       WP_VIEWPORT_ERROR_NO_SURFACE = 3,
+};
+#endif /* WP_VIEWPORT_ERROR_ENUM */
+
+#define WP_VIEWPORT_DESTROY 0
+#define WP_VIEWPORT_SET_SOURCE 1
+#define WP_VIEWPORT_SET_DESTINATION 2
+
+
+/**
+ * @ingroup iface_wp_viewport
+ */
+#define WP_VIEWPORT_DESTROY_SINCE_VERSION 1
+/**
+ * @ingroup iface_wp_viewport
+ */
+#define WP_VIEWPORT_SET_SOURCE_SINCE_VERSION 1
+/**
+ * @ingroup iface_wp_viewport
+ */
+#define WP_VIEWPORT_SET_DESTINATION_SINCE_VERSION 1
+
+/** @ingroup iface_wp_viewport */
+static inline void
+wp_viewport_set_user_data(struct wp_viewport *wp_viewport, void *user_data)
+{
+       wl_proxy_set_user_data((struct wl_proxy *) wp_viewport, user_data);
+}
+
+/** @ingroup iface_wp_viewport */
+static inline void *
+wp_viewport_get_user_data(struct wp_viewport *wp_viewport)
+{
+       return wl_proxy_get_user_data((struct wl_proxy *) wp_viewport);
+}
+
+static inline uint32_t
+wp_viewport_get_version(struct wp_viewport *wp_viewport)
+{
+       return wl_proxy_get_version((struct wl_proxy *) wp_viewport);
+}
+
+/**
+ * @ingroup iface_wp_viewport
+ *
+ * The associated wl_surface's crop and scale state is removed.
+ * The change is applied on the next wl_surface.commit.
+ */
+static inline void
+wp_viewport_destroy(struct wp_viewport *wp_viewport)
+{
+       wl_proxy_marshal((struct wl_proxy *) wp_viewport,
+                        WP_VIEWPORT_DESTROY);
+
+       wl_proxy_destroy((struct wl_proxy *) wp_viewport);
+}
+
+/**
+ * @ingroup iface_wp_viewport
+ *
+ * Set the source rectangle of the associated wl_surface. See
+ * wp_viewport for the description, and relation to the wl_buffer
+ * size.
+ *
+ * If all of x, y, width and height are -1.0, the source rectangle is
+ * unset instead. Any other set of values where width or height are zero
+ * or negative, or x or y are negative, raise the bad_value protocol
+ * error.
+ *
+ * The crop and scale state is double-buffered state, and will be
+ * applied on the next wl_surface.commit.
+ */
+static inline void
+wp_viewport_set_source(struct wp_viewport *wp_viewport, wl_fixed_t x, wl_fixed_t y, wl_fixed_t width, wl_fixed_t height)
+{
+       wl_proxy_marshal((struct wl_proxy *) wp_viewport,
+                        WP_VIEWPORT_SET_SOURCE, x, y, width, height);
+}
+
+/**
+ * @ingroup iface_wp_viewport
+ *
+ * Set the destination size of the associated wl_surface. See
+ * wp_viewport for the description, and relation to the wl_buffer
+ * size.
+ *
+ * If width is -1 and height is -1, the destination size is unset
+ * instead. Any other pair of values for width and height that
+ * contains zero or negative values raises the bad_value protocol
+ * error.
+ *
+ * The crop and scale state is double-buffered state, and will be
+ * applied on the next wl_surface.commit.
+ */
+static inline void
+wp_viewport_set_destination(struct wp_viewport *wp_viewport, int32_t width, int32_t height)
+{
+       wl_proxy_marshal((struct wl_proxy *) wp_viewport,
+                        WP_VIEWPORT_SET_DESTINATION, width, height);
+}
+
+#ifdef  __cplusplus
+}
+#endif
+
+#endif
diff --git a/util/viewporter-protocol.c b/util/viewporter-protocol.c
new file mode 100644 (file)
index 0000000..8bc362c
--- /dev/null
@@ -0,0 +1,64 @@
+/* Generated by wayland-scanner 1.13.0 */
+
+/*
+ * Copyright © 2013-2016 Collabora, Ltd.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+#include <stdlib.h>
+#include <stdint.h>
+#include "wayland-util.h"
+
+extern const struct wl_interface wl_surface_interface;
+extern const struct wl_interface wp_viewport_interface;
+
+static const struct wl_interface *types[] = {
+       NULL,
+       NULL,
+       NULL,
+       NULL,
+       &wp_viewport_interface,
+       &wl_surface_interface,
+};
+
+static const struct wl_message wp_viewporter_requests[] = {
+       { "destroy", "", types + 0 },
+       { "get_viewport", "no", types + 4 },
+};
+
+WL_EXPORT const struct wl_interface wp_viewporter_interface = {
+       "wp_viewporter", 1,
+       2, wp_viewporter_requests,
+       0, NULL,
+};
+
+static const struct wl_message wp_viewport_requests[] = {
+       { "destroy", "", types + 0 },
+       { "set_source", "ffff", types + 0 },
+       { "set_destination", "ii", types + 0 },
+};
+
+WL_EXPORT const struct wl_interface wp_viewport_interface = {
+       "wp_viewport", 1,
+       3, wp_viewport_requests,
+       0, NULL,
+};
+
diff --git a/util/wayland-scaler-client-protocol.h b/util/wayland-scaler-client-protocol.h
deleted file mode 100644 (file)
index 5e294aa..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Copyright © 2013-2014 Collabora, Ltd.
- *
- * Permission to use, copy, modify, distribute, and sell this
- * software and its documentation for any purpose is hereby granted
- * without fee, provided that the above copyright notice appear in
- * all copies and that both that copyright notice and this permission
- * notice appear in supporting documentation, and that the name of
- * the copyright holders not be used in advertising or publicity
- * pertaining to distribution of the software without specific,
- * written prior permission.  The copyright holders make no
- * representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied
- * warranty.
- *
- * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
- * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
- * THIS SOFTWARE.
- */
-
-#ifndef SCALER_CLIENT_PROTOCOL_H
-#define SCALER_CLIENT_PROTOCOL_H
-
-#ifdef  __cplusplus
-extern "C" {
-#endif
-
-#include <stdint.h>
-#include <stddef.h>
-#include "wayland-client.h"
-
-struct wl_client;
-struct wl_resource;
-
-struct wl_scaler;
-struct wl_viewport;
-
-extern const struct wl_interface wl_scaler_interface;
-extern const struct wl_interface wl_viewport_interface;
-
-#ifndef WL_SCALER_ERROR_ENUM
-#define WL_SCALER_ERROR_ENUM
-enum wl_scaler_error {
-       WL_SCALER_ERROR_VIEWPORT_EXISTS = 0,
-};
-#endif /* WL_SCALER_ERROR_ENUM */
-
-#define WL_SCALER_DESTROY      0
-#define WL_SCALER_GET_VIEWPORT 1
-
-static inline void
-wl_scaler_set_user_data(struct wl_scaler *wl_scaler, void *user_data)
-{
-       wl_proxy_set_user_data((struct wl_proxy *) wl_scaler, user_data);
-}
-
-static inline void *
-wl_scaler_get_user_data(struct wl_scaler *wl_scaler)
-{
-       return wl_proxy_get_user_data((struct wl_proxy *) wl_scaler);
-}
-
-static inline void
-wl_scaler_destroy(struct wl_scaler *wl_scaler)
-{
-       wl_proxy_marshal((struct wl_proxy *) wl_scaler,
-                        WL_SCALER_DESTROY);
-
-       wl_proxy_destroy((struct wl_proxy *) wl_scaler);
-}
-
-static inline struct wl_viewport *
-wl_scaler_get_viewport(struct wl_scaler *wl_scaler, struct wl_surface *surface)
-{
-       struct wl_proxy *id;
-
-       id = wl_proxy_marshal_constructor((struct wl_proxy *) wl_scaler,
-                        WL_SCALER_GET_VIEWPORT, &wl_viewport_interface, NULL, surface);
-
-       return (struct wl_viewport *) id;
-}
-
-#ifndef WL_VIEWPORT_ERROR_ENUM
-#define WL_VIEWPORT_ERROR_ENUM
-enum wl_viewport_error {
-       WL_VIEWPORT_ERROR_BAD_VALUE = 0,
-};
-#endif /* WL_VIEWPORT_ERROR_ENUM */
-
-#define WL_VIEWPORT_DESTROY    0
-#define WL_VIEWPORT_SET        1
-#define WL_VIEWPORT_SET_SOURCE 2
-#define WL_VIEWPORT_SET_DESTINATION    3
-
-static inline void
-wl_viewport_set_user_data(struct wl_viewport *wl_viewport, void *user_data)
-{
-       wl_proxy_set_user_data((struct wl_proxy *) wl_viewport, user_data);
-}
-
-static inline void *
-wl_viewport_get_user_data(struct wl_viewport *wl_viewport)
-{
-       return wl_proxy_get_user_data((struct wl_proxy *) wl_viewport);
-}
-
-static inline void
-wl_viewport_destroy(struct wl_viewport *wl_viewport)
-{
-       wl_proxy_marshal((struct wl_proxy *) wl_viewport,
-                        WL_VIEWPORT_DESTROY);
-
-       wl_proxy_destroy((struct wl_proxy *) wl_viewport);
-}
-
-static inline void
-wl_viewport_set(struct wl_viewport *wl_viewport, wl_fixed_t src_x, wl_fixed_t src_y, wl_fixed_t src_width, wl_fixed_t src_height, int32_t dst_width, int32_t dst_height)
-{
-       wl_proxy_marshal((struct wl_proxy *) wl_viewport,
-                        WL_VIEWPORT_SET, src_x, src_y, src_width, src_height, dst_width, dst_height);
-}
-
-static inline void
-wl_viewport_set_source(struct wl_viewport *wl_viewport, wl_fixed_t x, wl_fixed_t y, wl_fixed_t width, wl_fixed_t height)
-{
-       wl_proxy_marshal((struct wl_proxy *) wl_viewport,
-                        WL_VIEWPORT_SET_SOURCE, x, y, width, height);
-}
-
-static inline void
-wl_viewport_set_destination(struct wl_viewport *wl_viewport, int32_t width, int32_t height)
-{
-       wl_proxy_marshal((struct wl_proxy *) wl_viewport,
-                        WL_VIEWPORT_SET_DESTINATION, width, height);
-}
-
-#ifdef  __cplusplus
-}
-#endif
-
-#endif
diff --git a/util/wayland-scaler-protocol.c b/util/wayland-scaler-protocol.c
deleted file mode 100644 (file)
index fff50f4..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright © 2013-2014 Collabora, Ltd.
- *
- * Permission to use, copy, modify, distribute, and sell this
- * software and its documentation for any purpose is hereby granted
- * without fee, provided that the above copyright notice appear in
- * all copies and that both that copyright notice and this permission
- * notice appear in supporting documentation, and that the name of
- * the copyright holders not be used in advertising or publicity
- * pertaining to distribution of the software without specific,
- * written prior permission.  The copyright holders make no
- * representations about the suitability of this software for any
- * purpose.  It is provided "as is" without express or implied
- * warranty.
- *
- * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
- * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
- * THIS SOFTWARE.
- */
-
-#include <stdlib.h>
-#include <stdint.h>
-#include "wayland-util.h"
-
-extern const struct wl_interface wl_surface_interface;
-extern const struct wl_interface wl_viewport_interface;
-
-static const struct wl_interface *types[] = {
-       NULL,
-       NULL,
-       NULL,
-       NULL,
-       NULL,
-       NULL,
-       &wl_viewport_interface,
-       &wl_surface_interface,
-};
-
-static const struct wl_message wl_scaler_requests[] = {
-       { "destroy", "", types + 0 },
-       { "get_viewport", "no", types + 6 },
-};
-
-WL_EXPORT const struct wl_interface wl_scaler_interface = {
-       "wl_scaler", 2,
-       2, wl_scaler_requests,
-       0, NULL,
-};
-
-static const struct wl_message wl_viewport_requests[] = {
-       { "destroy", "", types + 0 },
-       { "set", "ffffii", types + 0 },
-       { "set_source", "2ffff", types + 0 },
-       { "set_destination", "2ii", types + 0 },
-};
-
-WL_EXPORT const struct wl_interface wl_viewport_interface = {
-       "wl_viewport", 2,
-       4, wl_viewport_requests,
-       0, NULL,
-};
-