[clutter] examples/layout-manager: Show transformations inside layouts
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [clutter] examples/layout-manager: Show transformations inside layouts
- Date: Wed, 27 Jun 2012 20:31:56 +0000 (UTC)
commit 2ee945b2ca799d0af8f35e905e219c88b46283a0
Author: Emmanuele Bassi <ebassi gnome org>
Date: Wed Jun 27 21:26:22 2012 +0100
examples/layout-manager: Show transformations inside layouts
Actor transformations do not affect the layout management by default; we
can easily show that a scale animation does not break the layout policy
inside an example.
examples/layout-manager.c | 28 ++++++++++++++++++++++++++++
1 files changed, 28 insertions(+), 0 deletions(-)
---
diff --git a/examples/layout-manager.c b/examples/layout-manager.c
index 2f3dec6..347a96a 100644
--- a/examples/layout-manager.c
+++ b/examples/layout-manager.c
@@ -334,6 +334,30 @@ multi_layout_set_spacing (MultiLayout *self,
#define BOX_SIZE (RECT_SIZE * (N_RECTS / N_ROWS) + PADDING * (N_RECTS / N_ROWS - 1))
static gboolean
+on_enter (ClutterActor *rect,
+ ClutterEvent *event)
+{
+ clutter_actor_save_easing_state (rect);
+ clutter_actor_set_scale_with_gravity (rect, 1.2, 1.2,
+ CLUTTER_GRAVITY_CENTER);
+ clutter_actor_restore_easing_state (rect);
+
+ return CLUTTER_EVENT_STOP;
+}
+
+static gboolean
+on_leave (ClutterActor *rect,
+ ClutterEvent *event)
+{
+ clutter_actor_save_easing_state (rect);
+ clutter_actor_set_scale_with_gravity (rect, 1.0, 1.0,
+ CLUTTER_GRAVITY_CENTER);
+ clutter_actor_restore_easing_state (rect);
+
+ return CLUTTER_EVENT_STOP;
+}
+
+static gboolean
on_key_press (ClutterActor *stage,
ClutterEvent *event,
ClutterActor *box)
@@ -407,7 +431,11 @@ main (int argc, char *argv[])
clutter_actor_set_size (rect, RECT_SIZE, RECT_SIZE);
clutter_actor_set_background_color (rect, &color);
+ clutter_actor_set_reactive (rect, TRUE);
clutter_actor_add_child (box, rect);
+
+ g_signal_connect (rect, "enter-event", G_CALLBACK (on_enter), NULL);
+ g_signal_connect (rect, "leave-event", G_CALLBACK (on_leave), NULL);
}
label = clutter_text_new ();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]