[maemo-commits] [maemo-commits] r17272 - in projects/haf/trunk/libmatchbox2: . debian matchbox/comp-mgr

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Fri Jan 23 18:09:55 EET 2009
Author: kihamala
Date: 2009-01-23 18:09:55 +0200 (Fri, 23 Jan 2009)
New Revision: 17272

Modified:
   projects/haf/trunk/libmatchbox2/ChangeLog
   projects/haf/trunk/libmatchbox2/debian/changelog
   projects/haf/trunk/libmatchbox2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c
   projects/haf/trunk/libmatchbox2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.h
Log:
add WM-side support for hd-animation-actor


Modified: projects/haf/trunk/libmatchbox2/ChangeLog
===================================================================
--- projects/haf/trunk/libmatchbox2/ChangeLog	2009-01-23 15:51:34 UTC (rev 17271)
+++ projects/haf/trunk/libmatchbox2/ChangeLog	2009-01-23 16:09:55 UTC (rev 17272)
@@ -3,6 +3,10 @@
 	* matchbox/client-types/mb-wm-client-menu.c (mb_wm_client_menu_init):
 	Fix positioning of new-style menus. Old-style menus are positioned
 	better, but not yet according to layout guide. Fixes: NB#92248
+	* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.[ch]: Add support for
+	HdWmClientTypeAnimationActor to the texture workaround.
+	MBWMCompMgrClutterClientDontPosition and
+	MBWMCompMgrClutterClientDontPosition.
 
 2009-01-23  Adam Endrodi  <adam.endrodi at blumsoft.eu>
 

Modified: projects/haf/trunk/libmatchbox2/debian/changelog
===================================================================
--- projects/haf/trunk/libmatchbox2/debian/changelog	2009-01-23 15:51:34 UTC (rev 17271)
+++ projects/haf/trunk/libmatchbox2/debian/changelog	2009-01-23 16:09:55 UTC (rev 17272)
@@ -5,6 +5,7 @@
     shaped windows.
   * Patch from Laszlo to focus next client when unfocusing. Fixes: NB#93431
   * Fix menu positioning. Fixes: NB#92248
+  * Added support for "WM assisted animations".
 
  -- Kimmo Hämäläinen <kimmo.hamalainen at nokia.com>  Mon, 12 Jan 2009 17:46:43 +0200
 

Modified: projects/haf/trunk/libmatchbox2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c
===================================================================
--- projects/haf/trunk/libmatchbox2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c	2009-01-23 15:51:34 UTC (rev 17271)
+++ projects/haf/trunk/libmatchbox2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c	2009-01-23 16:09:55 UTC (rev 17272)
@@ -61,6 +61,7 @@
   HdWmClientTypeAppMenu     = MBWMClientTypeLast << 2,
   HdWmClientTypeStatusArea  = MBWMClientTypeLast << 3,
   HdWmClientTypeStatusMenu  = MBWMClientTypeLast << 4,
+  HdWmClientTypeAnimationActor = MBWMClientTypeLast << 5,
 } HdWmClientType;
 
 static void
@@ -174,9 +175,13 @@
            geom.x, x, geom.y, y,
            geom.width, w, geom.height, h);
            */
-  clutter_actor_set_position (cclient->priv->actor, geom.x, geom.y);
-  clutter_actor_set_size (cclient->priv->texture, geom.width, geom.height);
 
+  if (!(cclient->priv->flags & MBWMCompMgrClutterClientDontPosition))
+    {
+      clutter_actor_set_position (cclient->priv->actor, geom.x, geom.y);
+      clutter_actor_set_size (cclient->priv->texture, geom.width, geom.height);
+    }
+
   /* this will also cause updating the corresponding pixmap
    * and ensures window<->pixmap binding */
   clutter_x11_texture_pixmap_set_window (
@@ -329,7 +334,9 @@
    * Clear the don't update flag, if set
    */
   cclient->priv->flags &= ~MBWMCompMgrClutterClientDontUpdate;
-  clutter_actor_show_all (cclient->priv->actor);
+
+  if (!(cclient->priv->flags & MBWMCompMgrClutterClientDontShow))
+    clutter_actor_show_all (cclient->priv->actor);
 }
 
 void
@@ -1078,7 +1085,8 @@
       ctype == HdWmClientTypeStatusArea ||
       ctype == HdWmClientTypeStatusMenu ||
       ctype == HdWmClientTypeHomeApplet ||
-      ctype == HdWmClientTypeAppMenu
+      ctype == HdWmClientTypeAppMenu ||
+      ctype == HdWmClientTypeAnimationActor
       )
 #else
   if (FALSE)
@@ -1114,6 +1122,12 @@
   clutter_actor_set_position (actor, geom.x, geom.y);
   clutter_actor_set_size (texture, geom.width, geom.height);
 
+  /* If the client has a "do not show" flag set explicitly,
+     prevent it from being shown when it is added to the desktop */
+
+  if (cclient->priv->flags & MBWMCompMgrClutterClientDontShow)
+    g_object_set (actor, "show-on-set-parent", FALSE, NULL);
+
   mb_wm_comp_mgr_clutter_add_actor (cmgr, cclient);
 }
 

Modified: projects/haf/trunk/libmatchbox2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.h
===================================================================
--- projects/haf/trunk/libmatchbox2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.h	2009-01-23 15:51:34 UTC (rev 17271)
+++ projects/haf/trunk/libmatchbox2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.h	2009-01-23 16:09:55 UTC (rev 17272)
@@ -46,6 +46,8 @@
   MBWMCompMgrClutterClientDontUpdate    = (1<<1),
   MBWMCompMgrClutterClientDone          = (1<<2),
   MBWMCompMgrClutterClientEffectRunning = (1<<3),
+  MBWMCompMgrClutterClientDontPosition  = (1<<4),
+  MBWMCompMgrClutterClientDontShow      = (1<<5),
 } MBWMCompMgrClutterClientFlags;
 
 /**


More information about the maemo-commits mailing list