mirror of
https://github.com/brl/mutter.git
synced 2024-11-28 02:50:41 -05:00
3e90070b88
Without 'wayland/surface-actor: Reset and sync subsurface state when resetting' this test would fail. This also adds a simple framework for testing lower level Wayland semantics. In contrast to the test-client and test-driver framework, which uses gtk and tests mostly window management related things, this framework is aimed to run Wayland clients made to test a particular protocol flow, thus will likely consist of manual lower level Wayland mechanics. A private protocol is added in order to help out clients do things they cannot do by themself. The protocol currently only consists of a request meant to be used for getting a callback when the actor of a given surface is eventually destroyed. This is different from the wl_surface being destroyed due to window destroy animations taking an arbitrary amount of time. It'll be used by the first test added in the next commit. https://gitlab.gnome.org/GNOME/mutter/merge_requests/961
52 lines
2.0 KiB
C
52 lines
2.0 KiB
C
/*
|
|
* Copyright (C) 2012,2013 Intel Corporation
|
|
* Copyright (C) 2013-2017 Red Hat, Inc.
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License as
|
|
* published by the Free Software Foundation; either version 2 of the
|
|
* License, or (at your option) any later version.
|
|
*
|
|
* This program 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
|
|
* General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
* 02111-1307, USA.
|
|
*/
|
|
|
|
#ifndef META_WAYLAND_ACTOR_SURFACE_H
|
|
#define META_WAYLAND_ACTOR_SURFACE_H
|
|
|
|
#include "wayland/meta-wayland-surface.h"
|
|
|
|
#define META_TYPE_WAYLAND_ACTOR_SURFACE (meta_wayland_actor_surface_get_type ())
|
|
G_DECLARE_DERIVABLE_TYPE (MetaWaylandActorSurface,
|
|
meta_wayland_actor_surface,
|
|
META, WAYLAND_ACTOR_SURFACE,
|
|
MetaWaylandSurfaceRole)
|
|
|
|
struct _MetaWaylandActorSurfaceClass
|
|
{
|
|
MetaWaylandSurfaceRoleClass parent_class;
|
|
|
|
double (* get_geometry_scale) (MetaWaylandActorSurface *actor_surface);
|
|
void (* sync_actor_state) (MetaWaylandActorSurface *actor_surface);
|
|
};
|
|
|
|
void meta_wayland_actor_surface_sync_actor_state (MetaWaylandActorSurface *actor_surface);
|
|
double meta_wayland_actor_surface_get_geometry_scale (MetaWaylandActorSurface *actor_surface);
|
|
|
|
META_EXPORT_TEST
|
|
MetaSurfaceActor * meta_wayland_actor_surface_get_actor (MetaWaylandActorSurface *actor_surface);
|
|
|
|
void meta_wayland_actor_surface_reset_actor (MetaWaylandActorSurface *actor_surface);
|
|
|
|
void meta_wayland_actor_surface_queue_frame_callbacks (MetaWaylandActorSurface *actor_surface,
|
|
MetaWaylandSurfaceState *pending);
|
|
|
|
#endif /* META_WAYLAND_ACTOR_SURFACE_H */
|