wip: Split off GdkWaylandToplevel

This still needs some more cleanup.
This commit is contained in:
Matthias Clasen 2023-01-06 13:53:27 -05:00
parent 2a463baed0
commit d61ec38974
8 changed files with 2608 additions and 2510 deletions

View File

@ -49,6 +49,7 @@
#include "gdkvulkancontext-wayland.h"
#include "gdkwaylandmonitor.h"
#include "gdkprofilerprivate.h"
#include "gdktoplevel-wayland-private.h"
#include <wayland/pointer-gestures-unstable-v1-client-protocol.h>
#include "tablet-unstable-v2-client-protocol.h"
#include <wayland/xdg-shell-unstable-v6-client-protocol.h>

View File

@ -95,6 +95,9 @@ void gdk_wayland_surface_update_size (GdkSurface *surface,
int32_t width,
int32_t height,
int scale);
void gdk_wayland_surface_create_xdg_surface_resources (GdkSurface *surface);
void _gdk_wayland_surface_save_size (GdkSurface *surface);
#define GDK_TYPE_WAYLAND_DRAG_SURFACE (gdk_wayland_drag_surface_get_type ())
GType gdk_wayland_drag_surface_get_type (void) G_GNUC_CONST;

File diff suppressed because it is too large Load Diff

View File

@ -26,23 +26,6 @@
G_BEGIN_DECLS
void gdk_wayland_toplevel_set_dbus_properties (GdkToplevel *toplevel,
const char *application_id,
const char *app_menu_path,
const char *menubar_path,
const char *window_object_path,
const char *application_object_path,
const char *unique_bus_name);
void gdk_wayland_toplevel_announce_csd (GdkToplevel *toplevel);
void gdk_wayland_toplevel_announce_ssd (GdkToplevel *toplevel);
gboolean gdk_wayland_toplevel_inhibit_idle (GdkToplevel *toplevel);
void gdk_wayland_toplevel_uninhibit_idle (GdkToplevel *toplevel);
struct gtk_surface1 * gdk_wayland_toplevel_get_gtk_surface (GdkWaylandToplevel *wayland_toplevel);
void gdk_wayland_surface_ensure_wl_egl_window (GdkSurface *surface);
G_END_DECLS

View File

@ -0,0 +1,55 @@
/*
* Copyright © 2022 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
gboolean gdk_wayland_toplevel_is_exported (GdkWaylandToplevel *wayland_toplevel);
void configure_toplevel_geometry (GdkWaylandToplevel *toplevel);
void gdk_wayland_surface_create_xdg_toplevel (GdkWaylandToplevel *toplevel);
void gdk_wayland_surface_configure_toplevel (GdkWaylandToplevel *toplevel);
void gdk_wayland_toplevel_sync_parent (GdkWaylandToplevel *toplevel);
void gdk_wayland_toplevel_sync_parent_of_imported (GdkWaylandToplevel *toplevel);
void gdk_wayland_toplevel_sync_title (GdkWaylandToplevel *toplevel);
void gdk_wayland_toplevel_set_geometry_hints (GdkWaylandToplevel *toplevel,
const GdkGeometry *geometry,
GdkSurfaceHints geom_mask);
void gdk_wayland_toplevel_handle_configure (GdkWaylandToplevel *toplevel,
int32_t width,
int32_t height,
GdkToplevelState state);
void gdk_wayland_toplevel_hide_surface (GdkWaylandToplevel *toplevel);
void unset_transient_for_exported (GdkSurface *surface);
struct gtk_surface1 *
gdk_wayland_toplevel_get_gtk_surface (GdkWaylandToplevel *wayland_toplevel);
void gdk_wayland_toplevel_set_dbus_properties (GdkToplevel *toplevel,
const char *application_id,
const char *app_menu_path,
const char *menubar_path,
const char *window_object_path,
const char *application_object_path,
const char *unique_bus_name);
void gdk_wayland_toplevel_announce_csd (GdkToplevel *toplevel);
void gdk_wayland_toplevel_announce_ssd (GdkToplevel *toplevel);
gboolean gdk_wayland_toplevel_inhibit_idle (GdkToplevel *toplevel);
void gdk_wayland_toplevel_uninhibit_idle (GdkToplevel *toplevel);

File diff suppressed because it is too large Load Diff

View File

@ -16,6 +16,7 @@ gdk_wayland_sources = files([
'gdkmonitor-wayland.c',
'gdkprimary-wayland.c',
'gdksurface-wayland.c',
'gdktoplevel-wayland.c',
'gdkvulkancontext-wayland.c',
'wm-button-layout-translation.c',
])

View File

@ -27,6 +27,7 @@
#include <gdk/wayland/gdkwayland.h>
#include <gdk/wayland/gdkdisplay-wayland.h>
#include <gdk/wayland/gdksurface-wayland.h>
#include <gdk/wayland/gdktoplevel-wayland-private.h>
#include <gdk/wayland/idle-inhibit-unstable-v1-client-protocol.h>
typedef struct