/* * Copyright 2023 elementary, Inc. * Copyright 2023 Corentin Noël * SPDX-License-Identifier: GPL-3.0-or-later */ namespace Pantheon.Desktop { [CCode (cheader_filename = "pantheon-desktop-shell-server-protocol.h", cname = "struct io_elementary_pantheon_shell_v1_interface")] public struct ShellInterface { [CCode (cheader_filename = "pantheon-desktop-shell-server-protocol.h", cname = "io_elementary_pantheon_shell_v1_interface")] public static Wl.Interface iface; public Pantheon.Desktop.GetPanel get_panel; public Pantheon.Desktop.GetWidget get_widget; public Pantheon.Desktop.GetExtendedBehavior get_extended_behavior; } [CCode (cheader_filename = "pantheon-desktop-shell-server-protocol.h", cname = "enum io_elementary_pantheon_panel_v1_anchor", cprefix="IO_ELEMENTARY_PANTHEON_PANEL_V1_ANCHOR_", has_type_id = false)] public enum Anchor { TOP, BOTTOM, LEFT, RIGHT, } [CCode (cheader_filename = "pantheon-desktop-shell-server-protocol.h", cname = "enum io_elementary_pantheon_panel_v1_hide_mode", cprefix="IO_ELEMENTARY_PANTHEON_PANEL_V1_HIDE_MODE_", has_type_id = false)] public enum HideMode { NEVER, MAXIMIZED_FOCUS_WINDOW, OVERLAPPING_FOCUS_WINDOW, OVERLAPPING_WINDOW, ALWAYS } [CCode (cheader_filename = "pantheon-desktop-shell-server-protocol.h", cname = "struct io_elementary_pantheon_panel_v1_interface")] public struct PanelInterface { [CCode (cheader_filename = "pantheon-desktop-shell-server-protocol.h", cname = "io_elementary_pantheon_panel_v1_interface")] public static Wl.Interface iface; public Destroy destroy; public SetAnchor set_anchor; public Focus focus; public SetSize set_size; public SetHideMode set_hide_mode; } [CCode (cheader_filename = "pantheon-desktop-shell-server-protocol.h", cname = "struct io_elementary_pantheon_widget_v1_interface")] public struct WidgetInterface { [CCode (cheader_filename = "pantheon-desktop-shell-server-protocol.h", cname = "io_elementary_pantheon_widget_v1_interface")] public static Wl.Interface iface; public Destroy destroy; } [CCode (cheader_filename = "pantheon-desktop-shell-server-protocol.h", cname = "struct io_elementary_pantheon_extended_behavior_v1_interface")] public struct ExtendedBehaviorInterface { [CCode (cheader_filename = "pantheon-desktop-shell-server-protocol.h", cname = "io_elementary_pantheon_extended_behavior_v1_interface")] public static Wl.Interface iface; public Destroy destroy; public SetKeepAbove set_keep_above; } [CCode (has_target = false, has_typedef = false)] public delegate void GetPanel (Wl.Client client, Wl.Resource resource, uint32 output, Wl.Resource surface); [CCode (has_target = false, has_typedef = false)] public delegate void GetWidget (Wl.Client client, Wl.Resource resource, uint32 output, Wl.Resource surface); [CCode (has_target = false, has_typedef = false)] public delegate void GetExtendedBehavior (Wl.Client client, Wl.Resource resource, uint32 output, Wl.Resource surface); [CCode (has_target = false, has_typedef = false)] public delegate void SetAnchor (Wl.Client client, Wl.Resource resource, [CCode (type = "uint32_t")] Anchor anchor); [CCode (has_target = false, has_typedef = false)] public delegate void Focus (Wl.Client client, Wl.Resource resource); [CCode (has_target = false, has_typedef = false)] public delegate void SetSize (Wl.Client client, Wl.Resource resource, int width, int height); [CCode (has_target = false, has_typedef = false)] public delegate void SetHideMode (Wl.Client client, Wl.Resource resource, [CCode (type = "uint32_t")] HideMode hide_mode); [CCode (has_target = false, has_typedef = false)] public delegate void SetKeepAbove (Wl.Client client, Wl.Resource resource); [CCode (has_target = false, has_typedef = false)] public delegate void Destroy (Wl.Client client, Wl.Resource resource); }