mirror of
https://github.com/brl/mutter.git
synced 2024-11-23 00:20:42 -05:00
clutter/layout-manager: Consume Actors not Containers
We don't actually need the host to be a container, so simply work on actors saving us a few casts. This'll simplify dropping ClutterContainer entirely later, and StViewport/ShellWindowPreviewLayout will also need to be updated for the new signatures Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3384>
This commit is contained in:
parent
d0ebfa792d
commit
e1cdeb0319
@ -2268,15 +2268,13 @@ clutter_actor_real_get_preferred_width (ClutterActor *self,
|
|||||||
|
|
||||||
if (priv->layout_manager != NULL)
|
if (priv->layout_manager != NULL)
|
||||||
{
|
{
|
||||||
ClutterContainer *container = CLUTTER_CONTAINER (self);
|
|
||||||
|
|
||||||
CLUTTER_NOTE (LAYOUT, "Querying the layout manager '%s'[%p] "
|
CLUTTER_NOTE (LAYOUT, "Querying the layout manager '%s'[%p] "
|
||||||
"for the preferred width",
|
"for the preferred width",
|
||||||
G_OBJECT_TYPE_NAME (priv->layout_manager),
|
G_OBJECT_TYPE_NAME (priv->layout_manager),
|
||||||
priv->layout_manager);
|
priv->layout_manager);
|
||||||
|
|
||||||
clutter_layout_manager_get_preferred_width (priv->layout_manager,
|
clutter_layout_manager_get_preferred_width (priv->layout_manager,
|
||||||
container,
|
self,
|
||||||
for_height,
|
for_height,
|
||||||
min_width_p,
|
min_width_p,
|
||||||
natural_width_p);
|
natural_width_p);
|
||||||
@ -2307,15 +2305,13 @@ clutter_actor_real_get_preferred_height (ClutterActor *self,
|
|||||||
|
|
||||||
if (priv->layout_manager != NULL)
|
if (priv->layout_manager != NULL)
|
||||||
{
|
{
|
||||||
ClutterContainer *container = CLUTTER_CONTAINER (self);
|
|
||||||
|
|
||||||
CLUTTER_NOTE (LAYOUT, "Querying the layout manager '%s'[%p] "
|
CLUTTER_NOTE (LAYOUT, "Querying the layout manager '%s'[%p] "
|
||||||
"for the preferred height",
|
"for the preferred height",
|
||||||
G_OBJECT_TYPE_NAME (priv->layout_manager),
|
G_OBJECT_TYPE_NAME (priv->layout_manager),
|
||||||
priv->layout_manager);
|
priv->layout_manager);
|
||||||
|
|
||||||
clutter_layout_manager_get_preferred_height (priv->layout_manager,
|
clutter_layout_manager_get_preferred_height (priv->layout_manager,
|
||||||
container,
|
self,
|
||||||
for_width,
|
for_width,
|
||||||
min_height_p,
|
min_height_p,
|
||||||
natural_height_p);
|
natural_height_p);
|
||||||
@ -2572,7 +2568,7 @@ clutter_actor_real_allocate (ClutterActor *self,
|
|||||||
G_OBJECT_TYPE_NAME (priv->layout_manager));
|
G_OBJECT_TYPE_NAME (priv->layout_manager));
|
||||||
|
|
||||||
clutter_layout_manager_allocate (priv->layout_manager,
|
clutter_layout_manager_allocate (priv->layout_manager,
|
||||||
CLUTTER_CONTAINER (self),
|
self,
|
||||||
&children_box);
|
&children_box);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -15970,8 +15966,7 @@ clutter_actor_set_layout_manager (ClutterActor *self,
|
|||||||
if (priv->layout_manager != NULL)
|
if (priv->layout_manager != NULL)
|
||||||
{
|
{
|
||||||
g_object_ref_sink (priv->layout_manager);
|
g_object_ref_sink (priv->layout_manager);
|
||||||
clutter_layout_manager_set_container (priv->layout_manager,
|
clutter_layout_manager_set_container (priv->layout_manager, self);
|
||||||
CLUTTER_CONTAINER (self));
|
|
||||||
priv->layout_changed_id =
|
priv->layout_changed_id =
|
||||||
g_signal_connect (priv->layout_manager, "layout-changed",
|
g_signal_connect (priv->layout_manager, "layout-changed",
|
||||||
G_CALLBACK (on_layout_manager_changed),
|
G_CALLBACK (on_layout_manager_changed),
|
||||||
|
@ -52,7 +52,6 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC (ClutterGridLayout, g_object_unref)
|
|||||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ClutterInputDevice, g_object_unref)
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ClutterInputDevice, g_object_unref)
|
||||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ClutterInterval, g_object_unref)
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ClutterInterval, g_object_unref)
|
||||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ClutterKeyframeTransition, g_object_unref)
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ClutterKeyframeTransition, g_object_unref)
|
||||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ClutterLayoutManager, g_object_unref)
|
|
||||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ClutterLayoutMeta, g_object_unref)
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ClutterLayoutMeta, g_object_unref)
|
||||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ClutterOffscreenEffect, g_object_unref)
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ClutterOffscreenEffect, g_object_unref)
|
||||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ClutterPageTurnEffect, g_object_unref)
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ClutterPageTurnEffect, g_object_unref)
|
||||||
|
@ -61,7 +61,7 @@ G_DEFINE_TYPE (ClutterBinLayout,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
clutter_bin_layout_get_preferred_width (ClutterLayoutManager *manager,
|
clutter_bin_layout_get_preferred_width (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
gfloat for_height,
|
gfloat for_height,
|
||||||
gfloat *min_width_p,
|
gfloat *min_width_p,
|
||||||
gfloat *nat_width_p)
|
gfloat *nat_width_p)
|
||||||
@ -98,7 +98,7 @@ clutter_bin_layout_get_preferred_width (ClutterLayoutManager *manager,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
clutter_bin_layout_get_preferred_height (ClutterLayoutManager *manager,
|
clutter_bin_layout_get_preferred_height (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
gfloat for_width,
|
gfloat for_width,
|
||||||
gfloat *min_height_p,
|
gfloat *min_height_p,
|
||||||
gfloat *nat_height_p)
|
gfloat *nat_height_p)
|
||||||
@ -156,7 +156,7 @@ get_actor_align_factor (ClutterActorAlign alignment)
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
clutter_bin_layout_allocate (ClutterLayoutManager *manager,
|
clutter_bin_layout_allocate (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
const ClutterActorBox *allocation)
|
const ClutterActorBox *allocation)
|
||||||
{
|
{
|
||||||
gfloat allocation_x, allocation_y;
|
gfloat allocation_x, allocation_y;
|
||||||
|
@ -29,8 +29,6 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "clutter/clutter-layout-manager.h"
|
#include "clutter/clutter-layout-manager.h"
|
||||||
#include "clutter/clutter.h"
|
|
||||||
#include "clutter/clutter-autocleanups.h"
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
|
@ -50,9 +50,6 @@
|
|||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
|
|
||||||
#include "clutter/deprecated/clutter-container.h"
|
|
||||||
|
|
||||||
#include "clutter/clutter-box-layout.h"
|
#include "clutter/clutter-box-layout.h"
|
||||||
|
|
||||||
#include "clutter/clutter-actor-private.h"
|
#include "clutter/clutter-actor-private.h"
|
||||||
@ -64,7 +61,7 @@
|
|||||||
|
|
||||||
struct _ClutterBoxLayoutPrivate
|
struct _ClutterBoxLayoutPrivate
|
||||||
{
|
{
|
||||||
ClutterContainer *container;
|
ClutterActor *container;
|
||||||
|
|
||||||
guint spacing;
|
guint spacing;
|
||||||
|
|
||||||
@ -106,13 +103,13 @@ static float distribute_natural_allocation (float extra_space,
|
|||||||
unsigned int n_requested_sizes,
|
unsigned int n_requested_sizes,
|
||||||
RequestedSize *sizes);
|
RequestedSize *sizes);
|
||||||
static void count_expand_children (ClutterLayoutManager *layout,
|
static void count_expand_children (ClutterLayoutManager *layout,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
gint *visible_children,
|
gint *visible_children,
|
||||||
gint *expand_children);
|
gint *expand_children);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
clutter_box_layout_set_container (ClutterLayoutManager *layout,
|
clutter_box_layout_set_container (ClutterLayoutManager *layout,
|
||||||
ClutterContainer *container)
|
ClutterActor *container)
|
||||||
{
|
{
|
||||||
ClutterBoxLayoutPrivate *priv = CLUTTER_BOX_LAYOUT (layout)->priv;
|
ClutterBoxLayoutPrivate *priv = CLUTTER_BOX_LAYOUT (layout)->priv;
|
||||||
ClutterLayoutManagerClass *parent_class;
|
ClutterLayoutManagerClass *parent_class;
|
||||||
@ -272,7 +269,6 @@ get_preferred_size_for_opposite_orientation (ClutterBoxLayout *self,
|
|||||||
{
|
{
|
||||||
ClutterLayoutManager *layout = CLUTTER_LAYOUT_MANAGER (self);
|
ClutterLayoutManager *layout = CLUTTER_LAYOUT_MANAGER (self);
|
||||||
ClutterBoxLayoutPrivate *priv = self->priv;
|
ClutterBoxLayoutPrivate *priv = self->priv;
|
||||||
ClutterContainer *real_container = CLUTTER_CONTAINER (container);
|
|
||||||
ClutterActor *child;
|
ClutterActor *child;
|
||||||
ClutterActorIter iter;
|
ClutterActorIter iter;
|
||||||
gint nvis_children = 0, n_extra_widgets = 0;
|
gint nvis_children = 0, n_extra_widgets = 0;
|
||||||
@ -286,8 +282,7 @@ get_preferred_size_for_opposite_orientation (ClutterBoxLayout *self,
|
|||||||
|
|
||||||
minimum = natural = 0;
|
minimum = natural = 0;
|
||||||
|
|
||||||
count_expand_children (layout, real_container,
|
count_expand_children (layout, container, &nvis_children, &nexpand_children);
|
||||||
&nvis_children, &nexpand_children);
|
|
||||||
|
|
||||||
if (nvis_children < 1)
|
if (nvis_children < 1)
|
||||||
{
|
{
|
||||||
@ -419,7 +414,7 @@ get_preferred_size_for_opposite_orientation (ClutterBoxLayout *self,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
allocate_box_child (ClutterBoxLayout *self,
|
allocate_box_child (ClutterBoxLayout *self,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
ClutterActor *child,
|
ClutterActor *child,
|
||||||
ClutterActorBox *child_box)
|
ClutterActorBox *child_box)
|
||||||
{
|
{
|
||||||
@ -434,7 +429,7 @@ allocate_box_child (ClutterBoxLayout *self,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
clutter_box_layout_get_preferred_width (ClutterLayoutManager *layout,
|
clutter_box_layout_get_preferred_width (ClutterLayoutManager *layout,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
gfloat for_height,
|
gfloat for_height,
|
||||||
gfloat *min_width_p,
|
gfloat *min_width_p,
|
||||||
gfloat *natural_width_p)
|
gfloat *natural_width_p)
|
||||||
@ -458,7 +453,7 @@ clutter_box_layout_get_preferred_width (ClutterLayoutManager *layout,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
clutter_box_layout_get_preferred_height (ClutterLayoutManager *layout,
|
clutter_box_layout_get_preferred_height (ClutterLayoutManager *layout,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
gfloat for_width,
|
gfloat for_width,
|
||||||
gfloat *min_height_p,
|
gfloat *min_height_p,
|
||||||
gfloat *natural_height_p)
|
gfloat *natural_height_p)
|
||||||
@ -482,19 +477,17 @@ clutter_box_layout_get_preferred_height (ClutterLayoutManager *layout,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
count_expand_children (ClutterLayoutManager *layout,
|
count_expand_children (ClutterLayoutManager *layout,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
gint *visible_children,
|
gint *visible_children,
|
||||||
gint *expand_children)
|
gint *expand_children)
|
||||||
{
|
{
|
||||||
ClutterBoxLayoutPrivate *priv = CLUTTER_BOX_LAYOUT (layout)->priv;
|
ClutterBoxLayoutPrivate *priv = CLUTTER_BOX_LAYOUT (layout)->priv;
|
||||||
ClutterActor *actor, *child;
|
ClutterActor *child;
|
||||||
ClutterActorIter iter;
|
ClutterActorIter iter;
|
||||||
|
|
||||||
actor = CLUTTER_ACTOR (container);
|
|
||||||
|
|
||||||
*visible_children = *expand_children = 0;
|
*visible_children = *expand_children = 0;
|
||||||
|
|
||||||
clutter_actor_iter_init (&iter, actor);
|
clutter_actor_iter_init (&iter, container);
|
||||||
while (clutter_actor_iter_next (&iter, &child))
|
while (clutter_actor_iter_next (&iter, &child))
|
||||||
{
|
{
|
||||||
if (clutter_actor_is_visible (child))
|
if (clutter_actor_is_visible (child))
|
||||||
@ -617,7 +610,7 @@ distribute_natural_allocation (float extra_space,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
clutter_box_layout_allocate (ClutterLayoutManager *layout,
|
clutter_box_layout_allocate (ClutterLayoutManager *layout,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
const ClutterActorBox *box)
|
const ClutterActorBox *box)
|
||||||
{
|
{
|
||||||
ClutterBoxLayoutPrivate *priv = CLUTTER_BOX_LAYOUT (layout)->priv;
|
ClutterBoxLayoutPrivate *priv = CLUTTER_BOX_LAYOUT (layout)->priv;
|
||||||
|
@ -45,7 +45,7 @@ G_DEFINE_TYPE (ClutterFixedLayout,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
clutter_fixed_layout_get_preferred_width (ClutterLayoutManager *manager,
|
clutter_fixed_layout_get_preferred_width (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
gfloat for_height,
|
gfloat for_height,
|
||||||
gfloat *min_width_p,
|
gfloat *min_width_p,
|
||||||
gfloat *nat_width_p)
|
gfloat *nat_width_p)
|
||||||
@ -90,7 +90,7 @@ clutter_fixed_layout_get_preferred_width (ClutterLayoutManager *manager,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
clutter_fixed_layout_get_preferred_height (ClutterLayoutManager *manager,
|
clutter_fixed_layout_get_preferred_height (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
gfloat for_width,
|
gfloat for_width,
|
||||||
gfloat *min_height_p,
|
gfloat *min_height_p,
|
||||||
gfloat *nat_height_p)
|
gfloat *nat_height_p)
|
||||||
@ -135,7 +135,7 @@ clutter_fixed_layout_get_preferred_height (ClutterLayoutManager *manager,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
clutter_fixed_layout_allocate (ClutterLayoutManager *manager,
|
clutter_fixed_layout_allocate (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
const ClutterActorBox *allocation)
|
const ClutterActorBox *allocation)
|
||||||
{
|
{
|
||||||
ClutterActor *child;
|
ClutterActor *child;
|
||||||
|
@ -55,9 +55,6 @@
|
|||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
|
|
||||||
#include "clutter/deprecated/clutter-container.h"
|
|
||||||
|
|
||||||
#include "clutter/clutter-actor.h"
|
#include "clutter/clutter-actor.h"
|
||||||
#include "clutter/clutter-animatable.h"
|
#include "clutter/clutter-animatable.h"
|
||||||
#include "clutter/clutter-child-meta.h"
|
#include "clutter/clutter-child-meta.h"
|
||||||
@ -69,7 +66,7 @@
|
|||||||
|
|
||||||
struct _ClutterFlowLayoutPrivate
|
struct _ClutterFlowLayoutPrivate
|
||||||
{
|
{
|
||||||
ClutterContainer *container;
|
ClutterActor *container;
|
||||||
|
|
||||||
ClutterFlowOrientation orientation;
|
ClutterFlowOrientation orientation;
|
||||||
|
|
||||||
@ -182,7 +179,7 @@ compute_lines (ClutterFlowLayout *self,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
clutter_flow_layout_get_preferred_width (ClutterLayoutManager *manager,
|
clutter_flow_layout_get_preferred_width (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
gfloat for_height,
|
gfloat for_height,
|
||||||
gfloat *min_width_p,
|
gfloat *min_width_p,
|
||||||
gfloat *nat_width_p)
|
gfloat *nat_width_p)
|
||||||
@ -373,7 +370,7 @@ clutter_flow_layout_get_preferred_width (ClutterLayoutManager *manager,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
clutter_flow_layout_get_preferred_height (ClutterLayoutManager *manager,
|
clutter_flow_layout_get_preferred_height (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
gfloat for_width,
|
gfloat for_width,
|
||||||
gfloat *min_height_p,
|
gfloat *min_height_p,
|
||||||
gfloat *nat_height_p)
|
gfloat *nat_height_p)
|
||||||
@ -564,7 +561,7 @@ clutter_flow_layout_get_preferred_height (ClutterLayoutManager *manager,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
clutter_flow_layout_allocate (ClutterLayoutManager *manager,
|
clutter_flow_layout_allocate (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
const ClutterActorBox *allocation)
|
const ClutterActorBox *allocation)
|
||||||
{
|
{
|
||||||
ClutterFlowLayoutPrivate *priv = CLUTTER_FLOW_LAYOUT (manager)->priv;
|
ClutterFlowLayoutPrivate *priv = CLUTTER_FLOW_LAYOUT (manager)->priv;
|
||||||
@ -740,7 +737,7 @@ clutter_flow_layout_allocate (ClutterLayoutManager *manager,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
clutter_flow_layout_set_container (ClutterLayoutManager *manager,
|
clutter_flow_layout_set_container (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container)
|
ClutterActor *container)
|
||||||
{
|
{
|
||||||
ClutterFlowLayoutPrivate *priv = CLUTTER_FLOW_LAYOUT (manager)->priv;
|
ClutterFlowLayoutPrivate *priv = CLUTTER_FLOW_LAYOUT (manager)->priv;
|
||||||
ClutterLayoutManagerClass *parent_class;
|
ClutterLayoutManagerClass *parent_class;
|
||||||
|
@ -34,7 +34,6 @@
|
|||||||
#include "clutter/clutter-grid-layout.h"
|
#include "clutter/clutter-grid-layout.h"
|
||||||
|
|
||||||
#include "clutter/clutter-actor-private.h"
|
#include "clutter/clutter-actor-private.h"
|
||||||
#include "clutter/clutter-container.h"
|
|
||||||
#include "clutter/clutter-debug.h"
|
#include "clutter/clutter-debug.h"
|
||||||
#include "clutter/clutter-enum-types.h"
|
#include "clutter/clutter-enum-types.h"
|
||||||
#include "clutter/clutter-layout-meta.h"
|
#include "clutter/clutter-layout-meta.h"
|
||||||
@ -103,7 +102,7 @@ struct _ClutterGridLineData
|
|||||||
|
|
||||||
struct _ClutterGridLayoutPrivate
|
struct _ClutterGridLayoutPrivate
|
||||||
{
|
{
|
||||||
ClutterContainer *container;
|
ClutterActor *container;
|
||||||
ClutterOrientation orientation;
|
ClutterOrientation orientation;
|
||||||
|
|
||||||
ClutterGridLineData linedata[2];
|
ClutterGridLineData linedata[2];
|
||||||
@ -1250,7 +1249,7 @@ clutter_grid_child_init (ClutterGridChild *self)
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
clutter_grid_layout_set_container (ClutterLayoutManager *self,
|
clutter_grid_layout_set_container (ClutterLayoutManager *self,
|
||||||
ClutterContainer *container)
|
ClutterActor *container)
|
||||||
{
|
{
|
||||||
ClutterGridLayoutPrivate *priv = CLUTTER_GRID_LAYOUT (self)->priv;
|
ClutterGridLayoutPrivate *priv = CLUTTER_GRID_LAYOUT (self)->priv;
|
||||||
ClutterLayoutManagerClass *parent_class;
|
ClutterLayoutManagerClass *parent_class;
|
||||||
@ -1308,7 +1307,7 @@ clutter_grid_layout_get_size_for_size (ClutterGridLayout *self,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
clutter_grid_layout_get_preferred_width (ClutterLayoutManager *manager,
|
clutter_grid_layout_get_preferred_width (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
gfloat for_height,
|
gfloat for_height,
|
||||||
gfloat *min_width_p,
|
gfloat *min_width_p,
|
||||||
gfloat *nat_width_p)
|
gfloat *nat_width_p)
|
||||||
@ -1327,7 +1326,7 @@ clutter_grid_layout_get_preferred_width (ClutterLayoutManager *manager,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
clutter_grid_layout_get_preferred_height (ClutterLayoutManager *manager,
|
clutter_grid_layout_get_preferred_height (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
gfloat for_width,
|
gfloat for_width,
|
||||||
gfloat *min_height_p,
|
gfloat *min_height_p,
|
||||||
gfloat *nat_height_p)
|
gfloat *nat_height_p)
|
||||||
@ -1379,7 +1378,7 @@ allocate_child (ClutterGridRequest *request,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
clutter_grid_layout_allocate (ClutterLayoutManager *layout,
|
clutter_grid_layout_allocate (ClutterLayoutManager *layout,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
const ClutterActorBox *allocation)
|
const ClutterActorBox *allocation)
|
||||||
{
|
{
|
||||||
ClutterGridLayout *self = CLUTTER_GRID_LAYOUT (layout);
|
ClutterGridLayout *self = CLUTTER_GRID_LAYOUT (layout);
|
||||||
|
@ -44,10 +44,12 @@
|
|||||||
* #ClutterActor, so you should read the relative documentation
|
* #ClutterActor, so you should read the relative documentation
|
||||||
* for subclassing #ClutterActor.
|
* for subclassing #ClutterActor.
|
||||||
*
|
*
|
||||||
* The layout manager implementation can hold a back pointer to the
|
* The layout manager implementation can hold a back pointer to the container
|
||||||
* #ClutterContainer by implementing the #ClutterLayoutManagerClass.set_container()
|
* [type@Clutter.Actor] by implementing the
|
||||||
* virtual function. The layout manager should not hold a real reference (i.e.
|
* [vfunc@Clutter.LayoutManager.set_container] virtual function. The layout
|
||||||
* call g_object_ref()) on the container actor, to avoid reference cycles.
|
* manager should not hold a real reference (i.e. call
|
||||||
|
* [method@GObject.Object.ref]) on the container actor, to avoid reference
|
||||||
|
* cycles.
|
||||||
*
|
*
|
||||||
* If a layout manager has properties affecting the layout policies then it should
|
* If a layout manager has properties affecting the layout policies then it should
|
||||||
* emit the #ClutterLayoutManager::layout-changed signal on itself by using the
|
* emit the #ClutterLayoutManager::layout-changed signal on itself by using the
|
||||||
@ -82,8 +84,8 @@
|
|||||||
* ```
|
* ```
|
||||||
*
|
*
|
||||||
* Where `manager` is the #ClutterLayoutManager, `container` is the
|
* Where `manager` is the #ClutterLayoutManager, `container` is the
|
||||||
* #ClutterContainer using the #ClutterLayoutManager, and `actor` is
|
* #ClutterActor using the #ClutterLayoutManager, and `actor` is
|
||||||
* the #ClutterActor child of the #ClutterContainer.
|
* the #ClutterActor child of the #ClutterActor.
|
||||||
*
|
*
|
||||||
* ## Using ClutterLayoutManager with ClutterScript
|
* ## Using ClutterLayoutManager with ClutterScript
|
||||||
*
|
*
|
||||||
@ -132,9 +134,6 @@
|
|||||||
#include <glib-object.h>
|
#include <glib-object.h>
|
||||||
#include <gobject/gvaluecollector.h>
|
#include <gobject/gvaluecollector.h>
|
||||||
|
|
||||||
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
|
|
||||||
#include "clutter/deprecated/clutter-container.h"
|
|
||||||
|
|
||||||
#include "clutter/clutter-debug.h"
|
#include "clutter/clutter-debug.h"
|
||||||
#include "clutter/clutter-layout-manager.h"
|
#include "clutter/clutter-layout-manager.h"
|
||||||
#include "clutter/clutter-layout-meta.h"
|
#include "clutter/clutter-layout-meta.h"
|
||||||
@ -218,7 +217,7 @@ layout_manager_thaw_layout_change (ClutterLayoutManager *manager)
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
layout_manager_real_get_preferred_width (ClutterLayoutManager *manager,
|
layout_manager_real_get_preferred_width (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
gfloat for_height,
|
gfloat for_height,
|
||||||
gfloat *min_width_p,
|
gfloat *min_width_p,
|
||||||
gfloat *nat_width_p)
|
gfloat *nat_width_p)
|
||||||
@ -234,7 +233,7 @@ layout_manager_real_get_preferred_width (ClutterLayoutManager *manager,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
layout_manager_real_get_preferred_height (ClutterLayoutManager *manager,
|
layout_manager_real_get_preferred_height (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
gfloat for_width,
|
gfloat for_width,
|
||||||
gfloat *min_height_p,
|
gfloat *min_height_p,
|
||||||
gfloat *nat_height_p)
|
gfloat *nat_height_p)
|
||||||
@ -250,7 +249,7 @@ layout_manager_real_get_preferred_height (ClutterLayoutManager *manager,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
layout_manager_real_allocate (ClutterLayoutManager *manager,
|
layout_manager_real_allocate (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
const ClutterActorBox *allocation)
|
const ClutterActorBox *allocation)
|
||||||
{
|
{
|
||||||
LAYOUT_MANAGER_WARN_NOT_IMPLEMENTED (manager, "allocate");
|
LAYOUT_MANAGER_WARN_NOT_IMPLEMENTED (manager, "allocate");
|
||||||
@ -258,7 +257,7 @@ layout_manager_real_allocate (ClutterLayoutManager *manager,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
layout_manager_real_set_container (ClutterLayoutManager *manager,
|
layout_manager_real_set_container (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container)
|
ClutterActor *container)
|
||||||
{
|
{
|
||||||
if (container != NULL)
|
if (container != NULL)
|
||||||
g_object_set_data (G_OBJECT (container), "clutter-layout-manager", manager);
|
g_object_set_data (G_OBJECT (container), "clutter-layout-manager", manager);
|
||||||
@ -266,7 +265,7 @@ layout_manager_real_set_container (ClutterLayoutManager *manager,
|
|||||||
|
|
||||||
static ClutterLayoutMeta *
|
static ClutterLayoutMeta *
|
||||||
layout_manager_real_create_child_meta (ClutterLayoutManager *manager,
|
layout_manager_real_create_child_meta (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
ClutterActor *actor)
|
ClutterActor *actor)
|
||||||
{
|
{
|
||||||
ClutterLayoutManagerClass *klass;
|
ClutterLayoutManagerClass *klass;
|
||||||
@ -357,7 +356,7 @@ clutter_layout_manager_init (ClutterLayoutManager *manager)
|
|||||||
/**
|
/**
|
||||||
* clutter_layout_manager_get_preferred_width:
|
* clutter_layout_manager_get_preferred_width:
|
||||||
* @manager: a #ClutterLayoutManager
|
* @manager: a #ClutterLayoutManager
|
||||||
* @container: the #ClutterContainer using @manager
|
* @container: the #ClutterActor using @manager
|
||||||
* @for_height: the height for which the width should be computed, or -1
|
* @for_height: the height for which the width should be computed, or -1
|
||||||
* @min_width_p: (out) (allow-none): return location for the minimum width
|
* @min_width_p: (out) (allow-none): return location for the minimum width
|
||||||
* of the layout, or %NULL
|
* of the layout, or %NULL
|
||||||
@ -371,7 +370,7 @@ clutter_layout_manager_init (ClutterLayoutManager *manager)
|
|||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
clutter_layout_manager_get_preferred_width (ClutterLayoutManager *manager,
|
clutter_layout_manager_get_preferred_width (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
gfloat for_height,
|
gfloat for_height,
|
||||||
gfloat *min_width_p,
|
gfloat *min_width_p,
|
||||||
gfloat *nat_width_p)
|
gfloat *nat_width_p)
|
||||||
@ -379,7 +378,7 @@ clutter_layout_manager_get_preferred_width (ClutterLayoutManager *manager,
|
|||||||
ClutterLayoutManagerClass *klass;
|
ClutterLayoutManagerClass *klass;
|
||||||
|
|
||||||
g_return_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager));
|
g_return_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager));
|
||||||
g_return_if_fail (CLUTTER_IS_CONTAINER (container));
|
g_return_if_fail (CLUTTER_IS_ACTOR (container));
|
||||||
|
|
||||||
klass = CLUTTER_LAYOUT_MANAGER_GET_CLASS (manager);
|
klass = CLUTTER_LAYOUT_MANAGER_GET_CLASS (manager);
|
||||||
klass->get_preferred_width (manager, container, for_height,
|
klass->get_preferred_width (manager, container, for_height,
|
||||||
@ -390,7 +389,7 @@ clutter_layout_manager_get_preferred_width (ClutterLayoutManager *manager,
|
|||||||
/**
|
/**
|
||||||
* clutter_layout_manager_get_preferred_height:
|
* clutter_layout_manager_get_preferred_height:
|
||||||
* @manager: a #ClutterLayoutManager
|
* @manager: a #ClutterLayoutManager
|
||||||
* @container: the #ClutterContainer using @manager
|
* @container: the #ClutterActor using @manager
|
||||||
* @for_width: the width for which the height should be computed, or -1
|
* @for_width: the width for which the height should be computed, or -1
|
||||||
* @min_height_p: (out) (allow-none): return location for the minimum height
|
* @min_height_p: (out) (allow-none): return location for the minimum height
|
||||||
* of the layout, or %NULL
|
* of the layout, or %NULL
|
||||||
@ -404,7 +403,7 @@ clutter_layout_manager_get_preferred_width (ClutterLayoutManager *manager,
|
|||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
clutter_layout_manager_get_preferred_height (ClutterLayoutManager *manager,
|
clutter_layout_manager_get_preferred_height (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
gfloat for_width,
|
gfloat for_width,
|
||||||
gfloat *min_height_p,
|
gfloat *min_height_p,
|
||||||
gfloat *nat_height_p)
|
gfloat *nat_height_p)
|
||||||
@ -412,7 +411,7 @@ clutter_layout_manager_get_preferred_height (ClutterLayoutManager *manager,
|
|||||||
ClutterLayoutManagerClass *klass;
|
ClutterLayoutManagerClass *klass;
|
||||||
|
|
||||||
g_return_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager));
|
g_return_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager));
|
||||||
g_return_if_fail (CLUTTER_IS_CONTAINER (container));
|
g_return_if_fail (CLUTTER_IS_ACTOR (container));
|
||||||
|
|
||||||
klass = CLUTTER_LAYOUT_MANAGER_GET_CLASS (manager);
|
klass = CLUTTER_LAYOUT_MANAGER_GET_CLASS (manager);
|
||||||
klass->get_preferred_height (manager, container, for_width,
|
klass->get_preferred_height (manager, container, for_width,
|
||||||
@ -423,7 +422,7 @@ clutter_layout_manager_get_preferred_height (ClutterLayoutManager *manager,
|
|||||||
/**
|
/**
|
||||||
* clutter_layout_manager_allocate:
|
* clutter_layout_manager_allocate:
|
||||||
* @manager: a #ClutterLayoutManager
|
* @manager: a #ClutterLayoutManager
|
||||||
* @container: the #ClutterContainer using @manager
|
* @container: the #ClutterActor using @manager
|
||||||
* @allocation: the #ClutterActorBox containing the allocated area
|
* @allocation: the #ClutterActorBox containing the allocated area
|
||||||
* of @container
|
* of @container
|
||||||
*
|
*
|
||||||
@ -433,13 +432,13 @@ clutter_layout_manager_get_preferred_height (ClutterLayoutManager *manager,
|
|||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
clutter_layout_manager_allocate (ClutterLayoutManager *manager,
|
clutter_layout_manager_allocate (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
const ClutterActorBox *allocation)
|
const ClutterActorBox *allocation)
|
||||||
{
|
{
|
||||||
ClutterLayoutManagerClass *klass;
|
ClutterLayoutManagerClass *klass;
|
||||||
|
|
||||||
g_return_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager));
|
g_return_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager));
|
||||||
g_return_if_fail (CLUTTER_IS_CONTAINER (container));
|
g_return_if_fail (CLUTTER_IS_ACTOR (container));
|
||||||
g_return_if_fail (allocation != NULL);
|
g_return_if_fail (allocation != NULL);
|
||||||
|
|
||||||
klass = CLUTTER_LAYOUT_MANAGER_GET_CLASS (manager);
|
klass = CLUTTER_LAYOUT_MANAGER_GET_CLASS (manager);
|
||||||
@ -474,7 +473,7 @@ clutter_layout_manager_layout_changed (ClutterLayoutManager *manager)
|
|||||||
/**
|
/**
|
||||||
* clutter_layout_manager_set_container:
|
* clutter_layout_manager_set_container:
|
||||||
* @manager: a #ClutterLayoutManager
|
* @manager: a #ClutterLayoutManager
|
||||||
* @container: (allow-none): a #ClutterContainer using @manager
|
* @container: (allow-none): a [type@Clutter.Actor] using @manager
|
||||||
*
|
*
|
||||||
* If the #ClutterLayoutManager sub-class allows it, allow
|
* If the #ClutterLayoutManager sub-class allows it, allow
|
||||||
* adding a weak reference of the @container using @manager
|
* adding a weak reference of the @container using @manager
|
||||||
@ -485,12 +484,12 @@ clutter_layout_manager_layout_changed (ClutterLayoutManager *manager)
|
|||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
clutter_layout_manager_set_container (ClutterLayoutManager *manager,
|
clutter_layout_manager_set_container (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container)
|
ClutterActor *container)
|
||||||
{
|
{
|
||||||
ClutterLayoutManagerClass *klass;
|
ClutterLayoutManagerClass *klass;
|
||||||
|
|
||||||
g_return_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager));
|
g_return_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager));
|
||||||
g_return_if_fail (container == NULL || CLUTTER_IS_CONTAINER (container));
|
g_return_if_fail (container == NULL || CLUTTER_IS_ACTOR (container));
|
||||||
|
|
||||||
klass = CLUTTER_LAYOUT_MANAGER_GET_CLASS (manager);
|
klass = CLUTTER_LAYOUT_MANAGER_GET_CLASS (manager);
|
||||||
if (klass->set_container)
|
if (klass->set_container)
|
||||||
@ -505,7 +504,7 @@ _clutter_layout_manager_get_child_meta_type (ClutterLayoutManager *manager)
|
|||||||
|
|
||||||
static inline ClutterLayoutMeta *
|
static inline ClutterLayoutMeta *
|
||||||
create_child_meta (ClutterLayoutManager *manager,
|
create_child_meta (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
ClutterActor *actor)
|
ClutterActor *actor)
|
||||||
{
|
{
|
||||||
ClutterLayoutManagerClass *klass;
|
ClutterLayoutManagerClass *klass;
|
||||||
@ -524,7 +523,7 @@ create_child_meta (ClutterLayoutManager *manager,
|
|||||||
|
|
||||||
static inline ClutterLayoutMeta *
|
static inline ClutterLayoutMeta *
|
||||||
get_child_meta (ClutterLayoutManager *manager,
|
get_child_meta (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
ClutterActor *actor)
|
ClutterActor *actor)
|
||||||
{
|
{
|
||||||
ClutterLayoutMeta *layout = NULL;
|
ClutterLayoutMeta *layout = NULL;
|
||||||
@ -535,7 +534,7 @@ get_child_meta (ClutterLayoutManager *manager,
|
|||||||
ClutterChildMeta *child = CLUTTER_CHILD_META (layout);
|
ClutterChildMeta *child = CLUTTER_CHILD_META (layout);
|
||||||
|
|
||||||
if (layout->manager == manager &&
|
if (layout->manager == manager &&
|
||||||
child->container == container &&
|
CLUTTER_ACTOR (child->container) == container &&
|
||||||
child->actor == actor)
|
child->actor == actor)
|
||||||
return layout;
|
return layout;
|
||||||
|
|
||||||
@ -561,8 +560,8 @@ get_child_meta (ClutterLayoutManager *manager,
|
|||||||
/**
|
/**
|
||||||
* clutter_layout_manager_get_child_meta:
|
* clutter_layout_manager_get_child_meta:
|
||||||
* @manager: a #ClutterLayoutManager
|
* @manager: a #ClutterLayoutManager
|
||||||
* @container: a #ClutterContainer using @manager
|
* @container: a [type@Clutter.Actor] using @manager
|
||||||
* @actor: a #ClutterActor child of @container
|
* @actor: a [type@Clutter.Actor] child of @container
|
||||||
*
|
*
|
||||||
* Retrieves the #ClutterLayoutMeta that the layout @manager associated
|
* Retrieves the #ClutterLayoutMeta that the layout @manager associated
|
||||||
* to the @actor child of @container, eventually by creating one if the
|
* to the @actor child of @container, eventually by creating one if the
|
||||||
@ -575,11 +574,11 @@ get_child_meta (ClutterLayoutManager *manager,
|
|||||||
*/
|
*/
|
||||||
ClutterLayoutMeta *
|
ClutterLayoutMeta *
|
||||||
clutter_layout_manager_get_child_meta (ClutterLayoutManager *manager,
|
clutter_layout_manager_get_child_meta (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
ClutterActor *actor)
|
ClutterActor *actor)
|
||||||
{
|
{
|
||||||
g_return_val_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager), NULL);
|
g_return_val_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager), NULL);
|
||||||
g_return_val_if_fail (CLUTTER_IS_CONTAINER (container), NULL);
|
g_return_val_if_fail (CLUTTER_IS_ACTOR (container), NULL);
|
||||||
g_return_val_if_fail (CLUTTER_IS_ACTOR (actor), NULL);
|
g_return_val_if_fail (CLUTTER_IS_ACTOR (actor), NULL);
|
||||||
|
|
||||||
return get_child_meta (manager, container, actor);
|
return get_child_meta (manager, container, actor);
|
||||||
@ -634,8 +633,8 @@ layout_get_property_internal (ClutterLayoutManager *manager,
|
|||||||
/**
|
/**
|
||||||
* clutter_layout_manager_child_set:
|
* clutter_layout_manager_child_set:
|
||||||
* @manager: a #ClutterLayoutManager
|
* @manager: a #ClutterLayoutManager
|
||||||
* @container: a #ClutterContainer using @manager
|
* @container: a [type@Clutter.Actor] using @manager
|
||||||
* @actor: a #ClutterActor child of @container
|
* @actor: a [type@Clutter.Actor] child of @container
|
||||||
* @first_property: the first property name
|
* @first_property: the first property name
|
||||||
* @...: a list of property name and value pairs
|
* @...: a list of property name and value pairs
|
||||||
*
|
*
|
||||||
@ -647,7 +646,7 @@ layout_get_property_internal (ClutterLayoutManager *manager,
|
|||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
clutter_layout_manager_child_set (ClutterLayoutManager *manager,
|
clutter_layout_manager_child_set (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
ClutterActor *actor,
|
ClutterActor *actor,
|
||||||
const gchar *first_property,
|
const gchar *first_property,
|
||||||
...)
|
...)
|
||||||
@ -658,7 +657,7 @@ clutter_layout_manager_child_set (ClutterLayoutManager *manager,
|
|||||||
va_list var_args;
|
va_list var_args;
|
||||||
|
|
||||||
g_return_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager));
|
g_return_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager));
|
||||||
g_return_if_fail (CLUTTER_IS_CONTAINER (container));
|
g_return_if_fail (CLUTTER_IS_ACTOR (container));
|
||||||
g_return_if_fail (CLUTTER_IS_ACTOR (actor));
|
g_return_if_fail (CLUTTER_IS_ACTOR (actor));
|
||||||
g_return_if_fail (first_property != NULL);
|
g_return_if_fail (first_property != NULL);
|
||||||
|
|
||||||
@ -721,8 +720,8 @@ clutter_layout_manager_child_set (ClutterLayoutManager *manager,
|
|||||||
/**
|
/**
|
||||||
* clutter_layout_manager_child_set_property:
|
* clutter_layout_manager_child_set_property:
|
||||||
* @manager: a #ClutterLayoutManager
|
* @manager: a #ClutterLayoutManager
|
||||||
* @container: a #ClutterContainer using @manager
|
* @container: a [type@Clutter.Actor] using @manager
|
||||||
* @actor: a #ClutterActor child of @container
|
* @actor: a [type@Clutter.Actor] child of @container
|
||||||
* @property_name: the name of the property to set
|
* @property_name: the name of the property to set
|
||||||
* @value: a #GValue with the value of the property to set
|
* @value: a #GValue with the value of the property to set
|
||||||
*
|
*
|
||||||
@ -731,7 +730,7 @@ clutter_layout_manager_child_set (ClutterLayoutManager *manager,
|
|||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
clutter_layout_manager_child_set_property (ClutterLayoutManager *manager,
|
clutter_layout_manager_child_set_property (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
ClutterActor *actor,
|
ClutterActor *actor,
|
||||||
const gchar *property_name,
|
const gchar *property_name,
|
||||||
const GValue *value)
|
const GValue *value)
|
||||||
@ -741,7 +740,7 @@ clutter_layout_manager_child_set_property (ClutterLayoutManager *manager,
|
|||||||
GParamSpec *pspec;
|
GParamSpec *pspec;
|
||||||
|
|
||||||
g_return_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager));
|
g_return_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager));
|
||||||
g_return_if_fail (CLUTTER_IS_CONTAINER (container));
|
g_return_if_fail (CLUTTER_IS_ACTOR (container));
|
||||||
g_return_if_fail (CLUTTER_IS_ACTOR (actor));
|
g_return_if_fail (CLUTTER_IS_ACTOR (actor));
|
||||||
g_return_if_fail (property_name != NULL);
|
g_return_if_fail (property_name != NULL);
|
||||||
g_return_if_fail (value != NULL);
|
g_return_if_fail (value != NULL);
|
||||||
@ -772,8 +771,8 @@ clutter_layout_manager_child_set_property (ClutterLayoutManager *manager,
|
|||||||
/**
|
/**
|
||||||
* clutter_layout_manager_child_get:
|
* clutter_layout_manager_child_get:
|
||||||
* @manager: a #ClutterLayoutManager
|
* @manager: a #ClutterLayoutManager
|
||||||
* @container: a #ClutterContainer using @manager
|
* @container: a [type@Clutter.Actor] using @manager
|
||||||
* @actor: a #ClutterActor child of @container
|
* @actor: a [type@Clutter.Actor] child of @container
|
||||||
* @first_property: the name of the first property
|
* @first_property: the name of the first property
|
||||||
* @...: a list of property name and return location for the value pairs
|
* @...: a list of property name and return location for the value pairs
|
||||||
*
|
*
|
||||||
@ -783,7 +782,7 @@ clutter_layout_manager_child_set_property (ClutterLayoutManager *manager,
|
|||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
clutter_layout_manager_child_get (ClutterLayoutManager *manager,
|
clutter_layout_manager_child_get (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
ClutterActor *actor,
|
ClutterActor *actor,
|
||||||
const gchar *first_property,
|
const gchar *first_property,
|
||||||
...)
|
...)
|
||||||
@ -794,7 +793,7 @@ clutter_layout_manager_child_get (ClutterLayoutManager *manager,
|
|||||||
va_list var_args;
|
va_list var_args;
|
||||||
|
|
||||||
g_return_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager));
|
g_return_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager));
|
||||||
g_return_if_fail (CLUTTER_IS_CONTAINER (container));
|
g_return_if_fail (CLUTTER_IS_ACTOR (container));
|
||||||
g_return_if_fail (CLUTTER_IS_ACTOR (actor));
|
g_return_if_fail (CLUTTER_IS_ACTOR (actor));
|
||||||
g_return_if_fail (first_property != NULL);
|
g_return_if_fail (first_property != NULL);
|
||||||
|
|
||||||
@ -859,8 +858,8 @@ clutter_layout_manager_child_get (ClutterLayoutManager *manager,
|
|||||||
/**
|
/**
|
||||||
* clutter_layout_manager_child_get_property:
|
* clutter_layout_manager_child_get_property:
|
||||||
* @manager: a #ClutterLayoutManager
|
* @manager: a #ClutterLayoutManager
|
||||||
* @container: a #ClutterContainer using @manager
|
* @container: a [type@Clutter.Actor] using @manager
|
||||||
* @actor: a #ClutterActor child of @container
|
* @actor: a [type@Clutter.Actor] child of @container
|
||||||
* @property_name: the name of the property to get
|
* @property_name: the name of the property to get
|
||||||
* @value: a #GValue with the value of the property to get
|
* @value: a #GValue with the value of the property to get
|
||||||
*
|
*
|
||||||
@ -873,7 +872,7 @@ clutter_layout_manager_child_get (ClutterLayoutManager *manager,
|
|||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
clutter_layout_manager_child_get_property (ClutterLayoutManager *manager,
|
clutter_layout_manager_child_get_property (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
ClutterActor *actor,
|
ClutterActor *actor,
|
||||||
const gchar *property_name,
|
const gchar *property_name,
|
||||||
GValue *value)
|
GValue *value)
|
||||||
@ -883,7 +882,7 @@ clutter_layout_manager_child_get_property (ClutterLayoutManager *manager,
|
|||||||
GParamSpec *pspec;
|
GParamSpec *pspec;
|
||||||
|
|
||||||
g_return_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager));
|
g_return_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager));
|
||||||
g_return_if_fail (CLUTTER_IS_CONTAINER (container));
|
g_return_if_fail (CLUTTER_IS_ACTOR (container));
|
||||||
g_return_if_fail (CLUTTER_IS_ACTOR (actor));
|
g_return_if_fail (CLUTTER_IS_ACTOR (actor));
|
||||||
g_return_if_fail (property_name != NULL);
|
g_return_if_fail (property_name != NULL);
|
||||||
g_return_if_fail (value != NULL);
|
g_return_if_fail (value != NULL);
|
||||||
|
@ -32,20 +32,14 @@
|
|||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
#define CLUTTER_TYPE_LAYOUT_MANAGER (clutter_layout_manager_get_type ())
|
#define CLUTTER_TYPE_LAYOUT_MANAGER (clutter_layout_manager_get_type ())
|
||||||
#define CLUTTER_LAYOUT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_LAYOUT_MANAGER, ClutterLayoutManager))
|
|
||||||
#define CLUTTER_IS_LAYOUT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_LAYOUT_MANAGER))
|
|
||||||
#define CLUTTER_LAYOUT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CLUTTER_TYPE_LAYOUT_MANAGER, ClutterLayoutManagerClass))
|
|
||||||
#define CLUTTER_IS_LAYOUT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_LAYOUT_MANAGER))
|
|
||||||
#define CLUTTER_LAYOUT_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_LAYOUT_MANAGER, ClutterLayoutManagerClass))
|
|
||||||
|
|
||||||
typedef struct _ClutterLayoutManagerClass ClutterLayoutManagerClass;
|
CLUTTER_EXPORT
|
||||||
|
G_DECLARE_DERIVABLE_TYPE (ClutterLayoutManager,
|
||||||
struct _ClutterLayoutManager
|
clutter_layout_manager,
|
||||||
{
|
CLUTTER,
|
||||||
/*< private >*/
|
LAYOUT_MANAGER,
|
||||||
GInitiallyUnowned parent_instance;
|
GInitiallyUnowned)
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ClutterLayoutManagerClass:
|
* ClutterLayoutManagerClass:
|
||||||
@ -59,14 +53,15 @@ struct _ClutterLayoutManager
|
|||||||
* layout manager. See also the allocate() virtual function in
|
* layout manager. See also the allocate() virtual function in
|
||||||
* #ClutterActor
|
* #ClutterActor
|
||||||
* @set_container: virtual function; override to set a back pointer
|
* @set_container: virtual function; override to set a back pointer
|
||||||
* on the #ClutterContainer using the layout manager. The implementation
|
* on the [type@Clutter.Actor] using the layout manager. The implementation
|
||||||
* should not take a reference on the container, but just take a weak
|
* should not take a reference on the container, but just take a weak
|
||||||
* reference, to avoid potential leaks due to reference cycles
|
* reference, to avoid potential leaks due to reference cycles
|
||||||
* @get_child_meta_type: virtual function; override to return the #GType
|
* @get_child_meta_type: virtual function; override to return the #GType
|
||||||
* of the #ClutterLayoutMeta sub-class used by the #ClutterLayoutManager
|
* of the #ClutterLayoutMeta sub-class used by the #ClutterLayoutManager
|
||||||
* @create_child_meta: virtual function; override to create a
|
* @create_child_meta: virtual function; override to create a
|
||||||
* #ClutterLayoutMeta instance associated to a #ClutterContainer and a
|
* [type@Clutter.LayoutMeta] instance associated to a container
|
||||||
* child #ClutterActor, used to maintain layout manager specific properties
|
* [type@Clutter.Actor] and a child [type@Clutter.Actor], used to maintain
|
||||||
|
* layout manager specific properties
|
||||||
* @layout_changed: class handler for the #ClutterLayoutManager::layout-changed
|
* @layout_changed: class handler for the #ClutterLayoutManager::layout-changed
|
||||||
* signal
|
* signal
|
||||||
*
|
*
|
||||||
@ -80,53 +75,50 @@ struct _ClutterLayoutManagerClass
|
|||||||
|
|
||||||
/*< public >*/
|
/*< public >*/
|
||||||
void (* get_preferred_width) (ClutterLayoutManager *manager,
|
void (* get_preferred_width) (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
gfloat for_height,
|
gfloat for_height,
|
||||||
gfloat *min_width_p,
|
gfloat *min_width_p,
|
||||||
gfloat *nat_width_p);
|
gfloat *nat_width_p);
|
||||||
void (* get_preferred_height) (ClutterLayoutManager *manager,
|
void (* get_preferred_height) (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
gfloat for_width,
|
gfloat for_width,
|
||||||
gfloat *min_height_p,
|
gfloat *min_height_p,
|
||||||
gfloat *nat_height_p);
|
gfloat *nat_height_p);
|
||||||
void (* allocate) (ClutterLayoutManager *manager,
|
void (* allocate) (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
const ClutterActorBox *allocation);
|
const ClutterActorBox *allocation);
|
||||||
|
|
||||||
void (* set_container) (ClutterLayoutManager *manager,
|
void (* set_container) (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container);
|
ClutterActor *container);
|
||||||
|
|
||||||
GType (* get_child_meta_type) (ClutterLayoutManager *manager);
|
GType (* get_child_meta_type) (ClutterLayoutManager *manager);
|
||||||
ClutterLayoutMeta *(* create_child_meta) (ClutterLayoutManager *manager,
|
ClutterLayoutMeta *(* create_child_meta) (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
ClutterActor *actor);
|
ClutterActor *actor);
|
||||||
|
|
||||||
void (* layout_changed) (ClutterLayoutManager *manager);
|
void (* layout_changed) (ClutterLayoutManager *manager);
|
||||||
};
|
};
|
||||||
|
|
||||||
CLUTTER_EXPORT
|
|
||||||
GType clutter_layout_manager_get_type (void) G_GNUC_CONST;
|
|
||||||
|
|
||||||
CLUTTER_EXPORT
|
CLUTTER_EXPORT
|
||||||
void clutter_layout_manager_get_preferred_width (ClutterLayoutManager *manager,
|
void clutter_layout_manager_get_preferred_width (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
gfloat for_height,
|
gfloat for_height,
|
||||||
gfloat *min_width_p,
|
gfloat *min_width_p,
|
||||||
gfloat *nat_width_p);
|
gfloat *nat_width_p);
|
||||||
CLUTTER_EXPORT
|
CLUTTER_EXPORT
|
||||||
void clutter_layout_manager_get_preferred_height (ClutterLayoutManager *manager,
|
void clutter_layout_manager_get_preferred_height (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
gfloat for_width,
|
gfloat for_width,
|
||||||
gfloat *min_height_p,
|
gfloat *min_height_p,
|
||||||
gfloat *nat_height_p);
|
gfloat *nat_height_p);
|
||||||
CLUTTER_EXPORT
|
CLUTTER_EXPORT
|
||||||
void clutter_layout_manager_allocate (ClutterLayoutManager *manager,
|
void clutter_layout_manager_allocate (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
const ClutterActorBox *allocation);
|
const ClutterActorBox *allocation);
|
||||||
|
|
||||||
CLUTTER_EXPORT
|
CLUTTER_EXPORT
|
||||||
void clutter_layout_manager_set_container (ClutterLayoutManager *manager,
|
void clutter_layout_manager_set_container (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container);
|
ClutterActor *container);
|
||||||
CLUTTER_EXPORT
|
CLUTTER_EXPORT
|
||||||
void clutter_layout_manager_layout_changed (ClutterLayoutManager *manager);
|
void clutter_layout_manager_layout_changed (ClutterLayoutManager *manager);
|
||||||
|
|
||||||
@ -139,30 +131,30 @@ GParamSpec ** clutter_layout_manager_list_child_properties (ClutterLayoutMa
|
|||||||
|
|
||||||
CLUTTER_EXPORT
|
CLUTTER_EXPORT
|
||||||
ClutterLayoutMeta *clutter_layout_manager_get_child_meta (ClutterLayoutManager *manager,
|
ClutterLayoutMeta *clutter_layout_manager_get_child_meta (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
ClutterActor *actor);
|
ClutterActor *actor);
|
||||||
|
|
||||||
CLUTTER_EXPORT
|
CLUTTER_EXPORT
|
||||||
void clutter_layout_manager_child_set (ClutterLayoutManager *manager,
|
void clutter_layout_manager_child_set (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
ClutterActor *actor,
|
ClutterActor *actor,
|
||||||
const gchar *first_property,
|
const gchar *first_property,
|
||||||
...) G_GNUC_NULL_TERMINATED;
|
...) G_GNUC_NULL_TERMINATED;
|
||||||
CLUTTER_EXPORT
|
CLUTTER_EXPORT
|
||||||
void clutter_layout_manager_child_get (ClutterLayoutManager *manager,
|
void clutter_layout_manager_child_get (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
ClutterActor *actor,
|
ClutterActor *actor,
|
||||||
const gchar *first_property,
|
const gchar *first_property,
|
||||||
...) G_GNUC_NULL_TERMINATED;
|
...) G_GNUC_NULL_TERMINATED;
|
||||||
CLUTTER_EXPORT
|
CLUTTER_EXPORT
|
||||||
void clutter_layout_manager_child_set_property (ClutterLayoutManager *manager,
|
void clutter_layout_manager_child_set_property (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
ClutterActor *actor,
|
ClutterActor *actor,
|
||||||
const gchar *property_name,
|
const gchar *property_name,
|
||||||
const GValue *value);
|
const GValue *value);
|
||||||
CLUTTER_EXPORT
|
CLUTTER_EXPORT
|
||||||
void clutter_layout_manager_child_get_property (ClutterLayoutManager *manager,
|
void clutter_layout_manager_child_get_property (ClutterLayoutManager *manager,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
ClutterActor *actor,
|
ClutterActor *actor,
|
||||||
const gchar *property_name,
|
const gchar *property_name,
|
||||||
GValue *value);
|
GValue *value);
|
||||||
|
@ -1549,7 +1549,7 @@ clutter_script_construct_parameters (ClutterScript *script,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
apply_layout_properties (ClutterScript *script,
|
apply_layout_properties (ClutterScript *script,
|
||||||
ClutterContainer *container,
|
ClutterActor *container,
|
||||||
ClutterActor *actor,
|
ClutterActor *actor,
|
||||||
ObjectInfo *oinfo)
|
ObjectInfo *oinfo)
|
||||||
{
|
{
|
||||||
@ -1737,7 +1737,7 @@ _clutter_script_check_unresolved (ClutterScript *script,
|
|||||||
if (child_info == NULL)
|
if (child_info == NULL)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
apply_layout_properties (script, CLUTTER_CONTAINER (parent),
|
apply_layout_properties (script, parent,
|
||||||
child,
|
child,
|
||||||
child_info);
|
child_info);
|
||||||
}
|
}
|
||||||
|
@ -42,12 +42,10 @@
|
|||||||
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
|
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
|
||||||
|
|
||||||
#include "clutter/clutter-stage.h"
|
#include "clutter/clutter-stage.h"
|
||||||
#include "clutter/deprecated/clutter-container.h"
|
|
||||||
|
|
||||||
#include "clutter/clutter-action-private.h"
|
#include "clutter/clutter-action-private.h"
|
||||||
#include "clutter/clutter-actor-private.h"
|
#include "clutter/clutter-actor-private.h"
|
||||||
#include "clutter/clutter-backend-private.h"
|
#include "clutter/clutter-backend-private.h"
|
||||||
#include "clutter/clutter-container.h"
|
|
||||||
#include "clutter/clutter-debug.h"
|
#include "clutter/clutter-debug.h"
|
||||||
#include "clutter/clutter-enum-types.h"
|
#include "clutter/clutter-enum-types.h"
|
||||||
#include "clutter/clutter-event-private.h"
|
#include "clutter/clutter-event-private.h"
|
||||||
@ -321,7 +319,7 @@ clutter_stage_allocate (ClutterActor *self,
|
|||||||
clutter_actor_set_allocation (self, box);
|
clutter_actor_set_allocation (self, box);
|
||||||
|
|
||||||
clutter_layout_manager_allocate (layout_manager,
|
clutter_layout_manager_allocate (layout_manager,
|
||||||
CLUTTER_CONTAINER (self),
|
self,
|
||||||
&children_box);
|
&children_box);
|
||||||
|
|
||||||
if (window_size.width != CLUTTER_NEARBYINT (width) ||
|
if (window_size.width != CLUTTER_NEARBYINT (width) ||
|
||||||
|
@ -37,6 +37,7 @@
|
|||||||
#include "clutter/clutter-backend.h"
|
#include "clutter/clutter-backend.h"
|
||||||
#include "clutter/clutter-bind-constraint.h"
|
#include "clutter/clutter-bind-constraint.h"
|
||||||
#include "clutter/clutter-binding-pool.h"
|
#include "clutter/clutter-binding-pool.h"
|
||||||
|
#include "clutter/clutter-bin-layout.h"
|
||||||
#include "clutter/clutter-blur-effect.h"
|
#include "clutter/clutter-blur-effect.h"
|
||||||
#include "clutter/clutter-box-layout.h"
|
#include "clutter/clutter-box-layout.h"
|
||||||
#include "clutter/clutter-brightness-contrast-effect.h"
|
#include "clutter/clutter-brightness-contrast-effect.h"
|
||||||
@ -107,7 +108,6 @@
|
|||||||
#include "clutter/clutter-units.h"
|
#include "clutter/clutter-units.h"
|
||||||
#include "clutter/clutter-virtual-input-device.h"
|
#include "clutter/clutter-virtual-input-device.h"
|
||||||
#include "clutter/clutter-zoom-action.h"
|
#include "clutter/clutter-zoom-action.h"
|
||||||
#include "clutter/clutter-bin-layout.h"
|
|
||||||
|
|
||||||
#include "clutter/clutter-deprecated.h"
|
#include "clutter/clutter-deprecated.h"
|
||||||
|
|
||||||
|
@ -280,7 +280,7 @@ test_text_field_main (gint argc,
|
|||||||
label = create_label (CLUTTER_COLOR_White, "<b>Input field:</b>");
|
label = create_label (CLUTTER_COLOR_White, "<b>Input field:</b>");
|
||||||
g_object_set (label, "min-width", 150.0, NULL);
|
g_object_set (label, "min-width", 150.0, NULL);
|
||||||
clutter_actor_add_child (box, label);
|
clutter_actor_add_child (box, label);
|
||||||
clutter_layout_manager_child_set (grid, CLUTTER_CONTAINER (box), label,
|
clutter_layout_manager_child_set (grid, box, label,
|
||||||
"row", 0,
|
"row", 0,
|
||||||
"column", 0,
|
"column", 0,
|
||||||
"x-expand", FALSE,
|
"x-expand", FALSE,
|
||||||
@ -292,7 +292,7 @@ test_text_field_main (gint argc,
|
|||||||
pango_attr_list_insert (entry_attrs, pango_attr_underline_color_new (65535, 0, 0));
|
pango_attr_list_insert (entry_attrs, pango_attr_underline_color_new (65535, 0, 0));
|
||||||
entry = create_entry (CLUTTER_COLOR_Black, "somme misspeeled textt", entry_attrs, 0, 0);
|
entry = create_entry (CLUTTER_COLOR_Black, "somme misspeeled textt", entry_attrs, 0, 0);
|
||||||
clutter_actor_add_child (box, entry);
|
clutter_actor_add_child (box, entry);
|
||||||
clutter_layout_manager_child_set (grid, CLUTTER_CONTAINER (box), entry,
|
clutter_layout_manager_child_set (grid, box, entry,
|
||||||
"row", 0,
|
"row", 0,
|
||||||
"column", 1,
|
"column", 1,
|
||||||
"x-expand", TRUE,
|
"x-expand", TRUE,
|
||||||
@ -303,7 +303,7 @@ test_text_field_main (gint argc,
|
|||||||
|
|
||||||
label = create_label (CLUTTER_COLOR_White, "<b>A very long password field:</b>");
|
label = create_label (CLUTTER_COLOR_White, "<b>A very long password field:</b>");
|
||||||
clutter_actor_add_child (box, label);
|
clutter_actor_add_child (box, label);
|
||||||
clutter_layout_manager_child_set (grid, CLUTTER_CONTAINER (box), label,
|
clutter_layout_manager_child_set (grid, box, label,
|
||||||
"row", 1,
|
"row", 1,
|
||||||
"column", 0,
|
"column", 0,
|
||||||
"x-expand", FALSE,
|
"x-expand", FALSE,
|
||||||
@ -312,7 +312,7 @@ test_text_field_main (gint argc,
|
|||||||
|
|
||||||
entry = create_entry (CLUTTER_COLOR_Black, "password", NULL, '*', 8);
|
entry = create_entry (CLUTTER_COLOR_Black, "password", NULL, '*', 8);
|
||||||
clutter_actor_add_child (box, entry);
|
clutter_actor_add_child (box, entry);
|
||||||
clutter_layout_manager_child_set (grid, CLUTTER_CONTAINER (box), entry,
|
clutter_layout_manager_child_set (grid, box, entry,
|
||||||
"row", 1,
|
"row", 1,
|
||||||
"column", 1,
|
"column", 1,
|
||||||
"x-expand", TRUE,
|
"x-expand", TRUE,
|
||||||
|
Loading…
Reference in New Issue
Block a user