raylib-bindings 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/lib/raylib_main.rb CHANGED
@@ -1,2199 +1,2224 @@
1
- # Yet another raylib wrapper for Ruby
2
- #
3
- # * https://github.com/vaiorabbit/raylib-bindings
4
- #
5
- # [NOTICE] This is an automatically generated file.
6
-
7
- require 'ffi'
8
-
9
- module Raylib
10
- extend FFI::Library
11
- # Define/Macro
12
-
13
- RAYLIB_VERSION = "4.2"
14
- DEG2RAD = Math::PI / 180.0
15
- RAD2DEG = 180.0 / Math::PI
16
-
17
- # Enum
18
-
19
- FLAG_VSYNC_HINT = 64
20
- FLAG_FULLSCREEN_MODE = 2
21
- FLAG_WINDOW_RESIZABLE = 4
22
- FLAG_WINDOW_UNDECORATED = 8
23
- FLAG_WINDOW_HIDDEN = 128
24
- FLAG_WINDOW_MINIMIZED = 512
25
- FLAG_WINDOW_MAXIMIZED = 1024
26
- FLAG_WINDOW_UNFOCUSED = 2048
27
- FLAG_WINDOW_TOPMOST = 4096
28
- FLAG_WINDOW_ALWAYS_RUN = 256
29
- FLAG_WINDOW_TRANSPARENT = 16
30
- FLAG_WINDOW_HIGHDPI = 8192
31
- FLAG_WINDOW_MOUSE_PASSTHROUGH = 16384
32
- FLAG_MSAA_4X_HINT = 32
33
- FLAG_INTERLACED_HINT = 65536
34
- LOG_ALL = 0
35
- LOG_TRACE = 1
36
- LOG_DEBUG = 2
37
- LOG_INFO = 3
38
- LOG_WARNING = 4
39
- LOG_ERROR = 5
40
- LOG_FATAL = 6
41
- LOG_NONE = 7
42
- KEY_NULL = 0
43
- KEY_APOSTROPHE = 39
44
- KEY_COMMA = 44
45
- KEY_MINUS = 45
46
- KEY_PERIOD = 46
47
- KEY_SLASH = 47
48
- KEY_ZERO = 48
49
- KEY_ONE = 49
50
- KEY_TWO = 50
51
- KEY_THREE = 51
52
- KEY_FOUR = 52
53
- KEY_FIVE = 53
54
- KEY_SIX = 54
55
- KEY_SEVEN = 55
56
- KEY_EIGHT = 56
57
- KEY_NINE = 57
58
- KEY_SEMICOLON = 59
59
- KEY_EQUAL = 61
60
- KEY_A = 65
61
- KEY_B = 66
62
- KEY_C = 67
63
- KEY_D = 68
64
- KEY_E = 69
65
- KEY_F = 70
66
- KEY_G = 71
67
- KEY_H = 72
68
- KEY_I = 73
69
- KEY_J = 74
70
- KEY_K = 75
71
- KEY_L = 76
72
- KEY_M = 77
73
- KEY_N = 78
74
- KEY_O = 79
75
- KEY_P = 80
76
- KEY_Q = 81
77
- KEY_R = 82
78
- KEY_S = 83
79
- KEY_T = 84
80
- KEY_U = 85
81
- KEY_V = 86
82
- KEY_W = 87
83
- KEY_X = 88
84
- KEY_Y = 89
85
- KEY_Z = 90
86
- KEY_LEFT_BRACKET = 91
87
- KEY_BACKSLASH = 92
88
- KEY_RIGHT_BRACKET = 93
89
- KEY_GRAVE = 96
90
- KEY_SPACE = 32
91
- KEY_ESCAPE = 256
92
- KEY_ENTER = 257
93
- KEY_TAB = 258
94
- KEY_BACKSPACE = 259
95
- KEY_INSERT = 260
96
- KEY_DELETE = 261
97
- KEY_RIGHT = 262
98
- KEY_LEFT = 263
99
- KEY_DOWN = 264
100
- KEY_UP = 265
101
- KEY_PAGE_UP = 266
102
- KEY_PAGE_DOWN = 267
103
- KEY_HOME = 268
104
- KEY_END = 269
105
- KEY_CAPS_LOCK = 280
106
- KEY_SCROLL_LOCK = 281
107
- KEY_NUM_LOCK = 282
108
- KEY_PRINT_SCREEN = 283
109
- KEY_PAUSE = 284
110
- KEY_F1 = 290
111
- KEY_F2 = 291
112
- KEY_F3 = 292
113
- KEY_F4 = 293
114
- KEY_F5 = 294
115
- KEY_F6 = 295
116
- KEY_F7 = 296
117
- KEY_F8 = 297
118
- KEY_F9 = 298
119
- KEY_F10 = 299
120
- KEY_F11 = 300
121
- KEY_F12 = 301
122
- KEY_LEFT_SHIFT = 340
123
- KEY_LEFT_CONTROL = 341
124
- KEY_LEFT_ALT = 342
125
- KEY_LEFT_SUPER = 343
126
- KEY_RIGHT_SHIFT = 344
127
- KEY_RIGHT_CONTROL = 345
128
- KEY_RIGHT_ALT = 346
129
- KEY_RIGHT_SUPER = 347
130
- KEY_KB_MENU = 348
131
- KEY_KP_0 = 320
132
- KEY_KP_1 = 321
133
- KEY_KP_2 = 322
134
- KEY_KP_3 = 323
135
- KEY_KP_4 = 324
136
- KEY_KP_5 = 325
137
- KEY_KP_6 = 326
138
- KEY_KP_7 = 327
139
- KEY_KP_8 = 328
140
- KEY_KP_9 = 329
141
- KEY_KP_DECIMAL = 330
142
- KEY_KP_DIVIDE = 331
143
- KEY_KP_MULTIPLY = 332
144
- KEY_KP_SUBTRACT = 333
145
- KEY_KP_ADD = 334
146
- KEY_KP_ENTER = 335
147
- KEY_KP_EQUAL = 336
148
- KEY_BACK = 4
149
- KEY_MENU = 82
150
- KEY_VOLUME_UP = 24
151
- KEY_VOLUME_DOWN = 25
152
- MOUSE_BUTTON_LEFT = 0
153
- MOUSE_BUTTON_RIGHT = 1
154
- MOUSE_BUTTON_MIDDLE = 2
155
- MOUSE_BUTTON_SIDE = 3
156
- MOUSE_BUTTON_EXTRA = 4
157
- MOUSE_BUTTON_FORWARD = 5
158
- MOUSE_BUTTON_BACK = 6
159
- MOUSE_CURSOR_DEFAULT = 0
160
- MOUSE_CURSOR_ARROW = 1
161
- MOUSE_CURSOR_IBEAM = 2
162
- MOUSE_CURSOR_CROSSHAIR = 3
163
- MOUSE_CURSOR_POINTING_HAND = 4
164
- MOUSE_CURSOR_RESIZE_EW = 5
165
- MOUSE_CURSOR_RESIZE_NS = 6
166
- MOUSE_CURSOR_RESIZE_NWSE = 7
167
- MOUSE_CURSOR_RESIZE_NESW = 8
168
- MOUSE_CURSOR_RESIZE_ALL = 9
169
- MOUSE_CURSOR_NOT_ALLOWED = 10
170
- GAMEPAD_BUTTON_UNKNOWN = 0
171
- GAMEPAD_BUTTON_LEFT_FACE_UP = 1
172
- GAMEPAD_BUTTON_LEFT_FACE_RIGHT = 2
173
- GAMEPAD_BUTTON_LEFT_FACE_DOWN = 3
174
- GAMEPAD_BUTTON_LEFT_FACE_LEFT = 4
175
- GAMEPAD_BUTTON_RIGHT_FACE_UP = 5
176
- GAMEPAD_BUTTON_RIGHT_FACE_RIGHT = 6
177
- GAMEPAD_BUTTON_RIGHT_FACE_DOWN = 7
178
- GAMEPAD_BUTTON_RIGHT_FACE_LEFT = 8
179
- GAMEPAD_BUTTON_LEFT_TRIGGER_1 = 9
180
- GAMEPAD_BUTTON_LEFT_TRIGGER_2 = 10
181
- GAMEPAD_BUTTON_RIGHT_TRIGGER_1 = 11
182
- GAMEPAD_BUTTON_RIGHT_TRIGGER_2 = 12
183
- GAMEPAD_BUTTON_MIDDLE_LEFT = 13
184
- GAMEPAD_BUTTON_MIDDLE = 14
185
- GAMEPAD_BUTTON_MIDDLE_RIGHT = 15
186
- GAMEPAD_BUTTON_LEFT_THUMB = 16
187
- GAMEPAD_BUTTON_RIGHT_THUMB = 17
188
- GAMEPAD_AXIS_LEFT_X = 0
189
- GAMEPAD_AXIS_LEFT_Y = 1
190
- GAMEPAD_AXIS_RIGHT_X = 2
191
- GAMEPAD_AXIS_RIGHT_Y = 3
192
- GAMEPAD_AXIS_LEFT_TRIGGER = 4
193
- GAMEPAD_AXIS_RIGHT_TRIGGER = 5
194
- MATERIAL_MAP_ALBEDO = 0
195
- MATERIAL_MAP_METALNESS = 1
196
- MATERIAL_MAP_NORMAL = 2
197
- MATERIAL_MAP_ROUGHNESS = 3
198
- MATERIAL_MAP_OCCLUSION = 4
199
- MATERIAL_MAP_EMISSION = 5
200
- MATERIAL_MAP_HEIGHT = 6
201
- MATERIAL_MAP_CUBEMAP = 7
202
- MATERIAL_MAP_IRRADIANCE = 8
203
- MATERIAL_MAP_PREFILTER = 9
204
- MATERIAL_MAP_BRDF = 10
205
- SHADER_LOC_VERTEX_POSITION = 0
206
- SHADER_LOC_VERTEX_TEXCOORD01 = 1
207
- SHADER_LOC_VERTEX_TEXCOORD02 = 2
208
- SHADER_LOC_VERTEX_NORMAL = 3
209
- SHADER_LOC_VERTEX_TANGENT = 4
210
- SHADER_LOC_VERTEX_COLOR = 5
211
- SHADER_LOC_MATRIX_MVP = 6
212
- SHADER_LOC_MATRIX_VIEW = 7
213
- SHADER_LOC_MATRIX_PROJECTION = 8
214
- SHADER_LOC_MATRIX_MODEL = 9
215
- SHADER_LOC_MATRIX_NORMAL = 10
216
- SHADER_LOC_VECTOR_VIEW = 11
217
- SHADER_LOC_COLOR_DIFFUSE = 12
218
- SHADER_LOC_COLOR_SPECULAR = 13
219
- SHADER_LOC_COLOR_AMBIENT = 14
220
- SHADER_LOC_MAP_ALBEDO = 15
221
- SHADER_LOC_MAP_METALNESS = 16
222
- SHADER_LOC_MAP_NORMAL = 17
223
- SHADER_LOC_MAP_ROUGHNESS = 18
224
- SHADER_LOC_MAP_OCCLUSION = 19
225
- SHADER_LOC_MAP_EMISSION = 20
226
- SHADER_LOC_MAP_HEIGHT = 21
227
- SHADER_LOC_MAP_CUBEMAP = 22
228
- SHADER_LOC_MAP_IRRADIANCE = 23
229
- SHADER_LOC_MAP_PREFILTER = 24
230
- SHADER_LOC_MAP_BRDF = 25
231
- SHADER_UNIFORM_FLOAT = 0
232
- SHADER_UNIFORM_VEC2 = 1
233
- SHADER_UNIFORM_VEC3 = 2
234
- SHADER_UNIFORM_VEC4 = 3
235
- SHADER_UNIFORM_INT = 4
236
- SHADER_UNIFORM_IVEC2 = 5
237
- SHADER_UNIFORM_IVEC3 = 6
238
- SHADER_UNIFORM_IVEC4 = 7
239
- SHADER_UNIFORM_SAMPLER2D = 8
240
- SHADER_ATTRIB_FLOAT = 0
241
- SHADER_ATTRIB_VEC2 = 1
242
- SHADER_ATTRIB_VEC3 = 2
243
- SHADER_ATTRIB_VEC4 = 3
244
- PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = 1
245
- PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA = 2
246
- PIXELFORMAT_UNCOMPRESSED_R5G6B5 = 3
247
- PIXELFORMAT_UNCOMPRESSED_R8G8B8 = 4
248
- PIXELFORMAT_UNCOMPRESSED_R5G5B5A1 = 5
249
- PIXELFORMAT_UNCOMPRESSED_R4G4B4A4 = 6
250
- PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 = 7
251
- PIXELFORMAT_UNCOMPRESSED_R32 = 8
252
- PIXELFORMAT_UNCOMPRESSED_R32G32B32 = 9
253
- PIXELFORMAT_UNCOMPRESSED_R32G32B32A32 = 10
254
- PIXELFORMAT_COMPRESSED_DXT1_RGB = 11
255
- PIXELFORMAT_COMPRESSED_DXT1_RGBA = 12
256
- PIXELFORMAT_COMPRESSED_DXT3_RGBA = 13
257
- PIXELFORMAT_COMPRESSED_DXT5_RGBA = 14
258
- PIXELFORMAT_COMPRESSED_ETC1_RGB = 15
259
- PIXELFORMAT_COMPRESSED_ETC2_RGB = 16
260
- PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA = 17
261
- PIXELFORMAT_COMPRESSED_PVRT_RGB = 18
262
- PIXELFORMAT_COMPRESSED_PVRT_RGBA = 19
263
- PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA = 20
264
- PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA = 21
265
- TEXTURE_FILTER_POINT = 0
266
- TEXTURE_FILTER_BILINEAR = 1
267
- TEXTURE_FILTER_TRILINEAR = 2
268
- TEXTURE_FILTER_ANISOTROPIC_4X = 3
269
- TEXTURE_FILTER_ANISOTROPIC_8X = 4
270
- TEXTURE_FILTER_ANISOTROPIC_16X = 5
271
- TEXTURE_WRAP_REPEAT = 0
272
- TEXTURE_WRAP_CLAMP = 1
273
- TEXTURE_WRAP_MIRROR_REPEAT = 2
274
- TEXTURE_WRAP_MIRROR_CLAMP = 3
275
- CUBEMAP_LAYOUT_AUTO_DETECT = 0
276
- CUBEMAP_LAYOUT_LINE_VERTICAL = 1
277
- CUBEMAP_LAYOUT_LINE_HORIZONTAL = 2
278
- CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR = 3
279
- CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE = 4
280
- CUBEMAP_LAYOUT_PANORAMA = 5
281
- FONT_DEFAULT = 0
282
- FONT_BITMAP = 1
283
- FONT_SDF = 2
284
- BLEND_ALPHA = 0
285
- BLEND_ADDITIVE = 1
286
- BLEND_MULTIPLIED = 2
287
- BLEND_ADD_COLORS = 3
288
- BLEND_SUBTRACT_COLORS = 4
289
- BLEND_ALPHA_PREMULTIPLY = 5
290
- BLEND_CUSTOM = 6
291
- GESTURE_NONE = 0
292
- GESTURE_TAP = 1
293
- GESTURE_DOUBLETAP = 2
294
- GESTURE_HOLD = 4
295
- GESTURE_DRAG = 8
296
- GESTURE_SWIPE_RIGHT = 16
297
- GESTURE_SWIPE_LEFT = 32
298
- GESTURE_SWIPE_UP = 64
299
- GESTURE_SWIPE_DOWN = 128
300
- GESTURE_PINCH_IN = 256
301
- GESTURE_PINCH_OUT = 512
302
- CAMERA_CUSTOM = 0
303
- CAMERA_FREE = 1
304
- CAMERA_ORBITAL = 2
305
- CAMERA_FIRST_PERSON = 3
306
- CAMERA_THIRD_PERSON = 4
307
- CAMERA_PERSPECTIVE = 0
308
- CAMERA_ORTHOGRAPHIC = 1
309
- NPATCH_NINE_PATCH = 0
310
- NPATCH_THREE_PATCH_VERTICAL = 1
311
- NPATCH_THREE_PATCH_HORIZONTAL = 2
312
-
313
- # Typedef
314
-
315
- typedef :int, :ConfigFlags
316
- typedef :int, :TraceLogLevel
317
- typedef :int, :KeyboardKey
318
- typedef :int, :MouseButton
319
- typedef :int, :MouseCursor
320
- typedef :int, :GamepadButton
321
- typedef :int, :GamepadAxis
322
- typedef :int, :MaterialMapIndex
323
- typedef :int, :ShaderLocationIndex
324
- typedef :int, :ShaderUniformDataType
325
- typedef :int, :ShaderAttributeDataType
326
- typedef :int, :PixelFormat
327
- typedef :int, :TextureFilter
328
- typedef :int, :TextureWrap
329
- typedef :int, :CubemapLayout
330
- typedef :int, :FontType
331
- typedef :int, :BlendMode
332
- typedef :int, :Gesture
333
- typedef :int, :CameraMode
334
- typedef :int, :CameraProjection
335
- typedef :int, :NPatchLayout
336
- callback :TraceLogCallback, [:int, :pointer, :int], :void
337
- callback :LoadFileDataCallback, [:pointer, :pointer], :pointer
338
- callback :SaveFileDataCallback, [:pointer, :pointer, :uint], :bool
339
- callback :LoadFileTextCallback, [:pointer], :pointer
340
- callback :SaveFileTextCallback, [:pointer, :pointer], :bool
341
- callback :AudioCallback, [:pointer, :uint], :void
342
-
343
- # Struct
344
-
345
- class Vector2 < FFI::Struct
346
- layout(
347
- :x, :float,
348
- :y, :float,
349
- )
350
- end
351
-
352
- class Vector3 < FFI::Struct
353
- layout(
354
- :x, :float,
355
- :y, :float,
356
- :z, :float,
357
- )
358
- end
359
-
360
- class Vector4 < FFI::Struct
361
- layout(
362
- :x, :float,
363
- :y, :float,
364
- :z, :float,
365
- :w, :float,
366
- )
367
- end
368
-
369
- Quaternion = Vector4
370
-
371
- class Matrix < FFI::Struct
372
- layout(
373
- :m0, :float,
374
- :m4, :float,
375
- :m8, :float,
376
- :m12, :float,
377
- :m1, :float,
378
- :m5, :float,
379
- :m9, :float,
380
- :m13, :float,
381
- :m2, :float,
382
- :m6, :float,
383
- :m10, :float,
384
- :m14, :float,
385
- :m3, :float,
386
- :m7, :float,
387
- :m11, :float,
388
- :m15, :float,
389
- )
390
- end
391
-
392
- class Color < FFI::Struct
393
- layout(
394
- :r, :uchar,
395
- :g, :uchar,
396
- :b, :uchar,
397
- :a, :uchar,
398
- )
399
- end
400
-
401
- class Rectangle < FFI::Struct
402
- layout(
403
- :x, :float,
404
- :y, :float,
405
- :width, :float,
406
- :height, :float,
407
- )
408
- end
409
-
410
- class Image < FFI::Struct
411
- layout(
412
- :data, :pointer,
413
- :width, :int,
414
- :height, :int,
415
- :mipmaps, :int,
416
- :format, :int,
417
- )
418
- end
419
-
420
- class Texture < FFI::Struct
421
- layout(
422
- :id, :uint,
423
- :width, :int,
424
- :height, :int,
425
- :mipmaps, :int,
426
- :format, :int,
427
- )
428
- end
429
-
430
- Texture2D = Texture
431
- TextureCubemap = Texture
432
-
433
- class RenderTexture < FFI::Struct
434
- layout(
435
- :id, :uint,
436
- :texture, Texture,
437
- :depth, Texture,
438
- )
439
- end
440
-
441
- RenderTexture2D = RenderTexture
442
-
443
- class NPatchInfo < FFI::Struct
444
- layout(
445
- :source, Rectangle,
446
- :left, :int,
447
- :top, :int,
448
- :right, :int,
449
- :bottom, :int,
450
- :layout, :int,
451
- )
452
- end
453
-
454
- class GlyphInfo < FFI::Struct
455
- layout(
456
- :value, :int,
457
- :offsetX, :int,
458
- :offsetY, :int,
459
- :advanceX, :int,
460
- :image, Image,
461
- )
462
- end
463
-
464
- class Font < FFI::Struct
465
- layout(
466
- :baseSize, :int,
467
- :glyphCount, :int,
468
- :glyphPadding, :int,
469
- :texture, Texture2D,
470
- :recs, :pointer,
471
- :glyphs, :pointer,
472
- )
473
- end
474
-
475
- class Camera3D < FFI::Struct
476
- layout(
477
- :position, Vector3,
478
- :target, Vector3,
479
- :up, Vector3,
480
- :fovy, :float,
481
- :projection, :int,
482
- )
483
- end
484
-
485
- Camera = Camera3D
486
-
487
- class Camera2D < FFI::Struct
488
- layout(
489
- :offset, Vector2,
490
- :target, Vector2,
491
- :rotation, :float,
492
- :zoom, :float,
493
- )
494
- end
495
-
496
- class Mesh < FFI::Struct
497
- layout(
498
- :vertexCount, :int,
499
- :triangleCount, :int,
500
- :vertices, :pointer,
501
- :texcoords, :pointer,
502
- :texcoords2, :pointer,
503
- :normals, :pointer,
504
- :tangents, :pointer,
505
- :colors, :pointer,
506
- :indices, :pointer,
507
- :animVertices, :pointer,
508
- :animNormals, :pointer,
509
- :boneIds, :pointer,
510
- :boneWeights, :pointer,
511
- :vaoId, :uint,
512
- :vboId, :pointer,
513
- )
514
- end
515
-
516
- class Shader < FFI::Struct
517
- layout(
518
- :id, :uint,
519
- :locs, :pointer,
520
- )
521
- end
522
-
523
- class MaterialMap < FFI::Struct
524
- layout(
525
- :texture, Texture2D,
526
- :color, Color,
527
- :value, :float,
528
- )
529
- end
530
-
531
- class Material < FFI::Struct
532
- layout(
533
- :shader, Shader,
534
- :maps, :pointer,
535
- :params, [:float, 4],
536
- )
537
- end
538
-
539
- class Transform < FFI::Struct
540
- layout(
541
- :translation, Vector3,
542
- :rotation, Quaternion,
543
- :scale, Vector3,
544
- )
545
- end
546
-
547
- class BoneInfo < FFI::Struct
548
- layout(
549
- :name, [:char, 32],
550
- :parent, :int,
551
- )
552
- end
553
-
554
- class Model < FFI::Struct
555
- layout(
556
- :transform, Matrix,
557
- :meshCount, :int,
558
- :materialCount, :int,
559
- :meshes, :pointer,
560
- :materials, :pointer,
561
- :meshMaterial, :pointer,
562
- :boneCount, :int,
563
- :bones, :pointer,
564
- :bindPose, :pointer,
565
- )
566
- end
567
-
568
- class ModelAnimation < FFI::Struct
569
- layout(
570
- :boneCount, :int,
571
- :frameCount, :int,
572
- :bones, :pointer,
573
- :framePoses, :pointer,
574
- )
575
- end
576
-
577
- class Ray < FFI::Struct
578
- layout(
579
- :position, Vector3,
580
- :direction, Vector3,
581
- )
582
- end
583
-
584
- class RayCollision < FFI::Struct
585
- layout(
586
- :hit, :bool,
587
- :distance, :float,
588
- :point, Vector3,
589
- :normal, Vector3,
590
- )
591
- end
592
-
593
- class BoundingBox < FFI::Struct
594
- layout(
595
- :min, Vector3,
596
- :max, Vector3,
597
- )
598
- end
599
-
600
- class Wave < FFI::Struct
601
- layout(
602
- :frameCount, :uint,
603
- :sampleRate, :uint,
604
- :sampleSize, :uint,
605
- :channels, :uint,
606
- :data, :pointer,
607
- )
608
- end
609
-
610
- class AudioStream < FFI::Struct
611
- layout(
612
- :buffer, :pointer,
613
- :processor, :pointer,
614
- :sampleRate, :uint,
615
- :sampleSize, :uint,
616
- :channels, :uint,
617
- )
618
- end
619
-
620
- class Sound < FFI::Struct
621
- layout(
622
- :stream, AudioStream,
623
- :frameCount, :uint,
624
- )
625
- end
626
-
627
- class Music < FFI::Struct
628
- layout(
629
- :stream, AudioStream,
630
- :frameCount, :uint,
631
- :looping, :bool,
632
- :ctxType, :int,
633
- :ctxData, :pointer,
634
- )
635
- end
636
-
637
- class VrDeviceInfo < FFI::Struct
638
- layout(
639
- :hResolution, :int,
640
- :vResolution, :int,
641
- :hScreenSize, :float,
642
- :vScreenSize, :float,
643
- :vScreenCenter, :float,
644
- :eyeToScreenDistance, :float,
645
- :lensSeparationDistance, :float,
646
- :interpupillaryDistance, :float,
647
- :lensDistortionValues, [:float, 4],
648
- :chromaAbCorrection, [:float, 4],
649
- )
650
- end
651
-
652
- class VrStereoConfig < FFI::Struct
653
- layout(
654
- :projection, [Matrix, 2],
655
- :viewOffset, [Matrix, 2],
656
- :leftLensCenter, [:float, 2],
657
- :rightLensCenter, [:float, 2],
658
- :leftScreenCenter, [:float, 2],
659
- :rightScreenCenter, [:float, 2],
660
- :scale, [:float, 2],
661
- :scaleIn, [:float, 2],
662
- )
663
- end
664
-
665
- class FilePathList < FFI::Struct
666
- layout(
667
- :capacity, :uint,
668
- :count, :uint,
669
- :paths, :pointer,
670
- )
671
- end
672
-
673
-
674
- # Function
675
-
676
- def self.setup_raylib_symbols()
677
- symbols = [
678
- :InitWindow,
679
- :WindowShouldClose,
680
- :CloseWindow,
681
- :IsWindowReady,
682
- :IsWindowFullscreen,
683
- :IsWindowHidden,
684
- :IsWindowMinimized,
685
- :IsWindowMaximized,
686
- :IsWindowFocused,
687
- :IsWindowResized,
688
- :IsWindowState,
689
- :SetWindowState,
690
- :ClearWindowState,
691
- :ToggleFullscreen,
692
- :MaximizeWindow,
693
- :MinimizeWindow,
694
- :RestoreWindow,
695
- :SetWindowIcon,
696
- :SetWindowTitle,
697
- :SetWindowPosition,
698
- :SetWindowMonitor,
699
- :SetWindowMinSize,
700
- :SetWindowSize,
701
- :SetWindowOpacity,
702
- :GetWindowHandle,
703
- :GetScreenWidth,
704
- :GetScreenHeight,
705
- :GetRenderWidth,
706
- :GetRenderHeight,
707
- :GetMonitorCount,
708
- :GetCurrentMonitor,
709
- :GetMonitorPosition,
710
- :GetMonitorWidth,
711
- :GetMonitorHeight,
712
- :GetMonitorPhysicalWidth,
713
- :GetMonitorPhysicalHeight,
714
- :GetMonitorRefreshRate,
715
- :GetWindowPosition,
716
- :GetWindowScaleDPI,
717
- :GetMonitorName,
718
- :SetClipboardText,
719
- :GetClipboardText,
720
- :EnableEventWaiting,
721
- :DisableEventWaiting,
722
- :SwapScreenBuffer,
723
- :PollInputEvents,
724
- :WaitTime,
725
- :ShowCursor,
726
- :HideCursor,
727
- :IsCursorHidden,
728
- :EnableCursor,
729
- :DisableCursor,
730
- :IsCursorOnScreen,
731
- :ClearBackground,
732
- :BeginDrawing,
733
- :EndDrawing,
734
- :BeginMode2D,
735
- :EndMode2D,
736
- :BeginMode3D,
737
- :EndMode3D,
738
- :BeginTextureMode,
739
- :EndTextureMode,
740
- :BeginShaderMode,
741
- :EndShaderMode,
742
- :BeginBlendMode,
743
- :EndBlendMode,
744
- :BeginScissorMode,
745
- :EndScissorMode,
746
- :BeginVrStereoMode,
747
- :EndVrStereoMode,
748
- :LoadVrStereoConfig,
749
- :UnloadVrStereoConfig,
750
- :LoadShader,
751
- :LoadShaderFromMemory,
752
- :GetShaderLocation,
753
- :GetShaderLocationAttrib,
754
- :SetShaderValue,
755
- :SetShaderValueV,
756
- :SetShaderValueMatrix,
757
- :SetShaderValueTexture,
758
- :UnloadShader,
759
- :GetMouseRay,
760
- :GetCameraMatrix,
761
- :GetCameraMatrix2D,
762
- :GetWorldToScreen,
763
- :GetScreenToWorld2D,
764
- :GetWorldToScreenEx,
765
- :GetWorldToScreen2D,
766
- :SetTargetFPS,
767
- :GetFPS,
768
- :GetFrameTime,
769
- :GetTime,
770
- :GetRandomValue,
771
- :SetRandomSeed,
772
- :TakeScreenshot,
773
- :SetConfigFlags,
774
- :TraceLog,
775
- :SetTraceLogLevel,
776
- :MemAlloc,
777
- :MemRealloc,
778
- :MemFree,
779
- :OpenURL,
780
- :SetTraceLogCallback,
781
- :SetLoadFileDataCallback,
782
- :SetSaveFileDataCallback,
783
- :SetLoadFileTextCallback,
784
- :SetSaveFileTextCallback,
785
- :LoadFileData,
786
- :UnloadFileData,
787
- :SaveFileData,
788
- :ExportDataAsCode,
789
- :LoadFileText,
790
- :UnloadFileText,
791
- :SaveFileText,
792
- :FileExists,
793
- :DirectoryExists,
794
- :IsFileExtension,
795
- :GetFileLength,
796
- :GetFileExtension,
797
- :GetFileName,
798
- :GetFileNameWithoutExt,
799
- :GetDirectoryPath,
800
- :GetPrevDirectoryPath,
801
- :GetWorkingDirectory,
802
- :GetApplicationDirectory,
803
- :ChangeDirectory,
804
- :IsPathFile,
805
- :LoadDirectoryFiles,
806
- :LoadDirectoryFilesEx,
807
- :UnloadDirectoryFiles,
808
- :IsFileDropped,
809
- :LoadDroppedFiles,
810
- :UnloadDroppedFiles,
811
- :GetFileModTime,
812
- :CompressData,
813
- :DecompressData,
814
- :EncodeDataBase64,
815
- :DecodeDataBase64,
816
- :IsKeyPressed,
817
- :IsKeyDown,
818
- :IsKeyReleased,
819
- :IsKeyUp,
820
- :SetExitKey,
821
- :GetKeyPressed,
822
- :GetCharPressed,
823
- :IsGamepadAvailable,
824
- :GetGamepadName,
825
- :IsGamepadButtonPressed,
826
- :IsGamepadButtonDown,
827
- :IsGamepadButtonReleased,
828
- :IsGamepadButtonUp,
829
- :GetGamepadButtonPressed,
830
- :GetGamepadAxisCount,
831
- :GetGamepadAxisMovement,
832
- :SetGamepadMappings,
833
- :IsMouseButtonPressed,
834
- :IsMouseButtonDown,
835
- :IsMouseButtonReleased,
836
- :IsMouseButtonUp,
837
- :GetMouseX,
838
- :GetMouseY,
839
- :GetMousePosition,
840
- :GetMouseDelta,
841
- :SetMousePosition,
842
- :SetMouseOffset,
843
- :SetMouseScale,
844
- :GetMouseWheelMove,
845
- :GetMouseWheelMoveV,
846
- :SetMouseCursor,
847
- :GetTouchX,
848
- :GetTouchY,
849
- :GetTouchPosition,
850
- :GetTouchPointId,
851
- :GetTouchPointCount,
852
- :SetGesturesEnabled,
853
- :IsGestureDetected,
854
- :GetGestureDetected,
855
- :GetGestureHoldDuration,
856
- :GetGestureDragVector,
857
- :GetGestureDragAngle,
858
- :GetGesturePinchVector,
859
- :GetGesturePinchAngle,
860
- :SetCameraMode,
861
- :UpdateCamera,
862
- :SetCameraPanControl,
863
- :SetCameraAltControl,
864
- :SetCameraSmoothZoomControl,
865
- :SetCameraMoveControls,
866
- :SetShapesTexture,
867
- :DrawPixel,
868
- :DrawPixelV,
869
- :DrawLine,
870
- :DrawLineV,
871
- :DrawLineEx,
872
- :DrawLineBezier,
873
- :DrawLineBezierQuad,
874
- :DrawLineBezierCubic,
875
- :DrawLineStrip,
876
- :DrawCircle,
877
- :DrawCircleSector,
878
- :DrawCircleSectorLines,
879
- :DrawCircleGradient,
880
- :DrawCircleV,
881
- :DrawCircleLines,
882
- :DrawEllipse,
883
- :DrawEllipseLines,
884
- :DrawRing,
885
- :DrawRingLines,
886
- :DrawRectangle,
887
- :DrawRectangleV,
888
- :DrawRectangleRec,
889
- :DrawRectanglePro,
890
- :DrawRectangleGradientV,
891
- :DrawRectangleGradientH,
892
- :DrawRectangleGradientEx,
893
- :DrawRectangleLines,
894
- :DrawRectangleLinesEx,
895
- :DrawRectangleRounded,
896
- :DrawRectangleRoundedLines,
897
- :DrawTriangle,
898
- :DrawTriangleLines,
899
- :DrawTriangleFan,
900
- :DrawTriangleStrip,
901
- :DrawPoly,
902
- :DrawPolyLines,
903
- :DrawPolyLinesEx,
904
- :CheckCollisionRecs,
905
- :CheckCollisionCircles,
906
- :CheckCollisionCircleRec,
907
- :CheckCollisionPointRec,
908
- :CheckCollisionPointCircle,
909
- :CheckCollisionPointTriangle,
910
- :CheckCollisionLines,
911
- :CheckCollisionPointLine,
912
- :GetCollisionRec,
913
- :LoadImage,
914
- :LoadImageRaw,
915
- :LoadImageAnim,
916
- :LoadImageFromMemory,
917
- :LoadImageFromTexture,
918
- :LoadImageFromScreen,
919
- :UnloadImage,
920
- :ExportImage,
921
- :ExportImageAsCode,
922
- :GenImageColor,
923
- :GenImageGradientV,
924
- :GenImageGradientH,
925
- :GenImageGradientRadial,
926
- :GenImageChecked,
927
- :GenImageWhiteNoise,
928
- :GenImageCellular,
929
- :ImageCopy,
930
- :ImageFromImage,
931
- :ImageText,
932
- :ImageTextEx,
933
- :ImageFormat,
934
- :ImageToPOT,
935
- :ImageCrop,
936
- :ImageAlphaCrop,
937
- :ImageAlphaClear,
938
- :ImageAlphaMask,
939
- :ImageAlphaPremultiply,
940
- :ImageResize,
941
- :ImageResizeNN,
942
- :ImageResizeCanvas,
943
- :ImageMipmaps,
944
- :ImageDither,
945
- :ImageFlipVertical,
946
- :ImageFlipHorizontal,
947
- :ImageRotateCW,
948
- :ImageRotateCCW,
949
- :ImageColorTint,
950
- :ImageColorInvert,
951
- :ImageColorGrayscale,
952
- :ImageColorContrast,
953
- :ImageColorBrightness,
954
- :ImageColorReplace,
955
- :LoadImageColors,
956
- :LoadImagePalette,
957
- :UnloadImageColors,
958
- :UnloadImagePalette,
959
- :GetImageAlphaBorder,
960
- :GetImageColor,
961
- :ImageClearBackground,
962
- :ImageDrawPixel,
963
- :ImageDrawPixelV,
964
- :ImageDrawLine,
965
- :ImageDrawLineV,
966
- :ImageDrawCircle,
967
- :ImageDrawCircleV,
968
- :ImageDrawRectangle,
969
- :ImageDrawRectangleV,
970
- :ImageDrawRectangleRec,
971
- :ImageDrawRectangleLines,
972
- :ImageDraw,
973
- :ImageDrawText,
974
- :ImageDrawTextEx,
975
- :LoadTexture,
976
- :LoadTextureFromImage,
977
- :LoadTextureCubemap,
978
- :LoadRenderTexture,
979
- :UnloadTexture,
980
- :UnloadRenderTexture,
981
- :UpdateTexture,
982
- :UpdateTextureRec,
983
- :GenTextureMipmaps,
984
- :SetTextureFilter,
985
- :SetTextureWrap,
986
- :DrawTexture,
987
- :DrawTextureV,
988
- :DrawTextureEx,
989
- :DrawTextureRec,
990
- :DrawTextureQuad,
991
- :DrawTextureTiled,
992
- :DrawTexturePro,
993
- :DrawTextureNPatch,
994
- :DrawTexturePoly,
995
- :Fade,
996
- :ColorToInt,
997
- :ColorNormalize,
998
- :ColorFromNormalized,
999
- :ColorToHSV,
1000
- :ColorFromHSV,
1001
- :ColorAlpha,
1002
- :ColorAlphaBlend,
1003
- :GetColor,
1004
- :GetPixelColor,
1005
- :SetPixelColor,
1006
- :GetPixelDataSize,
1007
- :GetFontDefault,
1008
- :LoadFont,
1009
- :LoadFontEx,
1010
- :LoadFontFromImage,
1011
- :LoadFontFromMemory,
1012
- :LoadFontData,
1013
- :GenImageFontAtlas,
1014
- :UnloadFontData,
1015
- :UnloadFont,
1016
- :ExportFontAsCode,
1017
- :DrawFPS,
1018
- :DrawText,
1019
- :DrawTextEx,
1020
- :DrawTextPro,
1021
- :DrawTextCodepoint,
1022
- :DrawTextCodepoints,
1023
- :MeasureText,
1024
- :MeasureTextEx,
1025
- :GetGlyphIndex,
1026
- :GetGlyphInfo,
1027
- :GetGlyphAtlasRec,
1028
- :LoadCodepoints,
1029
- :UnloadCodepoints,
1030
- :GetCodepointCount,
1031
- :GetCodepoint,
1032
- :CodepointToUTF8,
1033
- :TextCodepointsToUTF8,
1034
- :TextCopy,
1035
- :TextIsEqual,
1036
- :TextLength,
1037
- :TextFormat,
1038
- :TextSubtext,
1039
- :TextReplace,
1040
- :TextInsert,
1041
- :TextJoin,
1042
- :TextSplit,
1043
- :TextAppend,
1044
- :TextFindIndex,
1045
- :TextToUpper,
1046
- :TextToLower,
1047
- :TextToPascal,
1048
- :TextToInteger,
1049
- :DrawLine3D,
1050
- :DrawPoint3D,
1051
- :DrawCircle3D,
1052
- :DrawTriangle3D,
1053
- :DrawTriangleStrip3D,
1054
- :DrawCube,
1055
- :DrawCubeV,
1056
- :DrawCubeWires,
1057
- :DrawCubeWiresV,
1058
- :DrawCubeTexture,
1059
- :DrawCubeTextureRec,
1060
- :DrawSphere,
1061
- :DrawSphereEx,
1062
- :DrawSphereWires,
1063
- :DrawCylinder,
1064
- :DrawCylinderEx,
1065
- :DrawCylinderWires,
1066
- :DrawCylinderWiresEx,
1067
- :DrawPlane,
1068
- :DrawRay,
1069
- :DrawGrid,
1070
- :LoadModel,
1071
- :LoadModelFromMesh,
1072
- :UnloadModel,
1073
- :UnloadModelKeepMeshes,
1074
- :GetModelBoundingBox,
1075
- :DrawModel,
1076
- :DrawModelEx,
1077
- :DrawModelWires,
1078
- :DrawModelWiresEx,
1079
- :DrawBoundingBox,
1080
- :DrawBillboard,
1081
- :DrawBillboardRec,
1082
- :DrawBillboardPro,
1083
- :UploadMesh,
1084
- :UpdateMeshBuffer,
1085
- :UnloadMesh,
1086
- :DrawMesh,
1087
- :DrawMeshInstanced,
1088
- :ExportMesh,
1089
- :GetMeshBoundingBox,
1090
- :GenMeshTangents,
1091
- :GenMeshPoly,
1092
- :GenMeshPlane,
1093
- :GenMeshCube,
1094
- :GenMeshSphere,
1095
- :GenMeshHemiSphere,
1096
- :GenMeshCylinder,
1097
- :GenMeshCone,
1098
- :GenMeshTorus,
1099
- :GenMeshKnot,
1100
- :GenMeshHeightmap,
1101
- :GenMeshCubicmap,
1102
- :LoadMaterials,
1103
- :LoadMaterialDefault,
1104
- :UnloadMaterial,
1105
- :SetMaterialTexture,
1106
- :SetModelMeshMaterial,
1107
- :LoadModelAnimations,
1108
- :UpdateModelAnimation,
1109
- :UnloadModelAnimation,
1110
- :UnloadModelAnimations,
1111
- :IsModelAnimationValid,
1112
- :CheckCollisionSpheres,
1113
- :CheckCollisionBoxes,
1114
- :CheckCollisionBoxSphere,
1115
- :GetRayCollisionSphere,
1116
- :GetRayCollisionBox,
1117
- :GetRayCollisionMesh,
1118
- :GetRayCollisionTriangle,
1119
- :GetRayCollisionQuad,
1120
- :InitAudioDevice,
1121
- :CloseAudioDevice,
1122
- :IsAudioDeviceReady,
1123
- :SetMasterVolume,
1124
- :LoadWave,
1125
- :LoadWaveFromMemory,
1126
- :LoadSound,
1127
- :LoadSoundFromWave,
1128
- :UpdateSound,
1129
- :UnloadWave,
1130
- :UnloadSound,
1131
- :ExportWave,
1132
- :ExportWaveAsCode,
1133
- :PlaySound,
1134
- :StopSound,
1135
- :PauseSound,
1136
- :ResumeSound,
1137
- :PlaySoundMulti,
1138
- :StopSoundMulti,
1139
- :GetSoundsPlaying,
1140
- :IsSoundPlaying,
1141
- :SetSoundVolume,
1142
- :SetSoundPitch,
1143
- :SetSoundPan,
1144
- :WaveCopy,
1145
- :WaveCrop,
1146
- :WaveFormat,
1147
- :LoadWaveSamples,
1148
- :UnloadWaveSamples,
1149
- :LoadMusicStream,
1150
- :LoadMusicStreamFromMemory,
1151
- :UnloadMusicStream,
1152
- :PlayMusicStream,
1153
- :IsMusicStreamPlaying,
1154
- :UpdateMusicStream,
1155
- :StopMusicStream,
1156
- :PauseMusicStream,
1157
- :ResumeMusicStream,
1158
- :SeekMusicStream,
1159
- :SetMusicVolume,
1160
- :SetMusicPitch,
1161
- :SetMusicPan,
1162
- :GetMusicTimeLength,
1163
- :GetMusicTimePlayed,
1164
- :LoadAudioStream,
1165
- :UnloadAudioStream,
1166
- :UpdateAudioStream,
1167
- :IsAudioStreamProcessed,
1168
- :PlayAudioStream,
1169
- :PauseAudioStream,
1170
- :ResumeAudioStream,
1171
- :IsAudioStreamPlaying,
1172
- :StopAudioStream,
1173
- :SetAudioStreamVolume,
1174
- :SetAudioStreamPitch,
1175
- :SetAudioStreamPan,
1176
- :SetAudioStreamBufferSizeDefault,
1177
- :SetAudioStreamCallback,
1178
- :AttachAudioStreamProcessor,
1179
- :DetachAudioStreamProcessor,
1180
- ]
1181
- args = {
1182
- :InitWindow => [:int, :int, :pointer],
1183
- :WindowShouldClose => [],
1184
- :CloseWindow => [],
1185
- :IsWindowReady => [],
1186
- :IsWindowFullscreen => [],
1187
- :IsWindowHidden => [],
1188
- :IsWindowMinimized => [],
1189
- :IsWindowMaximized => [],
1190
- :IsWindowFocused => [],
1191
- :IsWindowResized => [],
1192
- :IsWindowState => [:uint],
1193
- :SetWindowState => [:uint],
1194
- :ClearWindowState => [:uint],
1195
- :ToggleFullscreen => [],
1196
- :MaximizeWindow => [],
1197
- :MinimizeWindow => [],
1198
- :RestoreWindow => [],
1199
- :SetWindowIcon => [Image.by_value],
1200
- :SetWindowTitle => [:pointer],
1201
- :SetWindowPosition => [:int, :int],
1202
- :SetWindowMonitor => [:int],
1203
- :SetWindowMinSize => [:int, :int],
1204
- :SetWindowSize => [:int, :int],
1205
- :SetWindowOpacity => [:float],
1206
- :GetWindowHandle => [],
1207
- :GetScreenWidth => [],
1208
- :GetScreenHeight => [],
1209
- :GetRenderWidth => [],
1210
- :GetRenderHeight => [],
1211
- :GetMonitorCount => [],
1212
- :GetCurrentMonitor => [],
1213
- :GetMonitorPosition => [:int],
1214
- :GetMonitorWidth => [:int],
1215
- :GetMonitorHeight => [:int],
1216
- :GetMonitorPhysicalWidth => [:int],
1217
- :GetMonitorPhysicalHeight => [:int],
1218
- :GetMonitorRefreshRate => [:int],
1219
- :GetWindowPosition => [],
1220
- :GetWindowScaleDPI => [],
1221
- :GetMonitorName => [:int],
1222
- :SetClipboardText => [:pointer],
1223
- :GetClipboardText => [],
1224
- :EnableEventWaiting => [],
1225
- :DisableEventWaiting => [],
1226
- :SwapScreenBuffer => [],
1227
- :PollInputEvents => [],
1228
- :WaitTime => [:double],
1229
- :ShowCursor => [],
1230
- :HideCursor => [],
1231
- :IsCursorHidden => [],
1232
- :EnableCursor => [],
1233
- :DisableCursor => [],
1234
- :IsCursorOnScreen => [],
1235
- :ClearBackground => [Color.by_value],
1236
- :BeginDrawing => [],
1237
- :EndDrawing => [],
1238
- :BeginMode2D => [Camera2D.by_value],
1239
- :EndMode2D => [],
1240
- :BeginMode3D => [Camera3D.by_value],
1241
- :EndMode3D => [],
1242
- :BeginTextureMode => [RenderTexture2D.by_value],
1243
- :EndTextureMode => [],
1244
- :BeginShaderMode => [Shader.by_value],
1245
- :EndShaderMode => [],
1246
- :BeginBlendMode => [:int],
1247
- :EndBlendMode => [],
1248
- :BeginScissorMode => [:int, :int, :int, :int],
1249
- :EndScissorMode => [],
1250
- :BeginVrStereoMode => [VrStereoConfig.by_value],
1251
- :EndVrStereoMode => [],
1252
- :LoadVrStereoConfig => [VrDeviceInfo.by_value],
1253
- :UnloadVrStereoConfig => [VrStereoConfig.by_value],
1254
- :LoadShader => [:pointer, :pointer],
1255
- :LoadShaderFromMemory => [:pointer, :pointer],
1256
- :GetShaderLocation => [Shader.by_value, :pointer],
1257
- :GetShaderLocationAttrib => [Shader.by_value, :pointer],
1258
- :SetShaderValue => [Shader.by_value, :int, :pointer, :int],
1259
- :SetShaderValueV => [Shader.by_value, :int, :pointer, :int, :int],
1260
- :SetShaderValueMatrix => [Shader.by_value, :int, Matrix.by_value],
1261
- :SetShaderValueTexture => [Shader.by_value, :int, Texture2D.by_value],
1262
- :UnloadShader => [Shader.by_value],
1263
- :GetMouseRay => [Vector2.by_value, Camera.by_value],
1264
- :GetCameraMatrix => [Camera.by_value],
1265
- :GetCameraMatrix2D => [Camera2D.by_value],
1266
- :GetWorldToScreen => [Vector3.by_value, Camera.by_value],
1267
- :GetScreenToWorld2D => [Vector2.by_value, Camera2D.by_value],
1268
- :GetWorldToScreenEx => [Vector3.by_value, Camera.by_value, :int, :int],
1269
- :GetWorldToScreen2D => [Vector2.by_value, Camera2D.by_value],
1270
- :SetTargetFPS => [:int],
1271
- :GetFPS => [],
1272
- :GetFrameTime => [],
1273
- :GetTime => [],
1274
- :GetRandomValue => [:int, :int],
1275
- :SetRandomSeed => [:uint],
1276
- :TakeScreenshot => [:pointer],
1277
- :SetConfigFlags => [:uint],
1278
- :TraceLog => [:int, :pointer, :varargs],
1279
- :SetTraceLogLevel => [:int],
1280
- :MemAlloc => [:int],
1281
- :MemRealloc => [:pointer, :int],
1282
- :MemFree => [:pointer],
1283
- :OpenURL => [:pointer],
1284
- :SetTraceLogCallback => [:TraceLogCallback],
1285
- :SetLoadFileDataCallback => [:LoadFileDataCallback],
1286
- :SetSaveFileDataCallback => [:SaveFileDataCallback],
1287
- :SetLoadFileTextCallback => [:LoadFileTextCallback],
1288
- :SetSaveFileTextCallback => [:SaveFileTextCallback],
1289
- :LoadFileData => [:pointer, :pointer],
1290
- :UnloadFileData => [:pointer],
1291
- :SaveFileData => [:pointer, :pointer, :uint],
1292
- :ExportDataAsCode => [:pointer, :uint, :pointer],
1293
- :LoadFileText => [:pointer],
1294
- :UnloadFileText => [:pointer],
1295
- :SaveFileText => [:pointer, :pointer],
1296
- :FileExists => [:pointer],
1297
- :DirectoryExists => [:pointer],
1298
- :IsFileExtension => [:pointer, :pointer],
1299
- :GetFileLength => [:pointer],
1300
- :GetFileExtension => [:pointer],
1301
- :GetFileName => [:pointer],
1302
- :GetFileNameWithoutExt => [:pointer],
1303
- :GetDirectoryPath => [:pointer],
1304
- :GetPrevDirectoryPath => [:pointer],
1305
- :GetWorkingDirectory => [],
1306
- :GetApplicationDirectory => [],
1307
- :ChangeDirectory => [:pointer],
1308
- :IsPathFile => [:pointer],
1309
- :LoadDirectoryFiles => [:pointer],
1310
- :LoadDirectoryFilesEx => [:pointer, :pointer, :bool],
1311
- :UnloadDirectoryFiles => [FilePathList.by_value],
1312
- :IsFileDropped => [],
1313
- :LoadDroppedFiles => [],
1314
- :UnloadDroppedFiles => [FilePathList.by_value],
1315
- :GetFileModTime => [:pointer],
1316
- :CompressData => [:pointer, :int, :pointer],
1317
- :DecompressData => [:pointer, :int, :pointer],
1318
- :EncodeDataBase64 => [:pointer, :int, :pointer],
1319
- :DecodeDataBase64 => [:pointer, :pointer],
1320
- :IsKeyPressed => [:int],
1321
- :IsKeyDown => [:int],
1322
- :IsKeyReleased => [:int],
1323
- :IsKeyUp => [:int],
1324
- :SetExitKey => [:int],
1325
- :GetKeyPressed => [],
1326
- :GetCharPressed => [],
1327
- :IsGamepadAvailable => [:int],
1328
- :GetGamepadName => [:int],
1329
- :IsGamepadButtonPressed => [:int, :int],
1330
- :IsGamepadButtonDown => [:int, :int],
1331
- :IsGamepadButtonReleased => [:int, :int],
1332
- :IsGamepadButtonUp => [:int, :int],
1333
- :GetGamepadButtonPressed => [],
1334
- :GetGamepadAxisCount => [:int],
1335
- :GetGamepadAxisMovement => [:int, :int],
1336
- :SetGamepadMappings => [:pointer],
1337
- :IsMouseButtonPressed => [:int],
1338
- :IsMouseButtonDown => [:int],
1339
- :IsMouseButtonReleased => [:int],
1340
- :IsMouseButtonUp => [:int],
1341
- :GetMouseX => [],
1342
- :GetMouseY => [],
1343
- :GetMousePosition => [],
1344
- :GetMouseDelta => [],
1345
- :SetMousePosition => [:int, :int],
1346
- :SetMouseOffset => [:int, :int],
1347
- :SetMouseScale => [:float, :float],
1348
- :GetMouseWheelMove => [],
1349
- :GetMouseWheelMoveV => [],
1350
- :SetMouseCursor => [:int],
1351
- :GetTouchX => [],
1352
- :GetTouchY => [],
1353
- :GetTouchPosition => [:int],
1354
- :GetTouchPointId => [:int],
1355
- :GetTouchPointCount => [],
1356
- :SetGesturesEnabled => [:uint],
1357
- :IsGestureDetected => [:int],
1358
- :GetGestureDetected => [],
1359
- :GetGestureHoldDuration => [],
1360
- :GetGestureDragVector => [],
1361
- :GetGestureDragAngle => [],
1362
- :GetGesturePinchVector => [],
1363
- :GetGesturePinchAngle => [],
1364
- :SetCameraMode => [Camera.by_value, :int],
1365
- :UpdateCamera => [:pointer],
1366
- :SetCameraPanControl => [:int],
1367
- :SetCameraAltControl => [:int],
1368
- :SetCameraSmoothZoomControl => [:int],
1369
- :SetCameraMoveControls => [:int, :int, :int, :int, :int, :int],
1370
- :SetShapesTexture => [Texture2D.by_value, Rectangle.by_value],
1371
- :DrawPixel => [:int, :int, Color.by_value],
1372
- :DrawPixelV => [Vector2.by_value, Color.by_value],
1373
- :DrawLine => [:int, :int, :int, :int, Color.by_value],
1374
- :DrawLineV => [Vector2.by_value, Vector2.by_value, Color.by_value],
1375
- :DrawLineEx => [Vector2.by_value, Vector2.by_value, :float, Color.by_value],
1376
- :DrawLineBezier => [Vector2.by_value, Vector2.by_value, :float, Color.by_value],
1377
- :DrawLineBezierQuad => [Vector2.by_value, Vector2.by_value, Vector2.by_value, :float, Color.by_value],
1378
- :DrawLineBezierCubic => [Vector2.by_value, Vector2.by_value, Vector2.by_value, Vector2.by_value, :float, Color.by_value],
1379
- :DrawLineStrip => [:pointer, :int, Color.by_value],
1380
- :DrawCircle => [:int, :int, :float, Color.by_value],
1381
- :DrawCircleSector => [Vector2.by_value, :float, :float, :float, :int, Color.by_value],
1382
- :DrawCircleSectorLines => [Vector2.by_value, :float, :float, :float, :int, Color.by_value],
1383
- :DrawCircleGradient => [:int, :int, :float, Color.by_value, Color.by_value],
1384
- :DrawCircleV => [Vector2.by_value, :float, Color.by_value],
1385
- :DrawCircleLines => [:int, :int, :float, Color.by_value],
1386
- :DrawEllipse => [:int, :int, :float, :float, Color.by_value],
1387
- :DrawEllipseLines => [:int, :int, :float, :float, Color.by_value],
1388
- :DrawRing => [Vector2.by_value, :float, :float, :float, :float, :int, Color.by_value],
1389
- :DrawRingLines => [Vector2.by_value, :float, :float, :float, :float, :int, Color.by_value],
1390
- :DrawRectangle => [:int, :int, :int, :int, Color.by_value],
1391
- :DrawRectangleV => [Vector2.by_value, Vector2.by_value, Color.by_value],
1392
- :DrawRectangleRec => [Rectangle.by_value, Color.by_value],
1393
- :DrawRectanglePro => [Rectangle.by_value, Vector2.by_value, :float, Color.by_value],
1394
- :DrawRectangleGradientV => [:int, :int, :int, :int, Color.by_value, Color.by_value],
1395
- :DrawRectangleGradientH => [:int, :int, :int, :int, Color.by_value, Color.by_value],
1396
- :DrawRectangleGradientEx => [Rectangle.by_value, Color.by_value, Color.by_value, Color.by_value, Color.by_value],
1397
- :DrawRectangleLines => [:int, :int, :int, :int, Color.by_value],
1398
- :DrawRectangleLinesEx => [Rectangle.by_value, :float, Color.by_value],
1399
- :DrawRectangleRounded => [Rectangle.by_value, :float, :int, Color.by_value],
1400
- :DrawRectangleRoundedLines => [Rectangle.by_value, :float, :int, :float, Color.by_value],
1401
- :DrawTriangle => [Vector2.by_value, Vector2.by_value, Vector2.by_value, Color.by_value],
1402
- :DrawTriangleLines => [Vector2.by_value, Vector2.by_value, Vector2.by_value, Color.by_value],
1403
- :DrawTriangleFan => [:pointer, :int, Color.by_value],
1404
- :DrawTriangleStrip => [:pointer, :int, Color.by_value],
1405
- :DrawPoly => [Vector2.by_value, :int, :float, :float, Color.by_value],
1406
- :DrawPolyLines => [Vector2.by_value, :int, :float, :float, Color.by_value],
1407
- :DrawPolyLinesEx => [Vector2.by_value, :int, :float, :float, :float, Color.by_value],
1408
- :CheckCollisionRecs => [Rectangle.by_value, Rectangle.by_value],
1409
- :CheckCollisionCircles => [Vector2.by_value, :float, Vector2.by_value, :float],
1410
- :CheckCollisionCircleRec => [Vector2.by_value, :float, Rectangle.by_value],
1411
- :CheckCollisionPointRec => [Vector2.by_value, Rectangle.by_value],
1412
- :CheckCollisionPointCircle => [Vector2.by_value, Vector2.by_value, :float],
1413
- :CheckCollisionPointTriangle => [Vector2.by_value, Vector2.by_value, Vector2.by_value, Vector2.by_value],
1414
- :CheckCollisionLines => [Vector2.by_value, Vector2.by_value, Vector2.by_value, Vector2.by_value, :pointer],
1415
- :CheckCollisionPointLine => [Vector2.by_value, Vector2.by_value, Vector2.by_value, :int],
1416
- :GetCollisionRec => [Rectangle.by_value, Rectangle.by_value],
1417
- :LoadImage => [:pointer],
1418
- :LoadImageRaw => [:pointer, :int, :int, :int, :int],
1419
- :LoadImageAnim => [:pointer, :pointer],
1420
- :LoadImageFromMemory => [:pointer, :pointer, :int],
1421
- :LoadImageFromTexture => [Texture2D.by_value],
1422
- :LoadImageFromScreen => [],
1423
- :UnloadImage => [Image.by_value],
1424
- :ExportImage => [Image.by_value, :pointer],
1425
- :ExportImageAsCode => [Image.by_value, :pointer],
1426
- :GenImageColor => [:int, :int, Color.by_value],
1427
- :GenImageGradientV => [:int, :int, Color.by_value, Color.by_value],
1428
- :GenImageGradientH => [:int, :int, Color.by_value, Color.by_value],
1429
- :GenImageGradientRadial => [:int, :int, :float, Color.by_value, Color.by_value],
1430
- :GenImageChecked => [:int, :int, :int, :int, Color.by_value, Color.by_value],
1431
- :GenImageWhiteNoise => [:int, :int, :float],
1432
- :GenImageCellular => [:int, :int, :int],
1433
- :ImageCopy => [Image.by_value],
1434
- :ImageFromImage => [Image.by_value, Rectangle.by_value],
1435
- :ImageText => [:pointer, :int, Color.by_value],
1436
- :ImageTextEx => [Font.by_value, :pointer, :float, :float, Color.by_value],
1437
- :ImageFormat => [:pointer, :int],
1438
- :ImageToPOT => [:pointer, Color.by_value],
1439
- :ImageCrop => [:pointer, Rectangle.by_value],
1440
- :ImageAlphaCrop => [:pointer, :float],
1441
- :ImageAlphaClear => [:pointer, Color.by_value, :float],
1442
- :ImageAlphaMask => [:pointer, Image.by_value],
1443
- :ImageAlphaPremultiply => [:pointer],
1444
- :ImageResize => [:pointer, :int, :int],
1445
- :ImageResizeNN => [:pointer, :int, :int],
1446
- :ImageResizeCanvas => [:pointer, :int, :int, :int, :int, Color.by_value],
1447
- :ImageMipmaps => [:pointer],
1448
- :ImageDither => [:pointer, :int, :int, :int, :int],
1449
- :ImageFlipVertical => [:pointer],
1450
- :ImageFlipHorizontal => [:pointer],
1451
- :ImageRotateCW => [:pointer],
1452
- :ImageRotateCCW => [:pointer],
1453
- :ImageColorTint => [:pointer, Color.by_value],
1454
- :ImageColorInvert => [:pointer],
1455
- :ImageColorGrayscale => [:pointer],
1456
- :ImageColorContrast => [:pointer, :float],
1457
- :ImageColorBrightness => [:pointer, :int],
1458
- :ImageColorReplace => [:pointer, Color.by_value, Color.by_value],
1459
- :LoadImageColors => [Image.by_value],
1460
- :LoadImagePalette => [Image.by_value, :int, :pointer],
1461
- :UnloadImageColors => [:pointer],
1462
- :UnloadImagePalette => [:pointer],
1463
- :GetImageAlphaBorder => [Image.by_value, :float],
1464
- :GetImageColor => [Image.by_value, :int, :int],
1465
- :ImageClearBackground => [:pointer, Color.by_value],
1466
- :ImageDrawPixel => [:pointer, :int, :int, Color.by_value],
1467
- :ImageDrawPixelV => [:pointer, Vector2.by_value, Color.by_value],
1468
- :ImageDrawLine => [:pointer, :int, :int, :int, :int, Color.by_value],
1469
- :ImageDrawLineV => [:pointer, Vector2.by_value, Vector2.by_value, Color.by_value],
1470
- :ImageDrawCircle => [:pointer, :int, :int, :int, Color.by_value],
1471
- :ImageDrawCircleV => [:pointer, Vector2.by_value, :int, Color.by_value],
1472
- :ImageDrawRectangle => [:pointer, :int, :int, :int, :int, Color.by_value],
1473
- :ImageDrawRectangleV => [:pointer, Vector2.by_value, Vector2.by_value, Color.by_value],
1474
- :ImageDrawRectangleRec => [:pointer, Rectangle.by_value, Color.by_value],
1475
- :ImageDrawRectangleLines => [:pointer, Rectangle.by_value, :int, Color.by_value],
1476
- :ImageDraw => [:pointer, Image.by_value, Rectangle.by_value, Rectangle.by_value, Color.by_value],
1477
- :ImageDrawText => [:pointer, :pointer, :int, :int, :int, Color.by_value],
1478
- :ImageDrawTextEx => [:pointer, Font.by_value, :pointer, Vector2.by_value, :float, :float, Color.by_value],
1479
- :LoadTexture => [:pointer],
1480
- :LoadTextureFromImage => [Image.by_value],
1481
- :LoadTextureCubemap => [Image.by_value, :int],
1482
- :LoadRenderTexture => [:int, :int],
1483
- :UnloadTexture => [Texture2D.by_value],
1484
- :UnloadRenderTexture => [RenderTexture2D.by_value],
1485
- :UpdateTexture => [Texture2D.by_value, :pointer],
1486
- :UpdateTextureRec => [Texture2D.by_value, Rectangle.by_value, :pointer],
1487
- :GenTextureMipmaps => [:pointer],
1488
- :SetTextureFilter => [Texture2D.by_value, :int],
1489
- :SetTextureWrap => [Texture2D.by_value, :int],
1490
- :DrawTexture => [Texture2D.by_value, :int, :int, Color.by_value],
1491
- :DrawTextureV => [Texture2D.by_value, Vector2.by_value, Color.by_value],
1492
- :DrawTextureEx => [Texture2D.by_value, Vector2.by_value, :float, :float, Color.by_value],
1493
- :DrawTextureRec => [Texture2D.by_value, Rectangle.by_value, Vector2.by_value, Color.by_value],
1494
- :DrawTextureQuad => [Texture2D.by_value, Vector2.by_value, Vector2.by_value, Rectangle.by_value, Color.by_value],
1495
- :DrawTextureTiled => [Texture2D.by_value, Rectangle.by_value, Rectangle.by_value, Vector2.by_value, :float, :float, Color.by_value],
1496
- :DrawTexturePro => [Texture2D.by_value, Rectangle.by_value, Rectangle.by_value, Vector2.by_value, :float, Color.by_value],
1497
- :DrawTextureNPatch => [Texture2D.by_value, NPatchInfo.by_value, Rectangle.by_value, Vector2.by_value, :float, Color.by_value],
1498
- :DrawTexturePoly => [Texture2D.by_value, Vector2.by_value, :pointer, :pointer, :int, Color.by_value],
1499
- :Fade => [Color.by_value, :float],
1500
- :ColorToInt => [Color.by_value],
1501
- :ColorNormalize => [Color.by_value],
1502
- :ColorFromNormalized => [Vector4.by_value],
1503
- :ColorToHSV => [Color.by_value],
1504
- :ColorFromHSV => [:float, :float, :float],
1505
- :ColorAlpha => [Color.by_value, :float],
1506
- :ColorAlphaBlend => [Color.by_value, Color.by_value, Color.by_value],
1507
- :GetColor => [:uint],
1508
- :GetPixelColor => [:pointer, :int],
1509
- :SetPixelColor => [:pointer, Color.by_value, :int],
1510
- :GetPixelDataSize => [:int, :int, :int],
1511
- :GetFontDefault => [],
1512
- :LoadFont => [:pointer],
1513
- :LoadFontEx => [:pointer, :int, :pointer, :int],
1514
- :LoadFontFromImage => [Image.by_value, Color.by_value, :int],
1515
- :LoadFontFromMemory => [:pointer, :pointer, :int, :int, :pointer, :int],
1516
- :LoadFontData => [:pointer, :int, :int, :pointer, :int, :int],
1517
- :GenImageFontAtlas => [:pointer, :pointer, :int, :int, :int, :int],
1518
- :UnloadFontData => [:pointer, :int],
1519
- :UnloadFont => [Font.by_value],
1520
- :ExportFontAsCode => [Font.by_value, :pointer],
1521
- :DrawFPS => [:int, :int],
1522
- :DrawText => [:pointer, :int, :int, :int, Color.by_value],
1523
- :DrawTextEx => [Font.by_value, :pointer, Vector2.by_value, :float, :float, Color.by_value],
1524
- :DrawTextPro => [Font.by_value, :pointer, Vector2.by_value, Vector2.by_value, :float, :float, :float, Color.by_value],
1525
- :DrawTextCodepoint => [Font.by_value, :int, Vector2.by_value, :float, Color.by_value],
1526
- :DrawTextCodepoints => [Font.by_value, :pointer, :int, Vector2.by_value, :float, :float, Color.by_value],
1527
- :MeasureText => [:pointer, :int],
1528
- :MeasureTextEx => [Font.by_value, :pointer, :float, :float],
1529
- :GetGlyphIndex => [Font.by_value, :int],
1530
- :GetGlyphInfo => [Font.by_value, :int],
1531
- :GetGlyphAtlasRec => [Font.by_value, :int],
1532
- :LoadCodepoints => [:pointer, :pointer],
1533
- :UnloadCodepoints => [:pointer],
1534
- :GetCodepointCount => [:pointer],
1535
- :GetCodepoint => [:pointer, :pointer],
1536
- :CodepointToUTF8 => [:int, :pointer],
1537
- :TextCodepointsToUTF8 => [:pointer, :int],
1538
- :TextCopy => [:pointer, :pointer],
1539
- :TextIsEqual => [:pointer, :pointer],
1540
- :TextLength => [:pointer],
1541
- :TextFormat => [:pointer, :varargs],
1542
- :TextSubtext => [:pointer, :int, :int],
1543
- :TextReplace => [:pointer, :pointer, :pointer],
1544
- :TextInsert => [:pointer, :pointer, :int],
1545
- :TextJoin => [:pointer, :int, :pointer],
1546
- :TextSplit => [:pointer, :char, :pointer],
1547
- :TextAppend => [:pointer, :pointer, :pointer],
1548
- :TextFindIndex => [:pointer, :pointer],
1549
- :TextToUpper => [:pointer],
1550
- :TextToLower => [:pointer],
1551
- :TextToPascal => [:pointer],
1552
- :TextToInteger => [:pointer],
1553
- :DrawLine3D => [Vector3.by_value, Vector3.by_value, Color.by_value],
1554
- :DrawPoint3D => [Vector3.by_value, Color.by_value],
1555
- :DrawCircle3D => [Vector3.by_value, :float, Vector3.by_value, :float, Color.by_value],
1556
- :DrawTriangle3D => [Vector3.by_value, Vector3.by_value, Vector3.by_value, Color.by_value],
1557
- :DrawTriangleStrip3D => [:pointer, :int, Color.by_value],
1558
- :DrawCube => [Vector3.by_value, :float, :float, :float, Color.by_value],
1559
- :DrawCubeV => [Vector3.by_value, Vector3.by_value, Color.by_value],
1560
- :DrawCubeWires => [Vector3.by_value, :float, :float, :float, Color.by_value],
1561
- :DrawCubeWiresV => [Vector3.by_value, Vector3.by_value, Color.by_value],
1562
- :DrawCubeTexture => [Texture2D.by_value, Vector3.by_value, :float, :float, :float, Color.by_value],
1563
- :DrawCubeTextureRec => [Texture2D.by_value, Rectangle.by_value, Vector3.by_value, :float, :float, :float, Color.by_value],
1564
- :DrawSphere => [Vector3.by_value, :float, Color.by_value],
1565
- :DrawSphereEx => [Vector3.by_value, :float, :int, :int, Color.by_value],
1566
- :DrawSphereWires => [Vector3.by_value, :float, :int, :int, Color.by_value],
1567
- :DrawCylinder => [Vector3.by_value, :float, :float, :float, :int, Color.by_value],
1568
- :DrawCylinderEx => [Vector3.by_value, Vector3.by_value, :float, :float, :int, Color.by_value],
1569
- :DrawCylinderWires => [Vector3.by_value, :float, :float, :float, :int, Color.by_value],
1570
- :DrawCylinderWiresEx => [Vector3.by_value, Vector3.by_value, :float, :float, :int, Color.by_value],
1571
- :DrawPlane => [Vector3.by_value, Vector2.by_value, Color.by_value],
1572
- :DrawRay => [Ray.by_value, Color.by_value],
1573
- :DrawGrid => [:int, :float],
1574
- :LoadModel => [:pointer],
1575
- :LoadModelFromMesh => [Mesh.by_value],
1576
- :UnloadModel => [Model.by_value],
1577
- :UnloadModelKeepMeshes => [Model.by_value],
1578
- :GetModelBoundingBox => [Model.by_value],
1579
- :DrawModel => [Model.by_value, Vector3.by_value, :float, Color.by_value],
1580
- :DrawModelEx => [Model.by_value, Vector3.by_value, Vector3.by_value, :float, Vector3.by_value, Color.by_value],
1581
- :DrawModelWires => [Model.by_value, Vector3.by_value, :float, Color.by_value],
1582
- :DrawModelWiresEx => [Model.by_value, Vector3.by_value, Vector3.by_value, :float, Vector3.by_value, Color.by_value],
1583
- :DrawBoundingBox => [BoundingBox.by_value, Color.by_value],
1584
- :DrawBillboard => [Camera.by_value, Texture2D.by_value, Vector3.by_value, :float, Color.by_value],
1585
- :DrawBillboardRec => [Camera.by_value, Texture2D.by_value, Rectangle.by_value, Vector3.by_value, Vector2.by_value, Color.by_value],
1586
- :DrawBillboardPro => [Camera.by_value, Texture2D.by_value, Rectangle.by_value, Vector3.by_value, Vector3.by_value, Vector2.by_value, Vector2.by_value, :float, Color.by_value],
1587
- :UploadMesh => [:pointer, :bool],
1588
- :UpdateMeshBuffer => [Mesh.by_value, :int, :pointer, :int, :int],
1589
- :UnloadMesh => [Mesh.by_value],
1590
- :DrawMesh => [Mesh.by_value, Material.by_value, Matrix.by_value],
1591
- :DrawMeshInstanced => [Mesh.by_value, Material.by_value, :pointer, :int],
1592
- :ExportMesh => [Mesh.by_value, :pointer],
1593
- :GetMeshBoundingBox => [Mesh.by_value],
1594
- :GenMeshTangents => [:pointer],
1595
- :GenMeshPoly => [:int, :float],
1596
- :GenMeshPlane => [:float, :float, :int, :int],
1597
- :GenMeshCube => [:float, :float, :float],
1598
- :GenMeshSphere => [:float, :int, :int],
1599
- :GenMeshHemiSphere => [:float, :int, :int],
1600
- :GenMeshCylinder => [:float, :float, :int],
1601
- :GenMeshCone => [:float, :float, :int],
1602
- :GenMeshTorus => [:float, :float, :int, :int],
1603
- :GenMeshKnot => [:float, :float, :int, :int],
1604
- :GenMeshHeightmap => [Image.by_value, Vector3.by_value],
1605
- :GenMeshCubicmap => [Image.by_value, Vector3.by_value],
1606
- :LoadMaterials => [:pointer, :pointer],
1607
- :LoadMaterialDefault => [],
1608
- :UnloadMaterial => [Material.by_value],
1609
- :SetMaterialTexture => [:pointer, :int, Texture2D.by_value],
1610
- :SetModelMeshMaterial => [:pointer, :int, :int],
1611
- :LoadModelAnimations => [:pointer, :pointer],
1612
- :UpdateModelAnimation => [Model.by_value, ModelAnimation.by_value, :int],
1613
- :UnloadModelAnimation => [ModelAnimation.by_value],
1614
- :UnloadModelAnimations => [:pointer, :uint],
1615
- :IsModelAnimationValid => [Model.by_value, ModelAnimation.by_value],
1616
- :CheckCollisionSpheres => [Vector3.by_value, :float, Vector3.by_value, :float],
1617
- :CheckCollisionBoxes => [BoundingBox.by_value, BoundingBox.by_value],
1618
- :CheckCollisionBoxSphere => [BoundingBox.by_value, Vector3.by_value, :float],
1619
- :GetRayCollisionSphere => [Ray.by_value, Vector3.by_value, :float],
1620
- :GetRayCollisionBox => [Ray.by_value, BoundingBox.by_value],
1621
- :GetRayCollisionMesh => [Ray.by_value, Mesh.by_value, Matrix.by_value],
1622
- :GetRayCollisionTriangle => [Ray.by_value, Vector3.by_value, Vector3.by_value, Vector3.by_value],
1623
- :GetRayCollisionQuad => [Ray.by_value, Vector3.by_value, Vector3.by_value, Vector3.by_value, Vector3.by_value],
1624
- :InitAudioDevice => [],
1625
- :CloseAudioDevice => [],
1626
- :IsAudioDeviceReady => [],
1627
- :SetMasterVolume => [:float],
1628
- :LoadWave => [:pointer],
1629
- :LoadWaveFromMemory => [:pointer, :pointer, :int],
1630
- :LoadSound => [:pointer],
1631
- :LoadSoundFromWave => [Wave.by_value],
1632
- :UpdateSound => [Sound.by_value, :pointer, :int],
1633
- :UnloadWave => [Wave.by_value],
1634
- :UnloadSound => [Sound.by_value],
1635
- :ExportWave => [Wave.by_value, :pointer],
1636
- :ExportWaveAsCode => [Wave.by_value, :pointer],
1637
- :PlaySound => [Sound.by_value],
1638
- :StopSound => [Sound.by_value],
1639
- :PauseSound => [Sound.by_value],
1640
- :ResumeSound => [Sound.by_value],
1641
- :PlaySoundMulti => [Sound.by_value],
1642
- :StopSoundMulti => [],
1643
- :GetSoundsPlaying => [],
1644
- :IsSoundPlaying => [Sound.by_value],
1645
- :SetSoundVolume => [Sound.by_value, :float],
1646
- :SetSoundPitch => [Sound.by_value, :float],
1647
- :SetSoundPan => [Sound.by_value, :float],
1648
- :WaveCopy => [Wave.by_value],
1649
- :WaveCrop => [:pointer, :int, :int],
1650
- :WaveFormat => [:pointer, :int, :int, :int],
1651
- :LoadWaveSamples => [Wave.by_value],
1652
- :UnloadWaveSamples => [:pointer],
1653
- :LoadMusicStream => [:pointer],
1654
- :LoadMusicStreamFromMemory => [:pointer, :pointer, :int],
1655
- :UnloadMusicStream => [Music.by_value],
1656
- :PlayMusicStream => [Music.by_value],
1657
- :IsMusicStreamPlaying => [Music.by_value],
1658
- :UpdateMusicStream => [Music.by_value],
1659
- :StopMusicStream => [Music.by_value],
1660
- :PauseMusicStream => [Music.by_value],
1661
- :ResumeMusicStream => [Music.by_value],
1662
- :SeekMusicStream => [Music.by_value, :float],
1663
- :SetMusicVolume => [Music.by_value, :float],
1664
- :SetMusicPitch => [Music.by_value, :float],
1665
- :SetMusicPan => [Music.by_value, :float],
1666
- :GetMusicTimeLength => [Music.by_value],
1667
- :GetMusicTimePlayed => [Music.by_value],
1668
- :LoadAudioStream => [:uint, :uint, :uint],
1669
- :UnloadAudioStream => [AudioStream.by_value],
1670
- :UpdateAudioStream => [AudioStream.by_value, :pointer, :int],
1671
- :IsAudioStreamProcessed => [AudioStream.by_value],
1672
- :PlayAudioStream => [AudioStream.by_value],
1673
- :PauseAudioStream => [AudioStream.by_value],
1674
- :ResumeAudioStream => [AudioStream.by_value],
1675
- :IsAudioStreamPlaying => [AudioStream.by_value],
1676
- :StopAudioStream => [AudioStream.by_value],
1677
- :SetAudioStreamVolume => [AudioStream.by_value, :float],
1678
- :SetAudioStreamPitch => [AudioStream.by_value, :float],
1679
- :SetAudioStreamPan => [AudioStream.by_value, :float],
1680
- :SetAudioStreamBufferSizeDefault => [:int],
1681
- :SetAudioStreamCallback => [AudioStream.by_value, :AudioCallback],
1682
- :AttachAudioStreamProcessor => [AudioStream.by_value, :AudioCallback],
1683
- :DetachAudioStreamProcessor => [AudioStream.by_value, :AudioCallback],
1684
- }
1685
- retvals = {
1686
- :InitWindow => :void,
1687
- :WindowShouldClose => :bool,
1688
- :CloseWindow => :void,
1689
- :IsWindowReady => :bool,
1690
- :IsWindowFullscreen => :bool,
1691
- :IsWindowHidden => :bool,
1692
- :IsWindowMinimized => :bool,
1693
- :IsWindowMaximized => :bool,
1694
- :IsWindowFocused => :bool,
1695
- :IsWindowResized => :bool,
1696
- :IsWindowState => :bool,
1697
- :SetWindowState => :void,
1698
- :ClearWindowState => :void,
1699
- :ToggleFullscreen => :void,
1700
- :MaximizeWindow => :void,
1701
- :MinimizeWindow => :void,
1702
- :RestoreWindow => :void,
1703
- :SetWindowIcon => :void,
1704
- :SetWindowTitle => :void,
1705
- :SetWindowPosition => :void,
1706
- :SetWindowMonitor => :void,
1707
- :SetWindowMinSize => :void,
1708
- :SetWindowSize => :void,
1709
- :SetWindowOpacity => :void,
1710
- :GetWindowHandle => :pointer,
1711
- :GetScreenWidth => :int,
1712
- :GetScreenHeight => :int,
1713
- :GetRenderWidth => :int,
1714
- :GetRenderHeight => :int,
1715
- :GetMonitorCount => :int,
1716
- :GetCurrentMonitor => :int,
1717
- :GetMonitorPosition => Vector2.by_value,
1718
- :GetMonitorWidth => :int,
1719
- :GetMonitorHeight => :int,
1720
- :GetMonitorPhysicalWidth => :int,
1721
- :GetMonitorPhysicalHeight => :int,
1722
- :GetMonitorRefreshRate => :int,
1723
- :GetWindowPosition => Vector2.by_value,
1724
- :GetWindowScaleDPI => Vector2.by_value,
1725
- :GetMonitorName => :pointer,
1726
- :SetClipboardText => :void,
1727
- :GetClipboardText => :pointer,
1728
- :EnableEventWaiting => :void,
1729
- :DisableEventWaiting => :void,
1730
- :SwapScreenBuffer => :void,
1731
- :PollInputEvents => :void,
1732
- :WaitTime => :void,
1733
- :ShowCursor => :void,
1734
- :HideCursor => :void,
1735
- :IsCursorHidden => :bool,
1736
- :EnableCursor => :void,
1737
- :DisableCursor => :void,
1738
- :IsCursorOnScreen => :bool,
1739
- :ClearBackground => :void,
1740
- :BeginDrawing => :void,
1741
- :EndDrawing => :void,
1742
- :BeginMode2D => :void,
1743
- :EndMode2D => :void,
1744
- :BeginMode3D => :void,
1745
- :EndMode3D => :void,
1746
- :BeginTextureMode => :void,
1747
- :EndTextureMode => :void,
1748
- :BeginShaderMode => :void,
1749
- :EndShaderMode => :void,
1750
- :BeginBlendMode => :void,
1751
- :EndBlendMode => :void,
1752
- :BeginScissorMode => :void,
1753
- :EndScissorMode => :void,
1754
- :BeginVrStereoMode => :void,
1755
- :EndVrStereoMode => :void,
1756
- :LoadVrStereoConfig => VrStereoConfig.by_value,
1757
- :UnloadVrStereoConfig => :void,
1758
- :LoadShader => Shader.by_value,
1759
- :LoadShaderFromMemory => Shader.by_value,
1760
- :GetShaderLocation => :int,
1761
- :GetShaderLocationAttrib => :int,
1762
- :SetShaderValue => :void,
1763
- :SetShaderValueV => :void,
1764
- :SetShaderValueMatrix => :void,
1765
- :SetShaderValueTexture => :void,
1766
- :UnloadShader => :void,
1767
- :GetMouseRay => Ray.by_value,
1768
- :GetCameraMatrix => Matrix.by_value,
1769
- :GetCameraMatrix2D => Matrix.by_value,
1770
- :GetWorldToScreen => Vector2.by_value,
1771
- :GetScreenToWorld2D => Vector2.by_value,
1772
- :GetWorldToScreenEx => Vector2.by_value,
1773
- :GetWorldToScreen2D => Vector2.by_value,
1774
- :SetTargetFPS => :void,
1775
- :GetFPS => :int,
1776
- :GetFrameTime => :float,
1777
- :GetTime => :double,
1778
- :GetRandomValue => :int,
1779
- :SetRandomSeed => :void,
1780
- :TakeScreenshot => :void,
1781
- :SetConfigFlags => :void,
1782
- :TraceLog => :void,
1783
- :SetTraceLogLevel => :void,
1784
- :MemAlloc => :pointer,
1785
- :MemRealloc => :pointer,
1786
- :MemFree => :void,
1787
- :OpenURL => :void,
1788
- :SetTraceLogCallback => :void,
1789
- :SetLoadFileDataCallback => :void,
1790
- :SetSaveFileDataCallback => :void,
1791
- :SetLoadFileTextCallback => :void,
1792
- :SetSaveFileTextCallback => :void,
1793
- :LoadFileData => :pointer,
1794
- :UnloadFileData => :void,
1795
- :SaveFileData => :bool,
1796
- :ExportDataAsCode => :bool,
1797
- :LoadFileText => :pointer,
1798
- :UnloadFileText => :void,
1799
- :SaveFileText => :bool,
1800
- :FileExists => :bool,
1801
- :DirectoryExists => :bool,
1802
- :IsFileExtension => :bool,
1803
- :GetFileLength => :int,
1804
- :GetFileExtension => :pointer,
1805
- :GetFileName => :pointer,
1806
- :GetFileNameWithoutExt => :pointer,
1807
- :GetDirectoryPath => :pointer,
1808
- :GetPrevDirectoryPath => :pointer,
1809
- :GetWorkingDirectory => :pointer,
1810
- :GetApplicationDirectory => :pointer,
1811
- :ChangeDirectory => :bool,
1812
- :IsPathFile => :bool,
1813
- :LoadDirectoryFiles => FilePathList.by_value,
1814
- :LoadDirectoryFilesEx => FilePathList.by_value,
1815
- :UnloadDirectoryFiles => :void,
1816
- :IsFileDropped => :bool,
1817
- :LoadDroppedFiles => FilePathList.by_value,
1818
- :UnloadDroppedFiles => :void,
1819
- :GetFileModTime => :long,
1820
- :CompressData => :pointer,
1821
- :DecompressData => :pointer,
1822
- :EncodeDataBase64 => :pointer,
1823
- :DecodeDataBase64 => :pointer,
1824
- :IsKeyPressed => :bool,
1825
- :IsKeyDown => :bool,
1826
- :IsKeyReleased => :bool,
1827
- :IsKeyUp => :bool,
1828
- :SetExitKey => :void,
1829
- :GetKeyPressed => :int,
1830
- :GetCharPressed => :int,
1831
- :IsGamepadAvailable => :bool,
1832
- :GetGamepadName => :pointer,
1833
- :IsGamepadButtonPressed => :bool,
1834
- :IsGamepadButtonDown => :bool,
1835
- :IsGamepadButtonReleased => :bool,
1836
- :IsGamepadButtonUp => :bool,
1837
- :GetGamepadButtonPressed => :int,
1838
- :GetGamepadAxisCount => :int,
1839
- :GetGamepadAxisMovement => :float,
1840
- :SetGamepadMappings => :int,
1841
- :IsMouseButtonPressed => :bool,
1842
- :IsMouseButtonDown => :bool,
1843
- :IsMouseButtonReleased => :bool,
1844
- :IsMouseButtonUp => :bool,
1845
- :GetMouseX => :int,
1846
- :GetMouseY => :int,
1847
- :GetMousePosition => Vector2.by_value,
1848
- :GetMouseDelta => Vector2.by_value,
1849
- :SetMousePosition => :void,
1850
- :SetMouseOffset => :void,
1851
- :SetMouseScale => :void,
1852
- :GetMouseWheelMove => :float,
1853
- :GetMouseWheelMoveV => Vector2.by_value,
1854
- :SetMouseCursor => :void,
1855
- :GetTouchX => :int,
1856
- :GetTouchY => :int,
1857
- :GetTouchPosition => Vector2.by_value,
1858
- :GetTouchPointId => :int,
1859
- :GetTouchPointCount => :int,
1860
- :SetGesturesEnabled => :void,
1861
- :IsGestureDetected => :bool,
1862
- :GetGestureDetected => :int,
1863
- :GetGestureHoldDuration => :float,
1864
- :GetGestureDragVector => Vector2.by_value,
1865
- :GetGestureDragAngle => :float,
1866
- :GetGesturePinchVector => Vector2.by_value,
1867
- :GetGesturePinchAngle => :float,
1868
- :SetCameraMode => :void,
1869
- :UpdateCamera => :void,
1870
- :SetCameraPanControl => :void,
1871
- :SetCameraAltControl => :void,
1872
- :SetCameraSmoothZoomControl => :void,
1873
- :SetCameraMoveControls => :void,
1874
- :SetShapesTexture => :void,
1875
- :DrawPixel => :void,
1876
- :DrawPixelV => :void,
1877
- :DrawLine => :void,
1878
- :DrawLineV => :void,
1879
- :DrawLineEx => :void,
1880
- :DrawLineBezier => :void,
1881
- :DrawLineBezierQuad => :void,
1882
- :DrawLineBezierCubic => :void,
1883
- :DrawLineStrip => :void,
1884
- :DrawCircle => :void,
1885
- :DrawCircleSector => :void,
1886
- :DrawCircleSectorLines => :void,
1887
- :DrawCircleGradient => :void,
1888
- :DrawCircleV => :void,
1889
- :DrawCircleLines => :void,
1890
- :DrawEllipse => :void,
1891
- :DrawEllipseLines => :void,
1892
- :DrawRing => :void,
1893
- :DrawRingLines => :void,
1894
- :DrawRectangle => :void,
1895
- :DrawRectangleV => :void,
1896
- :DrawRectangleRec => :void,
1897
- :DrawRectanglePro => :void,
1898
- :DrawRectangleGradientV => :void,
1899
- :DrawRectangleGradientH => :void,
1900
- :DrawRectangleGradientEx => :void,
1901
- :DrawRectangleLines => :void,
1902
- :DrawRectangleLinesEx => :void,
1903
- :DrawRectangleRounded => :void,
1904
- :DrawRectangleRoundedLines => :void,
1905
- :DrawTriangle => :void,
1906
- :DrawTriangleLines => :void,
1907
- :DrawTriangleFan => :void,
1908
- :DrawTriangleStrip => :void,
1909
- :DrawPoly => :void,
1910
- :DrawPolyLines => :void,
1911
- :DrawPolyLinesEx => :void,
1912
- :CheckCollisionRecs => :bool,
1913
- :CheckCollisionCircles => :bool,
1914
- :CheckCollisionCircleRec => :bool,
1915
- :CheckCollisionPointRec => :bool,
1916
- :CheckCollisionPointCircle => :bool,
1917
- :CheckCollisionPointTriangle => :bool,
1918
- :CheckCollisionLines => :bool,
1919
- :CheckCollisionPointLine => :bool,
1920
- :GetCollisionRec => Rectangle.by_value,
1921
- :LoadImage => Image.by_value,
1922
- :LoadImageRaw => Image.by_value,
1923
- :LoadImageAnim => Image.by_value,
1924
- :LoadImageFromMemory => Image.by_value,
1925
- :LoadImageFromTexture => Image.by_value,
1926
- :LoadImageFromScreen => Image.by_value,
1927
- :UnloadImage => :void,
1928
- :ExportImage => :bool,
1929
- :ExportImageAsCode => :bool,
1930
- :GenImageColor => Image.by_value,
1931
- :GenImageGradientV => Image.by_value,
1932
- :GenImageGradientH => Image.by_value,
1933
- :GenImageGradientRadial => Image.by_value,
1934
- :GenImageChecked => Image.by_value,
1935
- :GenImageWhiteNoise => Image.by_value,
1936
- :GenImageCellular => Image.by_value,
1937
- :ImageCopy => Image.by_value,
1938
- :ImageFromImage => Image.by_value,
1939
- :ImageText => Image.by_value,
1940
- :ImageTextEx => Image.by_value,
1941
- :ImageFormat => :void,
1942
- :ImageToPOT => :void,
1943
- :ImageCrop => :void,
1944
- :ImageAlphaCrop => :void,
1945
- :ImageAlphaClear => :void,
1946
- :ImageAlphaMask => :void,
1947
- :ImageAlphaPremultiply => :void,
1948
- :ImageResize => :void,
1949
- :ImageResizeNN => :void,
1950
- :ImageResizeCanvas => :void,
1951
- :ImageMipmaps => :void,
1952
- :ImageDither => :void,
1953
- :ImageFlipVertical => :void,
1954
- :ImageFlipHorizontal => :void,
1955
- :ImageRotateCW => :void,
1956
- :ImageRotateCCW => :void,
1957
- :ImageColorTint => :void,
1958
- :ImageColorInvert => :void,
1959
- :ImageColorGrayscale => :void,
1960
- :ImageColorContrast => :void,
1961
- :ImageColorBrightness => :void,
1962
- :ImageColorReplace => :void,
1963
- :LoadImageColors => :pointer,
1964
- :LoadImagePalette => :pointer,
1965
- :UnloadImageColors => :void,
1966
- :UnloadImagePalette => :void,
1967
- :GetImageAlphaBorder => Rectangle.by_value,
1968
- :GetImageColor => Color.by_value,
1969
- :ImageClearBackground => :void,
1970
- :ImageDrawPixel => :void,
1971
- :ImageDrawPixelV => :void,
1972
- :ImageDrawLine => :void,
1973
- :ImageDrawLineV => :void,
1974
- :ImageDrawCircle => :void,
1975
- :ImageDrawCircleV => :void,
1976
- :ImageDrawRectangle => :void,
1977
- :ImageDrawRectangleV => :void,
1978
- :ImageDrawRectangleRec => :void,
1979
- :ImageDrawRectangleLines => :void,
1980
- :ImageDraw => :void,
1981
- :ImageDrawText => :void,
1982
- :ImageDrawTextEx => :void,
1983
- :LoadTexture => Texture2D.by_value,
1984
- :LoadTextureFromImage => Texture2D.by_value,
1985
- :LoadTextureCubemap => TextureCubemap.by_value,
1986
- :LoadRenderTexture => RenderTexture2D.by_value,
1987
- :UnloadTexture => :void,
1988
- :UnloadRenderTexture => :void,
1989
- :UpdateTexture => :void,
1990
- :UpdateTextureRec => :void,
1991
- :GenTextureMipmaps => :void,
1992
- :SetTextureFilter => :void,
1993
- :SetTextureWrap => :void,
1994
- :DrawTexture => :void,
1995
- :DrawTextureV => :void,
1996
- :DrawTextureEx => :void,
1997
- :DrawTextureRec => :void,
1998
- :DrawTextureQuad => :void,
1999
- :DrawTextureTiled => :void,
2000
- :DrawTexturePro => :void,
2001
- :DrawTextureNPatch => :void,
2002
- :DrawTexturePoly => :void,
2003
- :Fade => Color.by_value,
2004
- :ColorToInt => :int,
2005
- :ColorNormalize => Vector4.by_value,
2006
- :ColorFromNormalized => Color.by_value,
2007
- :ColorToHSV => Vector3.by_value,
2008
- :ColorFromHSV => Color.by_value,
2009
- :ColorAlpha => Color.by_value,
2010
- :ColorAlphaBlend => Color.by_value,
2011
- :GetColor => Color.by_value,
2012
- :GetPixelColor => Color.by_value,
2013
- :SetPixelColor => :void,
2014
- :GetPixelDataSize => :int,
2015
- :GetFontDefault => Font.by_value,
2016
- :LoadFont => Font.by_value,
2017
- :LoadFontEx => Font.by_value,
2018
- :LoadFontFromImage => Font.by_value,
2019
- :LoadFontFromMemory => Font.by_value,
2020
- :LoadFontData => :pointer,
2021
- :GenImageFontAtlas => Image.by_value,
2022
- :UnloadFontData => :void,
2023
- :UnloadFont => :void,
2024
- :ExportFontAsCode => :bool,
2025
- :DrawFPS => :void,
2026
- :DrawText => :void,
2027
- :DrawTextEx => :void,
2028
- :DrawTextPro => :void,
2029
- :DrawTextCodepoint => :void,
2030
- :DrawTextCodepoints => :void,
2031
- :MeasureText => :int,
2032
- :MeasureTextEx => Vector2.by_value,
2033
- :GetGlyphIndex => :int,
2034
- :GetGlyphInfo => GlyphInfo.by_value,
2035
- :GetGlyphAtlasRec => Rectangle.by_value,
2036
- :LoadCodepoints => :pointer,
2037
- :UnloadCodepoints => :void,
2038
- :GetCodepointCount => :int,
2039
- :GetCodepoint => :int,
2040
- :CodepointToUTF8 => :pointer,
2041
- :TextCodepointsToUTF8 => :pointer,
2042
- :TextCopy => :int,
2043
- :TextIsEqual => :bool,
2044
- :TextLength => :uint,
2045
- :TextFormat => :pointer,
2046
- :TextSubtext => :pointer,
2047
- :TextReplace => :pointer,
2048
- :TextInsert => :pointer,
2049
- :TextJoin => :pointer,
2050
- :TextSplit => :pointer,
2051
- :TextAppend => :void,
2052
- :TextFindIndex => :int,
2053
- :TextToUpper => :pointer,
2054
- :TextToLower => :pointer,
2055
- :TextToPascal => :pointer,
2056
- :TextToInteger => :int,
2057
- :DrawLine3D => :void,
2058
- :DrawPoint3D => :void,
2059
- :DrawCircle3D => :void,
2060
- :DrawTriangle3D => :void,
2061
- :DrawTriangleStrip3D => :void,
2062
- :DrawCube => :void,
2063
- :DrawCubeV => :void,
2064
- :DrawCubeWires => :void,
2065
- :DrawCubeWiresV => :void,
2066
- :DrawCubeTexture => :void,
2067
- :DrawCubeTextureRec => :void,
2068
- :DrawSphere => :void,
2069
- :DrawSphereEx => :void,
2070
- :DrawSphereWires => :void,
2071
- :DrawCylinder => :void,
2072
- :DrawCylinderEx => :void,
2073
- :DrawCylinderWires => :void,
2074
- :DrawCylinderWiresEx => :void,
2075
- :DrawPlane => :void,
2076
- :DrawRay => :void,
2077
- :DrawGrid => :void,
2078
- :LoadModel => Model.by_value,
2079
- :LoadModelFromMesh => Model.by_value,
2080
- :UnloadModel => :void,
2081
- :UnloadModelKeepMeshes => :void,
2082
- :GetModelBoundingBox => BoundingBox.by_value,
2083
- :DrawModel => :void,
2084
- :DrawModelEx => :void,
2085
- :DrawModelWires => :void,
2086
- :DrawModelWiresEx => :void,
2087
- :DrawBoundingBox => :void,
2088
- :DrawBillboard => :void,
2089
- :DrawBillboardRec => :void,
2090
- :DrawBillboardPro => :void,
2091
- :UploadMesh => :void,
2092
- :UpdateMeshBuffer => :void,
2093
- :UnloadMesh => :void,
2094
- :DrawMesh => :void,
2095
- :DrawMeshInstanced => :void,
2096
- :ExportMesh => :bool,
2097
- :GetMeshBoundingBox => BoundingBox.by_value,
2098
- :GenMeshTangents => :void,
2099
- :GenMeshPoly => Mesh.by_value,
2100
- :GenMeshPlane => Mesh.by_value,
2101
- :GenMeshCube => Mesh.by_value,
2102
- :GenMeshSphere => Mesh.by_value,
2103
- :GenMeshHemiSphere => Mesh.by_value,
2104
- :GenMeshCylinder => Mesh.by_value,
2105
- :GenMeshCone => Mesh.by_value,
2106
- :GenMeshTorus => Mesh.by_value,
2107
- :GenMeshKnot => Mesh.by_value,
2108
- :GenMeshHeightmap => Mesh.by_value,
2109
- :GenMeshCubicmap => Mesh.by_value,
2110
- :LoadMaterials => :pointer,
2111
- :LoadMaterialDefault => Material.by_value,
2112
- :UnloadMaterial => :void,
2113
- :SetMaterialTexture => :void,
2114
- :SetModelMeshMaterial => :void,
2115
- :LoadModelAnimations => :pointer,
2116
- :UpdateModelAnimation => :void,
2117
- :UnloadModelAnimation => :void,
2118
- :UnloadModelAnimations => :void,
2119
- :IsModelAnimationValid => :bool,
2120
- :CheckCollisionSpheres => :bool,
2121
- :CheckCollisionBoxes => :bool,
2122
- :CheckCollisionBoxSphere => :bool,
2123
- :GetRayCollisionSphere => RayCollision.by_value,
2124
- :GetRayCollisionBox => RayCollision.by_value,
2125
- :GetRayCollisionMesh => RayCollision.by_value,
2126
- :GetRayCollisionTriangle => RayCollision.by_value,
2127
- :GetRayCollisionQuad => RayCollision.by_value,
2128
- :InitAudioDevice => :void,
2129
- :CloseAudioDevice => :void,
2130
- :IsAudioDeviceReady => :bool,
2131
- :SetMasterVolume => :void,
2132
- :LoadWave => Wave.by_value,
2133
- :LoadWaveFromMemory => Wave.by_value,
2134
- :LoadSound => Sound.by_value,
2135
- :LoadSoundFromWave => Sound.by_value,
2136
- :UpdateSound => :void,
2137
- :UnloadWave => :void,
2138
- :UnloadSound => :void,
2139
- :ExportWave => :bool,
2140
- :ExportWaveAsCode => :bool,
2141
- :PlaySound => :void,
2142
- :StopSound => :void,
2143
- :PauseSound => :void,
2144
- :ResumeSound => :void,
2145
- :PlaySoundMulti => :void,
2146
- :StopSoundMulti => :void,
2147
- :GetSoundsPlaying => :int,
2148
- :IsSoundPlaying => :bool,
2149
- :SetSoundVolume => :void,
2150
- :SetSoundPitch => :void,
2151
- :SetSoundPan => :void,
2152
- :WaveCopy => Wave.by_value,
2153
- :WaveCrop => :void,
2154
- :WaveFormat => :void,
2155
- :LoadWaveSamples => :pointer,
2156
- :UnloadWaveSamples => :void,
2157
- :LoadMusicStream => Music.by_value,
2158
- :LoadMusicStreamFromMemory => Music.by_value,
2159
- :UnloadMusicStream => :void,
2160
- :PlayMusicStream => :void,
2161
- :IsMusicStreamPlaying => :bool,
2162
- :UpdateMusicStream => :void,
2163
- :StopMusicStream => :void,
2164
- :PauseMusicStream => :void,
2165
- :ResumeMusicStream => :void,
2166
- :SeekMusicStream => :void,
2167
- :SetMusicVolume => :void,
2168
- :SetMusicPitch => :void,
2169
- :SetMusicPan => :void,
2170
- :GetMusicTimeLength => :float,
2171
- :GetMusicTimePlayed => :float,
2172
- :LoadAudioStream => AudioStream.by_value,
2173
- :UnloadAudioStream => :void,
2174
- :UpdateAudioStream => :void,
2175
- :IsAudioStreamProcessed => :bool,
2176
- :PlayAudioStream => :void,
2177
- :PauseAudioStream => :void,
2178
- :ResumeAudioStream => :void,
2179
- :IsAudioStreamPlaying => :bool,
2180
- :StopAudioStream => :void,
2181
- :SetAudioStreamVolume => :void,
2182
- :SetAudioStreamPitch => :void,
2183
- :SetAudioStreamPan => :void,
2184
- :SetAudioStreamBufferSizeDefault => :void,
2185
- :SetAudioStreamCallback => :void,
2186
- :AttachAudioStreamProcessor => :void,
2187
- :DetachAudioStreamProcessor => :void,
2188
- }
2189
- symbols.each do |sym|
2190
- begin
2191
- attach_function sym, args[sym], retvals[sym]
2192
- rescue FFI::NotFoundError => error
2193
- $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
2194
- end
2195
- end
2196
- end
2197
-
2198
- end
2199
-
1
+ # Yet another raylib wrapper for Ruby
2
+ #
3
+ # * https://github.com/vaiorabbit/raylib-bindings
4
+ #
5
+ # [NOTICE] This is an automatically generated file.
6
+
7
+ require 'ffi'
8
+
9
+ module Raylib
10
+ extend FFI::Library
11
+ # Define/Macro
12
+
13
+ RAYLIB_VERSION = "4.5-dev"
14
+ DEG2RAD = Math::PI / 180.0
15
+ RAD2DEG = 180.0 / Math::PI
16
+
17
+ # Enum
18
+
19
+ FLAG_VSYNC_HINT = 64
20
+ FLAG_FULLSCREEN_MODE = 2
21
+ FLAG_WINDOW_RESIZABLE = 4
22
+ FLAG_WINDOW_UNDECORATED = 8
23
+ FLAG_WINDOW_HIDDEN = 128
24
+ FLAG_WINDOW_MINIMIZED = 512
25
+ FLAG_WINDOW_MAXIMIZED = 1024
26
+ FLAG_WINDOW_UNFOCUSED = 2048
27
+ FLAG_WINDOW_TOPMOST = 4096
28
+ FLAG_WINDOW_ALWAYS_RUN = 256
29
+ FLAG_WINDOW_TRANSPARENT = 16
30
+ FLAG_WINDOW_HIGHDPI = 8192
31
+ FLAG_WINDOW_MOUSE_PASSTHROUGH = 16384
32
+ FLAG_MSAA_4X_HINT = 32
33
+ FLAG_INTERLACED_HINT = 65536
34
+ LOG_ALL = 0
35
+ LOG_TRACE = 1
36
+ LOG_DEBUG = 2
37
+ LOG_INFO = 3
38
+ LOG_WARNING = 4
39
+ LOG_ERROR = 5
40
+ LOG_FATAL = 6
41
+ LOG_NONE = 7
42
+ KEY_NULL = 0
43
+ KEY_APOSTROPHE = 39
44
+ KEY_COMMA = 44
45
+ KEY_MINUS = 45
46
+ KEY_PERIOD = 46
47
+ KEY_SLASH = 47
48
+ KEY_ZERO = 48
49
+ KEY_ONE = 49
50
+ KEY_TWO = 50
51
+ KEY_THREE = 51
52
+ KEY_FOUR = 52
53
+ KEY_FIVE = 53
54
+ KEY_SIX = 54
55
+ KEY_SEVEN = 55
56
+ KEY_EIGHT = 56
57
+ KEY_NINE = 57
58
+ KEY_SEMICOLON = 59
59
+ KEY_EQUAL = 61
60
+ KEY_A = 65
61
+ KEY_B = 66
62
+ KEY_C = 67
63
+ KEY_D = 68
64
+ KEY_E = 69
65
+ KEY_F = 70
66
+ KEY_G = 71
67
+ KEY_H = 72
68
+ KEY_I = 73
69
+ KEY_J = 74
70
+ KEY_K = 75
71
+ KEY_L = 76
72
+ KEY_M = 77
73
+ KEY_N = 78
74
+ KEY_O = 79
75
+ KEY_P = 80
76
+ KEY_Q = 81
77
+ KEY_R = 82
78
+ KEY_S = 83
79
+ KEY_T = 84
80
+ KEY_U = 85
81
+ KEY_V = 86
82
+ KEY_W = 87
83
+ KEY_X = 88
84
+ KEY_Y = 89
85
+ KEY_Z = 90
86
+ KEY_LEFT_BRACKET = 91
87
+ KEY_BACKSLASH = 92
88
+ KEY_RIGHT_BRACKET = 93
89
+ KEY_GRAVE = 96
90
+ KEY_SPACE = 32
91
+ KEY_ESCAPE = 256
92
+ KEY_ENTER = 257
93
+ KEY_TAB = 258
94
+ KEY_BACKSPACE = 259
95
+ KEY_INSERT = 260
96
+ KEY_DELETE = 261
97
+ KEY_RIGHT = 262
98
+ KEY_LEFT = 263
99
+ KEY_DOWN = 264
100
+ KEY_UP = 265
101
+ KEY_PAGE_UP = 266
102
+ KEY_PAGE_DOWN = 267
103
+ KEY_HOME = 268
104
+ KEY_END = 269
105
+ KEY_CAPS_LOCK = 280
106
+ KEY_SCROLL_LOCK = 281
107
+ KEY_NUM_LOCK = 282
108
+ KEY_PRINT_SCREEN = 283
109
+ KEY_PAUSE = 284
110
+ KEY_F1 = 290
111
+ KEY_F2 = 291
112
+ KEY_F3 = 292
113
+ KEY_F4 = 293
114
+ KEY_F5 = 294
115
+ KEY_F6 = 295
116
+ KEY_F7 = 296
117
+ KEY_F8 = 297
118
+ KEY_F9 = 298
119
+ KEY_F10 = 299
120
+ KEY_F11 = 300
121
+ KEY_F12 = 301
122
+ KEY_LEFT_SHIFT = 340
123
+ KEY_LEFT_CONTROL = 341
124
+ KEY_LEFT_ALT = 342
125
+ KEY_LEFT_SUPER = 343
126
+ KEY_RIGHT_SHIFT = 344
127
+ KEY_RIGHT_CONTROL = 345
128
+ KEY_RIGHT_ALT = 346
129
+ KEY_RIGHT_SUPER = 347
130
+ KEY_KB_MENU = 348
131
+ KEY_KP_0 = 320
132
+ KEY_KP_1 = 321
133
+ KEY_KP_2 = 322
134
+ KEY_KP_3 = 323
135
+ KEY_KP_4 = 324
136
+ KEY_KP_5 = 325
137
+ KEY_KP_6 = 326
138
+ KEY_KP_7 = 327
139
+ KEY_KP_8 = 328
140
+ KEY_KP_9 = 329
141
+ KEY_KP_DECIMAL = 330
142
+ KEY_KP_DIVIDE = 331
143
+ KEY_KP_MULTIPLY = 332
144
+ KEY_KP_SUBTRACT = 333
145
+ KEY_KP_ADD = 334
146
+ KEY_KP_ENTER = 335
147
+ KEY_KP_EQUAL = 336
148
+ KEY_BACK = 4
149
+ KEY_MENU = 82
150
+ KEY_VOLUME_UP = 24
151
+ KEY_VOLUME_DOWN = 25
152
+ MOUSE_BUTTON_LEFT = 0
153
+ MOUSE_BUTTON_RIGHT = 1
154
+ MOUSE_BUTTON_MIDDLE = 2
155
+ MOUSE_BUTTON_SIDE = 3
156
+ MOUSE_BUTTON_EXTRA = 4
157
+ MOUSE_BUTTON_FORWARD = 5
158
+ MOUSE_BUTTON_BACK = 6
159
+ MOUSE_CURSOR_DEFAULT = 0
160
+ MOUSE_CURSOR_ARROW = 1
161
+ MOUSE_CURSOR_IBEAM = 2
162
+ MOUSE_CURSOR_CROSSHAIR = 3
163
+ MOUSE_CURSOR_POINTING_HAND = 4
164
+ MOUSE_CURSOR_RESIZE_EW = 5
165
+ MOUSE_CURSOR_RESIZE_NS = 6
166
+ MOUSE_CURSOR_RESIZE_NWSE = 7
167
+ MOUSE_CURSOR_RESIZE_NESW = 8
168
+ MOUSE_CURSOR_RESIZE_ALL = 9
169
+ MOUSE_CURSOR_NOT_ALLOWED = 10
170
+ GAMEPAD_BUTTON_UNKNOWN = 0
171
+ GAMEPAD_BUTTON_LEFT_FACE_UP = 1
172
+ GAMEPAD_BUTTON_LEFT_FACE_RIGHT = 2
173
+ GAMEPAD_BUTTON_LEFT_FACE_DOWN = 3
174
+ GAMEPAD_BUTTON_LEFT_FACE_LEFT = 4
175
+ GAMEPAD_BUTTON_RIGHT_FACE_UP = 5
176
+ GAMEPAD_BUTTON_RIGHT_FACE_RIGHT = 6
177
+ GAMEPAD_BUTTON_RIGHT_FACE_DOWN = 7
178
+ GAMEPAD_BUTTON_RIGHT_FACE_LEFT = 8
179
+ GAMEPAD_BUTTON_LEFT_TRIGGER_1 = 9
180
+ GAMEPAD_BUTTON_LEFT_TRIGGER_2 = 10
181
+ GAMEPAD_BUTTON_RIGHT_TRIGGER_1 = 11
182
+ GAMEPAD_BUTTON_RIGHT_TRIGGER_2 = 12
183
+ GAMEPAD_BUTTON_MIDDLE_LEFT = 13
184
+ GAMEPAD_BUTTON_MIDDLE = 14
185
+ GAMEPAD_BUTTON_MIDDLE_RIGHT = 15
186
+ GAMEPAD_BUTTON_LEFT_THUMB = 16
187
+ GAMEPAD_BUTTON_RIGHT_THUMB = 17
188
+ GAMEPAD_AXIS_LEFT_X = 0
189
+ GAMEPAD_AXIS_LEFT_Y = 1
190
+ GAMEPAD_AXIS_RIGHT_X = 2
191
+ GAMEPAD_AXIS_RIGHT_Y = 3
192
+ GAMEPAD_AXIS_LEFT_TRIGGER = 4
193
+ GAMEPAD_AXIS_RIGHT_TRIGGER = 5
194
+ MATERIAL_MAP_ALBEDO = 0
195
+ MATERIAL_MAP_METALNESS = 1
196
+ MATERIAL_MAP_NORMAL = 2
197
+ MATERIAL_MAP_ROUGHNESS = 3
198
+ MATERIAL_MAP_OCCLUSION = 4
199
+ MATERIAL_MAP_EMISSION = 5
200
+ MATERIAL_MAP_HEIGHT = 6
201
+ MATERIAL_MAP_CUBEMAP = 7
202
+ MATERIAL_MAP_IRRADIANCE = 8
203
+ MATERIAL_MAP_PREFILTER = 9
204
+ MATERIAL_MAP_BRDF = 10
205
+ SHADER_LOC_VERTEX_POSITION = 0
206
+ SHADER_LOC_VERTEX_TEXCOORD01 = 1
207
+ SHADER_LOC_VERTEX_TEXCOORD02 = 2
208
+ SHADER_LOC_VERTEX_NORMAL = 3
209
+ SHADER_LOC_VERTEX_TANGENT = 4
210
+ SHADER_LOC_VERTEX_COLOR = 5
211
+ SHADER_LOC_MATRIX_MVP = 6
212
+ SHADER_LOC_MATRIX_VIEW = 7
213
+ SHADER_LOC_MATRIX_PROJECTION = 8
214
+ SHADER_LOC_MATRIX_MODEL = 9
215
+ SHADER_LOC_MATRIX_NORMAL = 10
216
+ SHADER_LOC_VECTOR_VIEW = 11
217
+ SHADER_LOC_COLOR_DIFFUSE = 12
218
+ SHADER_LOC_COLOR_SPECULAR = 13
219
+ SHADER_LOC_COLOR_AMBIENT = 14
220
+ SHADER_LOC_MAP_ALBEDO = 15
221
+ SHADER_LOC_MAP_METALNESS = 16
222
+ SHADER_LOC_MAP_NORMAL = 17
223
+ SHADER_LOC_MAP_ROUGHNESS = 18
224
+ SHADER_LOC_MAP_OCCLUSION = 19
225
+ SHADER_LOC_MAP_EMISSION = 20
226
+ SHADER_LOC_MAP_HEIGHT = 21
227
+ SHADER_LOC_MAP_CUBEMAP = 22
228
+ SHADER_LOC_MAP_IRRADIANCE = 23
229
+ SHADER_LOC_MAP_PREFILTER = 24
230
+ SHADER_LOC_MAP_BRDF = 25
231
+ SHADER_UNIFORM_FLOAT = 0
232
+ SHADER_UNIFORM_VEC2 = 1
233
+ SHADER_UNIFORM_VEC3 = 2
234
+ SHADER_UNIFORM_VEC4 = 3
235
+ SHADER_UNIFORM_INT = 4
236
+ SHADER_UNIFORM_IVEC2 = 5
237
+ SHADER_UNIFORM_IVEC3 = 6
238
+ SHADER_UNIFORM_IVEC4 = 7
239
+ SHADER_UNIFORM_SAMPLER2D = 8
240
+ SHADER_ATTRIB_FLOAT = 0
241
+ SHADER_ATTRIB_VEC2 = 1
242
+ SHADER_ATTRIB_VEC3 = 2
243
+ SHADER_ATTRIB_VEC4 = 3
244
+ PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = 1
245
+ PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA = 2
246
+ PIXELFORMAT_UNCOMPRESSED_R5G6B5 = 3
247
+ PIXELFORMAT_UNCOMPRESSED_R8G8B8 = 4
248
+ PIXELFORMAT_UNCOMPRESSED_R5G5B5A1 = 5
249
+ PIXELFORMAT_UNCOMPRESSED_R4G4B4A4 = 6
250
+ PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 = 7
251
+ PIXELFORMAT_UNCOMPRESSED_R32 = 8
252
+ PIXELFORMAT_UNCOMPRESSED_R32G32B32 = 9
253
+ PIXELFORMAT_UNCOMPRESSED_R32G32B32A32 = 10
254
+ PIXELFORMAT_COMPRESSED_DXT1_RGB = 11
255
+ PIXELFORMAT_COMPRESSED_DXT1_RGBA = 12
256
+ PIXELFORMAT_COMPRESSED_DXT3_RGBA = 13
257
+ PIXELFORMAT_COMPRESSED_DXT5_RGBA = 14
258
+ PIXELFORMAT_COMPRESSED_ETC1_RGB = 15
259
+ PIXELFORMAT_COMPRESSED_ETC2_RGB = 16
260
+ PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA = 17
261
+ PIXELFORMAT_COMPRESSED_PVRT_RGB = 18
262
+ PIXELFORMAT_COMPRESSED_PVRT_RGBA = 19
263
+ PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA = 20
264
+ PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA = 21
265
+ TEXTURE_FILTER_POINT = 0
266
+ TEXTURE_FILTER_BILINEAR = 1
267
+ TEXTURE_FILTER_TRILINEAR = 2
268
+ TEXTURE_FILTER_ANISOTROPIC_4X = 3
269
+ TEXTURE_FILTER_ANISOTROPIC_8X = 4
270
+ TEXTURE_FILTER_ANISOTROPIC_16X = 5
271
+ TEXTURE_WRAP_REPEAT = 0
272
+ TEXTURE_WRAP_CLAMP = 1
273
+ TEXTURE_WRAP_MIRROR_REPEAT = 2
274
+ TEXTURE_WRAP_MIRROR_CLAMP = 3
275
+ CUBEMAP_LAYOUT_AUTO_DETECT = 0
276
+ CUBEMAP_LAYOUT_LINE_VERTICAL = 1
277
+ CUBEMAP_LAYOUT_LINE_HORIZONTAL = 2
278
+ CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR = 3
279
+ CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE = 4
280
+ CUBEMAP_LAYOUT_PANORAMA = 5
281
+ FONT_DEFAULT = 0
282
+ FONT_BITMAP = 1
283
+ FONT_SDF = 2
284
+ BLEND_ALPHA = 0
285
+ BLEND_ADDITIVE = 1
286
+ BLEND_MULTIPLIED = 2
287
+ BLEND_ADD_COLORS = 3
288
+ BLEND_SUBTRACT_COLORS = 4
289
+ BLEND_ALPHA_PREMULTIPLY = 5
290
+ BLEND_CUSTOM = 6
291
+ BLEND_CUSTOM_SEPARATE = 7
292
+ GESTURE_NONE = 0
293
+ GESTURE_TAP = 1
294
+ GESTURE_DOUBLETAP = 2
295
+ GESTURE_HOLD = 4
296
+ GESTURE_DRAG = 8
297
+ GESTURE_SWIPE_RIGHT = 16
298
+ GESTURE_SWIPE_LEFT = 32
299
+ GESTURE_SWIPE_UP = 64
300
+ GESTURE_SWIPE_DOWN = 128
301
+ GESTURE_PINCH_IN = 256
302
+ GESTURE_PINCH_OUT = 512
303
+ CAMERA_CUSTOM = 0
304
+ CAMERA_FREE = 1
305
+ CAMERA_ORBITAL = 2
306
+ CAMERA_FIRST_PERSON = 3
307
+ CAMERA_THIRD_PERSON = 4
308
+ CAMERA_PERSPECTIVE = 0
309
+ CAMERA_ORTHOGRAPHIC = 1
310
+ NPATCH_NINE_PATCH = 0
311
+ NPATCH_THREE_PATCH_VERTICAL = 1
312
+ NPATCH_THREE_PATCH_HORIZONTAL = 2
313
+
314
+ # Typedef
315
+
316
+ typedef :int, :ConfigFlags
317
+ typedef :int, :TraceLogLevel
318
+ typedef :int, :KeyboardKey
319
+ typedef :int, :MouseButton
320
+ typedef :int, :MouseCursor
321
+ typedef :int, :GamepadButton
322
+ typedef :int, :GamepadAxis
323
+ typedef :int, :MaterialMapIndex
324
+ typedef :int, :ShaderLocationIndex
325
+ typedef :int, :ShaderUniformDataType
326
+ typedef :int, :ShaderAttributeDataType
327
+ typedef :int, :PixelFormat
328
+ typedef :int, :TextureFilter
329
+ typedef :int, :TextureWrap
330
+ typedef :int, :CubemapLayout
331
+ typedef :int, :FontType
332
+ typedef :int, :BlendMode
333
+ typedef :int, :Gesture
334
+ typedef :int, :CameraMode
335
+ typedef :int, :CameraProjection
336
+ typedef :int, :NPatchLayout
337
+ callback :TraceLogCallback, [:int, :pointer, :int], :void
338
+ callback :LoadFileDataCallback, [:pointer, :pointer], :pointer
339
+ callback :SaveFileDataCallback, [:pointer, :pointer, :uint], :bool
340
+ callback :LoadFileTextCallback, [:pointer], :pointer
341
+ callback :SaveFileTextCallback, [:pointer, :pointer], :bool
342
+ callback :AudioCallback, [:pointer, :uint], :void
343
+
344
+ # Struct
345
+
346
+ class Vector2 < FFI::Struct
347
+ layout(
348
+ :x, :float,
349
+ :y, :float,
350
+ )
351
+ end
352
+
353
+ class Vector3 < FFI::Struct
354
+ layout(
355
+ :x, :float,
356
+ :y, :float,
357
+ :z, :float,
358
+ )
359
+ end
360
+
361
+ class Vector4 < FFI::Struct
362
+ layout(
363
+ :x, :float,
364
+ :y, :float,
365
+ :z, :float,
366
+ :w, :float,
367
+ )
368
+ end
369
+
370
+ Quaternion = Vector4
371
+
372
+ class Matrix < FFI::Struct
373
+ layout(
374
+ :m0, :float,
375
+ :m4, :float,
376
+ :m8, :float,
377
+ :m12, :float,
378
+ :m1, :float,
379
+ :m5, :float,
380
+ :m9, :float,
381
+ :m13, :float,
382
+ :m2, :float,
383
+ :m6, :float,
384
+ :m10, :float,
385
+ :m14, :float,
386
+ :m3, :float,
387
+ :m7, :float,
388
+ :m11, :float,
389
+ :m15, :float,
390
+ )
391
+ end
392
+
393
+ class Color < FFI::Struct
394
+ layout(
395
+ :r, :uchar,
396
+ :g, :uchar,
397
+ :b, :uchar,
398
+ :a, :uchar,
399
+ )
400
+ end
401
+
402
+ class Rectangle < FFI::Struct
403
+ layout(
404
+ :x, :float,
405
+ :y, :float,
406
+ :width, :float,
407
+ :height, :float,
408
+ )
409
+ end
410
+
411
+ class Image < FFI::Struct
412
+ layout(
413
+ :data, :pointer,
414
+ :width, :int,
415
+ :height, :int,
416
+ :mipmaps, :int,
417
+ :format, :int,
418
+ )
419
+ end
420
+
421
+ class Texture < FFI::Struct
422
+ layout(
423
+ :id, :uint,
424
+ :width, :int,
425
+ :height, :int,
426
+ :mipmaps, :int,
427
+ :format, :int,
428
+ )
429
+ end
430
+
431
+ Texture2D = Texture
432
+ TextureCubemap = Texture
433
+
434
+ class RenderTexture < FFI::Struct
435
+ layout(
436
+ :id, :uint,
437
+ :texture, Texture,
438
+ :depth, Texture,
439
+ )
440
+ end
441
+
442
+ RenderTexture2D = RenderTexture
443
+
444
+ class NPatchInfo < FFI::Struct
445
+ layout(
446
+ :source, Rectangle,
447
+ :left, :int,
448
+ :top, :int,
449
+ :right, :int,
450
+ :bottom, :int,
451
+ :layout, :int,
452
+ )
453
+ end
454
+
455
+ class GlyphInfo < FFI::Struct
456
+ layout(
457
+ :value, :int,
458
+ :offsetX, :int,
459
+ :offsetY, :int,
460
+ :advanceX, :int,
461
+ :image, Image,
462
+ )
463
+ end
464
+
465
+ class Font < FFI::Struct
466
+ layout(
467
+ :baseSize, :int,
468
+ :glyphCount, :int,
469
+ :glyphPadding, :int,
470
+ :texture, Texture2D,
471
+ :recs, :pointer,
472
+ :glyphs, :pointer,
473
+ )
474
+ end
475
+
476
+ class Camera3D < FFI::Struct
477
+ layout(
478
+ :position, Vector3,
479
+ :target, Vector3,
480
+ :up, Vector3,
481
+ :fovy, :float,
482
+ :projection, :int,
483
+ )
484
+ end
485
+
486
+ Camera = Camera3D
487
+
488
+ class Camera2D < FFI::Struct
489
+ layout(
490
+ :offset, Vector2,
491
+ :target, Vector2,
492
+ :rotation, :float,
493
+ :zoom, :float,
494
+ )
495
+ end
496
+
497
+ class Mesh < FFI::Struct
498
+ layout(
499
+ :vertexCount, :int,
500
+ :triangleCount, :int,
501
+ :vertices, :pointer,
502
+ :texcoords, :pointer,
503
+ :texcoords2, :pointer,
504
+ :normals, :pointer,
505
+ :tangents, :pointer,
506
+ :colors, :pointer,
507
+ :indices, :pointer,
508
+ :animVertices, :pointer,
509
+ :animNormals, :pointer,
510
+ :boneIds, :pointer,
511
+ :boneWeights, :pointer,
512
+ :vaoId, :uint,
513
+ :vboId, :pointer,
514
+ )
515
+ end
516
+
517
+ class Shader < FFI::Struct
518
+ layout(
519
+ :id, :uint,
520
+ :locs, :pointer,
521
+ )
522
+ end
523
+
524
+ class MaterialMap < FFI::Struct
525
+ layout(
526
+ :texture, Texture2D,
527
+ :color, Color,
528
+ :value, :float,
529
+ )
530
+ end
531
+
532
+ class Material < FFI::Struct
533
+ layout(
534
+ :shader, Shader,
535
+ :maps, :pointer,
536
+ :params, [:float, 4],
537
+ )
538
+ end
539
+
540
+ class Transform < FFI::Struct
541
+ layout(
542
+ :translation, Vector3,
543
+ :rotation, Quaternion,
544
+ :scale, Vector3,
545
+ )
546
+ end
547
+
548
+ class BoneInfo < FFI::Struct
549
+ layout(
550
+ :name, [:char, 32],
551
+ :parent, :int,
552
+ )
553
+ end
554
+
555
+ class Model < FFI::Struct
556
+ layout(
557
+ :transform, Matrix,
558
+ :meshCount, :int,
559
+ :materialCount, :int,
560
+ :meshes, :pointer,
561
+ :materials, :pointer,
562
+ :meshMaterial, :pointer,
563
+ :boneCount, :int,
564
+ :bones, :pointer,
565
+ :bindPose, :pointer,
566
+ )
567
+ end
568
+
569
+ class ModelAnimation < FFI::Struct
570
+ layout(
571
+ :boneCount, :int,
572
+ :frameCount, :int,
573
+ :bones, :pointer,
574
+ :framePoses, :pointer,
575
+ )
576
+ end
577
+
578
+ class Ray < FFI::Struct
579
+ layout(
580
+ :position, Vector3,
581
+ :direction, Vector3,
582
+ )
583
+ end
584
+
585
+ class RayCollision < FFI::Struct
586
+ layout(
587
+ :hit, :bool,
588
+ :distance, :float,
589
+ :point, Vector3,
590
+ :normal, Vector3,
591
+ )
592
+ end
593
+
594
+ class BoundingBox < FFI::Struct
595
+ layout(
596
+ :min, Vector3,
597
+ :max, Vector3,
598
+ )
599
+ end
600
+
601
+ class Wave < FFI::Struct
602
+ layout(
603
+ :frameCount, :uint,
604
+ :sampleRate, :uint,
605
+ :sampleSize, :uint,
606
+ :channels, :uint,
607
+ :data, :pointer,
608
+ )
609
+ end
610
+
611
+ class AudioStream < FFI::Struct
612
+ layout(
613
+ :buffer, :pointer,
614
+ :processor, :pointer,
615
+ :sampleRate, :uint,
616
+ :sampleSize, :uint,
617
+ :channels, :uint,
618
+ )
619
+ end
620
+
621
+ class Sound < FFI::Struct
622
+ layout(
623
+ :stream, AudioStream,
624
+ :frameCount, :uint,
625
+ )
626
+ end
627
+
628
+ class Music < FFI::Struct
629
+ layout(
630
+ :stream, AudioStream,
631
+ :frameCount, :uint,
632
+ :looping, :bool,
633
+ :ctxType, :int,
634
+ :ctxData, :pointer,
635
+ )
636
+ end
637
+
638
+ class VrDeviceInfo < FFI::Struct
639
+ layout(
640
+ :hResolution, :int,
641
+ :vResolution, :int,
642
+ :hScreenSize, :float,
643
+ :vScreenSize, :float,
644
+ :vScreenCenter, :float,
645
+ :eyeToScreenDistance, :float,
646
+ :lensSeparationDistance, :float,
647
+ :interpupillaryDistance, :float,
648
+ :lensDistortionValues, [:float, 4],
649
+ :chromaAbCorrection, [:float, 4],
650
+ )
651
+ end
652
+
653
+ class VrStereoConfig < FFI::Struct
654
+ layout(
655
+ :projection, [Matrix, 2],
656
+ :viewOffset, [Matrix, 2],
657
+ :leftLensCenter, [:float, 2],
658
+ :rightLensCenter, [:float, 2],
659
+ :leftScreenCenter, [:float, 2],
660
+ :rightScreenCenter, [:float, 2],
661
+ :scale, [:float, 2],
662
+ :scaleIn, [:float, 2],
663
+ )
664
+ end
665
+
666
+ class FilePathList < FFI::Struct
667
+ layout(
668
+ :capacity, :uint,
669
+ :count, :uint,
670
+ :paths, :pointer,
671
+ )
672
+ end
673
+
674
+
675
+ # Function
676
+
677
+ def self.setup_raylib_symbols()
678
+ symbols = [
679
+ :InitWindow,
680
+ :WindowShouldClose,
681
+ :CloseWindow,
682
+ :IsWindowReady,
683
+ :IsWindowFullscreen,
684
+ :IsWindowHidden,
685
+ :IsWindowMinimized,
686
+ :IsWindowMaximized,
687
+ :IsWindowFocused,
688
+ :IsWindowResized,
689
+ :IsWindowState,
690
+ :SetWindowState,
691
+ :ClearWindowState,
692
+ :ToggleFullscreen,
693
+ :MaximizeWindow,
694
+ :MinimizeWindow,
695
+ :RestoreWindow,
696
+ :SetWindowIcon,
697
+ :SetWindowTitle,
698
+ :SetWindowPosition,
699
+ :SetWindowMonitor,
700
+ :SetWindowMinSize,
701
+ :SetWindowSize,
702
+ :SetWindowOpacity,
703
+ :GetWindowHandle,
704
+ :GetScreenWidth,
705
+ :GetScreenHeight,
706
+ :GetRenderWidth,
707
+ :GetRenderHeight,
708
+ :GetMonitorCount,
709
+ :GetCurrentMonitor,
710
+ :GetMonitorPosition,
711
+ :GetMonitorWidth,
712
+ :GetMonitorHeight,
713
+ :GetMonitorPhysicalWidth,
714
+ :GetMonitorPhysicalHeight,
715
+ :GetMonitorRefreshRate,
716
+ :GetWindowPosition,
717
+ :GetWindowScaleDPI,
718
+ :GetMonitorName,
719
+ :SetClipboardText,
720
+ :GetClipboardText,
721
+ :EnableEventWaiting,
722
+ :DisableEventWaiting,
723
+ :SwapScreenBuffer,
724
+ :PollInputEvents,
725
+ :WaitTime,
726
+ :ShowCursor,
727
+ :HideCursor,
728
+ :IsCursorHidden,
729
+ :EnableCursor,
730
+ :DisableCursor,
731
+ :IsCursorOnScreen,
732
+ :ClearBackground,
733
+ :BeginDrawing,
734
+ :EndDrawing,
735
+ :BeginMode2D,
736
+ :EndMode2D,
737
+ :BeginMode3D,
738
+ :EndMode3D,
739
+ :BeginTextureMode,
740
+ :EndTextureMode,
741
+ :BeginShaderMode,
742
+ :EndShaderMode,
743
+ :BeginBlendMode,
744
+ :EndBlendMode,
745
+ :BeginScissorMode,
746
+ :EndScissorMode,
747
+ :BeginVrStereoMode,
748
+ :EndVrStereoMode,
749
+ :LoadVrStereoConfig,
750
+ :UnloadVrStereoConfig,
751
+ :LoadShader,
752
+ :LoadShaderFromMemory,
753
+ :GetShaderLocation,
754
+ :GetShaderLocationAttrib,
755
+ :SetShaderValue,
756
+ :SetShaderValueV,
757
+ :SetShaderValueMatrix,
758
+ :SetShaderValueTexture,
759
+ :UnloadShader,
760
+ :GetMouseRay,
761
+ :GetCameraMatrix,
762
+ :GetCameraMatrix2D,
763
+ :GetWorldToScreen,
764
+ :GetScreenToWorld2D,
765
+ :GetWorldToScreenEx,
766
+ :GetWorldToScreen2D,
767
+ :SetTargetFPS,
768
+ :GetFPS,
769
+ :GetFrameTime,
770
+ :GetTime,
771
+ :GetRandomValue,
772
+ :SetRandomSeed,
773
+ :TakeScreenshot,
774
+ :SetConfigFlags,
775
+ :TraceLog,
776
+ :SetTraceLogLevel,
777
+ :MemAlloc,
778
+ :MemRealloc,
779
+ :MemFree,
780
+ :OpenURL,
781
+ :SetTraceLogCallback,
782
+ :SetLoadFileDataCallback,
783
+ :SetSaveFileDataCallback,
784
+ :SetLoadFileTextCallback,
785
+ :SetSaveFileTextCallback,
786
+ :LoadFileData,
787
+ :UnloadFileData,
788
+ :SaveFileData,
789
+ :ExportDataAsCode,
790
+ :LoadFileText,
791
+ :UnloadFileText,
792
+ :SaveFileText,
793
+ :FileExists,
794
+ :DirectoryExists,
795
+ :IsFileExtension,
796
+ :GetFileLength,
797
+ :GetFileExtension,
798
+ :GetFileName,
799
+ :GetFileNameWithoutExt,
800
+ :GetDirectoryPath,
801
+ :GetPrevDirectoryPath,
802
+ :GetWorkingDirectory,
803
+ :GetApplicationDirectory,
804
+ :ChangeDirectory,
805
+ :IsPathFile,
806
+ :LoadDirectoryFiles,
807
+ :LoadDirectoryFilesEx,
808
+ :UnloadDirectoryFiles,
809
+ :IsFileDropped,
810
+ :LoadDroppedFiles,
811
+ :UnloadDroppedFiles,
812
+ :GetFileModTime,
813
+ :CompressData,
814
+ :DecompressData,
815
+ :EncodeDataBase64,
816
+ :DecodeDataBase64,
817
+ :IsKeyPressed,
818
+ :IsKeyDown,
819
+ :IsKeyReleased,
820
+ :IsKeyUp,
821
+ :SetExitKey,
822
+ :GetKeyPressed,
823
+ :GetCharPressed,
824
+ :IsGamepadAvailable,
825
+ :GetGamepadName,
826
+ :IsGamepadButtonPressed,
827
+ :IsGamepadButtonDown,
828
+ :IsGamepadButtonReleased,
829
+ :IsGamepadButtonUp,
830
+ :GetGamepadButtonPressed,
831
+ :GetGamepadAxisCount,
832
+ :GetGamepadAxisMovement,
833
+ :SetGamepadMappings,
834
+ :IsMouseButtonPressed,
835
+ :IsMouseButtonDown,
836
+ :IsMouseButtonReleased,
837
+ :IsMouseButtonUp,
838
+ :GetMouseX,
839
+ :GetMouseY,
840
+ :GetMousePosition,
841
+ :GetMouseDelta,
842
+ :SetMousePosition,
843
+ :SetMouseOffset,
844
+ :SetMouseScale,
845
+ :GetMouseWheelMove,
846
+ :GetMouseWheelMoveV,
847
+ :SetMouseCursor,
848
+ :GetTouchX,
849
+ :GetTouchY,
850
+ :GetTouchPosition,
851
+ :GetTouchPointId,
852
+ :GetTouchPointCount,
853
+ :SetGesturesEnabled,
854
+ :IsGestureDetected,
855
+ :GetGestureDetected,
856
+ :GetGestureHoldDuration,
857
+ :GetGestureDragVector,
858
+ :GetGestureDragAngle,
859
+ :GetGesturePinchVector,
860
+ :GetGesturePinchAngle,
861
+ :SetCameraMode,
862
+ :UpdateCamera,
863
+ :SetCameraPanControl,
864
+ :SetCameraAltControl,
865
+ :SetCameraSmoothZoomControl,
866
+ :SetCameraMoveControls,
867
+ :SetShapesTexture,
868
+ :DrawPixel,
869
+ :DrawPixelV,
870
+ :DrawLine,
871
+ :DrawLineV,
872
+ :DrawLineEx,
873
+ :DrawLineBezier,
874
+ :DrawLineBezierQuad,
875
+ :DrawLineBezierCubic,
876
+ :DrawLineStrip,
877
+ :DrawCircle,
878
+ :DrawCircleSector,
879
+ :DrawCircleSectorLines,
880
+ :DrawCircleGradient,
881
+ :DrawCircleV,
882
+ :DrawCircleLines,
883
+ :DrawEllipse,
884
+ :DrawEllipseLines,
885
+ :DrawRing,
886
+ :DrawRingLines,
887
+ :DrawRectangle,
888
+ :DrawRectangleV,
889
+ :DrawRectangleRec,
890
+ :DrawRectanglePro,
891
+ :DrawRectangleGradientV,
892
+ :DrawRectangleGradientH,
893
+ :DrawRectangleGradientEx,
894
+ :DrawRectangleLines,
895
+ :DrawRectangleLinesEx,
896
+ :DrawRectangleRounded,
897
+ :DrawRectangleRoundedLines,
898
+ :DrawTriangle,
899
+ :DrawTriangleLines,
900
+ :DrawTriangleFan,
901
+ :DrawTriangleStrip,
902
+ :DrawPoly,
903
+ :DrawPolyLines,
904
+ :DrawPolyLinesEx,
905
+ :CheckCollisionRecs,
906
+ :CheckCollisionCircles,
907
+ :CheckCollisionCircleRec,
908
+ :CheckCollisionPointRec,
909
+ :CheckCollisionPointCircle,
910
+ :CheckCollisionPointTriangle,
911
+ :CheckCollisionPointPoly,
912
+ :CheckCollisionLines,
913
+ :CheckCollisionPointLine,
914
+ :GetCollisionRec,
915
+ :LoadImage,
916
+ :LoadImageRaw,
917
+ :LoadImageAnim,
918
+ :LoadImageFromMemory,
919
+ :LoadImageFromTexture,
920
+ :LoadImageFromScreen,
921
+ :UnloadImage,
922
+ :ExportImage,
923
+ :ExportImageAsCode,
924
+ :GenImageColor,
925
+ :GenImageGradientV,
926
+ :GenImageGradientH,
927
+ :GenImageGradientRadial,
928
+ :GenImageChecked,
929
+ :GenImageWhiteNoise,
930
+ :GenImagePerlinNoise,
931
+ :GenImageCellular,
932
+ :GenImageText,
933
+ :ImageCopy,
934
+ :ImageFromImage,
935
+ :ImageText,
936
+ :ImageTextEx,
937
+ :ImageFormat,
938
+ :ImageToPOT,
939
+ :ImageCrop,
940
+ :ImageAlphaCrop,
941
+ :ImageAlphaClear,
942
+ :ImageAlphaMask,
943
+ :ImageAlphaPremultiply,
944
+ :ImageResize,
945
+ :ImageResizeNN,
946
+ :ImageResizeCanvas,
947
+ :ImageMipmaps,
948
+ :ImageDither,
949
+ :ImageFlipVertical,
950
+ :ImageFlipHorizontal,
951
+ :ImageRotateCW,
952
+ :ImageRotateCCW,
953
+ :ImageColorTint,
954
+ :ImageColorInvert,
955
+ :ImageColorGrayscale,
956
+ :ImageColorContrast,
957
+ :ImageColorBrightness,
958
+ :ImageColorReplace,
959
+ :LoadImageColors,
960
+ :LoadImagePalette,
961
+ :UnloadImageColors,
962
+ :UnloadImagePalette,
963
+ :GetImageAlphaBorder,
964
+ :GetImageColor,
965
+ :ImageClearBackground,
966
+ :ImageDrawPixel,
967
+ :ImageDrawPixelV,
968
+ :ImageDrawLine,
969
+ :ImageDrawLineV,
970
+ :ImageDrawCircle,
971
+ :ImageDrawCircleV,
972
+ :ImageDrawCircleLines,
973
+ :ImageDrawCircleLinesV,
974
+ :ImageDrawRectangle,
975
+ :ImageDrawRectangleV,
976
+ :ImageDrawRectangleRec,
977
+ :ImageDrawRectangleLines,
978
+ :ImageDraw,
979
+ :ImageDrawText,
980
+ :ImageDrawTextEx,
981
+ :LoadTexture,
982
+ :LoadTextureFromImage,
983
+ :LoadTextureCubemap,
984
+ :LoadRenderTexture,
985
+ :UnloadTexture,
986
+ :UnloadRenderTexture,
987
+ :UpdateTexture,
988
+ :UpdateTextureRec,
989
+ :GenTextureMipmaps,
990
+ :SetTextureFilter,
991
+ :SetTextureWrap,
992
+ :DrawTexture,
993
+ :DrawTextureV,
994
+ :DrawTextureEx,
995
+ :DrawTextureRec,
996
+ :DrawTextureQuad,
997
+ :DrawTextureTiled,
998
+ :DrawTexturePro,
999
+ :DrawTextureNPatch,
1000
+ :DrawTexturePoly,
1001
+ :Fade,
1002
+ :ColorToInt,
1003
+ :ColorNormalize,
1004
+ :ColorFromNormalized,
1005
+ :ColorToHSV,
1006
+ :ColorFromHSV,
1007
+ :ColorAlpha,
1008
+ :ColorAlphaBlend,
1009
+ :GetColor,
1010
+ :GetPixelColor,
1011
+ :SetPixelColor,
1012
+ :GetPixelDataSize,
1013
+ :GetFontDefault,
1014
+ :LoadFont,
1015
+ :LoadFontEx,
1016
+ :LoadFontFromImage,
1017
+ :LoadFontFromMemory,
1018
+ :LoadFontData,
1019
+ :GenImageFontAtlas,
1020
+ :UnloadFontData,
1021
+ :UnloadFont,
1022
+ :ExportFontAsCode,
1023
+ :DrawFPS,
1024
+ :DrawText,
1025
+ :DrawTextEx,
1026
+ :DrawTextPro,
1027
+ :DrawTextCodepoint,
1028
+ :DrawTextCodepoints,
1029
+ :MeasureText,
1030
+ :MeasureTextEx,
1031
+ :GetGlyphIndex,
1032
+ :GetGlyphInfo,
1033
+ :GetGlyphAtlasRec,
1034
+ :LoadUTF8,
1035
+ :UnloadUTF8,
1036
+ :LoadCodepoints,
1037
+ :UnloadCodepoints,
1038
+ :GetCodepointCount,
1039
+ :GetCodepoint,
1040
+ :GetCodepointNext,
1041
+ :GetCodepointPrevious,
1042
+ :CodepointToUTF8,
1043
+ :TextCopy,
1044
+ :TextIsEqual,
1045
+ :TextLength,
1046
+ :TextFormat,
1047
+ :TextSubtext,
1048
+ :TextReplace,
1049
+ :TextInsert,
1050
+ :TextJoin,
1051
+ :TextSplit,
1052
+ :TextAppend,
1053
+ :TextFindIndex,
1054
+ :TextToUpper,
1055
+ :TextToLower,
1056
+ :TextToPascal,
1057
+ :TextToInteger,
1058
+ :DrawLine3D,
1059
+ :DrawPoint3D,
1060
+ :DrawCircle3D,
1061
+ :DrawTriangle3D,
1062
+ :DrawTriangleStrip3D,
1063
+ :DrawCube,
1064
+ :DrawCubeV,
1065
+ :DrawCubeWires,
1066
+ :DrawCubeWiresV,
1067
+ :DrawCubeTexture,
1068
+ :DrawCubeTextureRec,
1069
+ :DrawSphere,
1070
+ :DrawSphereEx,
1071
+ :DrawSphereWires,
1072
+ :DrawCylinder,
1073
+ :DrawCylinderEx,
1074
+ :DrawCylinderWires,
1075
+ :DrawCylinderWiresEx,
1076
+ :DrawPlane,
1077
+ :DrawRay,
1078
+ :DrawGrid,
1079
+ :LoadModel,
1080
+ :LoadModelFromMesh,
1081
+ :UnloadModel,
1082
+ :UnloadModelKeepMeshes,
1083
+ :GetModelBoundingBox,
1084
+ :DrawModel,
1085
+ :DrawModelEx,
1086
+ :DrawModelWires,
1087
+ :DrawModelWiresEx,
1088
+ :DrawBoundingBox,
1089
+ :DrawBillboard,
1090
+ :DrawBillboardRec,
1091
+ :DrawBillboardPro,
1092
+ :UploadMesh,
1093
+ :UpdateMeshBuffer,
1094
+ :UnloadMesh,
1095
+ :DrawMesh,
1096
+ :DrawMeshInstanced,
1097
+ :ExportMesh,
1098
+ :GetMeshBoundingBox,
1099
+ :GenMeshTangents,
1100
+ :GenMeshPoly,
1101
+ :GenMeshPlane,
1102
+ :GenMeshCube,
1103
+ :GenMeshSphere,
1104
+ :GenMeshHemiSphere,
1105
+ :GenMeshCylinder,
1106
+ :GenMeshCone,
1107
+ :GenMeshTorus,
1108
+ :GenMeshKnot,
1109
+ :GenMeshHeightmap,
1110
+ :GenMeshCubicmap,
1111
+ :LoadMaterials,
1112
+ :LoadMaterialDefault,
1113
+ :UnloadMaterial,
1114
+ :SetMaterialTexture,
1115
+ :SetModelMeshMaterial,
1116
+ :LoadModelAnimations,
1117
+ :UpdateModelAnimation,
1118
+ :UnloadModelAnimation,
1119
+ :UnloadModelAnimations,
1120
+ :IsModelAnimationValid,
1121
+ :CheckCollisionSpheres,
1122
+ :CheckCollisionBoxes,
1123
+ :CheckCollisionBoxSphere,
1124
+ :GetRayCollisionSphere,
1125
+ :GetRayCollisionBox,
1126
+ :GetRayCollisionMesh,
1127
+ :GetRayCollisionTriangle,
1128
+ :GetRayCollisionQuad,
1129
+ :InitAudioDevice,
1130
+ :CloseAudioDevice,
1131
+ :IsAudioDeviceReady,
1132
+ :SetMasterVolume,
1133
+ :LoadWave,
1134
+ :LoadWaveFromMemory,
1135
+ :LoadSound,
1136
+ :LoadSoundFromWave,
1137
+ :UpdateSound,
1138
+ :UnloadWave,
1139
+ :UnloadSound,
1140
+ :ExportWave,
1141
+ :ExportWaveAsCode,
1142
+ :PlaySound,
1143
+ :StopSound,
1144
+ :PauseSound,
1145
+ :ResumeSound,
1146
+ :PlaySoundMulti,
1147
+ :StopSoundMulti,
1148
+ :GetSoundsPlaying,
1149
+ :IsSoundPlaying,
1150
+ :SetSoundVolume,
1151
+ :SetSoundPitch,
1152
+ :SetSoundPan,
1153
+ :WaveCopy,
1154
+ :WaveCrop,
1155
+ :WaveFormat,
1156
+ :LoadWaveSamples,
1157
+ :UnloadWaveSamples,
1158
+ :LoadMusicStream,
1159
+ :LoadMusicStreamFromMemory,
1160
+ :UnloadMusicStream,
1161
+ :PlayMusicStream,
1162
+ :IsMusicStreamPlaying,
1163
+ :UpdateMusicStream,
1164
+ :StopMusicStream,
1165
+ :PauseMusicStream,
1166
+ :ResumeMusicStream,
1167
+ :SeekMusicStream,
1168
+ :SetMusicVolume,
1169
+ :SetMusicPitch,
1170
+ :SetMusicPan,
1171
+ :GetMusicTimeLength,
1172
+ :GetMusicTimePlayed,
1173
+ :LoadAudioStream,
1174
+ :UnloadAudioStream,
1175
+ :UpdateAudioStream,
1176
+ :IsAudioStreamProcessed,
1177
+ :PlayAudioStream,
1178
+ :PauseAudioStream,
1179
+ :ResumeAudioStream,
1180
+ :IsAudioStreamPlaying,
1181
+ :StopAudioStream,
1182
+ :SetAudioStreamVolume,
1183
+ :SetAudioStreamPitch,
1184
+ :SetAudioStreamPan,
1185
+ :SetAudioStreamBufferSizeDefault,
1186
+ :SetAudioStreamCallback,
1187
+ :AttachAudioStreamProcessor,
1188
+ :DetachAudioStreamProcessor,
1189
+ ]
1190
+ args = {
1191
+ :InitWindow => [:int, :int, :pointer],
1192
+ :WindowShouldClose => [],
1193
+ :CloseWindow => [],
1194
+ :IsWindowReady => [],
1195
+ :IsWindowFullscreen => [],
1196
+ :IsWindowHidden => [],
1197
+ :IsWindowMinimized => [],
1198
+ :IsWindowMaximized => [],
1199
+ :IsWindowFocused => [],
1200
+ :IsWindowResized => [],
1201
+ :IsWindowState => [:uint],
1202
+ :SetWindowState => [:uint],
1203
+ :ClearWindowState => [:uint],
1204
+ :ToggleFullscreen => [],
1205
+ :MaximizeWindow => [],
1206
+ :MinimizeWindow => [],
1207
+ :RestoreWindow => [],
1208
+ :SetWindowIcon => [Image.by_value],
1209
+ :SetWindowTitle => [:pointer],
1210
+ :SetWindowPosition => [:int, :int],
1211
+ :SetWindowMonitor => [:int],
1212
+ :SetWindowMinSize => [:int, :int],
1213
+ :SetWindowSize => [:int, :int],
1214
+ :SetWindowOpacity => [:float],
1215
+ :GetWindowHandle => [],
1216
+ :GetScreenWidth => [],
1217
+ :GetScreenHeight => [],
1218
+ :GetRenderWidth => [],
1219
+ :GetRenderHeight => [],
1220
+ :GetMonitorCount => [],
1221
+ :GetCurrentMonitor => [],
1222
+ :GetMonitorPosition => [:int],
1223
+ :GetMonitorWidth => [:int],
1224
+ :GetMonitorHeight => [:int],
1225
+ :GetMonitorPhysicalWidth => [:int],
1226
+ :GetMonitorPhysicalHeight => [:int],
1227
+ :GetMonitorRefreshRate => [:int],
1228
+ :GetWindowPosition => [],
1229
+ :GetWindowScaleDPI => [],
1230
+ :GetMonitorName => [:int],
1231
+ :SetClipboardText => [:pointer],
1232
+ :GetClipboardText => [],
1233
+ :EnableEventWaiting => [],
1234
+ :DisableEventWaiting => [],
1235
+ :SwapScreenBuffer => [],
1236
+ :PollInputEvents => [],
1237
+ :WaitTime => [:double],
1238
+ :ShowCursor => [],
1239
+ :HideCursor => [],
1240
+ :IsCursorHidden => [],
1241
+ :EnableCursor => [],
1242
+ :DisableCursor => [],
1243
+ :IsCursorOnScreen => [],
1244
+ :ClearBackground => [Color.by_value],
1245
+ :BeginDrawing => [],
1246
+ :EndDrawing => [],
1247
+ :BeginMode2D => [Camera2D.by_value],
1248
+ :EndMode2D => [],
1249
+ :BeginMode3D => [Camera3D.by_value],
1250
+ :EndMode3D => [],
1251
+ :BeginTextureMode => [RenderTexture2D.by_value],
1252
+ :EndTextureMode => [],
1253
+ :BeginShaderMode => [Shader.by_value],
1254
+ :EndShaderMode => [],
1255
+ :BeginBlendMode => [:int],
1256
+ :EndBlendMode => [],
1257
+ :BeginScissorMode => [:int, :int, :int, :int],
1258
+ :EndScissorMode => [],
1259
+ :BeginVrStereoMode => [VrStereoConfig.by_value],
1260
+ :EndVrStereoMode => [],
1261
+ :LoadVrStereoConfig => [VrDeviceInfo.by_value],
1262
+ :UnloadVrStereoConfig => [VrStereoConfig.by_value],
1263
+ :LoadShader => [:pointer, :pointer],
1264
+ :LoadShaderFromMemory => [:pointer, :pointer],
1265
+ :GetShaderLocation => [Shader.by_value, :pointer],
1266
+ :GetShaderLocationAttrib => [Shader.by_value, :pointer],
1267
+ :SetShaderValue => [Shader.by_value, :int, :pointer, :int],
1268
+ :SetShaderValueV => [Shader.by_value, :int, :pointer, :int, :int],
1269
+ :SetShaderValueMatrix => [Shader.by_value, :int, Matrix.by_value],
1270
+ :SetShaderValueTexture => [Shader.by_value, :int, Texture2D.by_value],
1271
+ :UnloadShader => [Shader.by_value],
1272
+ :GetMouseRay => [Vector2.by_value, Camera.by_value],
1273
+ :GetCameraMatrix => [Camera.by_value],
1274
+ :GetCameraMatrix2D => [Camera2D.by_value],
1275
+ :GetWorldToScreen => [Vector3.by_value, Camera.by_value],
1276
+ :GetScreenToWorld2D => [Vector2.by_value, Camera2D.by_value],
1277
+ :GetWorldToScreenEx => [Vector3.by_value, Camera.by_value, :int, :int],
1278
+ :GetWorldToScreen2D => [Vector2.by_value, Camera2D.by_value],
1279
+ :SetTargetFPS => [:int],
1280
+ :GetFPS => [],
1281
+ :GetFrameTime => [],
1282
+ :GetTime => [],
1283
+ :GetRandomValue => [:int, :int],
1284
+ :SetRandomSeed => [:uint],
1285
+ :TakeScreenshot => [:pointer],
1286
+ :SetConfigFlags => [:uint],
1287
+ :TraceLog => [:int, :pointer, :varargs],
1288
+ :SetTraceLogLevel => [:int],
1289
+ :MemAlloc => [:uint],
1290
+ :MemRealloc => [:pointer, :uint],
1291
+ :MemFree => [:pointer],
1292
+ :OpenURL => [:pointer],
1293
+ :SetTraceLogCallback => [:TraceLogCallback],
1294
+ :SetLoadFileDataCallback => [:LoadFileDataCallback],
1295
+ :SetSaveFileDataCallback => [:SaveFileDataCallback],
1296
+ :SetLoadFileTextCallback => [:LoadFileTextCallback],
1297
+ :SetSaveFileTextCallback => [:SaveFileTextCallback],
1298
+ :LoadFileData => [:pointer, :pointer],
1299
+ :UnloadFileData => [:pointer],
1300
+ :SaveFileData => [:pointer, :pointer, :uint],
1301
+ :ExportDataAsCode => [:pointer, :uint, :pointer],
1302
+ :LoadFileText => [:pointer],
1303
+ :UnloadFileText => [:pointer],
1304
+ :SaveFileText => [:pointer, :pointer],
1305
+ :FileExists => [:pointer],
1306
+ :DirectoryExists => [:pointer],
1307
+ :IsFileExtension => [:pointer, :pointer],
1308
+ :GetFileLength => [:pointer],
1309
+ :GetFileExtension => [:pointer],
1310
+ :GetFileName => [:pointer],
1311
+ :GetFileNameWithoutExt => [:pointer],
1312
+ :GetDirectoryPath => [:pointer],
1313
+ :GetPrevDirectoryPath => [:pointer],
1314
+ :GetWorkingDirectory => [],
1315
+ :GetApplicationDirectory => [],
1316
+ :ChangeDirectory => [:pointer],
1317
+ :IsPathFile => [:pointer],
1318
+ :LoadDirectoryFiles => [:pointer],
1319
+ :LoadDirectoryFilesEx => [:pointer, :pointer, :bool],
1320
+ :UnloadDirectoryFiles => [FilePathList.by_value],
1321
+ :IsFileDropped => [],
1322
+ :LoadDroppedFiles => [],
1323
+ :UnloadDroppedFiles => [FilePathList.by_value],
1324
+ :GetFileModTime => [:pointer],
1325
+ :CompressData => [:pointer, :int, :pointer],
1326
+ :DecompressData => [:pointer, :int, :pointer],
1327
+ :EncodeDataBase64 => [:pointer, :int, :pointer],
1328
+ :DecodeDataBase64 => [:pointer, :pointer],
1329
+ :IsKeyPressed => [:int],
1330
+ :IsKeyDown => [:int],
1331
+ :IsKeyReleased => [:int],
1332
+ :IsKeyUp => [:int],
1333
+ :SetExitKey => [:int],
1334
+ :GetKeyPressed => [],
1335
+ :GetCharPressed => [],
1336
+ :IsGamepadAvailable => [:int],
1337
+ :GetGamepadName => [:int],
1338
+ :IsGamepadButtonPressed => [:int, :int],
1339
+ :IsGamepadButtonDown => [:int, :int],
1340
+ :IsGamepadButtonReleased => [:int, :int],
1341
+ :IsGamepadButtonUp => [:int, :int],
1342
+ :GetGamepadButtonPressed => [],
1343
+ :GetGamepadAxisCount => [:int],
1344
+ :GetGamepadAxisMovement => [:int, :int],
1345
+ :SetGamepadMappings => [:pointer],
1346
+ :IsMouseButtonPressed => [:int],
1347
+ :IsMouseButtonDown => [:int],
1348
+ :IsMouseButtonReleased => [:int],
1349
+ :IsMouseButtonUp => [:int],
1350
+ :GetMouseX => [],
1351
+ :GetMouseY => [],
1352
+ :GetMousePosition => [],
1353
+ :GetMouseDelta => [],
1354
+ :SetMousePosition => [:int, :int],
1355
+ :SetMouseOffset => [:int, :int],
1356
+ :SetMouseScale => [:float, :float],
1357
+ :GetMouseWheelMove => [],
1358
+ :GetMouseWheelMoveV => [],
1359
+ :SetMouseCursor => [:int],
1360
+ :GetTouchX => [],
1361
+ :GetTouchY => [],
1362
+ :GetTouchPosition => [:int],
1363
+ :GetTouchPointId => [:int],
1364
+ :GetTouchPointCount => [],
1365
+ :SetGesturesEnabled => [:uint],
1366
+ :IsGestureDetected => [:int],
1367
+ :GetGestureDetected => [],
1368
+ :GetGestureHoldDuration => [],
1369
+ :GetGestureDragVector => [],
1370
+ :GetGestureDragAngle => [],
1371
+ :GetGesturePinchVector => [],
1372
+ :GetGesturePinchAngle => [],
1373
+ :SetCameraMode => [Camera.by_value, :int],
1374
+ :UpdateCamera => [:pointer],
1375
+ :SetCameraPanControl => [:int],
1376
+ :SetCameraAltControl => [:int],
1377
+ :SetCameraSmoothZoomControl => [:int],
1378
+ :SetCameraMoveControls => [:int, :int, :int, :int, :int, :int],
1379
+ :SetShapesTexture => [Texture2D.by_value, Rectangle.by_value],
1380
+ :DrawPixel => [:int, :int, Color.by_value],
1381
+ :DrawPixelV => [Vector2.by_value, Color.by_value],
1382
+ :DrawLine => [:int, :int, :int, :int, Color.by_value],
1383
+ :DrawLineV => [Vector2.by_value, Vector2.by_value, Color.by_value],
1384
+ :DrawLineEx => [Vector2.by_value, Vector2.by_value, :float, Color.by_value],
1385
+ :DrawLineBezier => [Vector2.by_value, Vector2.by_value, :float, Color.by_value],
1386
+ :DrawLineBezierQuad => [Vector2.by_value, Vector2.by_value, Vector2.by_value, :float, Color.by_value],
1387
+ :DrawLineBezierCubic => [Vector2.by_value, Vector2.by_value, Vector2.by_value, Vector2.by_value, :float, Color.by_value],
1388
+ :DrawLineStrip => [:pointer, :int, Color.by_value],
1389
+ :DrawCircle => [:int, :int, :float, Color.by_value],
1390
+ :DrawCircleSector => [Vector2.by_value, :float, :float, :float, :int, Color.by_value],
1391
+ :DrawCircleSectorLines => [Vector2.by_value, :float, :float, :float, :int, Color.by_value],
1392
+ :DrawCircleGradient => [:int, :int, :float, Color.by_value, Color.by_value],
1393
+ :DrawCircleV => [Vector2.by_value, :float, Color.by_value],
1394
+ :DrawCircleLines => [:int, :int, :float, Color.by_value],
1395
+ :DrawEllipse => [:int, :int, :float, :float, Color.by_value],
1396
+ :DrawEllipseLines => [:int, :int, :float, :float, Color.by_value],
1397
+ :DrawRing => [Vector2.by_value, :float, :float, :float, :float, :int, Color.by_value],
1398
+ :DrawRingLines => [Vector2.by_value, :float, :float, :float, :float, :int, Color.by_value],
1399
+ :DrawRectangle => [:int, :int, :int, :int, Color.by_value],
1400
+ :DrawRectangleV => [Vector2.by_value, Vector2.by_value, Color.by_value],
1401
+ :DrawRectangleRec => [Rectangle.by_value, Color.by_value],
1402
+ :DrawRectanglePro => [Rectangle.by_value, Vector2.by_value, :float, Color.by_value],
1403
+ :DrawRectangleGradientV => [:int, :int, :int, :int, Color.by_value, Color.by_value],
1404
+ :DrawRectangleGradientH => [:int, :int, :int, :int, Color.by_value, Color.by_value],
1405
+ :DrawRectangleGradientEx => [Rectangle.by_value, Color.by_value, Color.by_value, Color.by_value, Color.by_value],
1406
+ :DrawRectangleLines => [:int, :int, :int, :int, Color.by_value],
1407
+ :DrawRectangleLinesEx => [Rectangle.by_value, :float, Color.by_value],
1408
+ :DrawRectangleRounded => [Rectangle.by_value, :float, :int, Color.by_value],
1409
+ :DrawRectangleRoundedLines => [Rectangle.by_value, :float, :int, :float, Color.by_value],
1410
+ :DrawTriangle => [Vector2.by_value, Vector2.by_value, Vector2.by_value, Color.by_value],
1411
+ :DrawTriangleLines => [Vector2.by_value, Vector2.by_value, Vector2.by_value, Color.by_value],
1412
+ :DrawTriangleFan => [:pointer, :int, Color.by_value],
1413
+ :DrawTriangleStrip => [:pointer, :int, Color.by_value],
1414
+ :DrawPoly => [Vector2.by_value, :int, :float, :float, Color.by_value],
1415
+ :DrawPolyLines => [Vector2.by_value, :int, :float, :float, Color.by_value],
1416
+ :DrawPolyLinesEx => [Vector2.by_value, :int, :float, :float, :float, Color.by_value],
1417
+ :CheckCollisionRecs => [Rectangle.by_value, Rectangle.by_value],
1418
+ :CheckCollisionCircles => [Vector2.by_value, :float, Vector2.by_value, :float],
1419
+ :CheckCollisionCircleRec => [Vector2.by_value, :float, Rectangle.by_value],
1420
+ :CheckCollisionPointRec => [Vector2.by_value, Rectangle.by_value],
1421
+ :CheckCollisionPointCircle => [Vector2.by_value, Vector2.by_value, :float],
1422
+ :CheckCollisionPointTriangle => [Vector2.by_value, Vector2.by_value, Vector2.by_value, Vector2.by_value],
1423
+ :CheckCollisionPointPoly => [Vector2.by_value, :pointer, :int],
1424
+ :CheckCollisionLines => [Vector2.by_value, Vector2.by_value, Vector2.by_value, Vector2.by_value, :pointer],
1425
+ :CheckCollisionPointLine => [Vector2.by_value, Vector2.by_value, Vector2.by_value, :int],
1426
+ :GetCollisionRec => [Rectangle.by_value, Rectangle.by_value],
1427
+ :LoadImage => [:pointer],
1428
+ :LoadImageRaw => [:pointer, :int, :int, :int, :int],
1429
+ :LoadImageAnim => [:pointer, :pointer],
1430
+ :LoadImageFromMemory => [:pointer, :pointer, :int],
1431
+ :LoadImageFromTexture => [Texture2D.by_value],
1432
+ :LoadImageFromScreen => [],
1433
+ :UnloadImage => [Image.by_value],
1434
+ :ExportImage => [Image.by_value, :pointer],
1435
+ :ExportImageAsCode => [Image.by_value, :pointer],
1436
+ :GenImageColor => [:int, :int, Color.by_value],
1437
+ :GenImageGradientV => [:int, :int, Color.by_value, Color.by_value],
1438
+ :GenImageGradientH => [:int, :int, Color.by_value, Color.by_value],
1439
+ :GenImageGradientRadial => [:int, :int, :float, Color.by_value, Color.by_value],
1440
+ :GenImageChecked => [:int, :int, :int, :int, Color.by_value, Color.by_value],
1441
+ :GenImageWhiteNoise => [:int, :int, :float],
1442
+ :GenImagePerlinNoise => [:int, :int, :int, :int, :float],
1443
+ :GenImageCellular => [:int, :int, :int],
1444
+ :GenImageText => [:int, :int, :pointer],
1445
+ :ImageCopy => [Image.by_value],
1446
+ :ImageFromImage => [Image.by_value, Rectangle.by_value],
1447
+ :ImageText => [:pointer, :int, Color.by_value],
1448
+ :ImageTextEx => [Font.by_value, :pointer, :float, :float, Color.by_value],
1449
+ :ImageFormat => [:pointer, :int],
1450
+ :ImageToPOT => [:pointer, Color.by_value],
1451
+ :ImageCrop => [:pointer, Rectangle.by_value],
1452
+ :ImageAlphaCrop => [:pointer, :float],
1453
+ :ImageAlphaClear => [:pointer, Color.by_value, :float],
1454
+ :ImageAlphaMask => [:pointer, Image.by_value],
1455
+ :ImageAlphaPremultiply => [:pointer],
1456
+ :ImageResize => [:pointer, :int, :int],
1457
+ :ImageResizeNN => [:pointer, :int, :int],
1458
+ :ImageResizeCanvas => [:pointer, :int, :int, :int, :int, Color.by_value],
1459
+ :ImageMipmaps => [:pointer],
1460
+ :ImageDither => [:pointer, :int, :int, :int, :int],
1461
+ :ImageFlipVertical => [:pointer],
1462
+ :ImageFlipHorizontal => [:pointer],
1463
+ :ImageRotateCW => [:pointer],
1464
+ :ImageRotateCCW => [:pointer],
1465
+ :ImageColorTint => [:pointer, Color.by_value],
1466
+ :ImageColorInvert => [:pointer],
1467
+ :ImageColorGrayscale => [:pointer],
1468
+ :ImageColorContrast => [:pointer, :float],
1469
+ :ImageColorBrightness => [:pointer, :int],
1470
+ :ImageColorReplace => [:pointer, Color.by_value, Color.by_value],
1471
+ :LoadImageColors => [Image.by_value],
1472
+ :LoadImagePalette => [Image.by_value, :int, :pointer],
1473
+ :UnloadImageColors => [:pointer],
1474
+ :UnloadImagePalette => [:pointer],
1475
+ :GetImageAlphaBorder => [Image.by_value, :float],
1476
+ :GetImageColor => [Image.by_value, :int, :int],
1477
+ :ImageClearBackground => [:pointer, Color.by_value],
1478
+ :ImageDrawPixel => [:pointer, :int, :int, Color.by_value],
1479
+ :ImageDrawPixelV => [:pointer, Vector2.by_value, Color.by_value],
1480
+ :ImageDrawLine => [:pointer, :int, :int, :int, :int, Color.by_value],
1481
+ :ImageDrawLineV => [:pointer, Vector2.by_value, Vector2.by_value, Color.by_value],
1482
+ :ImageDrawCircle => [:pointer, :int, :int, :int, Color.by_value],
1483
+ :ImageDrawCircleV => [:pointer, Vector2.by_value, :int, Color.by_value],
1484
+ :ImageDrawCircleLines => [:pointer, :int, :int, :int, Color.by_value],
1485
+ :ImageDrawCircleLinesV => [:pointer, Vector2.by_value, :int, Color.by_value],
1486
+ :ImageDrawRectangle => [:pointer, :int, :int, :int, :int, Color.by_value],
1487
+ :ImageDrawRectangleV => [:pointer, Vector2.by_value, Vector2.by_value, Color.by_value],
1488
+ :ImageDrawRectangleRec => [:pointer, Rectangle.by_value, Color.by_value],
1489
+ :ImageDrawRectangleLines => [:pointer, Rectangle.by_value, :int, Color.by_value],
1490
+ :ImageDraw => [:pointer, Image.by_value, Rectangle.by_value, Rectangle.by_value, Color.by_value],
1491
+ :ImageDrawText => [:pointer, :pointer, :int, :int, :int, Color.by_value],
1492
+ :ImageDrawTextEx => [:pointer, Font.by_value, :pointer, Vector2.by_value, :float, :float, Color.by_value],
1493
+ :LoadTexture => [:pointer],
1494
+ :LoadTextureFromImage => [Image.by_value],
1495
+ :LoadTextureCubemap => [Image.by_value, :int],
1496
+ :LoadRenderTexture => [:int, :int],
1497
+ :UnloadTexture => [Texture2D.by_value],
1498
+ :UnloadRenderTexture => [RenderTexture2D.by_value],
1499
+ :UpdateTexture => [Texture2D.by_value, :pointer],
1500
+ :UpdateTextureRec => [Texture2D.by_value, Rectangle.by_value, :pointer],
1501
+ :GenTextureMipmaps => [:pointer],
1502
+ :SetTextureFilter => [Texture2D.by_value, :int],
1503
+ :SetTextureWrap => [Texture2D.by_value, :int],
1504
+ :DrawTexture => [Texture2D.by_value, :int, :int, Color.by_value],
1505
+ :DrawTextureV => [Texture2D.by_value, Vector2.by_value, Color.by_value],
1506
+ :DrawTextureEx => [Texture2D.by_value, Vector2.by_value, :float, :float, Color.by_value],
1507
+ :DrawTextureRec => [Texture2D.by_value, Rectangle.by_value, Vector2.by_value, Color.by_value],
1508
+ :DrawTextureQuad => [Texture2D.by_value, Vector2.by_value, Vector2.by_value, Rectangle.by_value, Color.by_value],
1509
+ :DrawTextureTiled => [Texture2D.by_value, Rectangle.by_value, Rectangle.by_value, Vector2.by_value, :float, :float, Color.by_value],
1510
+ :DrawTexturePro => [Texture2D.by_value, Rectangle.by_value, Rectangle.by_value, Vector2.by_value, :float, Color.by_value],
1511
+ :DrawTextureNPatch => [Texture2D.by_value, NPatchInfo.by_value, Rectangle.by_value, Vector2.by_value, :float, Color.by_value],
1512
+ :DrawTexturePoly => [Texture2D.by_value, Vector2.by_value, :pointer, :pointer, :int, Color.by_value],
1513
+ :Fade => [Color.by_value, :float],
1514
+ :ColorToInt => [Color.by_value],
1515
+ :ColorNormalize => [Color.by_value],
1516
+ :ColorFromNormalized => [Vector4.by_value],
1517
+ :ColorToHSV => [Color.by_value],
1518
+ :ColorFromHSV => [:float, :float, :float],
1519
+ :ColorAlpha => [Color.by_value, :float],
1520
+ :ColorAlphaBlend => [Color.by_value, Color.by_value, Color.by_value],
1521
+ :GetColor => [:uint],
1522
+ :GetPixelColor => [:pointer, :int],
1523
+ :SetPixelColor => [:pointer, Color.by_value, :int],
1524
+ :GetPixelDataSize => [:int, :int, :int],
1525
+ :GetFontDefault => [],
1526
+ :LoadFont => [:pointer],
1527
+ :LoadFontEx => [:pointer, :int, :pointer, :int],
1528
+ :LoadFontFromImage => [Image.by_value, Color.by_value, :int],
1529
+ :LoadFontFromMemory => [:pointer, :pointer, :int, :int, :pointer, :int],
1530
+ :LoadFontData => [:pointer, :int, :int, :pointer, :int, :int],
1531
+ :GenImageFontAtlas => [:pointer, :pointer, :int, :int, :int, :int],
1532
+ :UnloadFontData => [:pointer, :int],
1533
+ :UnloadFont => [Font.by_value],
1534
+ :ExportFontAsCode => [Font.by_value, :pointer],
1535
+ :DrawFPS => [:int, :int],
1536
+ :DrawText => [:pointer, :int, :int, :int, Color.by_value],
1537
+ :DrawTextEx => [Font.by_value, :pointer, Vector2.by_value, :float, :float, Color.by_value],
1538
+ :DrawTextPro => [Font.by_value, :pointer, Vector2.by_value, Vector2.by_value, :float, :float, :float, Color.by_value],
1539
+ :DrawTextCodepoint => [Font.by_value, :int, Vector2.by_value, :float, Color.by_value],
1540
+ :DrawTextCodepoints => [Font.by_value, :pointer, :int, Vector2.by_value, :float, :float, Color.by_value],
1541
+ :MeasureText => [:pointer, :int],
1542
+ :MeasureTextEx => [Font.by_value, :pointer, :float, :float],
1543
+ :GetGlyphIndex => [Font.by_value, :int],
1544
+ :GetGlyphInfo => [Font.by_value, :int],
1545
+ :GetGlyphAtlasRec => [Font.by_value, :int],
1546
+ :LoadUTF8 => [:pointer, :int],
1547
+ :UnloadUTF8 => [:pointer],
1548
+ :LoadCodepoints => [:pointer, :pointer],
1549
+ :UnloadCodepoints => [:pointer],
1550
+ :GetCodepointCount => [:pointer],
1551
+ :GetCodepoint => [:pointer, :pointer],
1552
+ :GetCodepointNext => [:pointer, :pointer],
1553
+ :GetCodepointPrevious => [:pointer, :pointer],
1554
+ :CodepointToUTF8 => [:int, :pointer],
1555
+ :TextCopy => [:pointer, :pointer],
1556
+ :TextIsEqual => [:pointer, :pointer],
1557
+ :TextLength => [:pointer],
1558
+ :TextFormat => [:pointer, :varargs],
1559
+ :TextSubtext => [:pointer, :int, :int],
1560
+ :TextReplace => [:pointer, :pointer, :pointer],
1561
+ :TextInsert => [:pointer, :pointer, :int],
1562
+ :TextJoin => [:pointer, :int, :pointer],
1563
+ :TextSplit => [:pointer, :char, :pointer],
1564
+ :TextAppend => [:pointer, :pointer, :pointer],
1565
+ :TextFindIndex => [:pointer, :pointer],
1566
+ :TextToUpper => [:pointer],
1567
+ :TextToLower => [:pointer],
1568
+ :TextToPascal => [:pointer],
1569
+ :TextToInteger => [:pointer],
1570
+ :DrawLine3D => [Vector3.by_value, Vector3.by_value, Color.by_value],
1571
+ :DrawPoint3D => [Vector3.by_value, Color.by_value],
1572
+ :DrawCircle3D => [Vector3.by_value, :float, Vector3.by_value, :float, Color.by_value],
1573
+ :DrawTriangle3D => [Vector3.by_value, Vector3.by_value, Vector3.by_value, Color.by_value],
1574
+ :DrawTriangleStrip3D => [:pointer, :int, Color.by_value],
1575
+ :DrawCube => [Vector3.by_value, :float, :float, :float, Color.by_value],
1576
+ :DrawCubeV => [Vector3.by_value, Vector3.by_value, Color.by_value],
1577
+ :DrawCubeWires => [Vector3.by_value, :float, :float, :float, Color.by_value],
1578
+ :DrawCubeWiresV => [Vector3.by_value, Vector3.by_value, Color.by_value],
1579
+ :DrawCubeTexture => [Texture2D.by_value, Vector3.by_value, :float, :float, :float, Color.by_value],
1580
+ :DrawCubeTextureRec => [Texture2D.by_value, Rectangle.by_value, Vector3.by_value, :float, :float, :float, Color.by_value],
1581
+ :DrawSphere => [Vector3.by_value, :float, Color.by_value],
1582
+ :DrawSphereEx => [Vector3.by_value, :float, :int, :int, Color.by_value],
1583
+ :DrawSphereWires => [Vector3.by_value, :float, :int, :int, Color.by_value],
1584
+ :DrawCylinder => [Vector3.by_value, :float, :float, :float, :int, Color.by_value],
1585
+ :DrawCylinderEx => [Vector3.by_value, Vector3.by_value, :float, :float, :int, Color.by_value],
1586
+ :DrawCylinderWires => [Vector3.by_value, :float, :float, :float, :int, Color.by_value],
1587
+ :DrawCylinderWiresEx => [Vector3.by_value, Vector3.by_value, :float, :float, :int, Color.by_value],
1588
+ :DrawPlane => [Vector3.by_value, Vector2.by_value, Color.by_value],
1589
+ :DrawRay => [Ray.by_value, Color.by_value],
1590
+ :DrawGrid => [:int, :float],
1591
+ :LoadModel => [:pointer],
1592
+ :LoadModelFromMesh => [Mesh.by_value],
1593
+ :UnloadModel => [Model.by_value],
1594
+ :UnloadModelKeepMeshes => [Model.by_value],
1595
+ :GetModelBoundingBox => [Model.by_value],
1596
+ :DrawModel => [Model.by_value, Vector3.by_value, :float, Color.by_value],
1597
+ :DrawModelEx => [Model.by_value, Vector3.by_value, Vector3.by_value, :float, Vector3.by_value, Color.by_value],
1598
+ :DrawModelWires => [Model.by_value, Vector3.by_value, :float, Color.by_value],
1599
+ :DrawModelWiresEx => [Model.by_value, Vector3.by_value, Vector3.by_value, :float, Vector3.by_value, Color.by_value],
1600
+ :DrawBoundingBox => [BoundingBox.by_value, Color.by_value],
1601
+ :DrawBillboard => [Camera.by_value, Texture2D.by_value, Vector3.by_value, :float, Color.by_value],
1602
+ :DrawBillboardRec => [Camera.by_value, Texture2D.by_value, Rectangle.by_value, Vector3.by_value, Vector2.by_value, Color.by_value],
1603
+ :DrawBillboardPro => [Camera.by_value, Texture2D.by_value, Rectangle.by_value, Vector3.by_value, Vector3.by_value, Vector2.by_value, Vector2.by_value, :float, Color.by_value],
1604
+ :UploadMesh => [:pointer, :bool],
1605
+ :UpdateMeshBuffer => [Mesh.by_value, :int, :pointer, :int, :int],
1606
+ :UnloadMesh => [Mesh.by_value],
1607
+ :DrawMesh => [Mesh.by_value, Material.by_value, Matrix.by_value],
1608
+ :DrawMeshInstanced => [Mesh.by_value, Material.by_value, :pointer, :int],
1609
+ :ExportMesh => [Mesh.by_value, :pointer],
1610
+ :GetMeshBoundingBox => [Mesh.by_value],
1611
+ :GenMeshTangents => [:pointer],
1612
+ :GenMeshPoly => [:int, :float],
1613
+ :GenMeshPlane => [:float, :float, :int, :int],
1614
+ :GenMeshCube => [:float, :float, :float],
1615
+ :GenMeshSphere => [:float, :int, :int],
1616
+ :GenMeshHemiSphere => [:float, :int, :int],
1617
+ :GenMeshCylinder => [:float, :float, :int],
1618
+ :GenMeshCone => [:float, :float, :int],
1619
+ :GenMeshTorus => [:float, :float, :int, :int],
1620
+ :GenMeshKnot => [:float, :float, :int, :int],
1621
+ :GenMeshHeightmap => [Image.by_value, Vector3.by_value],
1622
+ :GenMeshCubicmap => [Image.by_value, Vector3.by_value],
1623
+ :LoadMaterials => [:pointer, :pointer],
1624
+ :LoadMaterialDefault => [],
1625
+ :UnloadMaterial => [Material.by_value],
1626
+ :SetMaterialTexture => [:pointer, :int, Texture2D.by_value],
1627
+ :SetModelMeshMaterial => [:pointer, :int, :int],
1628
+ :LoadModelAnimations => [:pointer, :pointer],
1629
+ :UpdateModelAnimation => [Model.by_value, ModelAnimation.by_value, :int],
1630
+ :UnloadModelAnimation => [ModelAnimation.by_value],
1631
+ :UnloadModelAnimations => [:pointer, :uint],
1632
+ :IsModelAnimationValid => [Model.by_value, ModelAnimation.by_value],
1633
+ :CheckCollisionSpheres => [Vector3.by_value, :float, Vector3.by_value, :float],
1634
+ :CheckCollisionBoxes => [BoundingBox.by_value, BoundingBox.by_value],
1635
+ :CheckCollisionBoxSphere => [BoundingBox.by_value, Vector3.by_value, :float],
1636
+ :GetRayCollisionSphere => [Ray.by_value, Vector3.by_value, :float],
1637
+ :GetRayCollisionBox => [Ray.by_value, BoundingBox.by_value],
1638
+ :GetRayCollisionMesh => [Ray.by_value, Mesh.by_value, Matrix.by_value],
1639
+ :GetRayCollisionTriangle => [Ray.by_value, Vector3.by_value, Vector3.by_value, Vector3.by_value],
1640
+ :GetRayCollisionQuad => [Ray.by_value, Vector3.by_value, Vector3.by_value, Vector3.by_value, Vector3.by_value],
1641
+ :InitAudioDevice => [],
1642
+ :CloseAudioDevice => [],
1643
+ :IsAudioDeviceReady => [],
1644
+ :SetMasterVolume => [:float],
1645
+ :LoadWave => [:pointer],
1646
+ :LoadWaveFromMemory => [:pointer, :pointer, :int],
1647
+ :LoadSound => [:pointer],
1648
+ :LoadSoundFromWave => [Wave.by_value],
1649
+ :UpdateSound => [Sound.by_value, :pointer, :int],
1650
+ :UnloadWave => [Wave.by_value],
1651
+ :UnloadSound => [Sound.by_value],
1652
+ :ExportWave => [Wave.by_value, :pointer],
1653
+ :ExportWaveAsCode => [Wave.by_value, :pointer],
1654
+ :PlaySound => [Sound.by_value],
1655
+ :StopSound => [Sound.by_value],
1656
+ :PauseSound => [Sound.by_value],
1657
+ :ResumeSound => [Sound.by_value],
1658
+ :PlaySoundMulti => [Sound.by_value],
1659
+ :StopSoundMulti => [],
1660
+ :GetSoundsPlaying => [],
1661
+ :IsSoundPlaying => [Sound.by_value],
1662
+ :SetSoundVolume => [Sound.by_value, :float],
1663
+ :SetSoundPitch => [Sound.by_value, :float],
1664
+ :SetSoundPan => [Sound.by_value, :float],
1665
+ :WaveCopy => [Wave.by_value],
1666
+ :WaveCrop => [:pointer, :int, :int],
1667
+ :WaveFormat => [:pointer, :int, :int, :int],
1668
+ :LoadWaveSamples => [Wave.by_value],
1669
+ :UnloadWaveSamples => [:pointer],
1670
+ :LoadMusicStream => [:pointer],
1671
+ :LoadMusicStreamFromMemory => [:pointer, :pointer, :int],
1672
+ :UnloadMusicStream => [Music.by_value],
1673
+ :PlayMusicStream => [Music.by_value],
1674
+ :IsMusicStreamPlaying => [Music.by_value],
1675
+ :UpdateMusicStream => [Music.by_value],
1676
+ :StopMusicStream => [Music.by_value],
1677
+ :PauseMusicStream => [Music.by_value],
1678
+ :ResumeMusicStream => [Music.by_value],
1679
+ :SeekMusicStream => [Music.by_value, :float],
1680
+ :SetMusicVolume => [Music.by_value, :float],
1681
+ :SetMusicPitch => [Music.by_value, :float],
1682
+ :SetMusicPan => [Music.by_value, :float],
1683
+ :GetMusicTimeLength => [Music.by_value],
1684
+ :GetMusicTimePlayed => [Music.by_value],
1685
+ :LoadAudioStream => [:uint, :uint, :uint],
1686
+ :UnloadAudioStream => [AudioStream.by_value],
1687
+ :UpdateAudioStream => [AudioStream.by_value, :pointer, :int],
1688
+ :IsAudioStreamProcessed => [AudioStream.by_value],
1689
+ :PlayAudioStream => [AudioStream.by_value],
1690
+ :PauseAudioStream => [AudioStream.by_value],
1691
+ :ResumeAudioStream => [AudioStream.by_value],
1692
+ :IsAudioStreamPlaying => [AudioStream.by_value],
1693
+ :StopAudioStream => [AudioStream.by_value],
1694
+ :SetAudioStreamVolume => [AudioStream.by_value, :float],
1695
+ :SetAudioStreamPitch => [AudioStream.by_value, :float],
1696
+ :SetAudioStreamPan => [AudioStream.by_value, :float],
1697
+ :SetAudioStreamBufferSizeDefault => [:int],
1698
+ :SetAudioStreamCallback => [AudioStream.by_value, :AudioCallback],
1699
+ :AttachAudioStreamProcessor => [AudioStream.by_value, :AudioCallback],
1700
+ :DetachAudioStreamProcessor => [AudioStream.by_value, :AudioCallback],
1701
+ }
1702
+ retvals = {
1703
+ :InitWindow => :void,
1704
+ :WindowShouldClose => :bool,
1705
+ :CloseWindow => :void,
1706
+ :IsWindowReady => :bool,
1707
+ :IsWindowFullscreen => :bool,
1708
+ :IsWindowHidden => :bool,
1709
+ :IsWindowMinimized => :bool,
1710
+ :IsWindowMaximized => :bool,
1711
+ :IsWindowFocused => :bool,
1712
+ :IsWindowResized => :bool,
1713
+ :IsWindowState => :bool,
1714
+ :SetWindowState => :void,
1715
+ :ClearWindowState => :void,
1716
+ :ToggleFullscreen => :void,
1717
+ :MaximizeWindow => :void,
1718
+ :MinimizeWindow => :void,
1719
+ :RestoreWindow => :void,
1720
+ :SetWindowIcon => :void,
1721
+ :SetWindowTitle => :void,
1722
+ :SetWindowPosition => :void,
1723
+ :SetWindowMonitor => :void,
1724
+ :SetWindowMinSize => :void,
1725
+ :SetWindowSize => :void,
1726
+ :SetWindowOpacity => :void,
1727
+ :GetWindowHandle => :pointer,
1728
+ :GetScreenWidth => :int,
1729
+ :GetScreenHeight => :int,
1730
+ :GetRenderWidth => :int,
1731
+ :GetRenderHeight => :int,
1732
+ :GetMonitorCount => :int,
1733
+ :GetCurrentMonitor => :int,
1734
+ :GetMonitorPosition => Vector2.by_value,
1735
+ :GetMonitorWidth => :int,
1736
+ :GetMonitorHeight => :int,
1737
+ :GetMonitorPhysicalWidth => :int,
1738
+ :GetMonitorPhysicalHeight => :int,
1739
+ :GetMonitorRefreshRate => :int,
1740
+ :GetWindowPosition => Vector2.by_value,
1741
+ :GetWindowScaleDPI => Vector2.by_value,
1742
+ :GetMonitorName => :pointer,
1743
+ :SetClipboardText => :void,
1744
+ :GetClipboardText => :pointer,
1745
+ :EnableEventWaiting => :void,
1746
+ :DisableEventWaiting => :void,
1747
+ :SwapScreenBuffer => :void,
1748
+ :PollInputEvents => :void,
1749
+ :WaitTime => :void,
1750
+ :ShowCursor => :void,
1751
+ :HideCursor => :void,
1752
+ :IsCursorHidden => :bool,
1753
+ :EnableCursor => :void,
1754
+ :DisableCursor => :void,
1755
+ :IsCursorOnScreen => :bool,
1756
+ :ClearBackground => :void,
1757
+ :BeginDrawing => :void,
1758
+ :EndDrawing => :void,
1759
+ :BeginMode2D => :void,
1760
+ :EndMode2D => :void,
1761
+ :BeginMode3D => :void,
1762
+ :EndMode3D => :void,
1763
+ :BeginTextureMode => :void,
1764
+ :EndTextureMode => :void,
1765
+ :BeginShaderMode => :void,
1766
+ :EndShaderMode => :void,
1767
+ :BeginBlendMode => :void,
1768
+ :EndBlendMode => :void,
1769
+ :BeginScissorMode => :void,
1770
+ :EndScissorMode => :void,
1771
+ :BeginVrStereoMode => :void,
1772
+ :EndVrStereoMode => :void,
1773
+ :LoadVrStereoConfig => VrStereoConfig.by_value,
1774
+ :UnloadVrStereoConfig => :void,
1775
+ :LoadShader => Shader.by_value,
1776
+ :LoadShaderFromMemory => Shader.by_value,
1777
+ :GetShaderLocation => :int,
1778
+ :GetShaderLocationAttrib => :int,
1779
+ :SetShaderValue => :void,
1780
+ :SetShaderValueV => :void,
1781
+ :SetShaderValueMatrix => :void,
1782
+ :SetShaderValueTexture => :void,
1783
+ :UnloadShader => :void,
1784
+ :GetMouseRay => Ray.by_value,
1785
+ :GetCameraMatrix => Matrix.by_value,
1786
+ :GetCameraMatrix2D => Matrix.by_value,
1787
+ :GetWorldToScreen => Vector2.by_value,
1788
+ :GetScreenToWorld2D => Vector2.by_value,
1789
+ :GetWorldToScreenEx => Vector2.by_value,
1790
+ :GetWorldToScreen2D => Vector2.by_value,
1791
+ :SetTargetFPS => :void,
1792
+ :GetFPS => :int,
1793
+ :GetFrameTime => :float,
1794
+ :GetTime => :double,
1795
+ :GetRandomValue => :int,
1796
+ :SetRandomSeed => :void,
1797
+ :TakeScreenshot => :void,
1798
+ :SetConfigFlags => :void,
1799
+ :TraceLog => :void,
1800
+ :SetTraceLogLevel => :void,
1801
+ :MemAlloc => :pointer,
1802
+ :MemRealloc => :pointer,
1803
+ :MemFree => :void,
1804
+ :OpenURL => :void,
1805
+ :SetTraceLogCallback => :void,
1806
+ :SetLoadFileDataCallback => :void,
1807
+ :SetSaveFileDataCallback => :void,
1808
+ :SetLoadFileTextCallback => :void,
1809
+ :SetSaveFileTextCallback => :void,
1810
+ :LoadFileData => :pointer,
1811
+ :UnloadFileData => :void,
1812
+ :SaveFileData => :bool,
1813
+ :ExportDataAsCode => :bool,
1814
+ :LoadFileText => :pointer,
1815
+ :UnloadFileText => :void,
1816
+ :SaveFileText => :bool,
1817
+ :FileExists => :bool,
1818
+ :DirectoryExists => :bool,
1819
+ :IsFileExtension => :bool,
1820
+ :GetFileLength => :int,
1821
+ :GetFileExtension => :pointer,
1822
+ :GetFileName => :pointer,
1823
+ :GetFileNameWithoutExt => :pointer,
1824
+ :GetDirectoryPath => :pointer,
1825
+ :GetPrevDirectoryPath => :pointer,
1826
+ :GetWorkingDirectory => :pointer,
1827
+ :GetApplicationDirectory => :pointer,
1828
+ :ChangeDirectory => :bool,
1829
+ :IsPathFile => :bool,
1830
+ :LoadDirectoryFiles => FilePathList.by_value,
1831
+ :LoadDirectoryFilesEx => FilePathList.by_value,
1832
+ :UnloadDirectoryFiles => :void,
1833
+ :IsFileDropped => :bool,
1834
+ :LoadDroppedFiles => FilePathList.by_value,
1835
+ :UnloadDroppedFiles => :void,
1836
+ :GetFileModTime => :long,
1837
+ :CompressData => :pointer,
1838
+ :DecompressData => :pointer,
1839
+ :EncodeDataBase64 => :pointer,
1840
+ :DecodeDataBase64 => :pointer,
1841
+ :IsKeyPressed => :bool,
1842
+ :IsKeyDown => :bool,
1843
+ :IsKeyReleased => :bool,
1844
+ :IsKeyUp => :bool,
1845
+ :SetExitKey => :void,
1846
+ :GetKeyPressed => :int,
1847
+ :GetCharPressed => :int,
1848
+ :IsGamepadAvailable => :bool,
1849
+ :GetGamepadName => :pointer,
1850
+ :IsGamepadButtonPressed => :bool,
1851
+ :IsGamepadButtonDown => :bool,
1852
+ :IsGamepadButtonReleased => :bool,
1853
+ :IsGamepadButtonUp => :bool,
1854
+ :GetGamepadButtonPressed => :int,
1855
+ :GetGamepadAxisCount => :int,
1856
+ :GetGamepadAxisMovement => :float,
1857
+ :SetGamepadMappings => :int,
1858
+ :IsMouseButtonPressed => :bool,
1859
+ :IsMouseButtonDown => :bool,
1860
+ :IsMouseButtonReleased => :bool,
1861
+ :IsMouseButtonUp => :bool,
1862
+ :GetMouseX => :int,
1863
+ :GetMouseY => :int,
1864
+ :GetMousePosition => Vector2.by_value,
1865
+ :GetMouseDelta => Vector2.by_value,
1866
+ :SetMousePosition => :void,
1867
+ :SetMouseOffset => :void,
1868
+ :SetMouseScale => :void,
1869
+ :GetMouseWheelMove => :float,
1870
+ :GetMouseWheelMoveV => Vector2.by_value,
1871
+ :SetMouseCursor => :void,
1872
+ :GetTouchX => :int,
1873
+ :GetTouchY => :int,
1874
+ :GetTouchPosition => Vector2.by_value,
1875
+ :GetTouchPointId => :int,
1876
+ :GetTouchPointCount => :int,
1877
+ :SetGesturesEnabled => :void,
1878
+ :IsGestureDetected => :bool,
1879
+ :GetGestureDetected => :int,
1880
+ :GetGestureHoldDuration => :float,
1881
+ :GetGestureDragVector => Vector2.by_value,
1882
+ :GetGestureDragAngle => :float,
1883
+ :GetGesturePinchVector => Vector2.by_value,
1884
+ :GetGesturePinchAngle => :float,
1885
+ :SetCameraMode => :void,
1886
+ :UpdateCamera => :void,
1887
+ :SetCameraPanControl => :void,
1888
+ :SetCameraAltControl => :void,
1889
+ :SetCameraSmoothZoomControl => :void,
1890
+ :SetCameraMoveControls => :void,
1891
+ :SetShapesTexture => :void,
1892
+ :DrawPixel => :void,
1893
+ :DrawPixelV => :void,
1894
+ :DrawLine => :void,
1895
+ :DrawLineV => :void,
1896
+ :DrawLineEx => :void,
1897
+ :DrawLineBezier => :void,
1898
+ :DrawLineBezierQuad => :void,
1899
+ :DrawLineBezierCubic => :void,
1900
+ :DrawLineStrip => :void,
1901
+ :DrawCircle => :void,
1902
+ :DrawCircleSector => :void,
1903
+ :DrawCircleSectorLines => :void,
1904
+ :DrawCircleGradient => :void,
1905
+ :DrawCircleV => :void,
1906
+ :DrawCircleLines => :void,
1907
+ :DrawEllipse => :void,
1908
+ :DrawEllipseLines => :void,
1909
+ :DrawRing => :void,
1910
+ :DrawRingLines => :void,
1911
+ :DrawRectangle => :void,
1912
+ :DrawRectangleV => :void,
1913
+ :DrawRectangleRec => :void,
1914
+ :DrawRectanglePro => :void,
1915
+ :DrawRectangleGradientV => :void,
1916
+ :DrawRectangleGradientH => :void,
1917
+ :DrawRectangleGradientEx => :void,
1918
+ :DrawRectangleLines => :void,
1919
+ :DrawRectangleLinesEx => :void,
1920
+ :DrawRectangleRounded => :void,
1921
+ :DrawRectangleRoundedLines => :void,
1922
+ :DrawTriangle => :void,
1923
+ :DrawTriangleLines => :void,
1924
+ :DrawTriangleFan => :void,
1925
+ :DrawTriangleStrip => :void,
1926
+ :DrawPoly => :void,
1927
+ :DrawPolyLines => :void,
1928
+ :DrawPolyLinesEx => :void,
1929
+ :CheckCollisionRecs => :bool,
1930
+ :CheckCollisionCircles => :bool,
1931
+ :CheckCollisionCircleRec => :bool,
1932
+ :CheckCollisionPointRec => :bool,
1933
+ :CheckCollisionPointCircle => :bool,
1934
+ :CheckCollisionPointTriangle => :bool,
1935
+ :CheckCollisionPointPoly => :bool,
1936
+ :CheckCollisionLines => :bool,
1937
+ :CheckCollisionPointLine => :bool,
1938
+ :GetCollisionRec => Rectangle.by_value,
1939
+ :LoadImage => Image.by_value,
1940
+ :LoadImageRaw => Image.by_value,
1941
+ :LoadImageAnim => Image.by_value,
1942
+ :LoadImageFromMemory => Image.by_value,
1943
+ :LoadImageFromTexture => Image.by_value,
1944
+ :LoadImageFromScreen => Image.by_value,
1945
+ :UnloadImage => :void,
1946
+ :ExportImage => :bool,
1947
+ :ExportImageAsCode => :bool,
1948
+ :GenImageColor => Image.by_value,
1949
+ :GenImageGradientV => Image.by_value,
1950
+ :GenImageGradientH => Image.by_value,
1951
+ :GenImageGradientRadial => Image.by_value,
1952
+ :GenImageChecked => Image.by_value,
1953
+ :GenImageWhiteNoise => Image.by_value,
1954
+ :GenImagePerlinNoise => Image.by_value,
1955
+ :GenImageCellular => Image.by_value,
1956
+ :GenImageText => Image.by_value,
1957
+ :ImageCopy => Image.by_value,
1958
+ :ImageFromImage => Image.by_value,
1959
+ :ImageText => Image.by_value,
1960
+ :ImageTextEx => Image.by_value,
1961
+ :ImageFormat => :void,
1962
+ :ImageToPOT => :void,
1963
+ :ImageCrop => :void,
1964
+ :ImageAlphaCrop => :void,
1965
+ :ImageAlphaClear => :void,
1966
+ :ImageAlphaMask => :void,
1967
+ :ImageAlphaPremultiply => :void,
1968
+ :ImageResize => :void,
1969
+ :ImageResizeNN => :void,
1970
+ :ImageResizeCanvas => :void,
1971
+ :ImageMipmaps => :void,
1972
+ :ImageDither => :void,
1973
+ :ImageFlipVertical => :void,
1974
+ :ImageFlipHorizontal => :void,
1975
+ :ImageRotateCW => :void,
1976
+ :ImageRotateCCW => :void,
1977
+ :ImageColorTint => :void,
1978
+ :ImageColorInvert => :void,
1979
+ :ImageColorGrayscale => :void,
1980
+ :ImageColorContrast => :void,
1981
+ :ImageColorBrightness => :void,
1982
+ :ImageColorReplace => :void,
1983
+ :LoadImageColors => :pointer,
1984
+ :LoadImagePalette => :pointer,
1985
+ :UnloadImageColors => :void,
1986
+ :UnloadImagePalette => :void,
1987
+ :GetImageAlphaBorder => Rectangle.by_value,
1988
+ :GetImageColor => Color.by_value,
1989
+ :ImageClearBackground => :void,
1990
+ :ImageDrawPixel => :void,
1991
+ :ImageDrawPixelV => :void,
1992
+ :ImageDrawLine => :void,
1993
+ :ImageDrawLineV => :void,
1994
+ :ImageDrawCircle => :void,
1995
+ :ImageDrawCircleV => :void,
1996
+ :ImageDrawCircleLines => :void,
1997
+ :ImageDrawCircleLinesV => :void,
1998
+ :ImageDrawRectangle => :void,
1999
+ :ImageDrawRectangleV => :void,
2000
+ :ImageDrawRectangleRec => :void,
2001
+ :ImageDrawRectangleLines => :void,
2002
+ :ImageDraw => :void,
2003
+ :ImageDrawText => :void,
2004
+ :ImageDrawTextEx => :void,
2005
+ :LoadTexture => Texture2D.by_value,
2006
+ :LoadTextureFromImage => Texture2D.by_value,
2007
+ :LoadTextureCubemap => TextureCubemap.by_value,
2008
+ :LoadRenderTexture => RenderTexture2D.by_value,
2009
+ :UnloadTexture => :void,
2010
+ :UnloadRenderTexture => :void,
2011
+ :UpdateTexture => :void,
2012
+ :UpdateTextureRec => :void,
2013
+ :GenTextureMipmaps => :void,
2014
+ :SetTextureFilter => :void,
2015
+ :SetTextureWrap => :void,
2016
+ :DrawTexture => :void,
2017
+ :DrawTextureV => :void,
2018
+ :DrawTextureEx => :void,
2019
+ :DrawTextureRec => :void,
2020
+ :DrawTextureQuad => :void,
2021
+ :DrawTextureTiled => :void,
2022
+ :DrawTexturePro => :void,
2023
+ :DrawTextureNPatch => :void,
2024
+ :DrawTexturePoly => :void,
2025
+ :Fade => Color.by_value,
2026
+ :ColorToInt => :int,
2027
+ :ColorNormalize => Vector4.by_value,
2028
+ :ColorFromNormalized => Color.by_value,
2029
+ :ColorToHSV => Vector3.by_value,
2030
+ :ColorFromHSV => Color.by_value,
2031
+ :ColorAlpha => Color.by_value,
2032
+ :ColorAlphaBlend => Color.by_value,
2033
+ :GetColor => Color.by_value,
2034
+ :GetPixelColor => Color.by_value,
2035
+ :SetPixelColor => :void,
2036
+ :GetPixelDataSize => :int,
2037
+ :GetFontDefault => Font.by_value,
2038
+ :LoadFont => Font.by_value,
2039
+ :LoadFontEx => Font.by_value,
2040
+ :LoadFontFromImage => Font.by_value,
2041
+ :LoadFontFromMemory => Font.by_value,
2042
+ :LoadFontData => :pointer,
2043
+ :GenImageFontAtlas => Image.by_value,
2044
+ :UnloadFontData => :void,
2045
+ :UnloadFont => :void,
2046
+ :ExportFontAsCode => :bool,
2047
+ :DrawFPS => :void,
2048
+ :DrawText => :void,
2049
+ :DrawTextEx => :void,
2050
+ :DrawTextPro => :void,
2051
+ :DrawTextCodepoint => :void,
2052
+ :DrawTextCodepoints => :void,
2053
+ :MeasureText => :int,
2054
+ :MeasureTextEx => Vector2.by_value,
2055
+ :GetGlyphIndex => :int,
2056
+ :GetGlyphInfo => GlyphInfo.by_value,
2057
+ :GetGlyphAtlasRec => Rectangle.by_value,
2058
+ :LoadUTF8 => :pointer,
2059
+ :UnloadUTF8 => :void,
2060
+ :LoadCodepoints => :pointer,
2061
+ :UnloadCodepoints => :void,
2062
+ :GetCodepointCount => :int,
2063
+ :GetCodepoint => :int,
2064
+ :GetCodepointNext => :int,
2065
+ :GetCodepointPrevious => :int,
2066
+ :CodepointToUTF8 => :pointer,
2067
+ :TextCopy => :int,
2068
+ :TextIsEqual => :bool,
2069
+ :TextLength => :uint,
2070
+ :TextFormat => :pointer,
2071
+ :TextSubtext => :pointer,
2072
+ :TextReplace => :pointer,
2073
+ :TextInsert => :pointer,
2074
+ :TextJoin => :pointer,
2075
+ :TextSplit => :pointer,
2076
+ :TextAppend => :void,
2077
+ :TextFindIndex => :int,
2078
+ :TextToUpper => :pointer,
2079
+ :TextToLower => :pointer,
2080
+ :TextToPascal => :pointer,
2081
+ :TextToInteger => :int,
2082
+ :DrawLine3D => :void,
2083
+ :DrawPoint3D => :void,
2084
+ :DrawCircle3D => :void,
2085
+ :DrawTriangle3D => :void,
2086
+ :DrawTriangleStrip3D => :void,
2087
+ :DrawCube => :void,
2088
+ :DrawCubeV => :void,
2089
+ :DrawCubeWires => :void,
2090
+ :DrawCubeWiresV => :void,
2091
+ :DrawCubeTexture => :void,
2092
+ :DrawCubeTextureRec => :void,
2093
+ :DrawSphere => :void,
2094
+ :DrawSphereEx => :void,
2095
+ :DrawSphereWires => :void,
2096
+ :DrawCylinder => :void,
2097
+ :DrawCylinderEx => :void,
2098
+ :DrawCylinderWires => :void,
2099
+ :DrawCylinderWiresEx => :void,
2100
+ :DrawPlane => :void,
2101
+ :DrawRay => :void,
2102
+ :DrawGrid => :void,
2103
+ :LoadModel => Model.by_value,
2104
+ :LoadModelFromMesh => Model.by_value,
2105
+ :UnloadModel => :void,
2106
+ :UnloadModelKeepMeshes => :void,
2107
+ :GetModelBoundingBox => BoundingBox.by_value,
2108
+ :DrawModel => :void,
2109
+ :DrawModelEx => :void,
2110
+ :DrawModelWires => :void,
2111
+ :DrawModelWiresEx => :void,
2112
+ :DrawBoundingBox => :void,
2113
+ :DrawBillboard => :void,
2114
+ :DrawBillboardRec => :void,
2115
+ :DrawBillboardPro => :void,
2116
+ :UploadMesh => :void,
2117
+ :UpdateMeshBuffer => :void,
2118
+ :UnloadMesh => :void,
2119
+ :DrawMesh => :void,
2120
+ :DrawMeshInstanced => :void,
2121
+ :ExportMesh => :bool,
2122
+ :GetMeshBoundingBox => BoundingBox.by_value,
2123
+ :GenMeshTangents => :void,
2124
+ :GenMeshPoly => Mesh.by_value,
2125
+ :GenMeshPlane => Mesh.by_value,
2126
+ :GenMeshCube => Mesh.by_value,
2127
+ :GenMeshSphere => Mesh.by_value,
2128
+ :GenMeshHemiSphere => Mesh.by_value,
2129
+ :GenMeshCylinder => Mesh.by_value,
2130
+ :GenMeshCone => Mesh.by_value,
2131
+ :GenMeshTorus => Mesh.by_value,
2132
+ :GenMeshKnot => Mesh.by_value,
2133
+ :GenMeshHeightmap => Mesh.by_value,
2134
+ :GenMeshCubicmap => Mesh.by_value,
2135
+ :LoadMaterials => :pointer,
2136
+ :LoadMaterialDefault => Material.by_value,
2137
+ :UnloadMaterial => :void,
2138
+ :SetMaterialTexture => :void,
2139
+ :SetModelMeshMaterial => :void,
2140
+ :LoadModelAnimations => :pointer,
2141
+ :UpdateModelAnimation => :void,
2142
+ :UnloadModelAnimation => :void,
2143
+ :UnloadModelAnimations => :void,
2144
+ :IsModelAnimationValid => :bool,
2145
+ :CheckCollisionSpheres => :bool,
2146
+ :CheckCollisionBoxes => :bool,
2147
+ :CheckCollisionBoxSphere => :bool,
2148
+ :GetRayCollisionSphere => RayCollision.by_value,
2149
+ :GetRayCollisionBox => RayCollision.by_value,
2150
+ :GetRayCollisionMesh => RayCollision.by_value,
2151
+ :GetRayCollisionTriangle => RayCollision.by_value,
2152
+ :GetRayCollisionQuad => RayCollision.by_value,
2153
+ :InitAudioDevice => :void,
2154
+ :CloseAudioDevice => :void,
2155
+ :IsAudioDeviceReady => :bool,
2156
+ :SetMasterVolume => :void,
2157
+ :LoadWave => Wave.by_value,
2158
+ :LoadWaveFromMemory => Wave.by_value,
2159
+ :LoadSound => Sound.by_value,
2160
+ :LoadSoundFromWave => Sound.by_value,
2161
+ :UpdateSound => :void,
2162
+ :UnloadWave => :void,
2163
+ :UnloadSound => :void,
2164
+ :ExportWave => :bool,
2165
+ :ExportWaveAsCode => :bool,
2166
+ :PlaySound => :void,
2167
+ :StopSound => :void,
2168
+ :PauseSound => :void,
2169
+ :ResumeSound => :void,
2170
+ :PlaySoundMulti => :void,
2171
+ :StopSoundMulti => :void,
2172
+ :GetSoundsPlaying => :int,
2173
+ :IsSoundPlaying => :bool,
2174
+ :SetSoundVolume => :void,
2175
+ :SetSoundPitch => :void,
2176
+ :SetSoundPan => :void,
2177
+ :WaveCopy => Wave.by_value,
2178
+ :WaveCrop => :void,
2179
+ :WaveFormat => :void,
2180
+ :LoadWaveSamples => :pointer,
2181
+ :UnloadWaveSamples => :void,
2182
+ :LoadMusicStream => Music.by_value,
2183
+ :LoadMusicStreamFromMemory => Music.by_value,
2184
+ :UnloadMusicStream => :void,
2185
+ :PlayMusicStream => :void,
2186
+ :IsMusicStreamPlaying => :bool,
2187
+ :UpdateMusicStream => :void,
2188
+ :StopMusicStream => :void,
2189
+ :PauseMusicStream => :void,
2190
+ :ResumeMusicStream => :void,
2191
+ :SeekMusicStream => :void,
2192
+ :SetMusicVolume => :void,
2193
+ :SetMusicPitch => :void,
2194
+ :SetMusicPan => :void,
2195
+ :GetMusicTimeLength => :float,
2196
+ :GetMusicTimePlayed => :float,
2197
+ :LoadAudioStream => AudioStream.by_value,
2198
+ :UnloadAudioStream => :void,
2199
+ :UpdateAudioStream => :void,
2200
+ :IsAudioStreamProcessed => :bool,
2201
+ :PlayAudioStream => :void,
2202
+ :PauseAudioStream => :void,
2203
+ :ResumeAudioStream => :void,
2204
+ :IsAudioStreamPlaying => :bool,
2205
+ :StopAudioStream => :void,
2206
+ :SetAudioStreamVolume => :void,
2207
+ :SetAudioStreamPitch => :void,
2208
+ :SetAudioStreamPan => :void,
2209
+ :SetAudioStreamBufferSizeDefault => :void,
2210
+ :SetAudioStreamCallback => :void,
2211
+ :AttachAudioStreamProcessor => :void,
2212
+ :DetachAudioStreamProcessor => :void,
2213
+ }
2214
+ symbols.each do |sym|
2215
+ begin
2216
+ attach_function sym, args[sym], retvals[sym]
2217
+ rescue FFI::NotFoundError => error
2218
+ $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
2219
+ end
2220
+ end
2221
+ end
2222
+
2223
+ end
2224
+