2007-11-06 Emmanuele Bassi <ebassi@openedhand.com>
authorEmmanuele Bassi <ebassi@openedhand.com>
Tue, 6 Nov 2007 14:45:11 +0000 (14:45 +0000)
committerEmmanuele Bassi <ebassi@openedhand.com>
Tue, 6 Nov 2007 14:45:11 +0000 (14:45 +0000)
* clutter/clutter-layout.h: Add commodity macros to test for
a specific layout flag in one line.

ChangeLog
clutter/clutter-layout.h

index 7bfa91e..d357817 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2007-11-06  Emmanuele Bassi  <ebassi@openedhand.com>
 
+       * clutter/clutter-layout.h: Add commodity macros to test for
+       a specific layout flag in one line.
+
+2007-11-06  Emmanuele Bassi  <ebassi@openedhand.com>
+
        * clutter/clutter-box.c (clutter_box_dispose): Call unparent()
        on the children, instead of destroy(), to avoid a double free
        and a crash when destroying a ClutterBox.
index 37958be..194cfce 100644 (file)
@@ -40,6 +40,19 @@ G_BEGIN_DECLS
 #define CLUTTER_IS_LAYOUT(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_LAYOUT))
 #define CLUTTER_LAYOUT_GET_IFACE(obj)   (G_TYPE_INSTANCE_GET_INTERFACE ((obj), CLUTTER_TYPE_LAYOUT, ClutterLayoutIface))
 
+#define CLUTTER_LAYOUT_HAS(layout,f)                    \
+        (CLUTTER_IS_LAYOUT ((layout)) && \
+         (clutter_layout_get_layout_flags ((ClutterLayout *) (layout)) & (f)))
+
+#define CLUTTER_LAYOUT_HAS_WIDTH_FOR_HEIGHT(layout)     \
+        (CLUTTER_LAYOUT_HAS ((layout), CLUTTER_LAYOUT_WIDTH_FOR_HEIGHT))
+#define CLUTTER_LAYOUT_HAS_HEIGHT_FOR_WIDTH(layout)     \
+        (CLUTTER_LAYOUT_HAS ((layout), CLUTTER_LAYOUT_HEIGHT_FOR_WIDTH))
+#define CLUTTER_LAYOUT_HAS_NATURAL_SIZE(layout)         \
+        (CLUTTER_LAYOUT_HAS ((layout), CLUTTER_LAYOUT_NATURAL))
+#define CLUTTER_LAYOUT_HAS_TUNABLE_SIZE(layout)         \
+        (CLUTTER_LAYOUT_HAS ((layout), CLUTTER_LAYOUT_TUNABLE))
+
 /**
  * ClutterLayoutFlags
  * @CLUTTER_LAYOUT_NONE: No layout (default behaviour)