wayland/surface: Rename MetaWaylandPendingState to MetaWaylandSurfaceState

The name didn't communicate it was about surface state, and it somewhat
confusingly had the name "pending" in it, which could be confused with
the fact that while it's used to collect pending state, it's also used
to cache previously committed pending state.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/907
This commit is contained in:
Jonas Ådahl 2019-03-13 13:27:25 +01:00
parent d60d671fec
commit bbec8abb68
13 changed files with 137 additions and 139 deletions

View File

@ -109,7 +109,7 @@ meta_wayland_actor_surface_assigned (MetaWaylandSurfaceRole *surface_role)
void
meta_wayland_actor_surface_queue_frame_callbacks (MetaWaylandActorSurface *actor_surface,
MetaWaylandPendingState *pending)
MetaWaylandSurfaceState *pending)
{
MetaWaylandActorSurfacePrivate *priv =
meta_wayland_actor_surface_get_instance_private (actor_surface);
@ -240,7 +240,7 @@ meta_wayland_actor_surface_sync_actor_state (MetaWaylandActorSurface *actor_surf
static void
meta_wayland_actor_surface_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending)
MetaWaylandSurfaceState *pending)
{
MetaWaylandActorSurface *actor_surface =
META_WAYLAND_ACTOR_SURFACE (surface_role);

View File

@ -43,6 +43,6 @@ MetaSurfaceActor * meta_wayland_actor_surface_get_actor (MetaWaylandActorSurface
void meta_wayland_actor_surface_reset_actor (MetaWaylandActorSurface *actor_surface);
void meta_wayland_actor_surface_queue_frame_callbacks (MetaWaylandActorSurface *actor_surface,
MetaWaylandPendingState *pending);
MetaWaylandSurfaceState *pending);
#endif /* META_WAYLAND_ACTOR_SURFACE_H */

View File

@ -130,7 +130,7 @@ meta_wayland_cursor_surface_assigned (MetaWaylandSurfaceRole *surface_role)
static void
meta_wayland_cursor_surface_pre_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending)
MetaWaylandSurfaceState *pending)
{
MetaWaylandCursorSurface *cursor_surface =
META_WAYLAND_CURSOR_SURFACE (surface_role);
@ -148,7 +148,7 @@ meta_wayland_cursor_surface_pre_commit (MetaWaylandSurfaceRole *surface_role,
static void
meta_wayland_cursor_surface_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending)
MetaWaylandSurfaceState *pending)
{
MetaWaylandCursorSurface *cursor_surface =
META_WAYLAND_CURSOR_SURFACE (surface_role);

View File

@ -47,7 +47,7 @@ dnd_surface_assigned (MetaWaylandSurfaceRole *surface_role)
static void
dnd_surface_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending)
MetaWaylandSurfaceState *pending)
{
MetaWaylandSurface *surface =
meta_wayland_surface_role_get_surface (surface_role);

View File

@ -340,7 +340,7 @@ zxdg_toplevel_v6_set_max_size (struct wl_client *client,
int32_t height)
{
MetaWaylandSurface *surface = surface_from_xdg_toplevel_resource (resource);
MetaWaylandPendingState *pending;
MetaWaylandSurfaceState *pending;
MetaWindow *window;
window = surface->window;
@ -369,7 +369,7 @@ zxdg_toplevel_v6_set_min_size (struct wl_client *client,
int32_t height)
{
MetaWaylandSurface *surface = surface_from_xdg_toplevel_resource (resource);
MetaWaylandPendingState *pending;
MetaWaylandSurfaceState *pending;
MetaWindow *window;
window = surface->window;
@ -623,7 +623,7 @@ meta_wayland_zxdg_toplevel_v6_send_configure (MetaWaylandZxdgToplevelV6 *xdg_top
static gboolean
is_new_size_hints_valid (MetaWindow *window,
MetaWaylandPendingState *pending)
MetaWaylandSurfaceState *pending)
{
int new_min_width, new_min_height;
int new_max_width, new_max_height;
@ -654,7 +654,7 @@ is_new_size_hints_valid (MetaWindow *window,
static void
meta_wayland_zxdg_toplevel_v6_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending)
MetaWaylandSurfaceState *pending)
{
MetaWaylandZxdgToplevelV6 *xdg_toplevel =
META_WAYLAND_ZXDG_TOPLEVEL_V6 (surface_role);
@ -971,7 +971,7 @@ finish_popup_setup (MetaWaylandZxdgPopupV6 *xdg_popup)
static void
meta_wayland_zxdg_popup_v6_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending)
MetaWaylandSurfaceState *pending)
{
MetaWaylandZxdgPopupV6 *xdg_popup = META_WAYLAND_ZXDG_POPUP_V6 (surface_role);
MetaWaylandZxdgSurfaceV6 *xdg_surface =
@ -1292,7 +1292,7 @@ zxdg_surface_v6_set_window_geometry (struct wl_client *client,
int32_t height)
{
MetaWaylandSurface *surface = surface_from_xdg_surface_resource (resource);
MetaWaylandPendingState *pending;
MetaWaylandSurfaceState *pending;
pending = meta_wayland_surface_get_pending_state (surface);
pending->has_new_geometry = TRUE;
@ -1337,7 +1337,7 @@ meta_wayland_zxdg_surface_v6_finalize (GObject *object)
static void
meta_wayland_zxdg_surface_v6_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending)
MetaWaylandSurfaceState *pending)
{
MetaWaylandZxdgSurfaceV6 *xdg_surface =
META_WAYLAND_ZXDG_SURFACE_V6 (surface_role);

View File

@ -661,7 +661,7 @@ pending_constraint_state_free (MetaWaylandPendingConstraintState *constraint_pen
}
static MetaWaylandPendingConstraintStateContainer *
get_pending_constraint_state_container (MetaWaylandPendingState *pending)
get_pending_constraint_state_container (MetaWaylandSurfaceState *pending)
{
return g_object_get_qdata (G_OBJECT (pending),
quark_pending_constraint_state);
@ -670,7 +670,7 @@ get_pending_constraint_state_container (MetaWaylandPendingState *pending)
static MetaWaylandPendingConstraintState *
get_pending_constraint_state (MetaWaylandPointerConstraint *constraint)
{
MetaWaylandPendingState *pending;
MetaWaylandSurfaceState *pending;
MetaWaylandPendingConstraintStateContainer *container;
GList *l;
@ -696,7 +696,7 @@ pending_constraint_state_container_free (MetaWaylandPendingConstraintStateContai
}
static MetaWaylandPendingConstraintStateContainer *
ensure_pending_constraint_state_container (MetaWaylandPendingState *pending)
ensure_pending_constraint_state_container (MetaWaylandSurfaceState *pending)
{
MetaWaylandPendingConstraintStateContainer *container;
@ -716,7 +716,7 @@ ensure_pending_constraint_state_container (MetaWaylandPendingState *pending)
static void
remove_pending_constraint_state (MetaWaylandPointerConstraint *constraint,
MetaWaylandPendingState *pending)
MetaWaylandSurfaceState *pending)
{
MetaWaylandPendingConstraintStateContainer *container;
GList *l;
@ -736,7 +736,7 @@ remove_pending_constraint_state (MetaWaylandPointerConstraint *constraint,
}
static void
pending_constraint_state_applied (MetaWaylandPendingState *pending,
pending_constraint_state_applied (MetaWaylandSurfaceState *pending,
MetaWaylandPendingConstraintState *constraint_pending)
{
MetaWaylandPointerConstraint *constraint = constraint_pending->constraint;
@ -766,7 +766,7 @@ pending_constraint_state_applied (MetaWaylandPendingState *pending,
static MetaWaylandPendingConstraintState *
ensure_pending_constraint_state (MetaWaylandPointerConstraint *constraint)
{
MetaWaylandPendingState *pending;
MetaWaylandSurfaceState *pending;
MetaWaylandPendingConstraintStateContainer *container;
MetaWaylandPendingConstraintState *constraint_pending;

View File

@ -149,7 +149,7 @@ meta_wayland_shell_surface_managed (MetaWaylandShellSurface *shell_surface,
static void
meta_wayland_shell_surface_surface_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending)
MetaWaylandSurfaceState *pending)
{
MetaWaylandActorSurface *actor_surface =
META_WAYLAND_ACTOR_SURFACE (surface_role);

View File

@ -189,7 +189,7 @@ meta_wayland_subsurface_parent_state_applied (MetaWaylandSubsurface *subsurface)
}
if (is_surface_effectively_synchronized (surface))
meta_wayland_surface_apply_pending_state (surface, surface->sub.pending);
meta_wayland_surface_apply_state (surface, surface->sub.pending);
meta_wayland_actor_surface_sync_actor_state (actor_surface);
}
@ -485,7 +485,7 @@ wl_subsurface_set_desync (struct wl_client *client,
if (was_effectively_synchronized &&
!is_surface_effectively_synchronized (surface))
meta_wayland_surface_apply_pending_state (surface, surface->sub.pending);
meta_wayland_surface_apply_state (surface, surface->sub.pending);
}
static const struct wl_subsurface_interface meta_wayland_wl_subsurface_interface = {
@ -561,7 +561,7 @@ wl_subcompositor_get_subsurface (struct wl_client *client,
surface,
wl_subsurface_destructor);
surface->sub.pending = g_object_new (META_TYPE_WAYLAND_PENDING_STATE, NULL);
surface->sub.pending = g_object_new (META_TYPE_WAYLAND_SURFACE_STATE, NULL);
surface->sub.synchronous = TRUE;
surface->sub.parent = parent;
surface->sub.parent_destroy_listener.notify =

View File

@ -59,9 +59,9 @@
enum
{
PENDING_STATE_SIGNAL_APPLIED,
SURFACE_STATE_SIGNAL_APPLIED,
PENDING_STATE_SIGNAL_LAST_SIGNAL
SURFACE_STATE_SIGNAL_N_SIGNALS
};
enum
@ -71,7 +71,7 @@ enum
SURFACE_ROLE_PROP_SURFACE,
};
static guint pending_state_signals[PENDING_STATE_SIGNAL_LAST_SIGNAL];
static guint surface_state_signals[SURFACE_STATE_SIGNAL_N_SIGNALS];
typedef struct _MetaWaylandSurfaceRolePrivate
{
@ -84,9 +84,9 @@ G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (MetaWaylandSurfaceRole,
meta_wayland_surface_role,
G_TYPE_OBJECT)
G_DEFINE_TYPE (MetaWaylandPendingState,
meta_wayland_pending_state,
G_TYPE_OBJECT);
G_DEFINE_TYPE (MetaWaylandSurfaceState,
meta_wayland_surface_state,
G_TYPE_OBJECT)
enum
{
@ -107,11 +107,11 @@ meta_wayland_surface_role_assigned (MetaWaylandSurfaceRole *surface_role);
static void
meta_wayland_surface_role_pre_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending);
MetaWaylandSurfaceState *pending);
static void
meta_wayland_surface_role_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending);
MetaWaylandSurfaceState *pending);
static gboolean
meta_wayland_surface_role_is_on_logical_monitor (MetaWaylandSurfaceRole *surface_role,
@ -361,7 +361,7 @@ surface_process_damage (MetaWaylandSurface *surface,
void
meta_wayland_surface_queue_pending_state_frame_callbacks (MetaWaylandSurface *surface,
MetaWaylandPendingState *pending)
MetaWaylandSurfaceState *pending)
{
wl_list_insert_list (&surface->compositor->frame_callbacks,
&pending->frame_callback_list);
@ -400,14 +400,14 @@ meta_wayland_surface_unref_buffer_use_count (MetaWaylandSurface *surface)
static void
pending_buffer_resource_destroyed (MetaWaylandBuffer *buffer,
MetaWaylandPendingState *pending)
MetaWaylandSurfaceState *pending)
{
g_clear_signal_handler (&pending->buffer_destroy_handler_id, buffer);
pending->buffer = NULL;
}
static void
pending_state_init (MetaWaylandPendingState *state)
meta_wayland_surface_state_set_default (MetaWaylandSurfaceState *state)
{
state->newly_attached = FALSE;
state->buffer = NULL;
@ -435,7 +435,7 @@ pending_state_init (MetaWaylandPendingState *state)
}
static void
pending_state_destroy (MetaWaylandPendingState *state)
meta_wayland_surface_state_clear (MetaWaylandSurfaceState *state)
{
MetaWaylandFrameCallback *cb, *next;
@ -452,15 +452,15 @@ pending_state_destroy (MetaWaylandPendingState *state)
}
static void
pending_state_reset (MetaWaylandPendingState *state)
meta_wayland_surface_state_reset (MetaWaylandSurfaceState *state)
{
pending_state_destroy (state);
pending_state_init (state);
meta_wayland_surface_state_clear (state);
meta_wayland_surface_state_set_default (state);
}
static void
merge_pending_state (MetaWaylandPendingState *from,
MetaWaylandPendingState *to)
meta_wayland_surface_state_merge_into (MetaWaylandSurfaceState *from,
MetaWaylandSurfaceState *to)
{
if (from->newly_attached)
{
@ -558,33 +558,33 @@ merge_pending_state (MetaWaylandPendingState *from,
to);
}
pending_state_init (from);
meta_wayland_surface_state_set_default (from);
}
static void
meta_wayland_pending_state_finalize (GObject *object)
meta_wayland_surface_state_finalize (GObject *object)
{
MetaWaylandPendingState *state = META_WAYLAND_PENDING_STATE (object);
MetaWaylandSurfaceState *state = META_WAYLAND_SURFACE_STATE (object);
pending_state_destroy (state);
meta_wayland_surface_state_clear (state);
G_OBJECT_CLASS (meta_wayland_pending_state_parent_class)->finalize (object);
G_OBJECT_CLASS (meta_wayland_surface_state_parent_class)->finalize (object);
}
static void
meta_wayland_pending_state_init (MetaWaylandPendingState *state)
meta_wayland_surface_state_init (MetaWaylandSurfaceState *state)
{
pending_state_init (state);
meta_wayland_surface_state_set_default (state);
}
static void
meta_wayland_pending_state_class_init (MetaWaylandPendingStateClass *klass)
meta_wayland_surface_state_class_init (MetaWaylandSurfaceStateClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
object_class->finalize = meta_wayland_pending_state_finalize;
object_class->finalize = meta_wayland_surface_state_finalize;
pending_state_signals[PENDING_STATE_SIGNAL_APPLIED] =
surface_state_signals[SURFACE_STATE_SIGNAL_APPLIED] =
g_signal_new ("applied",
G_TYPE_FROM_CLASS (object_class),
G_SIGNAL_RUN_LAST,
@ -609,7 +609,7 @@ parent_surface_state_applied (GNode *subsurface_node,
void
meta_wayland_surface_cache_pending_frame_callbacks (MetaWaylandSurface *surface,
MetaWaylandPendingState *pending)
MetaWaylandSurfaceState *pending)
{
wl_list_insert_list (&surface->pending_frame_callback_list,
&pending->frame_callback_list);
@ -617,8 +617,8 @@ meta_wayland_surface_cache_pending_frame_callbacks (MetaWaylandSurface *sur
}
void
meta_wayland_surface_apply_pending_state (MetaWaylandSurface *surface,
MetaWaylandPendingState *pending)
meta_wayland_surface_apply_state (MetaWaylandSurface *surface,
MetaWaylandSurfaceState *state)
{
gboolean had_damage = FALSE;
@ -626,18 +626,18 @@ meta_wayland_surface_apply_pending_state (MetaWaylandSurface *surface,
if (surface->role)
{
meta_wayland_surface_role_pre_commit (surface->role, pending);
meta_wayland_surface_role_pre_commit (surface->role, state);
}
else
{
if (pending->newly_attached && surface->unassigned.buffer)
if (state->newly_attached && surface->unassigned.buffer)
{
meta_wayland_surface_unref_buffer_use_count (surface);
g_clear_object (&surface->unassigned.buffer);
}
}
if (pending->newly_attached)
if (state->newly_attached)
{
if (!surface->buffer_ref.buffer && surface->window)
meta_window_queue (surface->window, META_QUEUE_CALC_SHOWING);
@ -650,17 +650,17 @@ meta_wayland_surface_apply_pending_state (MetaWaylandSurface *surface,
if (surface->buffer_held)
meta_wayland_surface_unref_buffer_use_count (surface);
g_set_object (&surface->buffer_ref.buffer, pending->buffer);
g_set_object (&surface->buffer_ref.buffer, state->buffer);
if (pending->buffer)
if (state->buffer)
meta_wayland_surface_ref_buffer_use_count (surface);
if (pending->buffer)
if (state->buffer)
{
GError *error = NULL;
gboolean changed_texture;
if (!meta_wayland_buffer_attach (pending->buffer,
if (!meta_wayland_buffer_attach (state->buffer,
&surface->texture,
&changed_texture,
&error))
@ -683,8 +683,8 @@ meta_wayland_surface_apply_pending_state (MetaWaylandSurface *surface,
stex = meta_surface_actor_get_texture (meta_wayland_surface_get_actor (surface));
texture = surface->texture;
snippet = meta_wayland_buffer_create_snippet (pending->buffer);
is_y_inverted = meta_wayland_buffer_is_y_inverted (pending->buffer);
snippet = meta_wayland_buffer_create_snippet (state->buffer);
is_y_inverted = meta_wayland_buffer_is_y_inverted (state->buffer);
meta_shaped_texture_set_texture (stex, texture);
meta_shaped_texture_set_snippet (stex, snippet);
@ -702,74 +702,74 @@ meta_wayland_surface_apply_pending_state (MetaWaylandSurface *surface,
* it until is replaced by a subsequent wl_surface.commit or when the
* wl_surface is destroyed.
*/
surface->buffer_held = (pending->buffer &&
!wl_shm_buffer_get (pending->buffer->resource));
surface->buffer_held = (state->buffer &&
!wl_shm_buffer_get (state->buffer->resource));
}
if (pending->scale > 0)
surface->scale = pending->scale;
if (state->scale > 0)
surface->scale = state->scale;
if (pending->has_new_buffer_transform)
surface->buffer_transform = pending->buffer_transform;
if (state->has_new_buffer_transform)
surface->buffer_transform = state->buffer_transform;
if (pending->has_new_viewport_src_rect)
if (state->has_new_viewport_src_rect)
{
surface->viewport.src_rect.origin.x = pending->viewport_src_rect.origin.x;
surface->viewport.src_rect.origin.y = pending->viewport_src_rect.origin.y;
surface->viewport.src_rect.size.width = pending->viewport_src_rect.size.width;
surface->viewport.src_rect.size.height = pending->viewport_src_rect.size.height;
surface->viewport.src_rect.origin.x = state->viewport_src_rect.origin.x;
surface->viewport.src_rect.origin.y = state->viewport_src_rect.origin.y;
surface->viewport.src_rect.size.width = state->viewport_src_rect.size.width;
surface->viewport.src_rect.size.height = state->viewport_src_rect.size.height;
surface->viewport.has_src_rect = surface->viewport.src_rect.size.width > 0;
}
if (pending->has_new_viewport_dst_size)
if (state->has_new_viewport_dst_size)
{
surface->viewport.dst_width = pending->viewport_dst_width;
surface->viewport.dst_height = pending->viewport_dst_height;
surface->viewport.dst_width = state->viewport_dst_width;
surface->viewport.dst_height = state->viewport_dst_height;
surface->viewport.has_dst_size = surface->viewport.dst_width > 0;
}
if (!cairo_region_is_empty (pending->surface_damage) ||
!cairo_region_is_empty (pending->buffer_damage))
if (!cairo_region_is_empty (state->surface_damage) ||
!cairo_region_is_empty (state->buffer_damage))
{
surface_process_damage (surface,
pending->surface_damage,
pending->buffer_damage);
state->surface_damage,
state->buffer_damage);
had_damage = TRUE;
}
surface->offset_x += pending->dx;
surface->offset_y += pending->dy;
surface->offset_x += state->dx;
surface->offset_y += state->dy;
if (pending->opaque_region_set)
if (state->opaque_region_set)
{
if (surface->opaque_region)
cairo_region_destroy (surface->opaque_region);
if (pending->opaque_region)
surface->opaque_region = cairo_region_reference (pending->opaque_region);
if (state->opaque_region)
surface->opaque_region = cairo_region_reference (state->opaque_region);
else
surface->opaque_region = NULL;
}
if (pending->input_region_set)
if (state->input_region_set)
{
if (surface->input_region)
cairo_region_destroy (surface->input_region);
if (pending->input_region)
surface->input_region = cairo_region_reference (pending->input_region);
if (state->input_region)
surface->input_region = cairo_region_reference (state->input_region);
else
surface->input_region = NULL;
}
if (surface->role)
{
meta_wayland_surface_role_commit (surface->role, pending);
g_assert (wl_list_empty (&pending->frame_callback_list));
meta_wayland_surface_role_commit (surface->role, state);
g_assert (wl_list_empty (&state->frame_callback_list));
}
else
{
meta_wayland_surface_cache_pending_frame_callbacks (surface, pending);
meta_wayland_surface_cache_pending_frame_callbacks (surface, state);
if (pending->newly_attached)
if (state->newly_attached)
{
/* The need to keep the wl_buffer from being released depends on what
* role the surface is given. That means we need to also keep a use
@ -785,15 +785,15 @@ cleanup:
/* If we have a buffer that we are not using, decrease the use count so it may
* be released if no-one else has a use-reference to it.
*/
if (pending->newly_attached &&
if (state->newly_attached &&
!surface->buffer_held && surface->buffer_ref.buffer)
meta_wayland_surface_unref_buffer_use_count (surface);
g_signal_emit (pending,
pending_state_signals[PENDING_STATE_SIGNAL_APPLIED],
g_signal_emit (state,
surface_state_signals[SURFACE_STATE_SIGNAL_APPLIED],
0);
pending_state_reset (pending);
meta_wayland_surface_state_reset (state);
g_node_children_foreach (surface->subsurface_branch_node,
G_TRAVERSE_ALL,
@ -817,7 +817,7 @@ cleanup:
}
}
MetaWaylandPendingState *
MetaWaylandSurfaceState *
meta_wayland_surface_get_pending_state (MetaWaylandSurface *surface)
{
return surface->pending_state;
@ -826,7 +826,7 @@ meta_wayland_surface_get_pending_state (MetaWaylandSurface *surface)
static void
meta_wayland_surface_commit (MetaWaylandSurface *surface)
{
MetaWaylandPendingState *pending = surface->pending_state;
MetaWaylandSurfaceState *pending = surface->pending_state;
COGL_TRACE_BEGIN_SCOPED (MetaWaylandSurfaceCommit,
"WaylandSurface (commit)");
@ -844,9 +844,9 @@ meta_wayland_surface_commit (MetaWaylandSurface *surface)
* surface is in effective desynchronized mode.
*/
if (meta_wayland_surface_should_cache_state (surface))
merge_pending_state (pending, surface->sub.pending);
meta_wayland_surface_state_merge_into (pending, surface->sub.pending);
else
meta_wayland_surface_apply_pending_state (surface, pending);
meta_wayland_surface_apply_state (surface, surface->pending_state);
}
static void
@ -864,7 +864,7 @@ wl_surface_attach (struct wl_client *client,
{
MetaWaylandSurface *surface =
wl_resource_get_user_data (surface_resource);
MetaWaylandPendingState *pending = surface->pending_state;
MetaWaylandSurfaceState *pending = surface->pending_state;
MetaWaylandBuffer *buffer;
/* X11 unmanaged window */
@ -905,7 +905,7 @@ wl_surface_damage (struct wl_client *client,
int32_t height)
{
MetaWaylandSurface *surface = wl_resource_get_user_data (surface_resource);
MetaWaylandPendingState *pending = surface->pending_state;
MetaWaylandSurfaceState *pending = surface->pending_state;
cairo_rectangle_int_t rectangle;
/* X11 unmanaged window */
@ -938,7 +938,7 @@ wl_surface_frame (struct wl_client *client,
{
MetaWaylandFrameCallback *callback;
MetaWaylandSurface *surface = wl_resource_get_user_data (surface_resource);
MetaWaylandPendingState *pending = surface->pending_state;
MetaWaylandSurfaceState *pending = surface->pending_state;
/* X11 unmanaged window */
if (!surface)
@ -962,7 +962,7 @@ wl_surface_set_opaque_region (struct wl_client *client,
struct wl_resource *region_resource)
{
MetaWaylandSurface *surface = wl_resource_get_user_data (surface_resource);
MetaWaylandPendingState *pending = surface->pending_state;
MetaWaylandSurfaceState *pending = surface->pending_state;
/* X11 unmanaged window */
if (!surface)
@ -984,7 +984,7 @@ wl_surface_set_input_region (struct wl_client *client,
struct wl_resource *region_resource)
{
MetaWaylandSurface *surface = wl_resource_get_user_data (surface_resource);
MetaWaylandPendingState *pending = surface->pending_state;
MetaWaylandSurfaceState *pending = surface->pending_state;
/* X11 unmanaged window */
if (!surface)
@ -1047,7 +1047,7 @@ wl_surface_set_buffer_transform (struct wl_client *client,
int32_t transform)
{
MetaWaylandSurface *surface = wl_resource_get_user_data (resource);
MetaWaylandPendingState *pending = surface->pending_state;
MetaWaylandSurfaceState *pending = surface->pending_state;
MetaMonitorTransform buffer_transform;
buffer_transform = transform_from_wl_output_transform (transform);
@ -1071,7 +1071,7 @@ wl_surface_set_buffer_scale (struct wl_client *client,
int scale)
{
MetaWaylandSurface *surface = wl_resource_get_user_data (resource);
MetaWaylandPendingState *pending = surface->pending_state;
MetaWaylandSurfaceState *pending = surface->pending_state;
if (scale <= 0)
{
@ -1094,7 +1094,7 @@ wl_surface_damage_buffer (struct wl_client *client,
int32_t height)
{
MetaWaylandSurface *surface = wl_resource_get_user_data (surface_resource);
MetaWaylandPendingState *pending = surface->pending_state;
MetaWaylandSurfaceState *pending = surface->pending_state;
cairo_rectangle_int_t rectangle;
/* X11 unmanaged window */
@ -1647,7 +1647,7 @@ meta_wayland_surface_get_absolute_coordinates (MetaWaylandSurface *surface,
static void
meta_wayland_surface_init (MetaWaylandSurface *surface)
{
surface->pending_state = g_object_new (META_TYPE_WAYLAND_PENDING_STATE, NULL);
surface->pending_state = g_object_new (META_TYPE_WAYLAND_SURFACE_STATE, NULL);
surface->subsurface_branch_node = g_node_new (surface);
surface->subsurface_leaf_node =
g_node_prepend_data (surface->subsurface_branch_node, surface);
@ -1791,7 +1791,7 @@ meta_wayland_surface_role_assigned (MetaWaylandSurfaceRole *surface_role)
static void
meta_wayland_surface_role_pre_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending)
MetaWaylandSurfaceState *pending)
{
MetaWaylandSurfaceRoleClass *klass;
@ -1802,7 +1802,7 @@ meta_wayland_surface_role_pre_commit (MetaWaylandSurfaceRole *surface_role,
static void
meta_wayland_surface_role_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending)
MetaWaylandSurfaceState *pending)
{
META_WAYLAND_SURFACE_ROLE_GET_CLASS (surface_role)->commit (surface_role,
pending);

View File

@ -33,8 +33,6 @@
#include "wayland/meta-wayland-pointer-constraints.h"
#include "wayland/meta-wayland-types.h"
typedef struct _MetaWaylandPendingState MetaWaylandPendingState;
#define META_TYPE_WAYLAND_SURFACE (meta_wayland_surface_get_type ())
G_DECLARE_FINAL_TYPE (MetaWaylandSurface,
meta_wayland_surface,
@ -45,11 +43,11 @@ G_DECLARE_FINAL_TYPE (MetaWaylandSurface,
G_DECLARE_DERIVABLE_TYPE (MetaWaylandSurfaceRole, meta_wayland_surface_role,
META, WAYLAND_SURFACE_ROLE, GObject);
#define META_TYPE_WAYLAND_PENDING_STATE (meta_wayland_pending_state_get_type ())
G_DECLARE_FINAL_TYPE (MetaWaylandPendingState,
meta_wayland_pending_state,
META, WAYLAND_PENDING_STATE,
GObject);
#define META_TYPE_WAYLAND_SURFACE_STATE (meta_wayland_surface_state_get_type ())
G_DECLARE_FINAL_TYPE (MetaWaylandSurfaceState,
meta_wayland_surface_state,
META, WAYLAND_SURFACE_STATE,
GObject)
struct _MetaWaylandSurfaceRoleClass
{
@ -57,9 +55,9 @@ struct _MetaWaylandSurfaceRoleClass
void (*assigned) (MetaWaylandSurfaceRole *surface_role);
void (*pre_commit) (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending);
MetaWaylandSurfaceState *pending);
void (*commit) (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending);
MetaWaylandSurfaceState *pending);
gboolean (*is_on_logical_monitor) (MetaWaylandSurfaceRole *surface_role,
MetaLogicalMonitor *logical_monitor);
MetaWaylandSurface * (*get_toplevel) (MetaWaylandSurfaceRole *surface_role);
@ -71,7 +69,7 @@ struct _MetaWaylandSerial {
uint32_t value;
};
struct _MetaWaylandPendingState
struct _MetaWaylandSurfaceState
{
GObject parent;
@ -177,7 +175,7 @@ struct _MetaWaylandSurface
} dnd;
/* All the pending state that wl_surface.commit will apply. */
MetaWaylandPendingState *pending_state;
MetaWaylandSurfaceState *pending_state;
/* Extension resources. */
struct wl_resource *wl_subsurface;
@ -199,7 +197,7 @@ struct _MetaWaylandSurface
* state here.
*/
gboolean synchronous;
MetaWaylandPendingState *pending;
MetaWaylandSurfaceState *pending;
int32_t pending_x;
int32_t pending_y;
@ -231,11 +229,11 @@ MetaWaylandSurface *meta_wayland_surface_create (MetaWaylandCompositor *composit
struct wl_resource *compositor_resource,
guint32 id);
MetaWaylandPendingState *
MetaWaylandSurfaceState *
meta_wayland_surface_get_pending_state (MetaWaylandSurface *surface);
void meta_wayland_surface_apply_pending_state (MetaWaylandSurface *surface,
MetaWaylandPendingState *pending);
void meta_wayland_surface_apply_state (MetaWaylandSurface *surface,
MetaWaylandSurfaceState *state);
gboolean meta_wayland_surface_is_effectively_synchronized (MetaWaylandSurface *surface);
@ -282,12 +280,12 @@ gboolean meta_wayland_surface_should_cache_state (MetaWaylandSurface
MetaWindow * meta_wayland_surface_get_toplevel_window (MetaWaylandSurface *surface);
void meta_wayland_surface_cache_pending_frame_callbacks (MetaWaylandSurface *surface,
MetaWaylandPendingState *pending);
MetaWaylandSurfaceState *pending);
void meta_wayland_surface_queue_pending_frame_callbacks (MetaWaylandSurface *surface);
void meta_wayland_surface_queue_pending_state_frame_callbacks (MetaWaylandSurface *surface,
MetaWaylandPendingState *pending);
MetaWaylandSurfaceState *pending);
void meta_wayland_surface_get_relative_coordinates (MetaWaylandSurface *surface,
float abs_x,

View File

@ -37,7 +37,7 @@ static void
wp_viewport_destructor (struct wl_resource *resource)
{
MetaWaylandSurface *surface;
MetaWaylandPendingState *pending;
MetaWaylandSurfaceState *pending;
surface = wl_resource_get_user_data (resource);
if (!surface)
@ -100,7 +100,7 @@ wp_viewport_set_source (struct wl_client *client,
(new_x == -1 && new_y == -1 &&
new_width == -1 && new_height == -1))
{
MetaWaylandPendingState *pending;
MetaWaylandSurfaceState *pending;
pending = meta_wayland_surface_get_pending_state (surface);
pending->viewport_src_rect.origin.x = new_x;
@ -139,7 +139,7 @@ wp_viewport_set_destination (struct wl_client *client,
if ((dst_width > 0 && dst_height > 0) ||
(dst_width == -1 && dst_height == -1))
{
MetaWaylandPendingState *pending;
MetaWaylandSurfaceState *pending;
pending = meta_wayland_surface_get_pending_state (surface);
pending->viewport_dst_width = dst_width;

View File

@ -563,7 +563,7 @@ bind_wl_shell (struct wl_client *client,
static void
wl_shell_surface_role_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending)
MetaWaylandSurfaceState *pending)
{
MetaWaylandWlShellSurface *wl_shell_surface =
META_WAYLAND_WL_SHELL_SURFACE (surface_role);

View File

@ -346,7 +346,7 @@ xdg_toplevel_set_max_size (struct wl_client *client,
int32_t height)
{
MetaWaylandSurface *surface = surface_from_xdg_toplevel_resource (resource);
MetaWaylandPendingState *pending;
MetaWaylandSurfaceState *pending;
if (width < 0 || height < 0)
{
@ -371,7 +371,7 @@ xdg_toplevel_set_min_size (struct wl_client *client,
int32_t height)
{
MetaWaylandSurface *surface = surface_from_xdg_toplevel_resource (resource);
MetaWaylandPendingState *pending;
MetaWaylandSurfaceState *pending;
if (width < 0 || height < 0)
{
@ -650,7 +650,7 @@ meta_wayland_xdg_toplevel_send_configure (MetaWaylandXdgToplevel *xdg_toplevel,
static gboolean
is_new_size_hints_valid (MetaWindow *window,
MetaWaylandPendingState *pending)
MetaWaylandSurfaceState *pending)
{
int new_min_width, new_min_height;
int new_max_width, new_max_height;
@ -681,7 +681,7 @@ is_new_size_hints_valid (MetaWindow *window,
static void
meta_wayland_xdg_toplevel_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending)
MetaWaylandSurfaceState *pending)
{
MetaWaylandXdgToplevel *xdg_toplevel = META_WAYLAND_XDG_TOPLEVEL (surface_role);
MetaWaylandXdgSurface *xdg_surface = META_WAYLAND_XDG_SURFACE (xdg_toplevel);
@ -1037,7 +1037,7 @@ finish_popup_setup (MetaWaylandXdgPopup *xdg_popup)
static void
meta_wayland_xdg_popup_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending)
MetaWaylandSurfaceState *pending)
{
MetaWaylandXdgPopup *xdg_popup = META_WAYLAND_XDG_POPUP (surface_role);
MetaWaylandXdgSurface *xdg_surface = META_WAYLAND_XDG_SURFACE (surface_role);
@ -1383,7 +1383,7 @@ xdg_surface_set_window_geometry (struct wl_client *client,
int32_t height)
{
MetaWaylandSurface *surface = surface_from_xdg_surface_resource (resource);
MetaWaylandPendingState *pending;
MetaWaylandSurfaceState *pending;
pending = meta_wayland_surface_get_pending_state (surface);
pending->has_new_geometry = TRUE;
@ -1440,7 +1440,7 @@ meta_wayland_xdg_surface_real_reset (MetaWaylandXdgSurface *xdg_surface)
static void
meta_wayland_xdg_surface_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending)
MetaWaylandSurfaceState *pending)
{
MetaWaylandXdgSurface *xdg_surface = META_WAYLAND_XDG_SURFACE (surface_role);
MetaWaylandShellSurface *shell_surface =