gtk+-4.0: Update to 3.94.0+4e868584
[vala-gnome.git] / vapi / graphene-1.0.vapi
blobb1aa112b21110d3056b8b4e1677cb5b89e11613b
1 /* graphene-1.0.vapi generated by vapigen, do not modify. */
3 [CCode (cprefix = "Graphene", gir_namespace = "Graphene", gir_version = "1.0", lower_case_cprefix = "graphene_")]
4 namespace Graphene {
5         [CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_box_t", type_id = "graphene_box_get_type ()")]
6         [Version (since = "1.2")]
7         public struct Box {
8                 public bool contains_box (Graphene.Box b);
9                 public bool contains_point (Graphene.Point3D point);
10                 public static unowned Graphene.Box? empty ();
11                 public bool equal (Graphene.Box b);
12                 public Graphene.Box expand (Graphene.Point3D point);
13                 public Graphene.Box expand_scalar (float scalar);
14                 public Graphene.Box expand_vec3 (Graphene.Vec3 vec);
15                 public Graphene.Sphere get_bounding_sphere ();
16                 public Graphene.Point3D get_center ();
17                 public float get_depth ();
18                 public float get_height ();
19                 public Graphene.Point3D get_max ();
20                 public Graphene.Point3D get_min ();
21                 public Graphene.Vec3 get_size ();
22                 public void get_vertices ([CCode (array_length = false)] ref Graphene.Vec3 vertices[8]);
23                 public float get_width ();
24                 public static unowned Graphene.Box? infinite ();
25                 public unowned Graphene.Box? init (Graphene.Point3D? min, Graphene.Point3D? max);
26                 public unowned Graphene.Box? init_from_box (Graphene.Box src);
27                 public unowned Graphene.Box? init_from_points ([CCode (array_length_cname = "n_points", array_length_pos = 0.5, array_length_type = "guint")] Graphene.Point3D[] points);
28                 public unowned Graphene.Box? init_from_vec3 (Graphene.Vec3? min, Graphene.Vec3? max);
29                 public unowned Graphene.Box? init_from_vectors ([CCode (array_length_cname = "n_vectors", array_length_pos = 0.5, array_length_type = "guint")] Graphene.Vec3[] vectors);
30                 public bool intersection (Graphene.Box b, out Graphene.Box res);
31                 public static unowned Graphene.Box? minus_one ();
32                 public static unowned Graphene.Box? one ();
33                 public static unowned Graphene.Box? one_minus_one ();
34                 public Graphene.Box union (Graphene.Box b);
35                 public static unowned Graphene.Box? zero ();
36         }
37         [CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_euler_t", type_id = "graphene_euler_get_type ()")]
38         [Version (since = "1.2")]
39         public struct Euler {
40                 public bool equal (Graphene.Euler b);
41                 public Graphene.EulerOrder get_order ();
42                 public float get_x ();
43                 public float get_y ();
44                 public float get_z ();
45                 public unowned Graphene.Euler? init (float x, float y, float z);
46                 public unowned Graphene.Euler? init_from_euler (Graphene.Euler? src);
47                 public unowned Graphene.Euler? init_from_matrix (Graphene.Matrix? m, Graphene.EulerOrder order);
48                 public unowned Graphene.Euler? init_from_quaternion (Graphene.Quaternion? q, Graphene.EulerOrder order);
49                 public unowned Graphene.Euler? init_from_vec3 (Graphene.Vec3? v, Graphene.EulerOrder order);
50                 public unowned Graphene.Euler? init_with_order (float x, float y, float z, Graphene.EulerOrder order);
51                 public Graphene.Euler reorder (Graphene.EulerOrder order);
52                 public Graphene.Matrix to_matrix ();
53                 public Graphene.Vec3 to_vec3 ();
54         }
55         [CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_frustum_t", type_id = "graphene_frustum_get_type ()")]
56         [Version (since = "1.2")]
57         public struct Frustum {
58                 public bool contains_point (Graphene.Point3D point);
59                 [Version (since = "1.6")]
60                 public bool equal (Graphene.Frustum b);
61                 public void get_planes ([CCode (array_length = false)] ref Graphene.Plane planes[6]);
62                 public unowned Graphene.Frustum? init (Graphene.Plane p0, Graphene.Plane p1, Graphene.Plane p2, Graphene.Plane p3, Graphene.Plane p4, Graphene.Plane p5);
63                 public unowned Graphene.Frustum? init_from_frustum (Graphene.Frustum src);
64                 public unowned Graphene.Frustum? init_from_matrix (Graphene.Matrix matrix);
65                 public bool intersects_box (Graphene.Box box);
66                 public bool intersects_sphere (Graphene.Sphere sphere);
67         }
68         [CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_matrix_t", type_id = "graphene_matrix_get_type ()")]
69         public struct Matrix {
70                 [Version (since = "1.0")]
71                 public float determinant ();
72                 [Version (since = "1.0")]
73                 public Graphene.Vec4 get_row (uint index_);
74                 [Version (since = "1.0")]
75                 public float get_value (uint row, uint col);
76                 [Version (since = "1.0")]
77                 public float get_x_scale ();
78                 [Version (since = "1.0")]
79                 public float get_y_scale ();
80                 [Version (since = "1.0")]
81                 public float get_z_scale ();
82                 [Version (since = "1.0")]
83                 public unowned Graphene.Matrix? init_from_2d (double xx, double yx, double xy, double yy, double x_0, double y_0);
84                 [Version (since = "1.0")]
85                 public unowned Graphene.Matrix? init_from_float ([CCode (array_length = false)] float v[16]);
86                 [Version (since = "1.0")]
87                 public unowned Graphene.Matrix? init_from_matrix (Graphene.Matrix src);
88                 [Version (since = "1.0")]
89                 public unowned Graphene.Matrix? init_from_vec4 (Graphene.Vec4 v0, Graphene.Vec4 v1, Graphene.Vec4 v2, Graphene.Vec4 v3);
90                 [Version (since = "1.2")]
91                 public unowned Graphene.Matrix? init_frustum (float left, float right, float bottom, float top, float z_near, float z_far);
92                 [Version (since = "1.0")]
93                 public unowned Graphene.Matrix? init_identity ();
94                 [Version (since = "1.0")]
95                 public unowned Graphene.Matrix? init_look_at (Graphene.Vec3 eye, Graphene.Vec3 center, Graphene.Vec3 up);
96                 [Version (since = "1.0")]
97                 public unowned Graphene.Matrix? init_ortho (float left, float right, float top, float bottom, float z_near, float z_far);
98                 [Version (since = "1.0")]
99                 public unowned Graphene.Matrix? init_perspective (float fovy, float aspect, float z_near, float z_far);
100                 [Version (since = "1.0")]
101                 public unowned Graphene.Matrix? init_rotate (float angle, Graphene.Vec3 axis);
102                 [Version (since = "1.0")]
103                 public unowned Graphene.Matrix? init_scale (float x, float y, float z);
104                 [Version (since = "1.0")]
105                 public unowned Graphene.Matrix? init_skew (float x_skew, float y_skew);
106                 [Version (since = "1.0")]
107                 public unowned Graphene.Matrix? init_translate (Graphene.Point3D p);
108                 [Version (since = "1.0")]
109                 public Graphene.Matrix interpolate (Graphene.Matrix b, double factor);
110                 [Version (since = "1.0")]
111                 public bool inverse (out Graphene.Matrix res);
112                 [Version (since = "1.0")]
113                 public bool is_2d ();
114                 [Version (since = "1.0")]
115                 public bool is_backface_visible ();
116                 [Version (since = "1.0")]
117                 public bool is_identity ();
118                 [Version (since = "1.0")]
119                 public bool is_singular ();
120                 [Version (since = "1.0")]
121                 public Graphene.Matrix multiply (Graphene.Matrix b);
122                 [Version (since = "1.0")]
123                 public Graphene.Matrix normalize ();
124                 [Version (since = "1.0")]
125                 public Graphene.Matrix perspective (float depth);
126                 [Version (since = "1.0")]
127                 public void print ();
128                 [Version (since = "1.0")]
129                 public Graphene.Point project_point (Graphene.Point p);
130                 [Version (since = "1.2")]
131                 public Graphene.Quad project_rect (Graphene.Rect r);
132                 [Version (since = "1.0")]
133                 public Graphene.Rect project_rect_bounds (Graphene.Rect r);
134                 [Version (since = "1.0")]
135                 public void rotate (float angle, Graphene.Vec3 axis);
136                 [Version (since = "1.2")]
137                 public void rotate_euler (Graphene.Euler e);
138                 [Version (since = "1.2")]
139                 public void rotate_quaternion (Graphene.Quaternion q);
140                 [Version (since = "1.0")]
141                 public void rotate_x (float angle);
142                 [Version (since = "1.0")]
143                 public void rotate_y (float angle);
144                 [Version (since = "1.0")]
145                 public void rotate_z (float angle);
146                 [Version (since = "1.0")]
147                 public void scale (float factor_x, float factor_y, float factor_z);
148                 [Version (since = "1.0")]
149                 public void skew_xy (float factor);
150                 [Version (since = "1.0")]
151                 public void skew_xz (float factor);
152                 [Version (since = "1.0")]
153                 public void skew_yz (float factor);
154                 [Version (since = "1.0")]
155                 public bool to_2d (out double xx, out double yx, out double xy, out double yy, out double x_0, out double y_0);
156                 [Version (since = "1.0")]
157                 public void to_float ([CCode (array_length = false)] ref float v[16]);
158                 [Version (since = "1.0")]
159                 public Graphene.Rect transform_bounds (Graphene.Rect r);
160                 [Version (since = "1.2")]
161                 public Graphene.Box transform_box (Graphene.Box b);
162                 [Version (since = "1.0")]
163                 public Graphene.Point transform_point (Graphene.Point p);
164                 [Version (since = "1.2")]
165                 public Graphene.Point3D transform_point3d (Graphene.Point3D p);
166                 [Version (since = "1.4")]
167                 public Graphene.Ray transform_ray (Graphene.Ray r);
168                 [Version (since = "1.0")]
169                 public Graphene.Quad transform_rect (Graphene.Rect r);
170                 [Version (since = "1.2")]
171                 public Graphene.Sphere transform_sphere (Graphene.Sphere s);
172                 [Version (since = "1.0")]
173                 public Graphene.Vec3 transform_vec3 (Graphene.Vec3 v);
174                 [Version (since = "1.0")]
175                 public Graphene.Vec4 transform_vec4 (Graphene.Vec4 v);
176                 [Version (since = "1.0")]
177                 public void translate (Graphene.Point3D pos);
178                 [Version (since = "1.0")]
179                 public Graphene.Matrix transpose ();
180                 [Version (since = "1.2")]
181                 public Graphene.Point3D unproject_point3d (Graphene.Matrix modelview, Graphene.Point3D point);
182                 [Version (since = "1.0")]
183                 public Graphene.Rect untransform_bounds (Graphene.Rect r, Graphene.Rect bounds);
184                 [Version (since = "1.0")]
185                 public bool untransform_point (Graphene.Point p, Graphene.Rect bounds, out Graphene.Point res);
186         }
187         [CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_plane_t", type_id = "graphene_plane_get_type ()")]
188         [Version (since = "1.2")]
189         public struct Plane {
190                 public float distance (Graphene.Point3D point);
191                 public bool equal (Graphene.Plane b);
192                 public float get_constant ();
193                 public Graphene.Vec3 get_normal ();
194                 public unowned Graphene.Plane? init (Graphene.Vec3? normal, float constant);
195                 public unowned Graphene.Plane? init_from_plane (Graphene.Plane src);
196                 public unowned Graphene.Plane? init_from_point (Graphene.Vec3 normal, Graphene.Point3D point);
197                 public unowned Graphene.Plane? init_from_points (Graphene.Point3D a, Graphene.Point3D b, Graphene.Point3D c);
198                 public unowned Graphene.Plane? init_from_vec4 (Graphene.Vec4 src);
199                 public Graphene.Plane negate ();
200                 public Graphene.Plane normalize ();
201         }
202         [CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_point_t", type_id = "graphene_point_get_type ()")]
203         [Version (since = "1.0")]
204         public struct Point {
205                 public float x;
206                 public float y;
207                 public float distance (Graphene.Point b, out float d_x, out float d_y);
208                 public bool equal (Graphene.Point b);
209                 public unowned Graphene.Point? init (float x, float y);
210                 public unowned Graphene.Point? init_from_point (Graphene.Point src);
211                 [Version (since = "1.4")]
212                 public unowned Graphene.Point? init_from_vec2 (Graphene.Vec2 src);
213                 public Graphene.Point interpolate (Graphene.Point b, double factor);
214                 public bool near (Graphene.Point b, float epsilon);
215                 [Version (since = "1.4")]
216                 public Graphene.Vec2 to_vec2 ();
217                 public static unowned Graphene.Point? zero ();
218         }
219         [CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_point3d_t", lower_case_csuffix = "point3d", type_id = "graphene_point3d_get_type ()")]
220         [Version (since = "1.0")]
221         public struct Point3D {
222                 public float x;
223                 public float y;
224                 public float z;
225                 public Graphene.Point3D cross (Graphene.Point3D b);
226                 [Version (since = "1.4")]
227                 public float distance (Graphene.Point3D b, out Graphene.Vec3 delta);
228                 public float dot (Graphene.Point3D b);
229                 public bool equal (Graphene.Point3D b);
230                 public unowned Graphene.Point3D? init (float x, float y, float z);
231                 public unowned Graphene.Point3D? init_from_point (Graphene.Point3D src);
232                 public unowned Graphene.Point3D? init_from_vec3 (Graphene.Vec3 v);
233                 public Graphene.Point3D interpolate (Graphene.Point3D b, double factor);
234                 public float length ();
235                 public bool near (Graphene.Point3D b, float epsilon);
236                 public Graphene.Point3D normalize ();
237                 [Version (since = "1.4")]
238                 public Graphene.Point3D normalize_viewport (Graphene.Rect viewport, float z_near, float z_far);
239                 public Graphene.Point3D scale (float factor);
240                 public Graphene.Vec3 to_vec3 ();
241                 public static unowned Graphene.Point3D? zero ();
242         }
243         [CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_quad_t", type_id = "graphene_quad_get_type ()")]
244         [Version (since = "1.0")]
245         public struct Quad {
246                 public Graphene.Rect bounds ();
247                 public bool contains (Graphene.Point p);
248                 public unowned Graphene.Point? get_point (uint index_);
249                 public unowned Graphene.Quad? init (Graphene.Point p1, Graphene.Point p2, Graphene.Point p3, Graphene.Point p4);
250                 [Version (since = "1.2")]
251                 public unowned Graphene.Quad? init_from_points ([CCode (array_length = false)] Graphene.Point points[4]);
252                 public unowned Graphene.Quad? init_from_rect (Graphene.Rect r);
253         }
254         [CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_quaternion_t", type_id = "graphene_quaternion_get_type ()")]
255         [Version (since = "1.0")]
256         public struct Quaternion {
257                 public float dot (Graphene.Quaternion b);
258                 public bool equal (Graphene.Quaternion b);
259                 public unowned Graphene.Quaternion? init (float x, float y, float z, float w);
260                 public unowned Graphene.Quaternion? init_from_angle_vec3 (float angle, Graphene.Vec3 axis);
261                 public unowned Graphene.Quaternion? init_from_angles (float deg_x, float deg_y, float deg_z);
262                 [Version (since = "1.2")]
263                 public unowned Graphene.Quaternion? init_from_euler (Graphene.Euler e);
264                 public unowned Graphene.Quaternion? init_from_matrix (Graphene.Matrix m);
265                 public unowned Graphene.Quaternion? init_from_quaternion (Graphene.Quaternion src);
266                 public unowned Graphene.Quaternion? init_from_radians (float rad_x, float rad_y, float rad_z);
267                 public unowned Graphene.Quaternion? init_from_vec4 (Graphene.Vec4 src);
268                 public unowned Graphene.Quaternion? init_identity ();
269                 public Graphene.Quaternion invert ();
270                 public Graphene.Quaternion normalize ();
271                 public Graphene.Quaternion slerp (Graphene.Quaternion b, float factor);
272                 public void to_angle_vec3 (out float angle, out Graphene.Vec3 axis);
273                 [Version (since = "1.2")]
274                 public void to_angles (out float deg_x, out float deg_y, out float deg_z);
275                 public Graphene.Matrix to_matrix ();
276                 [Version (since = "1.2")]
277                 public void to_radians (out float rad_x, out float rad_y, out float rad_z);
278                 public Graphene.Vec4 to_vec4 ();
279         }
280         [CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_ray_t", type_id = "graphene_ray_get_type ()")]
281         [Version (since = "1.4")]
282         public struct Ray {
283                 public bool equal (Graphene.Ray b);
284                 public Graphene.Point3D get_closest_point_to_point (Graphene.Point3D p);
285                 public Graphene.Vec3 get_direction ();
286                 public float get_distance_to_plane (Graphene.Plane p);
287                 public float get_distance_to_point (Graphene.Point3D p);
288                 public Graphene.Point3D get_origin ();
289                 public Graphene.Point3D get_position_at (float t);
290                 public unowned Graphene.Ray? init (Graphene.Point3D? origin, Graphene.Vec3? direction);
291                 public unowned Graphene.Ray? init_from_ray (Graphene.Ray src);
292                 public unowned Graphene.Ray? init_from_vec3 (Graphene.Vec3? origin, Graphene.Vec3? direction);
293         }
294         [CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_rect_t", type_id = "graphene_rect_get_type ()")]
295         [Version (since = "1.0")]
296         public struct Rect {
297                 public Graphene.Point origin;
298                 public Graphene.Size size;
299                 public static Graphene.Rect? alloc ();
300                 public bool contains_point (Graphene.Point p);
301                 public bool contains_rect (Graphene.Rect b);
302                 public bool equal (Graphene.Rect b);
303                 [Version (since = "1.4")]
304                 public Graphene.Rect expand (Graphene.Point p);
305                 public Graphene.Point get_bottom_left ();
306                 public Graphene.Point get_bottom_right ();
307                 public Graphene.Point get_center ();
308                 public float get_height ();
309                 public Graphene.Point get_top_left ();
310                 public Graphene.Point get_top_right ();
311                 [Version (since = "1.4")]
312                 public void get_vertices ([CCode (array_length = false)] ref Graphene.Vec2 vertices[4]);
313                 public float get_width ();
314                 public float get_x ();
315                 public float get_y ();
316                 public unowned Graphene.Rect? init (float x, float y, float width, float height);
317                 public unowned Graphene.Rect? init_from_rect (Graphene.Rect src);
318                 public unowned Graphene.Rect? inset (float d_x, float d_y);
319                 [Version (since = "1.4")]
320                 public Graphene.Rect inset_r (float d_x, float d_y);
321                 public Graphene.Rect interpolate (Graphene.Rect b, double factor);
322                 public bool intersection (Graphene.Rect b, out Graphene.Rect res);
323                 public unowned Graphene.Rect? normalize ();
324                 [Version (since = "1.4")]
325                 public Graphene.Rect normalize_r ();
326                 public unowned Graphene.Rect? offset (float d_x, float d_y);
327                 [Version (since = "1.4")]
328                 public Graphene.Rect offset_r (float d_x, float d_y);
329                 [Version (since = "1.4")]
330                 public Graphene.Rect round ();
331                 [Version (deprecated = true, deprecated_since = "1.4", since = "1.0")]
332                 public unowned Graphene.Rect? round_to_pixel ();
333                 public Graphene.Rect union (Graphene.Rect b);
334                 [Version (since = "1.4")]
335                 public static unowned Graphene.Rect? zero ();
336         }
337         [CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_size_t", type_id = "graphene_size_get_type ()")]
338         [Version (since = "1.0")]
339         public struct Size {
340                 public float width;
341                 public float height;
342                 public bool equal (Graphene.Size b);
343                 public unowned Graphene.Size? init (float width, float height);
344                 public unowned Graphene.Size? init_from_size (Graphene.Size src);
345                 public Graphene.Size interpolate (Graphene.Size b, double factor);
346                 public Graphene.Size scale (float factor);
347                 public static unowned Graphene.Size? zero ();
348         }
349         [CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_sphere_t", type_id = "graphene_sphere_get_type ()")]
350         [Version (since = "1.2")]
351         public struct Sphere {
352                 public bool contains_point (Graphene.Point3D point);
353                 public float distance (Graphene.Point3D point);
354                 public bool equal (Graphene.Sphere b);
355                 public Graphene.Box get_bounding_box ();
356                 public Graphene.Point3D get_center ();
357                 public float get_radius ();
358                 public unowned Graphene.Sphere? init (Graphene.Point3D? center, float radius);
359                 public unowned Graphene.Sphere? init_from_points ([CCode (array_length_cname = "n_points", array_length_pos = 0.5, array_length_type = "guint")] Graphene.Point3D[] points, Graphene.Point3D? center);
360                 public unowned Graphene.Sphere? init_from_vectors ([CCode (array_length_cname = "n_vectors", array_length_pos = 0.5, array_length_type = "guint")] Graphene.Vec3[] vectors, Graphene.Point3D? center);
361                 public bool is_empty ();
362                 public Graphene.Sphere translate (Graphene.Point3D point);
363         }
364         [CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_triangle_t", type_id = "graphene_triangle_get_type ()")]
365         [Version (since = "1.2")]
366         public struct Triangle {
367                 public bool contains_point (Graphene.Point3D p);
368                 public bool equal (Graphene.Triangle b);
369                 public float get_area ();
370                 public bool get_barycoords (Graphene.Point3D? p, out Graphene.Vec2 res);
371                 public Graphene.Box get_bounding_box ();
372                 public Graphene.Point3D get_midpoint ();
373                 public Graphene.Vec3 get_normal ();
374                 public Graphene.Plane get_plane ();
375                 public void get_points (out Graphene.Point3D a, out Graphene.Point3D b, out Graphene.Point3D c);
376                 public void get_vertices (out Graphene.Vec3 a, out Graphene.Vec3 b, out Graphene.Vec3 c);
377                 public unowned Graphene.Triangle? init_from_point3d (Graphene.Point3D? a, Graphene.Point3D? b, Graphene.Point3D? c);
378                 public unowned Graphene.Triangle? init_from_vec3 (Graphene.Vec3? a, Graphene.Vec3? b, Graphene.Vec3? c);
379         }
380         [CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_vec2_t", type_id = "graphene_vec2_get_type ()")]
381         public struct Vec2 {
382                 [Version (since = "1.0")]
383                 public Graphene.Vec2 add (Graphene.Vec2 b);
384                 [Version (since = "1.0")]
385                 public Graphene.Vec2 divide (Graphene.Vec2 b);
386                 [Version (since = "1.0")]
387                 public float dot (Graphene.Vec2 b);
388                 [Version (since = "1.2")]
389                 public bool equal (Graphene.Vec2 v2);
390                 [Version (since = "1.0")]
391                 public float get_x ();
392                 [Version (since = "1.0")]
393                 public float get_y ();
394                 [Version (since = "1.0")]
395                 public unowned Graphene.Vec2? init (float x, float y);
396                 [Version (since = "1.0")]
397                 public unowned Graphene.Vec2? init_from_float ([CCode (array_length = false)] float src[2]);
398                 [Version (since = "1.0")]
399                 public unowned Graphene.Vec2? init_from_vec2 (Graphene.Vec2 src);
400                 [Version (since = "1.0")]
401                 public float length ();
402                 [Version (since = "1.0")]
403                 public Graphene.Vec2 max (Graphene.Vec2 b);
404                 [Version (since = "1.0")]
405                 public Graphene.Vec2 min (Graphene.Vec2 b);
406                 [Version (since = "1.0")]
407                 public Graphene.Vec2 multiply (Graphene.Vec2 b);
408                 [Version (since = "1.2")]
409                 public bool near (Graphene.Vec2 v2, float epsilon);
410                 [Version (since = "1.2")]
411                 public Graphene.Vec2 negate ();
412                 [Version (since = "1.0")]
413                 public Graphene.Vec2 normalize ();
414                 [Version (since = "1.0")]
415                 public static unowned Graphene.Vec2? one ();
416                 [Version (since = "1.2")]
417                 public Graphene.Vec2 scale (float factor);
418                 [Version (since = "1.0")]
419                 public Graphene.Vec2 subtract (Graphene.Vec2 b);
420                 [Version (since = "1.0")]
421                 public void to_float ([CCode (array_length = false)] ref float dest[2]);
422                 [Version (since = "1.0")]
423                 public static unowned Graphene.Vec2? x_axis ();
424                 [Version (since = "1.0")]
425                 public static unowned Graphene.Vec2? y_axis ();
426                 [Version (since = "1.0")]
427                 public static unowned Graphene.Vec2? zero ();
428         }
429         [CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_vec3_t", type_id = "graphene_vec3_get_type ()")]
430         public struct Vec3 {
431                 [Version (since = "1.0")]
432                 public Graphene.Vec3 add (Graphene.Vec3 b);
433                 [Version (since = "1.0")]
434                 public Graphene.Vec3 cross (Graphene.Vec3 b);
435                 [Version (since = "1.0")]
436                 public Graphene.Vec3 divide (Graphene.Vec3 b);
437                 [Version (since = "1.0")]
438                 public float dot (Graphene.Vec3 b);
439                 [Version (since = "1.2")]
440                 public bool equal (Graphene.Vec3 v2);
441                 [Version (since = "1.0")]
442                 public float get_x ();
443                 [Version (since = "1.0")]
444                 public Graphene.Vec2 get_xy ();
445                 [Version (since = "1.0")]
446                 public Graphene.Vec3 get_xy0 ();
447                 [Version (since = "1.0")]
448                 public Graphene.Vec4 get_xyz0 ();
449                 [Version (since = "1.0")]
450                 public Graphene.Vec4 get_xyz1 ();
451                 [Version (since = "1.0")]
452                 public Graphene.Vec4 get_xyzw (float w);
453                 [Version (since = "1.0")]
454                 public float get_y ();
455                 [Version (since = "1.0")]
456                 public float get_z ();
457                 [Version (since = "1.0")]
458                 public unowned Graphene.Vec3? init (float x, float y, float z);
459                 [Version (since = "1.0")]
460                 public unowned Graphene.Vec3? init_from_float ([CCode (array_length = false)] float src[3]);
461                 [Version (since = "1.0")]
462                 public unowned Graphene.Vec3? init_from_vec3 (Graphene.Vec3 src);
463                 [Version (since = "1.0")]
464                 public float length ();
465                 [Version (since = "1.0")]
466                 public Graphene.Vec3 max (Graphene.Vec3 b);
467                 [Version (since = "1.0")]
468                 public Graphene.Vec3 min (Graphene.Vec3 b);
469                 [Version (since = "1.0")]
470                 public Graphene.Vec3 multiply (Graphene.Vec3 b);
471                 [Version (since = "1.2")]
472                 public bool near (Graphene.Vec3 v2, float epsilon);
473                 [Version (since = "1.2")]
474                 public Graphene.Vec3 negate ();
475                 [Version (since = "1.0")]
476                 public Graphene.Vec3 normalize ();
477                 [Version (since = "1.0")]
478                 public static unowned Graphene.Vec3? one ();
479                 [Version (since = "1.2")]
480                 public Graphene.Vec3 scale (float factor);
481                 [Version (since = "1.0")]
482                 public Graphene.Vec3 subtract (Graphene.Vec3 b);
483                 [Version (since = "1.0")]
484                 public void to_float ([CCode (array_length = false)] ref float dest[3]);
485                 [Version (since = "1.0")]
486                 public static unowned Graphene.Vec3? x_axis ();
487                 [Version (since = "1.0")]
488                 public static unowned Graphene.Vec3? y_axis ();
489                 [Version (since = "1.0")]
490                 public static unowned Graphene.Vec3? z_axis ();
491                 [Version (since = "1.0")]
492                 public static unowned Graphene.Vec3? zero ();
493         }
494         [CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_vec4_t", type_id = "graphene_vec4_get_type ()")]
495         public struct Vec4 {
496                 [Version (since = "1.0")]
497                 public Graphene.Vec4 add (Graphene.Vec4 b);
498                 [Version (since = "1.0")]
499                 public Graphene.Vec4 divide (Graphene.Vec4 b);
500                 [Version (since = "1.0")]
501                 public float dot (Graphene.Vec4 b);
502                 [Version (since = "1.2")]
503                 public bool equal (Graphene.Vec4 v2);
504                 [Version (since = "1.0")]
505                 public float get_w ();
506                 [Version (since = "1.0")]
507                 public float get_x ();
508                 [Version (since = "1.0")]
509                 public Graphene.Vec2 get_xy ();
510                 [Version (since = "1.0")]
511                 public Graphene.Vec3 get_xyz ();
512                 [Version (since = "1.0")]
513                 public float get_y ();
514                 [Version (since = "1.0")]
515                 public float get_z ();
516                 [Version (since = "1.0")]
517                 public unowned Graphene.Vec4? init (float x, float y, float z, float w);
518                 [Version (since = "1.0")]
519                 public unowned Graphene.Vec4? init_from_float ([CCode (array_length = false)] float src[4]);
520                 [Version (since = "1.0")]
521                 public unowned Graphene.Vec4? init_from_vec2 (Graphene.Vec2 src, float z, float w);
522                 [Version (since = "1.0")]
523                 public unowned Graphene.Vec4? init_from_vec3 (Graphene.Vec3 src, float w);
524                 [Version (since = "1.0")]
525                 public unowned Graphene.Vec4? init_from_vec4 (Graphene.Vec4 src);
526                 [Version (since = "1.0")]
527                 public float length ();
528                 [Version (since = "1.0")]
529                 public Graphene.Vec4 max (Graphene.Vec4 b);
530                 [Version (since = "1.0")]
531                 public Graphene.Vec4 min (Graphene.Vec4 b);
532                 [Version (since = "1.0")]
533                 public Graphene.Vec4 multiply (Graphene.Vec4 b);
534                 [Version (since = "1.2")]
535                 public bool near (Graphene.Vec4 v2, float epsilon);
536                 [Version (since = "1.2")]
537                 public Graphene.Vec4 negate ();
538                 [Version (since = "1.0")]
539                 public Graphene.Vec4 normalize ();
540                 [Version (since = "1.0")]
541                 public static unowned Graphene.Vec4? one ();
542                 [Version (since = "1.2")]
543                 public Graphene.Vec4 scale (float factor);
544                 [Version (since = "1.0")]
545                 public Graphene.Vec4 subtract (Graphene.Vec4 b);
546                 [Version (since = "1.0")]
547                 public void to_float ([CCode (array_length = false)] ref float dest[4]);
548                 [Version (since = "1.0")]
549                 public static unowned Graphene.Vec4? w_axis ();
550                 [Version (since = "1.0")]
551                 public static unowned Graphene.Vec4? x_axis ();
552                 [Version (since = "1.0")]
553                 public static unowned Graphene.Vec4? y_axis ();
554                 [Version (since = "1.0")]
555                 public static unowned Graphene.Vec4? z_axis ();
556                 [Version (since = "1.0")]
557                 public static unowned Graphene.Vec4? zero ();
558         }
559         [CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_euler_order_t", cprefix = "GRAPHENE_EULER_ORDER_", has_type_id = false)]
560         [Version (since = "1.2")]
561         public enum EulerOrder {
562                 DEFAULT,
563                 XYZ,
564                 YZX,
565                 ZXY,
566                 XZY,
567                 YXZ,
568                 ZYX
569         }
570         [CCode (cheader_filename = "graphene-gobject.h", cname = "GRAPHENE_PI")]
571         public const double PI;
572         [CCode (cheader_filename = "graphene-gobject.h", cname = "GRAPHENE_PI_2")]
573         public const double PI_2;
574         [CCode (cheader_filename = "graphene-gobject.h", cname = "GRAPHENE_VEC2_LEN")]
575         [Version (since = "1.0")]
576         public const int VEC2_LEN;
577         [CCode (cheader_filename = "graphene-gobject.h", cname = "GRAPHENE_VEC3_LEN")]
578         [Version (since = "1.0")]
579         public const int VEC3_LEN;
580         [CCode (cheader_filename = "graphene-gobject.h", cname = "GRAPHENE_VEC4_LEN")]
581         [Version (since = "1.0")]
582         public const int VEC4_LEN;