[mutter] clutter/actor: Add semi-private API to check for transitions
- From: Jonas Ådahl <jadahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] clutter/actor: Add semi-private API to check for transitions
- Date: Thu, 16 Apr 2020 14:08:37 +0000 (UTC)
commit bc178b711ffbd8db0b7cfecefb6f67edf4e0254f
Author: Jonas Ådahl <jadahl gmail com>
Date: Wed Sep 11 11:49:47 2019 +0200
clutter/actor: Add semi-private API to check for transitions
Transitions are used for animating actors when e.g. going from/to
fullscreen, and the like. We need to know such things when deciding
whether to avoid compositing a window actor, so make add API visible to
mutter that checks whether there are any transitions active.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/798
clutter/clutter/clutter-actor.c | 17 +++++++++++++++++
clutter/clutter/clutter-mutter.h | 3 +++
2 files changed, 20 insertions(+)
---
diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c
index 68e006ecb..caab97b4e 100644
--- a/clutter/clutter/clutter-actor.c
+++ b/clutter/clutter/clutter-actor.c
@@ -19960,6 +19960,23 @@ clutter_actor_get_transition (ClutterActor *self,
return clos->transition;
}
+/**
+ * clutter_actor_has_transitions: (skip)
+ */
+gboolean
+clutter_actor_has_transitions (ClutterActor *self)
+{
+ const ClutterAnimationInfo *info;
+
+ g_return_val_if_fail (CLUTTER_IS_ACTOR (self), FALSE);
+
+ info = _clutter_actor_get_animation_info_or_defaults (self);
+ if (info->transitions == NULL)
+ return FALSE;
+
+ return g_hash_table_size (info->transitions) > 0;
+}
+
/**
* clutter_actor_save_easing_state:
* @self: a #ClutterActor
diff --git a/clutter/clutter/clutter-mutter.h b/clutter/clutter/clutter-mutter.h
index 2e3af31f1..e51ccba98 100644
--- a/clutter/clutter/clutter-mutter.h
+++ b/clutter/clutter/clutter-mutter.h
@@ -60,6 +60,9 @@ void clutter_stage_update_resource_scales (ClutterStage *stage);
CLUTTER_EXPORT
gboolean clutter_actor_has_damage (ClutterActor *actor);
+CLUTTER_EXPORT
+gboolean clutter_actor_has_transitions (ClutterActor *actor);
+
#undef __CLUTTER_H_INSIDE__
#endif /* __CLUTTER_MUTTER_H__ */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]