From 949565b2683a3a67060698132a52ea26c75d9952 Mon Sep 17 00:00:00 2001
From: Qian Hu <Qian.Hu@mediatek.com>
Date: Tue, 24 Sep 2019 15:01:45 +0800
Subject: [PATCH 8/8] [PATCH] weston: add surface overlay assignment interface

add surface overlay assignment interface

Signed-off-by: Qian Hu <Qian.Hu@mediatek.com>
---
 Makefile.am                      |   6 +-
 compositor/main.c                |   1 +
 libweston/compositor.h           |  11 ++++
 libweston/weston-configure-mtk.c | 126 +++++++++++++++++++++++++++++++++++++++
 libweston/weston-configure-mtk.h |  54 +++++++++++++++++
 5 files changed, 197 insertions(+), 1 deletion(-)
 create mode 100644 libweston/weston-configure-mtk.c
 create mode 100644 libweston/weston-configure-mtk.h

diff --git a/Makefile.am b/Makefile.am
index 7efa5a0..008bdfe 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -97,6 +97,8 @@ libweston_@LIBWESTON_MAJOR@_la_SOURCES =			\
 	libweston/pixel-formats.c			\
 	libweston/pixel-formats.h			\
 	libweston/weston-screenshooter-mtk.c \
+	libweston/weston-configure-mtk.c	\
+	libweston/weston-configure-mtk.h	\
 	shared/helpers.h				\
 	shared/matrix.c					\
 	shared/matrix.h					\
@@ -677,7 +679,9 @@ nodist_weston_simple_configure_mtk_SOURCES =               \
         protocol/fullscreen-shell-unstable-v1-protocol.c        \
         protocol/fullscreen-shell-unstable-v1-client-protocol.h \
         protocol/linux-dmabuf-unstable-v1-protocol.c		\
-        protocol/linux-dmabuf-unstable-v1-client-protocol.h
+        protocol/linux-dmabuf-unstable-v1-client-protocol.h  \
+        protocol/weston-configure-mtk-protocol.c		\
+        protocol/weston-configure-mtk-client-protocol.h
 weston_simple_configure_mtk_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
 weston_simple_configure_mtk_LDADD =  $(EGL_LIBS) $(LIBDRM_LIBS) libtoytoolkit.la
 BUILT_SOURCES += protocol/linux-dmabuf-unstable-v1-client-protocol.h
diff --git a/compositor/main.c b/compositor/main.c
index b5b4fc5..21c501c 100644
--- a/compositor/main.c
+++ b/compositor/main.c
@@ -52,6 +52,7 @@
 #include "git-version.h"
 #include "version.h"
 #include "weston.h"
+#include "../libweston/weston-configure-mtk.h"
 
 #include "compositor-drm.h"
 #include "compositor-headless.h"
diff --git a/libweston/compositor.h b/libweston/compositor.h
index 8736691..ba577b7 100644
--- a/libweston/compositor.h
+++ b/libweston/compositor.h
@@ -1362,6 +1362,16 @@ struct weston_surface_state {
 	struct weston_buffer_viewport buffer_viewport;
 };
 
