wip: Split off GdkWaylandPopup

Like the GdkWaylandToplevel split-off, this needs some
more cleanup.
This commit is contained in:
Matthias Clasen 2022-11-17 08:24:40 -05:00
parent d61ec38974
commit 120396fa40
6 changed files with 1499 additions and 1410 deletions

View File

@ -0,0 +1,32 @@
/*
* 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
void update_popup_layout_state (GdkWaylandPopup *wayland_popup,
int x,
int y,
int width,
int height,
GdkPopupLayout *layout);
void configure_popup_geometry (GdkWaylandPopup *popup);
void gdk_wayland_surface_configure_popup (GdkWaylandPopup *popup);
void frame_callback_popup (GdkWaylandPopup *popup);
void gdk_wayland_popup_hide_surface (GdkWaylandPopup *popup);

File diff suppressed because it is too large Load Diff

View File

@ -98,6 +98,17 @@ void gdk_wayland_surface_update_size (GdkSurface *surface,
void gdk_wayland_surface_create_xdg_surface_resources (GdkSurface *surface); void gdk_wayland_surface_create_xdg_surface_resources (GdkSurface *surface);
void _gdk_wayland_surface_save_size (GdkSurface *surface); void _gdk_wayland_surface_save_size (GdkSurface *surface);
void gdk_wayland_surface_hide_surface (GdkSurface *surface);
void gdk_wayland_surface_move_resize (GdkSurface *surface,
int x,
int y,
int width,
int height);
void gdk_wayland_surface_get_window_geometry (GdkSurface *surface,
GdkRectangle *geometry);
void gdk_wayland_surface_freeze_state (GdkSurface *surface);
void gdk_wayland_surface_thaw_state (GdkSurface *surface);
#define GDK_TYPE_WAYLAND_DRAG_SURFACE (gdk_wayland_drag_surface_get_type ()) #define GDK_TYPE_WAYLAND_DRAG_SURFACE (gdk_wayland_drag_surface_get_type ())
GType gdk_wayland_drag_surface_get_type (void) G_GNUC_CONST; GType gdk_wayland_drag_surface_get_type (void) G_GNUC_CONST;

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -93,6 +93,7 @@
#include "wayland/gdkwayland.h" #include "wayland/gdkwayland.h"
#include "wayland/gdkdisplay-wayland.h" #include "wayland/gdkdisplay-wayland.h"
#include "wayland/gdksurface-wayland.h" #include "wayland/gdksurface-wayland.h"
#include "wayland/gdktoplevel-wayland-private.h"
#endif #endif
#ifdef GDK_WINDOWING_MACOS #ifdef GDK_WINDOWING_MACOS