[clutter/wip/clutter-1.99] 2.0: Remove ClutterGeometry



commit 400e591204129e3e15d1aaf61561c6947e27e4d5
Author: Emmanuele Bassi <ebassi gnome org>
Date:   Sun Oct 7 22:48:11 2012 +0100

    2.0: Remove ClutterGeometry
    
    Finally, we can remove this bad rectangle type.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=682789

 clutter/clutter-base-types.c                |  104 ---------------------------
 clutter/clutter-script-parser.c             |   96 ------------------------
 clutter/clutter-script-private.h            |    3 -
 clutter/clutter-types.h                     |   33 ---------
 doc/reference/clutter/clutter2-sections.txt |    7 --
 5 files changed, 0 insertions(+), 243 deletions(-)
---
diff --git a/clutter/clutter-base-types.c b/clutter/clutter-base-types.c
index 94c4dce..2c0b20a 100644
--- a/clutter/clutter-base-types.c
+++ b/clutter/clutter-base-types.c
@@ -44,110 +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.
- *
- *
- */
-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.
- *
- *
- */
-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 c1d7342..57995be 100644
--- a/clutter/clutter-script-parser.c
+++ b/clutter/clutter-script-parser.c
@@ -348,72 +348,6 @@ _clutter_script_parse_knot (ClutterScript *script,
 }
 
 static gboolean
-parse_geometry_from_array (JsonArray       *array,
-                           ClutterGeometry *geometry)
-{
-  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);
-
-  return TRUE;
-}
-
-static gboolean
-parse_geometry_from_object (JsonObject      *object,
-                            ClutterGeometry *geometry)
-{
-  if (json_object_has_member (object, "x"))
-    geometry->x = json_object_get_int_member (object, "x");
-  else
-    geometry->x = 0;
-
-  if (json_object_has_member (object, "y"))
-    geometry->y = json_object_get_int_member (object, "y");
-  else
-    geometry->y = 0;
-
-  if (json_object_has_member (object, "width"))
-    geometry->width = json_object_get_int_member (object, "width");
-  else
-    geometry->width = 0;
-
-  if (json_object_has_member (object, "height"))
-    geometry->height = json_object_get_int_member (object, "height");
-  else
-    geometry->height = 0;
-
-  return TRUE;
-}
-
-gboolean
-_clutter_script_parse_geometry (ClutterScript   *script,
-                                JsonNode        *node,
-                                ClutterGeometry *geometry)
-{
-  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);
-
-  switch (JSON_NODE_TYPE (node))
-    {
-    case JSON_NODE_ARRAY:
-      return parse_geometry_from_array (json_node_get_array (node), geometry);
-
-    case JSON_NODE_OBJECT:
-      return parse_geometry_from_object (json_node_get_object (node), geometry);
-
-    default:
-      break;
-    }
-
-  return FALSE;
-}
-
-static gboolean
 parse_color_from_array (JsonArray    *array,
                         ClutterColor *color)
 {
@@ -1089,24 +1023,6 @@ _clutter_script_parse_node (ClutterScript *script,
                   return TRUE;
                 }
             }
-          else if (p_type == CLUTTER_TYPE_GEOMETRY)
-            {
-              ClutterGeometry geom = { 0, };
-
-              /* geometry := {
-               *        "x" : (int),
-               *        "y" : (int),
-               *        "width" : (int),
-               *        "height" : (int)
-               * }
-               */
-
-              if (_clutter_script_parse_geometry (script, node, &geom))
-                {
-                  g_value_set_boxed (value, &geom);
-                  return TRUE;
-                }
-            }
           else if (p_type == CLUTTER_TYPE_COLOR)
             {
               ClutterColor color = { 0, };
@@ -1178,18 +1094,6 @@ _clutter_script_parse_node (ClutterScript *script,
                   return TRUE;
                 }
             }
-          else if (G_VALUE_HOLDS (value, CLUTTER_TYPE_GEOMETRY))
-            {
-              ClutterGeometry geom = { 0, };
-
-              /* geometry := [ (int), (int), (int), (int) ] */
-
-              if (_clutter_script_parse_geometry (script, node, &geom))
-                {
-                  g_value_set_boxed (value, &geom);
-                  return TRUE;
-                }
-            }
           else if (CLUTTER_VALUE_HOLDS_COLOR (value))
             {
               ClutterColor color = { 0, };
diff --git a/clutter/clutter-script-private.h b/clutter/clutter-script-private.h
index b32ded1..fb73d28 100644
--- a/clutter/clutter-script-private.h
+++ b/clutter/clutter-script-private.h
@@ -119,9 +119,6 @@ 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,
-                                            JsonNode        *node,
-                                            ClutterGeometry *geometry);
 gboolean _clutter_script_parse_color       (ClutterScript   *script,
                                             JsonNode        *node,
                                             ClutterColor    *color);
diff --git a/clutter/clutter-types.h b/clutter/clutter-types.h
index b38e41b..2d360db 100644
--- a/clutter/clutter-types.h
+++ b/clutter/clutter-types.h
@@ -36,8 +36,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 +76,6 @@ typedef struct _ClutterPathNode                 ClutterPathNode;
 
 typedef struct _ClutterActorBox                 ClutterActorBox;
 typedef struct _ClutterColor                    ClutterColor;
-typedef struct _ClutterGeometry                 ClutterGeometry;
 typedef struct _ClutterKnot                     ClutterKnot;
 typedef struct _ClutterMargin                   ClutterMargin;
 typedef struct _ClutterPerspective              ClutterPerspective;
@@ -520,36 +517,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>
- */
-struct _ClutterGeometry
-{
-  /*< public >*/
-  gint   x;
-  gint   y;
-  guint  width;
-  guint  height;
-};
-
-GType clutter_geometry_get_type (void) G_GNUC_CONST;
-
-void      clutter_geometry_union      (const ClutterGeometry *geometry_a,
-                                       const ClutterGeometry *geometry_b,
-                                       ClutterGeometry       *result);
-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/doc/reference/clutter/clutter2-sections.txt b/doc/reference/clutter/clutter2-sections.txt
index 76b8142..27f71d3 100644
--- a/doc/reference/clutter/clutter2-sections.txt
+++ b/doc/reference/clutter/clutter2-sections.txt
@@ -2329,7 +2329,6 @@ ClutterSize
 ClutterRect
 ClutterVertex
 ClutterActorBox
-ClutterGeometry
 ClutterKnot
 ClutterPaintVolume
 ClutterMatrix
@@ -2439,13 +2438,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
@@ -2455,7 +2449,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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]