summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2013-03-30 00:24:17 +0000
committerEmmanuele Bassi <ebassi@gnome.org>2013-04-05 18:48:01 +0100
commit0b03a4cb0a1ab5eaf314c700feae63cbe4b88767 (patch)
tree2fa218904abadf346fba893281c6319d3a561f03
parent0724b3fb916d27d5ce4122763106773f696bf07d (diff)
downloadclutter-0b03a4cb0a1ab5eaf314c700feae63cbe4b88767.tar.gz
2.0: Remove ClutterGeometry
-rw-r--r--clutter/clutter-base-types.c108
-rw-r--r--clutter/clutter-script-parser.c72
-rw-r--r--clutter/clutter-script-private.h4
-rw-r--r--clutter/clutter-types.h36
-rw-r--r--clutter/clutter.symbols3
-rw-r--r--doc/reference/clutter/clutter-sections.txt7
6 files changed, 38 insertions, 192 deletions
diff --git a/clutter/clutter-base-types.c b/clutter/clutter-base-types.c
index 53d57b29e..2bc9b57f3 100644
--- a/clutter/clutter-base-types.c
+++ b/clutter/clutter-base-types.c
@@ -44,114 +44,6 @@
/*
- * ClutterGeometry
- */
-
-static ClutterGeometry*
-clutter_geometry_copy (const ClutterGeometry *geometry)
-{
- return g_slice_dup (ClutterGeometry, geometry);
-}
-
-static void
-clutter_geometry_free (ClutterGeometry *geometry)
-{
- if (G_LIKELY (geometry != NULL))
- g_slice_free (ClutterGeometry, geometry);
-}
-
-/**
- * clutter_geometry_union:
- * @geometry_a: a #ClutterGeometry
- * @geometry_b: another #ClutterGeometry
- * @result: (out): location to store the result
- *
- * Find the union of two rectangles represented as #ClutterGeometry.
- *
- * Since: 1.4
- *
- * Deprecated: 1.16: Use #ClutterRect and clutter_rect_union()
- */
-void
-clutter_geometry_union (const ClutterGeometry *geometry_a,
- const ClutterGeometry *geometry_b,
- ClutterGeometry *result)
-{
- /* We don't try to handle rectangles that can't be represented
- * as a signed integer box */
- gint x_1 = MIN (geometry_a->x, geometry_b->x);
- gint y_1 = MIN (geometry_a->y, geometry_b->y);
- gint x_2 = MAX (geometry_a->x + (gint)geometry_a->width,
- geometry_b->x + (gint)geometry_b->width);
- gint y_2 = MAX (geometry_a->y + (gint)geometry_a->height,
- geometry_b->y + (gint)geometry_b->height);
- result->x = x_1;
- result->y = y_1;
- result->width = x_2 - x_1;
- result->height = y_2 - y_1;
-}
-
-/**
- * clutter_geometry_intersects:
- * @geometry0: The first geometry to test
- * @geometry1: The second geometry to test
- *
- * Determines if @geometry0 and geometry1 intersect returning %TRUE if
- * they do else %FALSE.
- *
- * Return value: %TRUE of @geometry0 and geometry1 intersect else
- * %FALSE.
- *
- * Since: 1.4
- *
- * Deprecated: 1.16: Use #ClutterRect and clutter_rect_intersection()
- */
-gboolean
-clutter_geometry_intersects (const ClutterGeometry *geometry0,
- const ClutterGeometry *geometry1)
-{
- if (geometry1->x >= (geometry0->x + (gint)geometry0->width) ||
- geometry1->y >= (geometry0->y + (gint)geometry0->height) ||
- (geometry1->x + (gint)geometry1->width) <= geometry0->x ||
- (geometry1->y + (gint)geometry1->height) <= geometry0->y)
- return FALSE;
- else
- return TRUE;
-}
-
-static gboolean
-clutter_geometry_progress (const GValue *a,
- const GValue *b,
- gdouble progress,
- GValue *retval)
-{
- const ClutterGeometry *a_geom = g_value_get_boxed (a);
- const ClutterGeometry *b_geom = g_value_get_boxed (b);
- ClutterGeometry res = { 0, };
- gint a_width = a_geom->width;
- gint b_width = b_geom->width;
- gint a_height = a_geom->height;
- gint b_height = b_geom->height;
-
- res.x = a_geom->x + (b_geom->x - a_geom->x) * progress;
- res.y = a_geom->y + (b_geom->y - a_geom->y) * progress;
-
- res.width = a_width + (b_width - a_width) * progress;
- res.height = a_height + (b_height - a_height) * progress;
-
- g_value_set_boxed (retval, &res);
-
- return TRUE;
-}
-
-G_DEFINE_BOXED_TYPE_WITH_CODE (ClutterGeometry, clutter_geometry,
- clutter_geometry_copy,
- clutter_geometry_free,
- CLUTTER_REGISTER_INTERVAL_PROGRESS (clutter_geometry_progress));
-
-
-
-/*
* ClutterVertices
*/
diff --git a/clutter/clutter-script-parser.c b/clutter/clutter-script-parser.c
index 4a52a0269..0929c6166 100644
--- a/clutter/clutter-script-parser.c
+++ b/clutter/clutter-script-parser.c
@@ -348,63 +348,63 @@ _clutter_script_parse_knot (ClutterScript *script,
}
static gboolean
-parse_geometry_from_array (JsonArray *array,
- ClutterGeometry *geometry)
+parse_rect_from_array (JsonArray *array,
+ ClutterRect *rect)
{
if (json_array_get_length (array) != 4)
return FALSE;
- geometry->x = json_array_get_int_element (array, 0);
- geometry->y = json_array_get_int_element (array, 1);
- geometry->width = json_array_get_int_element (array, 2);
- geometry->height = json_array_get_int_element (array, 3);
+ rect->origin.x = json_array_get_double_element (array, 0);
+ rect->origin.y = json_array_get_double_element (array, 1);
+ rect->size.width = json_array_get_double_element (array, 2);
+ rect->size.height = json_array_get_double_element (array, 3);
return TRUE;
}
static gboolean
-parse_geometry_from_object (JsonObject *object,
- ClutterGeometry *geometry)
+parse_rect_from_object (JsonObject *object,
+ ClutterRect *rect)
{
if (json_object_has_member (object, "x"))
- geometry->x = json_object_get_int_member (object, "x");
+ rect->origin.x = json_object_get_double_member (object, "x");
else
- geometry->x = 0;
+ rect->origin.x = 0;
if (json_object_has_member (object, "y"))
- geometry->y = json_object_get_int_member (object, "y");
+ rect->origin.y = json_object_get_double_member (object, "y");
else
- geometry->y = 0;
+ rect->origin.y = 0;
if (json_object_has_member (object, "width"))
- geometry->width = json_object_get_int_member (object, "width");
+ rect->size.width = json_object_get_double_member (object, "width");
else
- geometry->width = 0;
+ rect->size.width = 0;
if (json_object_has_member (object, "height"))
- geometry->height = json_object_get_int_member (object, "height");
+ rect->size.height = json_object_get_double_member (object, "height");
else
- geometry->height = 0;
+ rect->size.height = 0;
return TRUE;
}
gboolean
-_clutter_script_parse_geometry (ClutterScript *script,
- JsonNode *node,
- ClutterGeometry *geometry)
+_clutter_script_parse_rect (ClutterScript *script,
+ JsonNode *node,
+ ClutterRect *rect)
{
g_return_val_if_fail (CLUTTER_IS_SCRIPT (script), FALSE);
g_return_val_if_fail (node != NULL, FALSE);
- g_return_val_if_fail (geometry != NULL, FALSE);
+ g_return_val_if_fail (rect != NULL, FALSE);
switch (JSON_NODE_TYPE (node))
{
case JSON_NODE_ARRAY:
- return parse_geometry_from_array (json_node_get_array (node), geometry);
+ return parse_rect_from_array (json_node_get_array (node), rect);
case JSON_NODE_OBJECT:
- return parse_geometry_from_object (json_node_get_object (node), geometry);
+ return parse_rect_from_object (json_node_get_object (node), rect);
default:
break;
@@ -1089,21 +1089,21 @@ _clutter_script_parse_node (ClutterScript *script,
return TRUE;
}
}
- else if (p_type == CLUTTER_TYPE_GEOMETRY)
+ else if (p_type == CLUTTER_TYPE_RECT)
{
- ClutterGeometry geom = { 0, };
+ ClutterRect rect = CLUTTER_RECT_INIT_ZERO;
- /* geometry := {
- * "x" : (int),
- * "y" : (int),
- * "width" : (int),
- * "height" : (int)
+ /* rect := {
+ * "x" : (double),
+ * "y" : (double),
+ * "width" : (double),
+ * "height" : (double)
* }
*/
- if (_clutter_script_parse_geometry (script, node, &geom))
+ if (_clutter_script_parse_rect (script, node, &rect))
{
- g_value_set_boxed (value, &geom);
+ g_value_set_boxed (value, &rect);
return TRUE;
}
}
@@ -1178,15 +1178,15 @@ _clutter_script_parse_node (ClutterScript *script,
return TRUE;
}
}
- else if (G_VALUE_HOLDS (value, CLUTTER_TYPE_GEOMETRY))
+ else if (G_VALUE_HOLDS (value, CLUTTER_TYPE_RECT))
{
- ClutterGeometry geom = { 0, };
+ ClutterRect rect = CLUTTER_RECT_INIT_ZERO;
- /* geometry := [ (int), (int), (int), (int) ] */
+ /* rect := [ (double), (double), (double), (double) ] */
- if (_clutter_script_parse_geometry (script, node, &geom))
+ if (_clutter_script_parse_rect (script, node, &rect))
{
- g_value_set_boxed (value, &geom);
+ g_value_set_boxed (value, &rect);
return TRUE;
}
}
diff --git a/clutter/clutter-script-private.h b/clutter/clutter-script-private.h
index b32ded186..7a6a6a9af 100644
--- a/clutter/clutter-script-private.h
+++ b/clutter/clutter-script-private.h
@@ -119,9 +119,9 @@ gboolean _clutter_script_flags_from_string (GType gtype,
gboolean _clutter_script_parse_knot (ClutterScript *script,
JsonNode *node,
ClutterKnot *knot);
-gboolean _clutter_script_parse_geometry (ClutterScript *script,
+gboolean _clutter_script_parse_rect (ClutterScript *script,
JsonNode *node,
- ClutterGeometry *geometry);
+ ClutterRect *rect);
gboolean _clutter_script_parse_color (ClutterScript *script,
JsonNode *node,
ClutterColor *color);
diff --git a/clutter/clutter-types.h b/clutter/clutter-types.h
index 9a66394e2..b71f60d27 100644
--- a/clutter/clutter-types.h
+++ b/clutter/clutter-types.h
@@ -37,7 +37,6 @@ G_BEGIN_DECLS
#define CLUTTER_TYPE_ACTOR_BOX (clutter_actor_box_get_type ())
#define CLUTTER_TYPE_FOG (clutter_fog_get_type ())
-#define CLUTTER_TYPE_GEOMETRY (clutter_geometry_get_type ())
#define CLUTTER_TYPE_KNOT (clutter_knot_get_type ())
#define CLUTTER_TYPE_MARGIN (clutter_margin_get_type ())
#define CLUTTER_TYPE_MATRIX (clutter_matrix_get_type ())
@@ -78,7 +77,6 @@ typedef struct _ClutterPathNode ClutterPathNode;
typedef struct _ClutterActorBox ClutterActorBox;
typedef struct _ClutterColor ClutterColor;
-typedef struct _ClutterGeometry ClutterGeometry; /* XXX:2.0 - remove */
typedef struct _ClutterKnot ClutterKnot;
typedef struct _ClutterMargin ClutterMargin;
typedef struct _ClutterPerspective ClutterPerspective;
@@ -529,40 +527,6 @@ void clutter_actor_box_set_size (ClutterActorBox *box,
gfloat height);
/**
- * ClutterGeometry:
- * @x: X coordinate of the top left corner of an actor
- * @y: Y coordinate of the top left corner of an actor
- * @width: width of an actor
- * @height: height of an actor
- *
- * The rectangle containing an actor's bounding box, measured in pixels.
- *
- * <warning>You should not use #ClutterGeometry, or operate on its fields
- * directly; you should use #cairo_rectangle_int_t or #ClutterRect if you
- * need a rectangle type, depending on the precision required.</warning>
- *
- * Deprecated: 1.16
- */
-struct _ClutterGeometry
-{
- /*< public >*/
- gint x;
- gint y;
- guint width;
- guint height;
-};
-
-GType clutter_geometry_get_type (void) G_GNUC_CONST;
-
-CLUTTER_DEPRECATED_IN_1_16
-void clutter_geometry_union (const ClutterGeometry *geometry_a,
- const ClutterGeometry *geometry_b,
- ClutterGeometry *result);
-CLUTTER_DEPRECATED_IN_1_16
-gboolean clutter_geometry_intersects (const ClutterGeometry *geometry0,
- const ClutterGeometry *geometry1);
-
-/**
* ClutterKnot:
* @x: X coordinate of the knot
* @y: Y coordinate of the knot
diff --git a/clutter/clutter.symbols b/clutter/clutter.symbols
index 1ca0b9406..debcf2ec6 100644
--- a/clutter/clutter.symbols
+++ b/clutter/clutter.symbols
@@ -731,9 +731,6 @@ clutter_gdk_handle_event
clutter_gdk_set_display
clutter_gdk_set_stage_foreign
#endif
-clutter_geometry_get_type
-clutter_geometry_intersects
-clutter_geometry_union
clutter_gesture_action_cancel
clutter_gesture_action_get_device
clutter_gesture_action_get_last_event
diff --git a/doc/reference/clutter/clutter-sections.txt b/doc/reference/clutter/clutter-sections.txt
index 1fd6837c6..03d0a7939 100644
--- a/doc/reference/clutter/clutter-sections.txt
+++ b/doc/reference/clutter/clutter-sections.txt
@@ -3235,7 +3235,6 @@ ClutterSize
ClutterRect
ClutterVertex
ClutterActorBox
-ClutterGeometry
ClutterKnot
ClutterPaintVolume
ClutterMatrix
@@ -3345,13 +3344,8 @@ clutter_knot_copy
clutter_knot_free
clutter_knot_equal
-<SUBSECTION>
-clutter_geometry_union
-clutter_geometry_intersects
-
<SUBSECTION Standard>
CLUTTER_TYPE_ACTOR_BOX
-CLUTTER_TYPE_GEOMETRY
CLUTTER_TYPE_KNOT
CLUTTER_TYPE_MATRIX
CLUTTER_TYPE_PAINT_VOLUME
@@ -3361,7 +3355,6 @@ CLUTTER_TYPE_SIZE
CLUTTER_TYPE_VERTEX
<SUBSECTION Private>
clutter_actor_box_get_type
-clutter_geometry_get_type
clutter_knot_get_type
clutter_matrix_get_type
clutter_paint_volume_get_type