123
authorTanya <tanya@bookdmitri.oblgaz>
Sun, 28 Mar 2010 20:22:40 +0000 (23:22 +0300)
committerTanya <tanya@bookdmitri.oblgaz>
Sun, 28 Mar 2010 20:22:40 +0000 (23:22 +0300)
applet/src/livewp-home-widget.c
applet/src/livewp-multiactor.c
applet/src/livewp-multiactor.h

index 28d6c81..6cb20a0 100644 (file)
@@ -263,6 +263,7 @@ void change_multiactor()
 {
     gboolean fl;
     double scale;
+    gint x, y, z;
     if (ma1->visible) fl = FALSE;
     else fl = TRUE;
     //multiactor_set_visible(ma1, fl);
@@ -270,7 +271,11 @@ void change_multiactor()
     scale = ma1->scale;
     scale -= 0.1;
     if (scale == 0) scale = 1;
-    multiactor_set_scale(ma1, scale);
+    //multiactor_set_scale(ma1, scale);
+
+    x = ma1->x + 10;
+    y = ma1->y + 10;
+    //multiactor_set_position(ma1, x, y, 0);
 
 }
 
index a282a1f..2537db8 100644 (file)
@@ -65,3 +65,18 @@ void multiactor_set_scale(MultiActor *ma, double scale)
     }
     ma->scale = scale;
 }
+void multiactor_set_position(MultiActor *ma, gint dx, gint dy, gint dz)
+{
+    GSList *tmp = ma->child;
+    gint x, y, z;
+    while (tmp != NULL){
+        x = g_object_get_data(G_OBJECT(tmp->data), "x");
+        y = g_object_get_data(G_OBJECT(tmp->data), "y");
+        z = g_object_get_data(G_OBJECT(tmp->data), "z");
+        actor_set_position_full(tmp->data, x + dx, y + dy, z + dz);        
+        tmp = g_slist_next(tmp);
+    }
+    ma->x = dx;
+    ma->y = dy;
+    ma->z = dz;
+}
index a08857b..4c788b8 100644 (file)
@@ -43,4 +43,5 @@ typedef struct {
 MultiActor * multiactor_init(gchar * name, GSList * child, gint x, gint y, gint z, double scale, gboolean visible);
 void multiactor_set_visible(MultiActor *ma, gboolean visible);
 void multiactor_set_scale(MultiActor *ma, double scale);
+void multiactor_set_position(MultiActor *ma, gint dx, gint dy, gint dz);
 #endif