ClutterVertex *vertex;
vertex = g_slice_new (ClutterVertex);
+ clutter_vertex_init (vertex, x, y, z);
+
+ return vertex;
+}
+
+/**
+ * clutter_vertex_init:
+ * @vertex: a #ClutterVertex
+ * @x: X coordinate
+ * @y: Y coordinate
+ * @z: Z coordinate
+ *
+ * Initializes @vertex with the given coordinates.
+ *
+ * Since: 1.10
+ */
+void
+clutter_vertex_init (ClutterVertex *vertex,
+ gfloat x,
+ gfloat y,
+ gfloat z)
+{
+ g_return_if_fail (vertex != NULL);
+
vertex->x = x;
vertex->y = y;
vertex->z = z;
-
- return vertex;
}
/**
gfloat z;
};
+/**
+ * CLUTTER_VERTEX_INIT:
+ * @x: the X coordinate of the vertex
+ * @y: the Y coordinate of the vertex
+ * @z: the Z coordinate of the vertex
+ *
+ * A simple macro for initializing a #ClutterVertex when declaring it, e.g.:
+ *
+ * |[
+ * ClutterVertext v = CLUTTER_VERTEX_INIT (x, y, z);
+ * ]|
+ *
+ * Since: 1.10
+ */
+#define CLUTTER_VERTEX_INIT(x,y,z) { (x), (y), (z) }
+
GType clutter_vertex_get_type (void) G_GNUC_CONST;
ClutterVertex *clutter_vertex_new (gfloat x,
gfloat y,
gfloat z);
+void clutter_vertex_init (ClutterVertex *vertex,
+ gfloat x,
+ gfloat y,
+ gfloat z);
ClutterVertex *clutter_vertex_copy (const ClutterVertex *vertex);
void clutter_vertex_free (ClutterVertex *vertex);
gboolean clutter_vertex_equal (const ClutterVertex *vertex_a,