+/*
+ * For setting whether the views on this surface walk
+ * overlay path; on==>1, off==>0
+*/
+struct config_switch{
+	struct wl_resource *resource;
+	void *private;
+	int sprites_switch;
+};
+
 struct weston_surface_activation_data {
 	struct weston_surface *surface;
 	struct weston_seat *seat;
@@ -1483,6 +1493,7 @@ struct weston_surface {
 
 	/* An list of per seat pointer constraints. */
 	struct wl_list pointer_constraints;
+	struct config_switch *config_switch;
 };
 
 struct weston_subsurface {
diff --git a/libweston/weston-configure-mtk.c b/libweston/weston-configure-mtk.c
new file mode 100644
index 0000000..185f91c
--- /dev/null
+++ b/libweston/weston-configure-mtk.c
@@ -0,0 +1,125 @@
+#include "config.h"
+#include <fcntl.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include <limits.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <sys/ioctl.h>
+#include <sys/mman.h>
+#include <sys/wait.h>
+#include <sys/socket.h>
+#include <sys/utsname.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <math.h>
+#include <linux/input.h>
+#include <dlfcn.h>
+#include <signal.h>
+#include <setjmp.h>
+#include <sys/time.h>
+#include <time.h>
+#include <errno.h>
+
+#include "timeline.h"
+
+#include "compositor.h"
+//#include "scaler-server-protocol.h"
+#include "shared/helpers.h"
+#include "shared/os-compatibility.h"
+#include "shared/timespec-util.h"
+#include "git-version.h"
+#include "version.h"
+
+#include "weston-configure-mtk.h"
+#include "weston-configure-mtk-server-protocol.h"
+
+static void
+config_set_sprite_switch(struct wl_client *client,
+	       struct wl_resource *resource,
+	       int32_t spr_switch)
+{
+	struct config_switch *configure = wl_resource_get_user_data(resource);
+
+	configure->sprites_switch = spr_switch;
+}
+
+static const struct config_switch_set_interface switch_set_interface = {
+	config_set_sprite_switch,
+};
+
+static struct config_switch *
+config_interface_create(struct weston_surface *surface)
+{
+	struct config_switch *config_switch;
+
+	config_switch = zalloc(sizeof *config_switch);
+	if (config_switch == NULL)
+		return NULL;
+
+	config_switch->private = (void *)surface;
+	surface->config_switch = config_switch;
+
+	return config_switch;
+}
+
+static void
+config_switch_connect(struct wl_client *client, struct wl_resource *resource,
+	struct wl_resource *wl_surface, uint32_t id)
+{
+	struct config_switch *config_switch = wl_resource_get_user_data(resource);
+	struct weston_surface *surface = wl_resource_get_user_data(wl_surface);
+
+	config_switch = config_interface_create(surface);
+	if (config_switch == NULL) {
+		wl_resource_post_no_memory(resource);
+		return;
+	}
+
+	config_switch->resource =
+		wl_resource_create(client, &config_switch_set_interface,
+				   wl_resource_get_version(resource), id);
+	if (config_switch->resource == NULL) {
+		wl_resource_post_no_memory(resource);
+		return;
+	}
+	wl_resource_set_implementation(config_switch->resource, &switch_set_interface,
+				       config_switch, NULL);
+}
+
+static const struct config_switch_interface switch_interface = {
+	config_switch_connect,
+};
+
+static void
+bind_config_switch(struct wl_client *client,
+		void *data, uint32_t version, uint32_t id)
+{
+	struct weston_compositor *compositor = data;
+	struct wl_resource *resource;
+
+	resource = wl_resource_create(client, &config_switch_interface,
+				      MIN(version, 1), id);
+	if (resource == NULL) {
+		wl_client_post_no_memory(client);
+		return;
+	}
+
+	wl_resource_set_implementation(resource, &switch_interface,
+				       compositor, NULL);
+}
+
+WL_EXPORT int
+config_switch_global_create(struct weston_compositor *ec)
+{
+	if(!ec)
+		return -1;
+	if (!wl_global_create(ec->wl_display, &config_switch_interface, 1,
+			  ec, bind_config_switch)){
+		fprintf(stderr, "error: failed to config_switch_global_create: %s\n", dlerror());
+		return -1;
+	}
+	return 0;
+}
diff --git a/libweston/weston-configure-mtk.h b/libweston/weston-configure-mtk.h
new file mode 100644
index 0000000..0f093fe
--- /dev/null
+++ b/libweston/weston-configure-mtk.h
@@ -0,0 +1,53 @@
+/*
+ * Copyright © 2008-2011 Kristian Høgsberg
+ * Copyright © 2012 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.
+ */
+
+#ifndef _APP_CONFIGURE_EXTENSION_H_
+#define _APP_CONFIGURE_EXTENSION_H_
+
+#ifdef  __cplusplus
+extern "C" {
+#endif
+
+#include <stdbool.h>
+#include <time.h>
+#include <pixman.h>
+#include <xkbcommon/xkbcommon.h>
+
+#include <wayland-server.h>
+
+#include "version.h"
+#include "matrix.h"
+#include "config-parser.h"
+#include "zalloc.h"
+#include "timeline-object.h"
+
+int config_switch_global_create(struct weston_compositor *ec);
+
+#ifdef  __cplusplus
+}
+#endif
+
+#endif
-- 
2.6.4

