From 927ae621c9a3d46dbc401b8e9ea7bbed1bf2e97b Mon Sep 17 00:00:00 2001 From: Berke Güzel Date: Sun, 11 Oct 2026 21:53:42 +0300 Subject: initial: Yet Another Surface Library (YASL) 0.1.0 A minimal, modern desktop window surface library in C. Supports Wayland on Linux and Cocoa/Metal on macOS with presentation timing, fractional scaling, IME, and CSD. --- src/wayland/protocols/commit-timing-v1-protocol.c | 73 +++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 src/wayland/protocols/commit-timing-v1-protocol.c (limited to 'src/wayland/protocols/commit-timing-v1-protocol.c') diff --git a/src/wayland/protocols/commit-timing-v1-protocol.c b/src/wayland/protocols/commit-timing-v1-protocol.c new file mode 100644 index 0000000..6755745 --- /dev/null +++ b/src/wayland/protocols/commit-timing-v1-protocol.c @@ -0,0 +1,73 @@ +/* Generated by wayland-scanner 1.26.0 */ + +/* + * Copyright © 2023 Valve Corporation + * + * 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 +#include +#include +#include "wayland-util.h" + +#ifndef __has_attribute +# define __has_attribute(x) 0 /* Compatibility with non-clang compilers. */ +#endif + +#if (__has_attribute(visibility) || defined(__GNUC__) && __GNUC__ >= 4) +#define WL_PRIVATE __attribute__ ((visibility("hidden"))) +#else +#define WL_PRIVATE +#endif + +extern const struct wl_interface wl_surface_interface; +extern const struct wl_interface wp_commit_timer_v1_interface; + +static const struct wl_interface *commit_timing_v1_types[] = { + NULL, + NULL, + NULL, + &wp_commit_timer_v1_interface, + &wl_surface_interface, +}; + +static const struct wl_message wp_commit_timing_manager_v1_requests[] = { + { "destroy", "", commit_timing_v1_types + 0 }, + { "get_timer", "no", commit_timing_v1_types + 3 }, +}; + +WL_PRIVATE const struct wl_interface wp_commit_timing_manager_v1_interface = { + "wp_commit_timing_manager_v1", 1, + 2, wp_commit_timing_manager_v1_requests, + 0, NULL, +}; + +static const struct wl_message wp_commit_timer_v1_requests[] = { + { "set_timestamp", "uuu", commit_timing_v1_types + 0 }, + { "destroy", "", commit_timing_v1_types + 0 }, +}; + +WL_PRIVATE const struct wl_interface wp_commit_timer_v1_interface = { + "wp_commit_timer_v1", 1, + 2, wp_commit_timer_v1_requests, + 0, NULL, +}; + -- cgit v1.2.3