This file is indexed.

/usr/share/vala-0.40/vapi/graphene-1.0.vapi is in valac-0.40-vapi 0.40.4-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
/* graphene-1.0.vapi generated by vapigen, do not modify. */

[CCode (cprefix = "Graphene", gir_namespace = "Graphene", gir_version = "1.0", lower_case_cprefix = "graphene_")]
namespace Graphene {
	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_box_t", type_id = "graphene_box_get_type ()")]
	[Version (since = "1.2")]
	public struct Box {
		public bool contains_box (Graphene.Box b);
		public bool contains_point (Graphene.Point3D point);
		public static unowned Graphene.Box? empty ();
		public bool equal (Graphene.Box b);
		public Graphene.Box expand (Graphene.Point3D point);
		public Graphene.Box expand_scalar (float scalar);
		public Graphene.Box expand_vec3 (Graphene.Vec3 vec);
		public Graphene.Sphere get_bounding_sphere ();
		public Graphene.Point3D get_center ();
		public float get_depth ();
		public float get_height ();
		public Graphene.Point3D get_max ();
		public Graphene.Point3D get_min ();
		public Graphene.Vec3 get_size ();
		public void get_vertices ([CCode (array_length = false)] ref Graphene.Vec3 vertices[8]);
		public float get_width ();
		public static unowned Graphene.Box? infinite ();
		public unowned Graphene.Box? init (Graphene.Point3D? min, Graphene.Point3D? max);
		public unowned Graphene.Box? init_from_box (Graphene.Box src);
		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);
		public unowned Graphene.Box? init_from_vec3 (Graphene.Vec3? min, Graphene.Vec3? max);
		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);
		public bool intersection (Graphene.Box b, out Graphene.Box res);
		public static unowned Graphene.Box? minus_one ();
		public static unowned Graphene.Box? one ();
		public static unowned Graphene.Box? one_minus_one ();
		public Graphene.Box union (Graphene.Box b);
		public static unowned Graphene.Box? zero ();
	}
	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_euler_t", type_id = "graphene_euler_get_type ()")]
	[Version (since = "1.2")]
	public struct Euler {
		public bool equal (Graphene.Euler b);
		public Graphene.EulerOrder get_order ();
		public float get_x ();
		public float get_y ();
		public float get_z ();
		public unowned Graphene.Euler? init (float x, float y, float z);
		public unowned Graphene.Euler? init_from_euler (Graphene.Euler? src);
		public unowned Graphene.Euler? init_from_matrix (Graphene.Matrix? m, Graphene.EulerOrder order);
		public unowned Graphene.Euler? init_from_quaternion (Graphene.Quaternion? q, Graphene.EulerOrder order);
		public unowned Graphene.Euler? init_from_vec3 (Graphene.Vec3? v, Graphene.EulerOrder order);
		public unowned Graphene.Euler? init_with_order (float x, float y, float z, Graphene.EulerOrder order);
		public Graphene.Euler reorder (Graphene.EulerOrder order);
		public Graphene.Matrix to_matrix ();
		public Graphene.Vec3 to_vec3 ();
	}
	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_frustum_t", type_id = "graphene_frustum_get_type ()")]
	[Version (since = "1.2")]
	public struct Frustum {
		public bool contains_point (Graphene.Point3D point);
		[Version (since = "1.6")]
		public bool equal (Graphene.Frustum b);
		public void get_planes ([CCode (array_length = false)] ref Graphene.Plane planes[6]);
		public unowned Graphene.Frustum? init (Graphene.Plane p0, Graphene.Plane p1, Graphene.Plane p2, Graphene.Plane p3, Graphene.Plane p4, Graphene.Plane p5);
		public unowned Graphene.Frustum? init_from_frustum (Graphene.Frustum src);
		public unowned Graphene.Frustum? init_from_matrix (Graphene.Matrix matrix);
		public bool intersects_box (Graphene.Box box);
		public bool intersects_sphere (Graphene.Sphere sphere);
	}
	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_matrix_t", type_id = "graphene_matrix_get_type ()")]
	public struct Matrix {
		[Version (since = "1.0")]
		public float determinant ();
		[Version (since = "1.0")]
		public Graphene.Vec4 get_row (uint index_);
		[Version (since = "1.0")]
		public float get_value (uint row, uint col);
		[Version (since = "1.0")]
		public float get_x_scale ();
		[Version (since = "1.0")]
		public float get_y_scale ();
		[Version (since = "1.0")]
		public float get_z_scale ();
		[Version (since = "1.0")]
		public unowned Graphene.Matrix? init_from_2d (double xx, double yx, double xy, double yy, double x_0, double y_0);
		[Version (since = "1.0")]
		public unowned Graphene.Matrix? init_from_float ([CCode (array_length = false)] float v[16]);
		[Version (since = "1.0")]
		public unowned Graphene.Matrix? init_from_matrix (Graphene.Matrix src);
		[Version (since = "1.0")]
		public unowned Graphene.Matrix? init_from_vec4 (Graphene.Vec4 v0, Graphene.Vec4 v1, Graphene.Vec4 v2, Graphene.Vec4 v3);
		[Version (since = "1.2")]
		public unowned Graphene.Matrix? init_frustum (float left, float right, float bottom, float top, float z_near, float z_far);
		[Version (since = "1.0")]
		public unowned Graphene.Matrix? init_identity ();
		[Version (since = "1.0")]
		public unowned Graphene.Matrix? init_look_at (Graphene.Vec3 eye, Graphene.Vec3 center, Graphene.Vec3 up);
		[Version (since = "1.0")]
		public unowned Graphene.Matrix? init_ortho (float left, float right, float top, float bottom, float z_near, float z_far);
		[Version (since = "1.0")]
		public unowned Graphene.Matrix? init_perspective (float fovy, float aspect, float z_near, float z_far);
		[Version (since = "1.0")]
		public unowned Graphene.Matrix? init_rotate (float angle, Graphene.Vec3 axis);
		[Version (since = "1.0")]
		public unowned Graphene.Matrix? init_scale (float x, float y, float z);
		[Version (since = "1.0")]
		public unowned Graphene.Matrix? init_skew (float x_skew, float y_skew);
		[Version (since = "1.0")]
		public unowned Graphene.Matrix? init_translate (Graphene.Point3D p);
		[Version (since = "1.0")]
		public Graphene.Matrix interpolate (Graphene.Matrix b, double factor);
		[Version (since = "1.0")]
		public bool inverse (out Graphene.Matrix res);
		[Version (since = "1.0")]
		public bool is_2d ();
		[Version (since = "1.0")]
		public bool is_backface_visible ();
		[Version (since = "1.0")]
		public bool is_identity ();
		[Version (since = "1.0")]
		public bool is_singular ();
		[Version (since = "1.0")]
		public Graphene.Matrix multiply (Graphene.Matrix b);
		[Version (since = "1.0")]
		public Graphene.Matrix normalize ();
		[Version (since = "1.0")]
		public Graphene.Matrix perspective (float depth);
		[Version (since = "1.0")]
		public void print ();
		[Version (since = "1.0")]
		public Graphene.Point project_point (Graphene.Point p);
		[Version (since = "1.2")]
		public Graphene.Quad project_rect (Graphene.Rect r);
		[Version (since = "1.0")]
		public Graphene.Rect project_rect_bounds (Graphene.Rect r);
		[Version (since = "1.0")]
		public void rotate (float angle, Graphene.Vec3 axis);
		[Version (since = "1.2")]
		public void rotate_euler (Graphene.Euler e);
		[Version (since = "1.2")]
		public void rotate_quaternion (Graphene.Quaternion q);
		[Version (since = "1.0")]
		public void rotate_x (float angle);
		[Version (since = "1.0")]
		public void rotate_y (float angle);
		[Version (since = "1.0")]
		public void rotate_z (float angle);
		[Version (since = "1.0")]
		public void scale (float factor_x, float factor_y, float factor_z);
		[Version (since = "1.0")]
		public void skew_xy (float factor);
		[Version (since = "1.0")]
		public void skew_xz (float factor);
		[Version (since = "1.0")]
		public void skew_yz (float factor);
		[Version (since = "1.0")]
		public bool to_2d (out double xx, out double yx, out double xy, out double yy, out double x_0, out double y_0);
		[Version (since = "1.0")]
		public void to_float ([CCode (array_length = false)] ref float v[16]);
		[Version (since = "1.0")]
		public Graphene.Rect transform_bounds (Graphene.Rect r);
		[Version (since = "1.2")]
		public Graphene.Box transform_box (Graphene.Box b);
		[Version (since = "1.0")]
		public Graphene.Point transform_point (Graphene.Point p);
		[Version (since = "1.2")]
		public Graphene.Point3D transform_point3d (Graphene.Point3D p);
		[Version (since = "1.4")]
		public Graphene.Ray transform_ray (Graphene.Ray r);
		[Version (since = "1.0")]
		public Graphene.Quad transform_rect (Graphene.Rect r);
		[Version (since = "1.2")]
		public Graphene.Sphere transform_sphere (Graphene.Sphere s);
		[Version (since = "1.0")]
		public Graphene.Vec3 transform_vec3 (Graphene.Vec3 v);
		[Version (since = "1.0")]
		public Graphene.Vec4 transform_vec4 (Graphene.Vec4 v);
		[Version (since = "1.0")]
		public void translate (Graphene.Point3D pos);
		[Version (since = "1.0")]
		public Graphene.Matrix transpose ();
		[Version (since = "1.2")]
		public Graphene.Point3D unproject_point3d (Graphene.Matrix modelview, Graphene.Point3D point);
		[Version (since = "1.0")]
		public Graphene.Rect untransform_bounds (Graphene.Rect r, Graphene.Rect bounds);
		[Version (since = "1.0")]
		public bool untransform_point (Graphene.Point p, Graphene.Rect bounds, out Graphene.Point res);
	}
	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_plane_t", type_id = "graphene_plane_get_type ()")]
	[Version (since = "1.2")]
	public struct Plane {
		public float distance (Graphene.Point3D point);
		public bool equal (Graphene.Plane b);
		public float get_constant ();
		public Graphene.Vec3 get_normal ();
		public unowned Graphene.Plane? init (Graphene.Vec3? normal, float constant);
		public unowned Graphene.Plane? init_from_plane (Graphene.Plane src);
		public unowned Graphene.Plane? init_from_point (Graphene.Vec3 normal, Graphene.Point3D point);
		public unowned Graphene.Plane? init_from_points (Graphene.Point3D a, Graphene.Point3D b, Graphene.Point3D c);
		public unowned Graphene.Plane? init_from_vec4 (Graphene.Vec4 src);
		public Graphene.Plane negate ();
		public Graphene.Plane normalize ();
	}
	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_point_t", type_id = "graphene_point_get_type ()")]
	[Version (since = "1.0")]
	public struct Point {
		public float x;
		public float y;
		public float distance (Graphene.Point b, out float d_x, out float d_y);
		public bool equal (Graphene.Point b);
		public unowned Graphene.Point? init (float x, float y);
		public unowned Graphene.Point? init_from_point (Graphene.Point src);
		[Version (since = "1.4")]
		public unowned Graphene.Point? init_from_vec2 (Graphene.Vec2 src);
		public Graphene.Point interpolate (Graphene.Point b, double factor);
		public bool near (Graphene.Point b, float epsilon);
		[Version (since = "1.4")]
		public Graphene.Vec2 to_vec2 ();
		public static unowned Graphene.Point? zero ();
	}
	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_point3d_t", lower_case_csuffix = "point3d", type_id = "graphene_point3d_get_type ()")]
	[Version (since = "1.0")]
	public struct Point3D {
		public float x;
		public float y;
		public float z;
		public Graphene.Point3D cross (Graphene.Point3D b);
		[Version (since = "1.4")]
		public float distance (Graphene.Point3D b, out Graphene.Vec3 delta);
		public float dot (Graphene.Point3D b);
		public bool equal (Graphene.Point3D b);
		public unowned Graphene.Point3D? init (float x, float y, float z);
		public unowned Graphene.Point3D? init_from_point (Graphene.Point3D src);
		public unowned Graphene.Point3D? init_from_vec3 (Graphene.Vec3 v);
		public Graphene.Point3D interpolate (Graphene.Point3D b, double factor);
		public float length ();
		public bool near (Graphene.Point3D b, float epsilon);
		public Graphene.Point3D normalize ();
		[Version (since = "1.4")]
		public Graphene.Point3D normalize_viewport (Graphene.Rect viewport, float z_near, float z_far);
		public Graphene.Point3D scale (float factor);
		public Graphene.Vec3 to_vec3 ();
		public static unowned Graphene.Point3D? zero ();
	}
	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_quad_t", type_id = "graphene_quad_get_type ()")]
	[Version (since = "1.0")]
	public struct Quad {
		public Graphene.Rect bounds ();
		public bool contains (Graphene.Point p);
		public unowned Graphene.Point? get_point (uint index_);
		public unowned Graphene.Quad? init (Graphene.Point p1, Graphene.Point p2, Graphene.Point p3, Graphene.Point p4);
		[Version (since = "1.2")]
		public unowned Graphene.Quad? init_from_points ([CCode (array_length = false)] Graphene.Point points[4]);
		public unowned Graphene.Quad? init_from_rect (Graphene.Rect r);
	}
	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_quaternion_t", type_id = "graphene_quaternion_get_type ()")]
	[Version (since = "1.0")]
	public struct Quaternion {
		public float dot (Graphene.Quaternion b);
		public bool equal (Graphene.Quaternion b);
		public unowned Graphene.Quaternion? init (float x, float y, float z, float w);
		public unowned Graphene.Quaternion? init_from_angle_vec3 (float angle, Graphene.Vec3 axis);
		public unowned Graphene.Quaternion? init_from_angles (float deg_x, float deg_y, float deg_z);
		[Version (since = "1.2")]
		public unowned Graphene.Quaternion? init_from_euler (Graphene.Euler e);
		public unowned Graphene.Quaternion? init_from_matrix (Graphene.Matrix m);
		public unowned Graphene.Quaternion? init_from_quaternion (Graphene.Quaternion src);
		public unowned Graphene.Quaternion? init_from_radians (float rad_x, float rad_y, float rad_z);
		public unowned Graphene.Quaternion? init_from_vec4 (Graphene.Vec4 src);
		public unowned Graphene.Quaternion? init_identity ();
		public Graphene.Quaternion invert ();
		public Graphene.Quaternion normalize ();
		public Graphene.Quaternion slerp (Graphene.Quaternion b, float factor);
		public void to_angle_vec3 (out float angle, out Graphene.Vec3 axis);
		[Version (since = "1.2")]
		public void to_angles (out float deg_x, out float deg_y, out float deg_z);
		public Graphene.Matrix to_matrix ();
		[Version (since = "1.2")]
		public void to_radians (out float rad_x, out float rad_y, out float rad_z);
		public Graphene.Vec4 to_vec4 ();
	}
	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_ray_t", type_id = "graphene_ray_get_type ()")]
	[Version (since = "1.4")]
	public struct Ray {
		public bool equal (Graphene.Ray b);
		public Graphene.Point3D get_closest_point_to_point (Graphene.Point3D p);
		public Graphene.Vec3 get_direction ();
		public float get_distance_to_plane (Graphene.Plane p);
		public float get_distance_to_point (Graphene.Point3D p);
		public Graphene.Point3D get_origin ();
		public Graphene.Point3D get_position_at (float t);
		public unowned Graphene.Ray? init (Graphene.Point3D? origin, Graphene.Vec3? direction);
		public unowned Graphene.Ray? init_from_ray (Graphene.Ray src);
		public unowned Graphene.Ray? init_from_vec3 (Graphene.Vec3? origin, Graphene.Vec3? direction);
	}
	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_rect_t", type_id = "graphene_rect_get_type ()")]
	[Version (since = "1.0")]
	public struct Rect {
		public Graphene.Point origin;
		public Graphene.Size size;
		public static Graphene.Rect? alloc ();
		public bool contains_point (Graphene.Point p);
		public bool contains_rect (Graphene.Rect b);
		public bool equal (Graphene.Rect b);
		[Version (since = "1.4")]
		public Graphene.Rect expand (Graphene.Point p);
		public Graphene.Point get_bottom_left ();
		public Graphene.Point get_bottom_right ();
		public Graphene.Point get_center ();
		public float get_height ();
		public Graphene.Point get_top_left ();
		public Graphene.Point get_top_right ();
		[Version (since = "1.4")]
		public void get_vertices ([CCode (array_length = false)] ref Graphene.Vec2 vertices[4]);
		public float get_width ();
		public float get_x ();
		public float get_y ();
		public unowned Graphene.Rect? init (float x, float y, float width, float height);
		public unowned Graphene.Rect? init_from_rect (Graphene.Rect src);
		public unowned Graphene.Rect? inset (float d_x, float d_y);
		[Version (since = "1.4")]
		public Graphene.Rect inset_r (float d_x, float d_y);
		public Graphene.Rect interpolate (Graphene.Rect b, double factor);
		public bool intersection (Graphene.Rect b, out Graphene.Rect res);
		public unowned Graphene.Rect? normalize ();
		[Version (since = "1.4")]
		public Graphene.Rect normalize_r ();
		public unowned Graphene.Rect? offset (float d_x, float d_y);
		[Version (since = "1.4")]
		public Graphene.Rect offset_r (float d_x, float d_y);
		[Version (since = "1.4")]
		public Graphene.Rect round ();
		[Version (deprecated = true, deprecated_since = "1.4", since = "1.0")]
		public unowned Graphene.Rect? round_to_pixel ();
		public Graphene.Rect union (Graphene.Rect b);
		[Version (since = "1.4")]
		public static unowned Graphene.Rect? zero ();
	}
	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_size_t", type_id = "graphene_size_get_type ()")]
	[Version (since = "1.0")]
	public struct Size {
		public float width;
		public float height;
		public bool equal (Graphene.Size b);
		public unowned Graphene.Size? init (float width, float height);
		public unowned Graphene.Size? init_from_size (Graphene.Size src);
		public Graphene.Size interpolate (Graphene.Size b, double factor);
		public Graphene.Size scale (float factor);
		public static unowned Graphene.Size? zero ();
	}
	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_sphere_t", type_id = "graphene_sphere_get_type ()")]
	[Version (since = "1.2")]
	public struct Sphere {
		public bool contains_point (Graphene.Point3D point);
		public float distance (Graphene.Point3D point);
		public bool equal (Graphene.Sphere b);
		public Graphene.Box get_bounding_box ();
		public Graphene.Point3D get_center ();
		public float get_radius ();
		public unowned Graphene.Sphere? init (Graphene.Point3D? center, float radius);
		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);
		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);
		public bool is_empty ();
		public Graphene.Sphere translate (Graphene.Point3D point);
	}
	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_triangle_t", type_id = "graphene_triangle_get_type ()")]
	[Version (since = "1.2")]
	public struct Triangle {
		public bool contains_point (Graphene.Point3D p);
		public bool equal (Graphene.Triangle b);
		public float get_area ();
		public bool get_barycoords (Graphene.Point3D? p, out Graphene.Vec2 res);
		public Graphene.Box get_bounding_box ();
		public Graphene.Point3D get_midpoint ();
		public Graphene.Vec3 get_normal ();
		public Graphene.Plane get_plane ();
		public void get_points (out Graphene.Point3D a, out Graphene.Point3D b, out Graphene.Point3D c);
		public void get_vertices (out Graphene.Vec3 a, out Graphene.Vec3 b, out Graphene.Vec3 c);
		public unowned Graphene.Triangle? init_from_point3d (Graphene.Point3D? a, Graphene.Point3D? b, Graphene.Point3D? c);
		public unowned Graphene.Triangle? init_from_vec3 (Graphene.Vec3? a, Graphene.Vec3? b, Graphene.Vec3? c);
	}
	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_vec2_t", type_id = "graphene_vec2_get_type ()")]
	public struct Vec2 {
		[Version (since = "1.0")]
		public Graphene.Vec2 add (Graphene.Vec2 b);
		[Version (since = "1.0")]
		public Graphene.Vec2 divide (Graphene.Vec2 b);
		[Version (since = "1.0")]
		public float dot (Graphene.Vec2 b);
		[Version (since = "1.2")]
		public bool equal (Graphene.Vec2 v2);
		[Version (since = "1.0")]
		public float get_x ();
		[Version (since = "1.0")]
		public float get_y ();
		[Version (since = "1.0")]
		public unowned Graphene.Vec2? init (float x, float y);
		[Version (since = "1.0")]
		public unowned Graphene.Vec2? init_from_float ([CCode (array_length = false)] float src[2]);
		[Version (since = "1.0")]
		public unowned Graphene.Vec2? init_from_vec2 (Graphene.Vec2 src);
		[Version (since = "1.0")]
		public float length ();
		[Version (since = "1.0")]
		public Graphene.Vec2 max (Graphene.Vec2 b);
		[Version (since = "1.0")]
		public Graphene.Vec2 min (Graphene.Vec2 b);
		[Version (since = "1.0")]
		public Graphene.Vec2 multiply (Graphene.Vec2 b);
		[Version (since = "1.2")]
		public bool near (Graphene.Vec2 v2, float epsilon);
		[Version (since = "1.2")]
		public Graphene.Vec2 negate ();
		[Version (since = "1.0")]
		public Graphene.Vec2 normalize ();
		[Version (since = "1.0")]
		public static unowned Graphene.Vec2? one ();
		[Version (since = "1.2")]
		public Graphene.Vec2 scale (float factor);
		[Version (since = "1.0")]
		public Graphene.Vec2 subtract (Graphene.Vec2 b);
		[Version (since = "1.0")]
		public void to_float ([CCode (array_length = false)] ref float dest[2]);
		[Version (since = "1.0")]
		public static unowned Graphene.Vec2? x_axis ();
		[Version (since = "1.0")]
		public static unowned Graphene.Vec2? y_axis ();
		[Version (since = "1.0")]
		public static unowned Graphene.Vec2? zero ();
	}
	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_vec3_t", type_id = "graphene_vec3_get_type ()")]
	public struct Vec3 {
		[Version (since = "1.0")]
		public Graphene.Vec3 add (Graphene.Vec3 b);
		[Version (since = "1.0")]
		public Graphene.Vec3 cross (Graphene.Vec3 b);
		[Version (since = "1.0")]
		public Graphene.Vec3 divide (Graphene.Vec3 b);
		[Version (since = "1.0")]
		public float dot (Graphene.Vec3 b);
		[Version (since = "1.2")]
		public bool equal (Graphene.Vec3 v2);
		[Version (since = "1.0")]
		public float get_x ();
		[Version (since = "1.0")]
		public Graphene.Vec2 get_xy ();
		[Version (since = "1.0")]
		public Graphene.Vec3 get_xy0 ();
		[Version (since = "1.0")]
		public Graphene.Vec4 get_xyz0 ();
		[Version (since = "1.0")]
		public Graphene.Vec4 get_xyz1 ();
		[Version (since = "1.0")]
		public Graphene.Vec4 get_xyzw (float w);
		[Version (since = "1.0")]
		public float get_y ();
		[Version (since = "1.0")]
		public float get_z ();
		[Version (since = "1.0")]
		public unowned Graphene.Vec3? init (float x, float y, float z);
		[Version (since = "1.0")]
		public unowned Graphene.Vec3? init_from_float ([CCode (array_length = false)] float src[3]);
		[Version (since = "1.0")]
		public unowned Graphene.Vec3? init_from_vec3 (Graphene.Vec3 src);
		[Version (since = "1.0")]
		public float length ();
		[Version (since = "1.0")]
		public Graphene.Vec3 max (Graphene.Vec3 b);
		[Version (since = "1.0")]
		public Graphene.Vec3 min (Graphene.Vec3 b);
		[Version (since = "1.0")]
		public Graphene.Vec3 multiply (Graphene.Vec3 b);
		[Version (since = "1.2")]
		public bool near (Graphene.Vec3 v2, float epsilon);
		[Version (since = "1.2")]
		public Graphene.Vec3 negate ();
		[Version (since = "1.0")]
		public Graphene.Vec3 normalize ();
		[Version (since = "1.0")]
		public static unowned Graphene.Vec3? one ();
		[Version (since = "1.2")]
		public Graphene.Vec3 scale (float factor);
		[Version (since = "1.0")]
		public Graphene.Vec3 subtract (Graphene.Vec3 b);
		[Version (since = "1.0")]
		public void to_float ([CCode (array_length = false)] ref float dest[3]);
		[Version (since = "1.0")]
		public static unowned Graphene.Vec3? x_axis ();
		[Version (since = "1.0")]
		public static unowned Graphene.Vec3? y_axis ();
		[Version (since = "1.0")]
		public static unowned Graphene.Vec3? z_axis ();
		[Version (since = "1.0")]
		public static unowned Graphene.Vec3? zero ();
	}
	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_vec4_t", type_id = "graphene_vec4_get_type ()")]
	public struct Vec4 {
		[Version (since = "1.0")]
		public Graphene.Vec4 add (Graphene.Vec4 b);
		[Version (since = "1.0")]
		public Graphene.Vec4 divide (Graphene.Vec4 b);
		[Version (since = "1.0")]
		public float dot (Graphene.Vec4 b);
		[Version (since = "1.2")]
		public bool equal (Graphene.Vec4 v2);
		[Version (since = "1.0")]
		public float get_w ();
		[Version (since = "1.0")]
		public float get_x ();
		[Version (since = "1.0")]
		public Graphene.Vec2 get_xy ();
		[Version (since = "1.0")]
		public Graphene.Vec3 get_xyz ();
		[Version (since = "1.0")]
		public float get_y ();
		[Version (since = "1.0")]
		public float get_z ();
		[Version (since = "1.0")]
		public unowned Graphene.Vec4? init (float x, float y, float z, float w);
		[Version (since = "1.0")]
		public unowned Graphene.Vec4? init_from_float ([CCode (array_length = false)] float src[4]);
		[Version (since = "1.0")]
		public unowned Graphene.Vec4? init_from_vec2 (Graphene.Vec2 src, float z, float w);
		[Version (since = "1.0")]
		public unowned Graphene.Vec4? init_from_vec3 (Graphene.Vec3 src, float w);
		[Version (since = "1.0")]
		public unowned Graphene.Vec4? init_from_vec4 (Graphene.Vec4 src);
		[Version (since = "1.0")]
		public float length ();
		[Version (since = "1.0")]
		public Graphene.Vec4 max (Graphene.Vec4 b);
		[Version (since = "1.0")]
		public Graphene.Vec4 min (Graphene.Vec4 b);
		[Version (since = "1.0")]
		public Graphene.Vec4 multiply (Graphene.Vec4 b);
		[Version (since = "1.2")]
		public bool near (Graphene.Vec4 v2, float epsilon);
		[Version (since = "1.2")]
		public Graphene.Vec4 negate ();
		[Version (since = "1.0")]
		public Graphene.Vec4 normalize ();
		[Version (since = "1.0")]
		public static unowned Graphene.Vec4? one ();
		[Version (since = "1.2")]
		public Graphene.Vec4 scale (float factor);
		[Version (since = "1.0")]
		public Graphene.Vec4 subtract (Graphene.Vec4 b);
		[Version (since = "1.0")]
		public void to_float ([CCode (array_length = false)] ref float dest[4]);
		[Version (since = "1.0")]
		public static unowned Graphene.Vec4? w_axis ();
		[Version (since = "1.0")]
		public static unowned Graphene.Vec4? x_axis ();
		[Version (since = "1.0")]
		public static unowned Graphene.Vec4? y_axis ();
		[Version (since = "1.0")]
		public static unowned Graphene.Vec4? z_axis ();
		[Version (since = "1.0")]
		public static unowned Graphene.Vec4? zero ();
	}
	[CCode (cheader_filename = "graphene-gobject.h", cname = "graphene_euler_order_t", cprefix = "GRAPHENE_EULER_ORDER_", has_type_id = false)]
	[Version (since = "1.2")]
	public enum EulerOrder {
		DEFAULT,
		XYZ,
		YZX,
		ZXY,
		XZY,
		YXZ,
		ZYX
	}
	[CCode (cheader_filename = "graphene-gobject.h", cname = "GRAPHENE_PI")]
	public const double PI;
	[CCode (cheader_filename = "graphene-gobject.h", cname = "GRAPHENE_PI_2")]
	public const double PI_2;
	[CCode (cheader_filename = "graphene-gobject.h", cname = "GRAPHENE_VEC2_LEN")]
	[Version (since = "1.0")]
	public const int VEC2_LEN;
	[CCode (cheader_filename = "graphene-gobject.h", cname = "GRAPHENE_VEC3_LEN")]
	[Version (since = "1.0")]
	public const int VEC3_LEN;
	[CCode (cheader_filename = "graphene-gobject.h", cname = "GRAPHENE_VEC4_LEN")]
	[Version (since = "1.0")]
	public const int VEC4_LEN;
}