It's a full transform and not just a translation these days.
child_info = GTK_FIXED_LAYOUT_CHILD (gtk_layout_manager_get_layout_child (priv->layout, widget));
transform = gsk_transform_translate (transform, &GRAPHENE_POINT_INIT (x, y));
- gtk_fixed_layout_child_set_position (child_info, transform);
+ gtk_fixed_layout_child_set_transform (child_info, transform);
gsk_transform_unref (transform);
}
g_return_if_fail (gtk_widget_get_parent (widget) == GTK_WIDGET (fixed));
child_info = GTK_FIXED_LAYOUT_CHILD (gtk_layout_manager_get_layout_child (priv->layout, widget));
- transform = gtk_fixed_layout_child_get_position (child_info);
+ transform = gtk_fixed_layout_child_get_transform (child_info);
gsk_transform_to_translate (transform, &pos_x, &pos_y);
if (x != NULL)
* Sets the transformation for @widget.
*
* This is a convenience function that retrieves the #GtkFixedLayoutChild
- * instance associated to @widget and calls gtk_fixed_layout_child_set_position().
+ * instance associated to @widget and calls gtk_fixed_layout_child_set_transform().
*/
void
gtk_fixed_set_child_transform (GtkFixed *fixed,
g_return_if_fail (gtk_widget_get_parent (widget) == GTK_WIDGET (fixed));
child_info = GTK_FIXED_LAYOUT_CHILD (gtk_layout_manager_get_layout_child (priv->layout, widget));
- gtk_fixed_layout_child_set_position (child_info, transform);
+ gtk_fixed_layout_child_set_transform (child_info, transform);
}
/**
g_return_val_if_fail (gtk_widget_get_parent (widget) == GTK_WIDGET (fixed), NULL);
child_info = GTK_FIXED_LAYOUT_CHILD (gtk_layout_manager_get_layout_child (priv->layout, widget));
- return gtk_fixed_layout_child_get_position (child_info);
+ return gtk_fixed_layout_child_get_transform (child_info);
}
/**
child_info = GTK_FIXED_LAYOUT_CHILD (gtk_layout_manager_get_layout_child (priv->layout, widget));
transform = gsk_transform_translate (transform, &GRAPHENE_POINT_INIT (x, y));
- gtk_fixed_layout_child_set_position (child_info, transform);
+ gtk_fixed_layout_child_set_transform (child_info, transform);
gsk_transform_unref (transform);
}
{
GtkLayoutChild parent_instance;
- GskTransform *position;
+ GskTransform *transform;
};
enum
{
- PROP_CHILD_POSITION = 1,
+ PROP_CHILD_TRANSFORM = 1,
N_CHILD_PROPERTIES
};
switch (prop_id)
{
- case PROP_CHILD_POSITION:
- gtk_fixed_layout_child_set_position (self, g_value_get_boxed (value));
+ case PROP_CHILD_TRANSFORM:
+ gtk_fixed_layout_child_set_transform (self, g_value_get_boxed (value));
break;
default:
switch (prop_id)
{
- case PROP_CHILD_POSITION:
- g_value_set_boxed (value, &self->position);
+ case PROP_CHILD_TRANSFORM:
+ g_value_set_boxed (value, &self->transform);
break;
default:
{
GtkFixedLayoutChild *self = GTK_FIXED_LAYOUT_CHILD (gobject);
- gsk_transform_unref (self->position);
+ gsk_transform_unref (self->transform);
G_OBJECT_CLASS (gtk_fixed_layout_child_parent_class)->finalize (gobject);
}
gobject_class->get_property = gtk_fixed_layout_child_get_property;
gobject_class->finalize = gtk_fixed_layout_child_finalize;
- child_props[PROP_CHILD_POSITION] =
- g_param_spec_boxed ("position",
- P_("Position"),
- P_("The position of a child of a fixed layout"),
+ child_props[PROP_CHILD_TRANSFORM] =
+ g_param_spec_boxed ("transform",
+ P_("transform"),
+ P_("The transform of a child of a fixed layout"),
GSK_TYPE_TRANSFORM,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS |
}
/**
- * gtk_fixed_layout_child_set_position:
+ * gtk_fixed_layout_child_set_transform:
* @child: a #GtkFixedLayoutChild
- * @position: a #GskTransform
+ * @transform: a #GskTransform
*
* Sets the transformation of the child of a #GtkFixedLayout.
*/
void
-gtk_fixed_layout_child_set_position (GtkFixedLayoutChild *child,
- GskTransform *position)
+gtk_fixed_layout_child_set_transform (GtkFixedLayoutChild *child,
+ GskTransform *transform)
{
GtkLayoutManager *layout;
g_return_if_fail (GTK_IS_FIXED_LAYOUT_CHILD (child));
- child->position = gsk_transform_transform (child->position, position);
+ child->transform = gsk_transform_transform (child->transform, transform);
layout = gtk_layout_child_get_layout_manager (GTK_LAYOUT_CHILD (child));
gtk_layout_manager_layout_changed (layout);
- g_object_notify_by_pspec (G_OBJECT (child), child_props[PROP_CHILD_POSITION]);
+ g_object_notify_by_pspec (G_OBJECT (child), child_props[PROP_CHILD_TRANSFORM]);
}
/**
- * gtk_fixed_layout_child_get_position:
+ * gtk_fixed_layout_child_get_transform:
* @child: a #GtkFixedLayoutChild
*
* Retrieves the transformation of the child of a #GtkFixedLayout.
* Returns: (transfer none) (nullable): a #GskTransform
*/
GskTransform *
-gtk_fixed_layout_child_get_position (GtkFixedLayoutChild *child)
+gtk_fixed_layout_child_get_transform (GtkFixedLayoutChild *child)
{
g_return_val_if_fail (GTK_IS_FIXED_LAYOUT_CHILD (child), NULL);
- return child->position;
+ return child->transform;
}
G_DEFINE_TYPE (GtkFixedLayout, gtk_fixed_layout, GTK_TYPE_LAYOUT_MANAGER)
&child_min_opp, &child_nat_opp,
NULL, NULL);
- gsk_transform_transform_bounds (child_info->position,
+ gsk_transform_transform_bounds (child_info->transform,
&GRAPHENE_RECT_INIT (0.f, 0.f, child_min, child_min_opp),
&min_rect);
- gsk_transform_transform_bounds (child_info->position,
+ gsk_transform_transform_bounds (child_info->transform,
&GRAPHENE_RECT_INIT (0.f, 0.f, child_nat, child_nat_opp),
&nat_rect);
child_req.width,
child_req.height,
-1,
- gsk_transform_ref (child_info->position));
+ gsk_transform_ref (child_info->transform));
}
}
G_DECLARE_FINAL_TYPE (GtkFixedLayoutChild, gtk_fixed_layout_child, GTK, FIXED_LAYOUT_CHILD, GtkLayoutChild)
GDK_AVAILABLE_IN_ALL
-void gtk_fixed_layout_child_set_position (GtkFixedLayoutChild *child,
- GskTransform *position);
+void gtk_fixed_layout_child_set_transform (GtkFixedLayoutChild *child,
+ GskTransform *transform);
GDK_AVAILABLE_IN_ALL
-GskTransform * gtk_fixed_layout_child_get_position (GtkFixedLayoutChild *child);
+GskTransform * gtk_fixed_layout_child_get_transform (GtkFixedLayoutChild *child);
G_END_DECLS
<property name="receives_default">1</property>
<property name="name">ref</property>
<layout>
- <property name="position">translate(10, 10)</property>
+ <property name="transform">translate(10, 10)</property>
</layout>
</object>
</child>
<property name="receives_default">1</property>
<property name="name">ref</property>
<layout>
- <property name="position">translate(40, 10)</property>
+ <property name="transform">translate(40, 10)</property>
</layout>
</object>
</child>
<property name="receives_default">1</property>
<property name="name">ref</property>
<layout>
- <property name="position">translate(80, 20)</property>
+ <property name="transform">translate(80, 20)</property>
</layout>
</object>
</child>
<property name="receives_default">1</property>
<property name="name">ref</property>
<layout>
- <property name="position">translate(20, 60)</property>
+ <property name="transform">translate(20, 60)</property>
</layout>
</object>
</child>
<property name="receives_default">1</property>
<property name="name">ref</property>
<layout>
- <property name="position">translate(60, 40)</property>
+ <property name="transform">translate(60, 40)</property>
</layout>
</object>
</child>
<property name="receives_default">1</property>
<property name="name">ref</property>
<layout>
- <property name="position">translate(100, 50)</property>
+ <property name="transform">translate(100, 50)</property>
</layout>
</object>
</child>
<property name="receives_default">1</property>
<property name="name">ref</property>
<layout>
- <property name="position">translate(10, 90)</property>
+ <property name="transform">translate(10, 90)</property>
</layout>
</object>
</child>
<property name="receives_default">1</property>
<property name="name">ref</property>
<layout>
- <property name="position">translate(40, 90)</property>
+ <property name="transform">translate(40, 90)</property>
</layout>
</object>
</child>
<property name="receives_default">1</property>
<property name="name">ref</property>
<layout>
- <property name="position">translate(100, 100)</property>
+ <property name="transform">translate(100, 100)</property>
</layout>
</object>
</child>
<class name="reference-padding-radius"/>
</style>
<layout>
- <property name="position">translate(5, 5)</property>
+ <property name="transform">translate(5, 5)</property>
</layout>
</object>
</child>
<class name="column1"/>
</style>
<layout>
- <property name="position">translate(20, 20)</property>
+ <property name="transform">translate(20, 20)</property>
</layout>
</object>
</child>
<class name="column2"/>
</style>
<layout>
- <property name="position">translate(5, 5)</property>
+ <property name="transform">translate(5, 5)</property>
</layout>
</object>
</child>
<class name="column2"/>
</style>
<layout>
- <property name="position">translate(20, 20)</property>
+ <property name="transform">translate(20, 20)</property>
</layout>
</object>
</child>
<class name="reference-padding-radius"/>
</style>
<layout>
- <property name="position">translate(5, 5)</property>
+ <property name="transform">translate(5, 5)</property>
</layout>
</object>
</child>
<class name="column1"/>
</style>
<layout>
- <property name="position">translate(30, 30)</property>
+ <property name="transform">translate(30, 30)</property>
</layout>
</object>
</child>
<class name="column2"/>
</style>
<layout>
- <property name="position">translate(5, 5)</property>
+ <property name="transform">translate(5, 5)</property>
</layout>
</object>
</child>
<class name="column2"/>
</style>
<layout>
- <property name="position">translate(30, 30)</property>
+ <property name="transform">translate(30, 30)</property>
</layout>
</object>
</child>
<property name="can_focus">1</property>
<property name="buffer">textbuffer1</property>
<layout>
- <property name="position">translate(50, 50)</property>
+ <property name="transform">translate(50, 50)</property>
</layout>
</object>
</child>
</object>
</child>
<layout>
- <property name="position">translate(50, 50)</property>
+ <property name="transform">translate(50, 50)</property>
</layout>
</object>
</child>
<property name="height-request">100</property>
<property name="label" translatable="yes">ABC</property>
<layout>
- <property name="position">translate(50, 50) rotate(0) translate(-49,-49)</property>
+ <property name="transform">translate(50, 50) rotate(0) translate(-49,-49)</property>
</layout>
<attributes>
<attribute name="foreground" value="#ffff00000000"></attribute>
<property name="height-request">100</property>
<property name="label" translatable="yes">ABC</property>
<layout>
- <property name="position">translate(50, 50) rotate(0) translate(-50,-50)</property>
+ <property name="transform">translate(50, 50) rotate(0) translate(-50,-50)</property>
</layout>
<style>
<class name="no-shadow"/>
<property name="height-request">100</property>
<property name="label" translatable="yes">ABC</property>
<layout>
- <property name="position">translate(150, 50) rotate(90) translate(-49,-49)</property>
+ <property name="transform">translate(150, 50) rotate(90) translate(-49,-49)</property>
</layout>
<attributes>
<attribute name="foreground" value="#ffff00000000"></attribute>
<property name="height-request">100</property>
<property name="label" translatable="yes">ABC</property>
<layout>
- <property name="position">translate(150, 50) rotate(90) translate(-50,-50)</property>
+ <property name="transform">translate(150, 50) rotate(90) translate(-50,-50)</property>
</layout>
<style>
<class name="no-shadow"/>
<property name="height-request">100</property>
<property name="label" translatable="yes">ABC</property>
<layout>
- <property name="position">translate(150, 150) rotate(180) translate(-49,-49)</property>
+ <property name="transform">translate(150, 150) rotate(180) translate(-49,-49)</property>
</layout>
<attributes>
<attribute name="foreground" value="#ffff00000000"></attribute>
<property name="height-request">100</property>
<property name="label" translatable="yes">ABC</property>
<layout>
- <property name="position">translate(150, 150) rotate(180) translate(-50,-50)</property>
+ <property name="transform">translate(150, 150) rotate(180) translate(-50,-50)</property>
</layout>
<style>
<class name="no-shadow"/>
<property name="height-request">100</property>
<property name="label" translatable="yes">ABC</property>
<layout>
- <property name="position">translate(50, 150) rotate(180) translate(-49,-49)</property>
+ <property name="transform">translate(50, 150) rotate(180) translate(-49,-49)</property>
</layout>
<attributes>
<attribute name="foreground" value="#ffff00000000"></attribute>
<property name="height-request">100</property>
<property name="label" translatable="yes">ABC</property>
<layout>
- <property name="position">translate(50, 150) rotate(180) translate(-50,-50)</property>
+ <property name="transform">translate(50, 150) rotate(180) translate(-50,-50)</property>
</layout>
<style>
<class name="no-shadow"/>
<property name="height-request">100</property>
<property name="label" translatable="yes">ABC</property>
<layout>
- <property name="position">translate(50, 50) rotate(0) translate(-50,-50)</property>
+ <property name="transform">translate(50, 50) rotate(0) translate(-50,-50)</property>
</layout>
</object>
</child>
<property name="height-request">100</property>
<property name="label" translatable="yes">ABC</property>
<layout>
- <property name="position">translate(150, 50) rotate(90) translate(-50,-50)</property>
+ <property name="transform">translate(150, 50) rotate(90) translate(-50,-50)</property>
</layout>
</object>
</child>
<property name="height-request">100</property>
<property name="label" translatable="yes">ABC</property>
<layout>
- <property name="position">translate(150, 150) rotate(180) translate(-50,-50)</property>
+ <property name="transform">translate(150, 150) rotate(180) translate(-50,-50)</property>
</layout>
</object>
</child>
<property name="height-request">100</property>
<property name="label" translatable="yes">ABC</property>
<layout>
- <property name="position">translate(50, 150) rotate(180) translate(-50,-50)</property>
+ <property name="transform">translate(50, 150) rotate(180) translate(-50,-50)</property>
</layout>
</object>
</child>