diff --git a/ChangeLog b/ChangeLog index 7bfa91e7f..d35781706 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-11-06 Emmanuele Bassi + + * clutter/clutter-layout.h: Add commodity macros to test for + a specific layout flag in one line. + 2007-11-06 Emmanuele Bassi * clutter/clutter-box.c (clutter_box_dispose): Call unparent() diff --git a/clutter/clutter-layout.h b/clutter/clutter-layout.h index 37958be15..194cfceba 100644 --- a/clutter/clutter-layout.h +++ b/clutter/clutter-layout.h @@ -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)