mirror of
https://github.com/brl/mutter.git
synced 2025-02-16 13:24:09 +00:00
compositor: make set_frozen a vfunc
MetaSurfaceActor can be made "frozen" via it's set_frozen method. That method could be useful as virtual function, so that the wayland subclass can tie into it and freeze the underlying surface. This commit does the prerequiste work of making set_frozen a vfunc. A future commit will change the wayland subclass code to leverage the vfunc.
This commit is contained in:
parent
c21d12c4ac
commit
80562bbb10
@ -31,6 +31,9 @@ struct _MetaSurfaceActorPrivate
|
||||
|
||||
static void cullable_iface_init (MetaCullableInterface *iface);
|
||||
|
||||
void meta_surface_actor_real_set_frozen (MetaSurfaceActor *self,
|
||||
gboolean frozen);
|
||||
|
||||
G_DEFINE_ABSTRACT_TYPE_WITH_CODE (MetaSurfaceActor, meta_surface_actor, CLUTTER_TYPE_ACTOR,
|
||||
G_IMPLEMENT_INTERFACE (META_TYPE_CULLABLE, cullable_iface_init));
|
||||
|
||||
@ -121,6 +124,8 @@ meta_surface_actor_class_init (MetaSurfaceActorClass *klass)
|
||||
object_class->dispose = meta_surface_actor_dispose;
|
||||
actor_class->pick = meta_surface_actor_pick;
|
||||
|
||||
klass->set_frozen = meta_surface_actor_real_set_frozen;
|
||||
|
||||
signals[REPAINT_SCHEDULED] = g_signal_new ("repaint-scheduled",
|
||||
G_TYPE_FROM_CLASS (object_class),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
@ -331,6 +336,13 @@ meta_surface_actor_is_visible (MetaSurfaceActor *self)
|
||||
void
|
||||
meta_surface_actor_set_frozen (MetaSurfaceActor *self,
|
||||
gboolean frozen)
|
||||
{
|
||||
return META_SURFACE_ACTOR_GET_CLASS (self)->set_frozen (self, frozen);
|
||||
}
|
||||
|
||||
void
|
||||
meta_surface_actor_real_set_frozen (MetaSurfaceActor *self,
|
||||
gboolean frozen)
|
||||
{
|
||||
MetaSurfaceActorPrivate *priv = self->priv;
|
||||
|
||||
|
@ -36,6 +36,9 @@ struct _MetaSurfaceActorClass
|
||||
gboolean unredirected);
|
||||
gboolean (* is_unredirected) (MetaSurfaceActor *actor);
|
||||
|
||||
void (* set_frozen) (MetaSurfaceActor *actor,
|
||||
gboolean is_frozen);
|
||||
|
||||
MetaWindow *(* get_window) (MetaSurfaceActor *actor);
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user