diff --git a/clutter/clutter-actor-box.c b/clutter/clutter-actor-box.c index 89bedd952..4f9b07193 100644 --- a/clutter/clutter-actor-box.c +++ b/clutter/clutter-actor-box.c @@ -420,6 +420,55 @@ clutter_actor_box_progress (const GValue *a, return TRUE; } +/** + * clutter_actor_box_set_origin: + * @box: a #ClutterActorBox + * @x: the X coordinate of the new origin + * @y: the Y coordinate of the new origin + * + * Changes the origin of @box, maintaining the size of the #ClutterActorBox. + * + * Since: 1.6 + */ +void +clutter_actor_box_set_origin (ClutterActorBox *box, + gfloat x, + gfloat y) +{ + gfloat width, height; + + g_return_if_fail (box != NULL); + + width = box->x2 - box->x1; + height = box->y2 - box->y1; + + box->x1 = x; + box->y1 = y; + box->x2 = box->x1 + width; + box->y2 = box->y1 + height; +} + +/** + * clutter_actor_box_set_size: + * @box: a #ClutterActorBox + * @width: the new width + * @height: the new height + * + * Sets the size of @box, maintaining the origin of the #ClutterActorBox. + * + * Since: 1.6 + */ +void +clutter_actor_box_set_size (ClutterActorBox *box, + gfloat width, + gfloat height) +{ + g_return_if_fail (box != NULL); + + box->x2 = box->x1 + width; + box->y2 = box->y1 + height; +} + G_DEFINE_BOXED_TYPE_WITH_CODE (ClutterActorBox, clutter_actor_box, clutter_actor_box_copy, clutter_actor_box_free, diff --git a/clutter/clutter-types.h b/clutter/clutter-types.h index 6854f2913..e8fd67307 100644 --- a/clutter/clutter-types.h +++ b/clutter/clutter-types.h @@ -189,6 +189,13 @@ void clutter_actor_box_union (const ClutterActorBox *a, const ClutterActorBox *b, ClutterActorBox *result); +void clutter_actor_box_set_origin (ClutterActorBox *box, + gfloat x, + gfloat y); +void clutter_actor_box_set_size (ClutterActorBox *box, + gfloat width, + gfloat height); + /** * ClutterGeometry: * @x: X coordinate of the top left corner of an actor diff --git a/doc/reference/clutter/clutter-sections.txt b/doc/reference/clutter/clutter-sections.txt index 2025dfad8..2f70ad838 100644 --- a/doc/reference/clutter/clutter-sections.txt +++ b/doc/reference/clutter/clutter-sections.txt @@ -451,7 +451,9 @@ clutter_actor_box_get_x clutter_actor_box_get_y clutter_actor_box_get_width clutter_actor_box_get_height +clutter_actor_box_set_origin clutter_actor_box_get_origin +clutter_actor_box_set_size clutter_actor_box_get_size clutter_actor_box_get_area clutter_actor_box_contains