![]() |
![]() |
![]() |
Clutter Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties |
enum ClutterFlowOrientation; struct ClutterFlowLayout; struct ClutterFlowLayoutClass; ClutterLayoutManager * clutter_flow_layout_new (ClutterFlowOrientation orientation
); void clutter_flow_layout_set_homogeneous (ClutterFlowLayout *layout
,gboolean homogeneous
); gboolean clutter_flow_layout_get_homogeneous (ClutterFlowLayout *layout
); void clutter_flow_layout_set_orientation (ClutterFlowLayout *layout
,ClutterFlowOrientation orientation
); ClutterFlowOrientation clutter_flow_layout_get_orientation (ClutterFlowLayout *layout
); void clutter_flow_layout_set_column_spacing (ClutterFlowLayout *layout
,gfloat spacing
); gfloat clutter_flow_layout_get_column_spacing (ClutterFlowLayout *layout
); void clutter_flow_layout_set_row_spacing (ClutterFlowLayout *layout
,gfloat spacing
); gfloat clutter_flow_layout_get_row_spacing (ClutterFlowLayout *layout
); void clutter_flow_layout_set_column_width (ClutterFlowLayout *layout
,gfloat min_width
,gfloat max_width
); void clutter_flow_layout_get_column_width (ClutterFlowLayout *layout
,gfloat *min_width
,gfloat *max_width
); void clutter_flow_layout_set_row_height (ClutterFlowLayout *layout
,gfloat min_height
,gfloat max_height
); void clutter_flow_layout_get_row_height (ClutterFlowLayout *layout
,gfloat *min_height
,gfloat *max_height
);
"column-spacing" gfloat : Read / Write "homogeneous" gboolean : Read / Write "max-column-width" gfloat : Read / Write "max-row-height" gfloat : Read / Write "min-column-width" gfloat : Read / Write "min-row-height" gfloat : Read / Write "orientation" ClutterFlowOrientation : Read / Write / Construct "row-spacing" gfloat : Read / Write
ClutterFlowLayout is a layout manager which implements the following policy:
the preferred natural size depends on the value of the "orientation" property; the layout will try to maintain all its children on a single row or column;
if either the width or the height allocated are smaller than the preferred ones, the layout will wrap; in this case, the preferred height or width, respectively, will take into account the amount of columns and rows;
each line (either column or row) in reflowing will
have the size of the biggest cell on that line; if the
"homogeneous" property is set to FALSE
the actor
will be allocated within that area, and if set to TRUE
instead the
actor will be given exactly that area;
the size of the columns or rows can be controlled for both minimum and maximum; the spacing can also be controlled in both columns and rows.
Figure 4. Horizontal flow layout
The image shows a ClutterFlowLayout with the
"orientation" propert set to
CLUTTER_FLOW_HORIZONTAL
.
Figure 5. Vertical flow layout
The image shows a ClutterFlowLayout with the
"orientation" propert set to
CLUTTER_FLOW_VERTICAL
.
ClutterFlowLayout is available since Clutter 1.2
typedef enum { /*< prefix=CLUTTER_FLOW >*/ CLUTTER_FLOW_HORIZONTAL, CLUTTER_FLOW_VERTICAL } ClutterFlowOrientation;
The direction of the arrangement of the children inside a ClutterFlowLayout
Arrange the children of the flow layout horizontally first | |
Arrange the children of the flow layout vertically first |
Since 1.2
struct ClutterFlowLayout;
The ClutterFlowLayout structure contains only private data and should be accessed using the provided API
Since 1.2
struct ClutterFlowLayoutClass { };
The ClutterFlowLayoutClass structure contains only private data and should be accessed using the provided API
Since 1.2
ClutterLayoutManager * clutter_flow_layout_new (ClutterFlowOrientation orientation
);
Creates a new ClutterFlowLayout with the given orientation
|
the orientation of the flow layout |
Returns : |
the newly created ClutterFlowLayout |
Since 1.2
void clutter_flow_layout_set_homogeneous (ClutterFlowLayout *layout
,gboolean homogeneous
);
Sets whether the layout
should allocate the same space for
each child
|
a ClutterFlowLayout |
|
whether the layout should be homogeneous or not |
Since 1.2
gboolean clutter_flow_layout_get_homogeneous (ClutterFlowLayout *layout
);
Retrieves whether the layout
is homogeneous
|
a ClutterFlowLayout |
Returns : |
TRUE if the ClutterFlowLayout is homogeneous
|
Since 1.2
void clutter_flow_layout_set_orientation (ClutterFlowLayout *layout
,ClutterFlowOrientation orientation
);
Sets the orientation of the flow layout
The orientation controls the direction used to allocate the children: either horizontally or vertically. The orientation also controls the direction of the overflowing
|
a ClutterFlowLayout |
|
the orientation of the layout |
Since 1.2
ClutterFlowOrientation clutter_flow_layout_get_orientation
(ClutterFlowLayout *layout
);
Retrieves the orientation of the layout
|
a ClutterFlowLayout |
Returns : |
the orientation of the ClutterFlowLayout |
Since 1.2
void clutter_flow_layout_set_column_spacing (ClutterFlowLayout *layout
,gfloat spacing
);
Sets the space between columns, in pixels
|
a ClutterFlowLayout |
|
the space between columns |
Since 1.2
gfloat clutter_flow_layout_get_column_spacing
(ClutterFlowLayout *layout
);
Retrieves the spacing between columns
|
a ClutterFlowLayout |
Returns : |
the spacing between columns of the ClutterFlowLayout, in pixels |
Since 1.2
void clutter_flow_layout_set_row_spacing (ClutterFlowLayout *layout
,gfloat spacing
);
Sets the spacing between rows, in pixels
|
a ClutterFlowLayout |
|
the space between rows |
Since 1.2
gfloat clutter_flow_layout_get_row_spacing (ClutterFlowLayout *layout
);
Retrieves the spacing between rows
|
a ClutterFlowLayout |
Returns : |
the spacing between rows of the ClutterFlowLayout, in pixels |
Since 1.2
void clutter_flow_layout_set_column_width (ClutterFlowLayout *layout
,gfloat min_width
,gfloat max_width
);
Sets the minimum and maximum widths that a column can have
|
a ClutterFlowLayout |
|
minimum width of a column |
|
maximum width of a column |
Since 1.2
void clutter_flow_layout_get_column_width (ClutterFlowLayout *layout
,gfloat *min_width
,gfloat *max_width
);
Retrieves the minimum and maximum column widths
|
a ClutterFlowLayout |
|
return location for the minimum column width, or NULL . [out]
|
|
return location for the maximum column width, or NULL . [out]
|
Since 1.2
void clutter_flow_layout_set_row_height (ClutterFlowLayout *layout
,gfloat min_height
,gfloat max_height
);
Sets the minimum and maximum heights that a row can have
|
a ClutterFlowLayout |
|
the minimum height of a row |
|
the maximum height of a row |
Since 1.2
void clutter_flow_layout_get_row_height (ClutterFlowLayout *layout
,gfloat *min_height
,gfloat *max_height
);
Retrieves the minimum and maximum row heights
|
a ClutterFlowLayout |
|
return location for the minimum row height, or NULL . [out]
|
|
return location for the maximum row height, or NULL . [out]
|
Since 1.2
"column-spacing"
property "column-spacing" gfloat : Read / Write
The spacing between columns, in pixels; the value of this property is honoured by horizontal non-overflowing layouts and by vertical overflowing layouts
Allowed values: >= 0
Default value: 0
Since 1.2
"homogeneous"
property "homogeneous" gboolean : Read / Write
Whether each child inside the ClutterFlowLayout should receive the same allocation
Default value: FALSE
Since 1.2
"max-column-width"
property "max-column-width" gfloat : Read / Write
Maximum width for each column in the layout, in pixels. If set to -1 the width will be the maximum child width
Allowed values: >= -1
Default value: -1
Since 1.2
"max-row-height"
property "max-row-height" gfloat : Read / Write
Maximum height for each row in the layout, in pixels. If set to -1 the width will be the maximum child height
Allowed values: >= -1
Default value: -1
Since 1.2
"min-column-width"
property "min-column-width" gfloat : Read / Write
Minimum width for each column in the layout, in pixels
Allowed values: >= 0
Default value: 0
Since 1.2
"min-row-height"
property "min-row-height" gfloat : Read / Write
Minimum height for each row in the layout, in pixels
Allowed values: >= 0
Default value: 0
Since 1.2
"orientation"
property"orientation" ClutterFlowOrientation : Read / Write / Construct
The orientation of the ClutterFlowLayout. The children of the layout will be layed out following the orientation.
This property also controls the overflowing directions
Default value: CLUTTER_FLOW_HORIZONTAL
Since 1.2