mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-09-19 13:30:02 +00:00
Add gdk_wayland_surface_get_preferred_transform
We want to render in the preferred transform, eventually.
This commit is contained in:
parent
dd4a6eca65
commit
275c4747f1
@ -18,6 +18,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "gdkprivate-wayland.h"
|
||||
#include "gdkdihedralprivate.h"
|
||||
|
||||
typedef enum _PopupState
|
||||
{
|
||||
@ -89,6 +90,8 @@ struct _GdkWaylandSurface
|
||||
uint32_t last_configure_serial;
|
||||
|
||||
int state_freeze_count;
|
||||
|
||||
uint32_t preferred_transform;
|
||||
};
|
||||
|
||||
typedef struct _GdkWaylandSurfaceClass GdkWaylandSurfaceClass;
|
||||
@ -128,6 +131,7 @@ void gdk_wayland_surface_thaw_state (GdkSurface *surface);
|
||||
void gdk_wayland_surface_frame_callback (GdkSurface *surface,
|
||||
uint32_t time);
|
||||
|
||||
GdkDihedral gdk_wayland_surface_get_preferred_transform (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;
|
||||
|
@ -893,6 +893,7 @@ surface_preferred_buffer_transform (void *data,
|
||||
uint32_t transform)
|
||||
{
|
||||
GdkSurface *surface = GDK_SURFACE (data);
|
||||
GdkWaylandSurface *impl = GDK_WAYLAND_SURFACE (surface);
|
||||
const char *transform_name[] = {
|
||||
"normal", "90", "180", "270", "flipped", "flipped-90", "flipped-180", "flipped-270"
|
||||
};
|
||||
@ -900,6 +901,8 @@ surface_preferred_buffer_transform (void *data,
|
||||
GDK_DISPLAY_DEBUG (gdk_surface_get_display (surface), EVENTS,
|
||||
"preferred buffer transform, surface %p transform %s",
|
||||
surface, transform_name[transform]);
|
||||
|
||||
impl->preferred_transform = transform;
|
||||
}
|
||||
|
||||
static const struct wl_surface_listener surface_listener = {
|
||||
@ -1432,6 +1435,14 @@ gdk_wayland_surface_ensure_wl_egl_window (GdkSurface *surface)
|
||||
}
|
||||
}
|
||||
|
||||
GdkDihedral
|
||||
gdk_wayland_surface_get_preferred_transform (GdkSurface *surface)
|
||||
{
|
||||
GdkWaylandSurface *impl = GDK_WAYLAND_SURFACE (surface);
|
||||
|
||||
return (GdkDihedral) impl->preferred_transform;
|
||||
}
|
||||
|
||||
/* }}} */
|
||||
/* {{{ Surface API */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user