+
+static void
+atk_component_real_get_position (AtkComponent *component,
+ gint *x,
+ gint *y,
+ AtkCoordType coord_type)
+{
+ gint width, height;
+
+ atk_component_get_extents (component, x, y, &width, &height, coord_type);
+}
+
+static void
+atk_component_real_get_size (AtkComponent *component,
+ gint *width,
+ gint *height)
+{
+ gint x, y;
+ AtkCoordType coord_type;
+
+ /*
+ * Pick one coordinate type; it does not matter for size
+ */
+ coord_type = ATK_XY_WINDOW;
+
+ atk_component_get_extents (component, &x, &y, width, height, coord_type);
+}
+
+static AtkRectangle *
+atk_rectangle_copy (const AtkRectangle *rectangle)
+{
+ AtkRectangle *result = g_new (AtkRectangle, 1);
+ *result = *rectangle;
+
+ return result;
+}
+
+GType
+atk_rectangle_get_type (void)
+{
+ static GType our_type = 0;
+
+ if (our_type == 0)
+ our_type = g_boxed_type_register_static ("AtkRectangle",
+ (GBoxedCopyFunc)atk_rectangle_copy,
+ (GBoxedFreeFunc)g_free);
+ return our_type;
+}
+