1use crate::structs::*;
2pub type __gnuc_va_list = __builtin_va_list;
3pub type va_list = __builtin_va_list;
4pub type __builtin_va_list = [__va_list_tag; 1usize];
5#[repr(C)]
6#[derive(Debug, Copy, Clone)]
7pub struct __va_list_tag {
8 pub gp_offset: ::std::os::raw::c_uint,
9 pub fp_offset: ::std::os::raw::c_uint,
10 pub overflow_arg_area: *mut ::std::os::raw::c_void,
11 pub reg_save_area: *mut ::std::os::raw::c_void,
12}
13pub type TraceLogCallback = ::std::option::Option<
14 unsafe extern "C" fn(
15 logLevel: ::std::os::raw::c_int,
16 text: *const ::std::os::raw::c_char,
17 args: *mut __va_list_tag,
18 ),
19>;
20pub type LoadFileDataCallback = ::std::option::Option<
21 unsafe extern "C" fn(
22 fileName: *const ::std::os::raw::c_char,
23 dataSize: *mut ::std::os::raw::c_int,
24 ) -> *mut ::std::os::raw::c_uchar,
25>;
26pub type SaveFileDataCallback = ::std::option::Option<
27 unsafe extern "C" fn(
28 fileName: *const ::std::os::raw::c_char,
29 data: *mut ::std::os::raw::c_void,
30 dataSize: ::std::os::raw::c_int,
31 ) -> bool,
32>;
33pub type LoadFileTextCallback = ::std::option::Option<
34 unsafe extern "C" fn(fileName: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char,
35>;
36pub type SaveFileTextCallback = ::std::option::Option<
37 unsafe extern "C" fn(
38 fileName: *const ::std::os::raw::c_char,
39 text: *mut ::std::os::raw::c_char,
40 ) -> bool,
41>;
42extern "C" {
43 pub fn InitWindow(
44 width: ::std::os::raw::c_int,
45 height: ::std::os::raw::c_int,
46 title: *const ::std::os::raw::c_char,
47 );
48}
49extern "C" {
50 pub fn CloseWindow();
51}
52extern "C" {
53 pub fn WindowShouldClose() -> bool;
54}
55extern "C" {
56 pub fn IsWindowReady() -> bool;
57}
58extern "C" {
59 pub fn IsWindowFullscreen() -> bool;
60}
61extern "C" {
62 pub fn IsWindowHidden() -> bool;
63}
64extern "C" {
65 pub fn IsWindowMinimized() -> bool;
66}
67extern "C" {
68 pub fn IsWindowMaximized() -> bool;
69}
70extern "C" {
71 pub fn IsWindowFocused() -> bool;
72}
73extern "C" {
74 pub fn IsWindowResized() -> bool;
75}
76extern "C" {
77 pub fn IsWindowState(flag: ::std::os::raw::c_uint) -> bool;
78}
79extern "C" {
80 pub fn SetWindowState(flags: ::std::os::raw::c_uint);
81}
82extern "C" {
83 pub fn ClearWindowState(flags: ::std::os::raw::c_uint);
84}
85extern "C" {
86 pub fn ToggleFullscreen();
87}
88extern "C" {
89 pub fn ToggleBorderlessWindowed();
90}
91extern "C" {
92 pub fn MaximizeWindow();
93}
94extern "C" {
95 pub fn MinimizeWindow();
96}
97extern "C" {
98 pub fn RestoreWindow();
99}
100extern "C" {
101 pub fn SetWindowIcon(image: Image);
102}
103extern "C" {
104 pub fn SetWindowIcons(images: *mut Image, count: ::std::os::raw::c_int);
105}
106extern "C" {
107 pub fn SetWindowTitle(title: *const ::std::os::raw::c_char);
108}
109extern "C" {
110 pub fn SetWindowPosition(x: ::std::os::raw::c_int, y: ::std::os::raw::c_int);
111}
112extern "C" {
113 pub fn SetWindowMonitor(monitor: ::std::os::raw::c_int);
114}
115extern "C" {
116 pub fn SetWindowMinSize(width: ::std::os::raw::c_int, height: ::std::os::raw::c_int);
117}
118extern "C" {
119 pub fn SetWindowMaxSize(width: ::std::os::raw::c_int, height: ::std::os::raw::c_int);
120}
121extern "C" {
122 pub fn SetWindowSize(width: ::std::os::raw::c_int, height: ::std::os::raw::c_int);
123}
124extern "C" {
125 pub fn SetWindowOpacity(opacity: f32);
126}
127extern "C" {
128 pub fn SetWindowFocused();
129}
130extern "C" {
131 pub fn GetWindowHandle() -> *mut ::std::os::raw::c_void;
132}
133extern "C" {
134 pub fn GetScreenWidth() -> ::std::os::raw::c_int;
135}
136extern "C" {
137 pub fn GetScreenHeight() -> ::std::os::raw::c_int;
138}
139extern "C" {
140 pub fn GetRenderWidth() -> ::std::os::raw::c_int;
141}
142extern "C" {
143 pub fn GetRenderHeight() -> ::std::os::raw::c_int;
144}
145extern "C" {
146 pub fn GetMonitorCount() -> ::std::os::raw::c_int;
147}
148extern "C" {
149 pub fn GetCurrentMonitor() -> ::std::os::raw::c_int;
150}
151extern "C" {
152 pub fn GetMonitorPosition(monitor: ::std::os::raw::c_int) -> Vector2;
153}
154extern "C" {
155 pub fn GetMonitorWidth(monitor: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
156}
157extern "C" {
158 pub fn GetMonitorHeight(monitor: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
159}
160extern "C" {
161 pub fn GetMonitorPhysicalWidth(monitor: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
162}
163extern "C" {
164 pub fn GetMonitorPhysicalHeight(monitor: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
165}
166extern "C" {
167 pub fn GetMonitorRefreshRate(monitor: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
168}
169extern "C" {
170 pub fn GetWindowPosition() -> Vector2;
171}
172extern "C" {
173 pub fn GetWindowScaleDPI() -> Vector2;
174}
175extern "C" {
176 pub fn GetMonitorName(monitor: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
177}
178extern "C" {
179 pub fn SetClipboardText(text: *const ::std::os::raw::c_char);
180}
181extern "C" {
182 pub fn GetClipboardText() -> *const ::std::os::raw::c_char;
183}
184extern "C" {
185 pub fn EnableEventWaiting();
186}
187extern "C" {
188 pub fn DisableEventWaiting();
189}
190extern "C" {
191 pub fn ShowCursor();
192}
193extern "C" {
194 pub fn HideCursor();
195}
196extern "C" {
197 pub fn IsCursorHidden() -> bool;
198}
199extern "C" {
200 pub fn EnableCursor();
201}
202extern "C" {
203 pub fn DisableCursor();
204}
205extern "C" {
206 pub fn IsCursorOnScreen() -> bool;
207}
208extern "C" {
209 pub fn ClearBackground(color: Color);
210}
211extern "C" {
212 pub fn BeginDrawing();
213}
214extern "C" {
215 pub fn EndDrawing();
216}
217extern "C" {
218 pub fn BeginMode2D(camera: Camera2D);
219}
220extern "C" {
221 pub fn EndMode2D();
222}
223extern "C" {
224 pub fn BeginMode3D(camera: Camera3D);
225}
226extern "C" {
227 pub fn EndMode3D();
228}
229extern "C" {
230 pub fn BeginTextureMode(target: RenderTexture2D);
231}
232extern "C" {
233 pub fn EndTextureMode();
234}
235extern "C" {
236 pub fn BeginShaderMode(shader: Shader);
237}
238extern "C" {
239 pub fn EndShaderMode();
240}
241extern "C" {
242 pub fn BeginBlendMode(mode: ::std::os::raw::c_int);
243}
244extern "C" {
245 pub fn EndBlendMode();
246}
247extern "C" {
248 pub fn BeginScissorMode(
249 x: ::std::os::raw::c_int,
250 y: ::std::os::raw::c_int,
251 width: ::std::os::raw::c_int,
252 height: ::std::os::raw::c_int,
253 );
254}
255extern "C" {
256 pub fn EndScissorMode();
257}
258extern "C" {
259 pub fn BeginVrStereoMode(config: VrStereoConfig);
260}
261extern "C" {
262 pub fn EndVrStereoMode();
263}
264extern "C" {
265 pub fn LoadVrStereoConfig(device: VrDeviceInfo) -> VrStereoConfig;
266}
267extern "C" {
268 pub fn UnloadVrStereoConfig(config: VrStereoConfig);
269}
270extern "C" {
271 pub fn LoadShader(
272 vsFileName: *const ::std::os::raw::c_char,
273 fsFileName: *const ::std::os::raw::c_char,
274 ) -> Shader;
275}
276extern "C" {
277 pub fn LoadShaderFromMemory(
278 vsCode: *const ::std::os::raw::c_char,
279 fsCode: *const ::std::os::raw::c_char,
280 ) -> Shader;
281}
282extern "C" {
283 pub fn IsShaderReady(shader: Shader) -> bool;
284}
285extern "C" {
286 pub fn GetShaderLocation(
287 shader: Shader,
288 uniformName: *const ::std::os::raw::c_char,
289 ) -> ::std::os::raw::c_int;
290}
291extern "C" {
292 pub fn GetShaderLocationAttrib(
293 shader: Shader,
294 attribName: *const ::std::os::raw::c_char,
295 ) -> ::std::os::raw::c_int;
296}
297extern "C" {
298 pub fn SetShaderValue(
299 shader: Shader,
300 locIndex: ::std::os::raw::c_int,
301 value: *const ::std::os::raw::c_void,
302 uniformType: ::std::os::raw::c_int,
303 );
304}
305extern "C" {
306 pub fn SetShaderValueV(
307 shader: Shader,
308 locIndex: ::std::os::raw::c_int,
309 value: *const ::std::os::raw::c_void,
310 uniformType: ::std::os::raw::c_int,
311 count: ::std::os::raw::c_int,
312 );
313}
314extern "C" {
315 pub fn SetShaderValueMatrix(shader: Shader, locIndex: ::std::os::raw::c_int, mat: Matrix);
316}
317extern "C" {
318 pub fn SetShaderValueTexture(
319 shader: Shader,
320 locIndex: ::std::os::raw::c_int,
321 texture: Texture2D,
322 );
323}
324extern "C" {
325 pub fn UnloadShader(shader: Shader);
326}
327extern "C" {
328 pub fn GetMouseRay(mousePosition: Vector2, camera: Camera) -> Ray;
329}
330extern "C" {
331 pub fn GetCameraMatrix(camera: Camera) -> Matrix;
332}
333extern "C" {
334 pub fn GetCameraMatrix2D(camera: Camera2D) -> Matrix;
335}
336extern "C" {
337 pub fn GetWorldToScreen(position: Vector3, camera: Camera) -> Vector2;
338}
339extern "C" {
340 pub fn GetScreenToWorld2D(position: Vector2, camera: Camera2D) -> Vector2;
341}
342extern "C" {
343 pub fn GetWorldToScreenEx(
344 position: Vector3,
345 camera: Camera,
346 width: ::std::os::raw::c_int,
347 height: ::std::os::raw::c_int,
348 ) -> Vector2;
349}
350extern "C" {
351 pub fn GetWorldToScreen2D(position: Vector2, camera: Camera2D) -> Vector2;
352}
353extern "C" {
354 pub fn SetTargetFPS(fps: ::std::os::raw::c_int);
355}
356extern "C" {
357 pub fn GetFrameTime() -> f32;
358}
359extern "C" {
360 pub fn GetTime() -> f64;
361}
362extern "C" {
363 pub fn GetFPS() -> ::std::os::raw::c_int;
364}
365extern "C" {
366 pub fn SwapScreenBuffer();
367}
368extern "C" {
369 pub fn PollInputEvents();
370}
371extern "C" {
372 pub fn WaitTime(seconds: f64);
373}
374extern "C" {
375 pub fn SetRandomSeed(seed: ::std::os::raw::c_uint);
376}
377extern "C" {
378 pub fn GetRandomValue(
379 min: ::std::os::raw::c_int,
380 max: ::std::os::raw::c_int,
381 ) -> ::std::os::raw::c_int;
382}
383extern "C" {
384 pub fn LoadRandomSequence(
385 count: ::std::os::raw::c_uint,
386 min: ::std::os::raw::c_int,
387 max: ::std::os::raw::c_int,
388 ) -> *mut ::std::os::raw::c_int;
389}
390extern "C" {
391 pub fn UnloadRandomSequence(sequence: *mut ::std::os::raw::c_int);
392}
393extern "C" {
394 pub fn TakeScreenshot(fileName: *const ::std::os::raw::c_char);
395}
396extern "C" {
397 pub fn SetConfigFlags(flags: ::std::os::raw::c_uint);
398}
399extern "C" {
400 pub fn OpenURL(url: *const ::std::os::raw::c_char);
401}
402extern "C" {
403 pub fn TraceLog(logLevel: ::std::os::raw::c_int, text: *const ::std::os::raw::c_char, ...);
404}
405extern "C" {
406 pub fn SetTraceLogLevel(logLevel: ::std::os::raw::c_int);
407}
408extern "C" {
409 pub fn MemAlloc(size: ::std::os::raw::c_uint) -> *mut ::std::os::raw::c_void;
410}
411extern "C" {
412 pub fn MemRealloc(
413 ptr: *mut ::std::os::raw::c_void,
414 size: ::std::os::raw::c_uint,
415 ) -> *mut ::std::os::raw::c_void;
416}
417extern "C" {
418 pub fn MemFree(ptr: *mut ::std::os::raw::c_void);
419}
420extern "C" {
421 pub fn SetTraceLogCallback(callback: TraceLogCallback);
422}
423extern "C" {
424 pub fn SetLoadFileDataCallback(callback: LoadFileDataCallback);
425}
426extern "C" {
427 pub fn SetSaveFileDataCallback(callback: SaveFileDataCallback);
428}
429extern "C" {
430 pub fn SetLoadFileTextCallback(callback: LoadFileTextCallback);
431}
432extern "C" {
433 pub fn SetSaveFileTextCallback(callback: SaveFileTextCallback);
434}
435extern "C" {
436 pub fn LoadFileData(
437 fileName: *const ::std::os::raw::c_char,
438 dataSize: *mut ::std::os::raw::c_int,
439 ) -> *mut ::std::os::raw::c_uchar;
440}
441extern "C" {
442 pub fn UnloadFileData(data: *mut ::std::os::raw::c_uchar);
443}
444extern "C" {
445 pub fn SaveFileData(
446 fileName: *const ::std::os::raw::c_char,
447 data: *mut ::std::os::raw::c_void,
448 dataSize: ::std::os::raw::c_int,
449 ) -> bool;
450}
451extern "C" {
452 pub fn ExportDataAsCode(
453 data: *const ::std::os::raw::c_uchar,
454 dataSize: ::std::os::raw::c_int,
455 fileName: *const ::std::os::raw::c_char,
456 ) -> bool;
457}
458extern "C" {
459 pub fn LoadFileText(fileName: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
460}
461extern "C" {
462 pub fn UnloadFileText(text: *mut ::std::os::raw::c_char);
463}
464extern "C" {
465 pub fn SaveFileText(
466 fileName: *const ::std::os::raw::c_char,
467 text: *mut ::std::os::raw::c_char,
468 ) -> bool;
469}
470extern "C" {
471 pub fn FileExists(fileName: *const ::std::os::raw::c_char) -> bool;
472}
473extern "C" {
474 pub fn DirectoryExists(dirPath: *const ::std::os::raw::c_char) -> bool;
475}
476extern "C" {
477 pub fn IsFileExtension(
478 fileName: *const ::std::os::raw::c_char,
479 ext: *const ::std::os::raw::c_char,
480 ) -> bool;
481}
482extern "C" {
483 pub fn GetFileLength(fileName: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
484}
485extern "C" {
486 pub fn GetFileExtension(
487 fileName: *const ::std::os::raw::c_char,
488 ) -> *const ::std::os::raw::c_char;
489}
490extern "C" {
491 pub fn GetFileName(filePath: *const ::std::os::raw::c_char) -> *const ::std::os::raw::c_char;
492}
493extern "C" {
494 pub fn GetFileNameWithoutExt(
495 filePath: *const ::std::os::raw::c_char,
496 ) -> *const ::std::os::raw::c_char;
497}
498extern "C" {
499 pub fn GetDirectoryPath(
500 filePath: *const ::std::os::raw::c_char,
501 ) -> *const ::std::os::raw::c_char;
502}
503extern "C" {
504 pub fn GetPrevDirectoryPath(
505 dirPath: *const ::std::os::raw::c_char,
506 ) -> *const ::std::os::raw::c_char;
507}
508extern "C" {
509 pub fn GetWorkingDirectory() -> *const ::std::os::raw::c_char;
510}
511extern "C" {
512 pub fn GetApplicationDirectory() -> *const ::std::os::raw::c_char;
513}
514extern "C" {
515 pub fn ChangeDirectory(dir: *const ::std::os::raw::c_char) -> bool;
516}
517extern "C" {
518 pub fn IsPathFile(path: *const ::std::os::raw::c_char) -> bool;
519}
520extern "C" {
521 pub fn LoadDirectoryFiles(dirPath: *const ::std::os::raw::c_char) -> FilePathList;
522}
523extern "C" {
524 pub fn LoadDirectoryFilesEx(
525 basePath: *const ::std::os::raw::c_char,
526 filter: *const ::std::os::raw::c_char,
527 scanSubdirs: bool,
528 ) -> FilePathList;
529}
530extern "C" {
531 pub fn UnloadDirectoryFiles(files: FilePathList);
532}
533extern "C" {
534 pub fn IsFileDropped() -> bool;
535}
536extern "C" {
537 pub fn LoadDroppedFiles() -> FilePathList;
538}
539extern "C" {
540 pub fn UnloadDroppedFiles(files: FilePathList);
541}
542extern "C" {
543 pub fn GetFileModTime(fileName: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
544}
545extern "C" {
546 pub fn CompressData(
547 data: *const ::std::os::raw::c_uchar,
548 dataSize: ::std::os::raw::c_int,
549 compDataSize: *mut ::std::os::raw::c_int,
550 ) -> *mut ::std::os::raw::c_uchar;
551}
552extern "C" {
553 pub fn DecompressData(
554 compData: *const ::std::os::raw::c_uchar,
555 compDataSize: ::std::os::raw::c_int,
556 dataSize: *mut ::std::os::raw::c_int,
557 ) -> *mut ::std::os::raw::c_uchar;
558}
559extern "C" {
560 pub fn EncodeDataBase64(
561 data: *const ::std::os::raw::c_uchar,
562 dataSize: ::std::os::raw::c_int,
563 outputSize: *mut ::std::os::raw::c_int,
564 ) -> *mut ::std::os::raw::c_char;
565}
566extern "C" {
567 pub fn DecodeDataBase64(
568 data: *const ::std::os::raw::c_uchar,
569 outputSize: *mut ::std::os::raw::c_int,
570 ) -> *mut ::std::os::raw::c_uchar;
571}
572extern "C" {
573 pub fn LoadAutomationEventList(fileName: *const ::std::os::raw::c_char) -> AutomationEventList;
574}
575extern "C" {
576 pub fn UnloadAutomationEventList(list: *mut AutomationEventList);
577}
578extern "C" {
579 pub fn ExportAutomationEventList(
580 list: AutomationEventList,
581 fileName: *const ::std::os::raw::c_char,
582 ) -> bool;
583}
584extern "C" {
585 pub fn SetAutomationEventList(list: *mut AutomationEventList);
586}
587extern "C" {
588 pub fn SetAutomationEventBaseFrame(frame: ::std::os::raw::c_int);
589}
590extern "C" {
591 pub fn StartAutomationEventRecording();
592}
593extern "C" {
594 pub fn StopAutomationEventRecording();
595}
596extern "C" {
597 pub fn PlayAutomationEvent(event: AutomationEvent);
598}
599use crate::KeyboardKey;
600extern "C" {
601 pub fn IsKeyPressed(key: KeyboardKey) -> bool;
602}
603extern "C" {
604 pub fn IsKeyPressedRepeat(key: KeyboardKey) -> bool;
605}
606extern "C" {
607 pub fn IsKeyDown(key: KeyboardKey) -> bool;
608}
609extern "C" {
610 pub fn IsKeyReleased(key: KeyboardKey) -> bool;
611}
612extern "C" {
613 pub fn IsKeyUp(key: KeyboardKey) -> bool;
614}
615extern "C" {
616 pub fn GetKeyPressed() -> KeyboardKey;
617}
618extern "C" {
619 pub fn GetCharPressed() -> KeyboardKey;
620}
621extern "C" {
622 pub fn SetExitKey(key: KeyboardKey);
623}
624extern "C" {
625 pub fn IsGamepadAvailable(gamepad: ::std::os::raw::c_int) -> bool;
626}
627extern "C" {
628 pub fn GetGamepadName(gamepad: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
629}
630extern "C" {
631 pub fn IsGamepadButtonPressed(
632 gamepad: ::std::os::raw::c_int,
633 button: ::std::os::raw::c_int,
634 ) -> bool;
635}
636extern "C" {
637 pub fn IsGamepadButtonDown(
638 gamepad: ::std::os::raw::c_int,
639 button: ::std::os::raw::c_int,
640 ) -> bool;
641}
642extern "C" {
643 pub fn IsGamepadButtonReleased(
644 gamepad: ::std::os::raw::c_int,
645 button: ::std::os::raw::c_int,
646 ) -> bool;
647}
648extern "C" {
649 pub fn IsGamepadButtonUp(gamepad: ::std::os::raw::c_int, button: ::std::os::raw::c_int)
650 -> bool;
651}
652extern "C" {
653 pub fn GetGamepadButtonPressed() -> ::std::os::raw::c_int;
654}
655extern "C" {
656 pub fn GetGamepadAxisCount(gamepad: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
657}
658extern "C" {
659 pub fn GetGamepadAxisMovement(
660 gamepad: ::std::os::raw::c_int,
661 axis: ::std::os::raw::c_int,
662 ) -> f32;
663}
664extern "C" {
665 pub fn SetGamepadMappings(mappings: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
666}
667extern "C" {
668 pub fn IsMouseButtonPressed(button: ::std::os::raw::c_int) -> bool;
669}
670extern "C" {
671 pub fn IsMouseButtonDown(button: ::std::os::raw::c_int) -> bool;
672}
673extern "C" {
674 pub fn IsMouseButtonReleased(button: ::std::os::raw::c_int) -> bool;
675}
676extern "C" {
677 pub fn IsMouseButtonUp(button: ::std::os::raw::c_int) -> bool;
678}
679extern "C" {
680 pub fn GetMouseX() -> ::std::os::raw::c_int;
681}
682extern "C" {
683 pub fn GetMouseY() -> ::std::os::raw::c_int;
684}
685extern "C" {
686 pub fn GetMousePosition() -> Vector2;
687}
688extern "C" {
689 pub fn GetMouseDelta() -> Vector2;
690}
691extern "C" {
692 pub fn SetMousePosition(x: ::std::os::raw::c_int, y: ::std::os::raw::c_int);
693}
694extern "C" {
695 pub fn SetMouseOffset(offsetX: ::std::os::raw::c_int, offsetY: ::std::os::raw::c_int);
696}
697extern "C" {
698 pub fn SetMouseScale(scaleX: f32, scaleY: f32);
699}
700extern "C" {
701 pub fn GetMouseWheelMove() -> f32;
702}
703extern "C" {
704 pub fn GetMouseWheelMoveV() -> Vector2;
705}
706extern "C" {
707 pub fn SetMouseCursor(cursor: ::std::os::raw::c_int);
708}
709extern "C" {
710 pub fn GetTouchX() -> ::std::os::raw::c_int;
711}
712extern "C" {
713 pub fn GetTouchY() -> ::std::os::raw::c_int;
714}
715extern "C" {
716 pub fn GetTouchPosition(index: ::std::os::raw::c_int) -> Vector2;
717}
718extern "C" {
719 pub fn GetTouchPointId(index: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
720}
721extern "C" {
722 pub fn GetTouchPointCount() -> ::std::os::raw::c_int;
723}
724extern "C" {
725 pub fn SetGesturesEnabled(flags: ::std::os::raw::c_uint);
726}
727extern "C" {
728 pub fn IsGestureDetected(gesture: ::std::os::raw::c_uint) -> bool;
729}
730extern "C" {
731 pub fn GetGestureDetected() -> ::std::os::raw::c_int;
732}
733extern "C" {
734 pub fn GetGestureHoldDuration() -> f32;
735}
736extern "C" {
737 pub fn GetGestureDragVector() -> Vector2;
738}
739extern "C" {
740 pub fn GetGestureDragAngle() -> f32;
741}
742extern "C" {
743 pub fn GetGesturePinchVector() -> Vector2;
744}
745extern "C" {
746 pub fn GetGesturePinchAngle() -> f32;
747}
748extern "C" {
749 pub fn UpdateCamera(camera: *mut Camera, mode: ::std::os::raw::c_int);
750}
751extern "C" {
752 pub fn UpdateCameraPro(camera: *mut Camera, movement: Vector3, rotation: Vector3, zoom: f32);
753}
754extern "C" {
755 pub fn SetShapesTexture(texture: Texture2D, source: Rectangle);
756}
757extern "C" {
758 pub fn DrawPixel(posX: ::std::os::raw::c_int, posY: ::std::os::raw::c_int, color: Color);
759}
760extern "C" {
761 pub fn DrawPixelV(position: Vector2, color: Color);
762}
763extern "C" {
764 pub fn DrawLine(
765 startPosX: ::std::os::raw::c_int,
766 startPosY: ::std::os::raw::c_int,
767 endPosX: ::std::os::raw::c_int,
768 endPosY: ::std::os::raw::c_int,
769 color: Color,
770 );
771}
772extern "C" {
773 pub fn DrawLineV(startPos: Vector2, endPos: Vector2, color: Color);
774}
775extern "C" {
776 pub fn DrawLineEx(startPos: Vector2, endPos: Vector2, thick: f32, color: Color);
777}
778extern "C" {
779 pub fn DrawLineStrip(points: *mut Vector2, pointCount: ::std::os::raw::c_int, color: Color);
780}
781extern "C" {
782 pub fn DrawLineBezier(startPos: Vector2, endPos: Vector2, thick: f32, color: Color);
783}
784extern "C" {
785 pub fn DrawCircle(
786 centerX: ::std::os::raw::c_int,
787 centerY: ::std::os::raw::c_int,
788 radius: f32,
789 color: Color,
790 );
791}
792extern "C" {
793 pub fn DrawCircleSector(
794 center: Vector2,
795 radius: f32,
796 startAngle: f32,
797 endAngle: f32,
798 segments: ::std::os::raw::c_int,
799 color: Color,
800 );
801}
802extern "C" {
803 pub fn DrawCircleSectorLines(
804 center: Vector2,
805 radius: f32,
806 startAngle: f32,
807 endAngle: f32,
808 segments: ::std::os::raw::c_int,
809 color: Color,
810 );
811}
812extern "C" {
813 pub fn DrawCircleGradient(
814 centerX: ::std::os::raw::c_int,
815 centerY: ::std::os::raw::c_int,
816 radius: f32,
817 color1: Color,
818 color2: Color,
819 );
820}
821extern "C" {
822 pub fn DrawCircleV(center: Vector2, radius: f32, color: Color);
823}
824extern "C" {
825 pub fn DrawCircleLines(
826 centerX: ::std::os::raw::c_int,
827 centerY: ::std::os::raw::c_int,
828 radius: f32,
829 color: Color,
830 );
831}
832extern "C" {
833 pub fn DrawCircleLinesV(center: Vector2, radius: f32, color: Color);
834}
835extern "C" {
836 pub fn DrawEllipse(
837 centerX: ::std::os::raw::c_int,
838 centerY: ::std::os::raw::c_int,
839 radiusH: f32,
840 radiusV: f32,
841 color: Color,
842 );
843}
844extern "C" {
845 pub fn DrawEllipseLines(
846 centerX: ::std::os::raw::c_int,
847 centerY: ::std::os::raw::c_int,
848 radiusH: f32,
849 radiusV: f32,
850 color: Color,
851 );
852}
853extern "C" {
854 pub fn DrawRing(
855 center: Vector2,
856 innerRadius: f32,
857 outerRadius: f32,
858 startAngle: f32,
859 endAngle: f32,
860 segments: ::std::os::raw::c_int,
861 color: Color,
862 );
863}
864extern "C" {
865 pub fn DrawRingLines(
866 center: Vector2,
867 innerRadius: f32,
868 outerRadius: f32,
869 startAngle: f32,
870 endAngle: f32,
871 segments: ::std::os::raw::c_int,
872 color: Color,
873 );
874}
875extern "C" {
876 pub fn DrawRectangle(
877 posX: ::std::os::raw::c_int,
878 posY: ::std::os::raw::c_int,
879 width: ::std::os::raw::c_int,
880 height: ::std::os::raw::c_int,
881 color: Color,
882 );
883}
884extern "C" {
885 pub fn DrawRectangleV(position: Vector2, size: Vector2, color: Color);
886}
887extern "C" {
888 pub fn DrawRectangleRec(rec: Rectangle, color: Color);
889}
890extern "C" {
891 pub fn DrawRectanglePro(rec: Rectangle, origin: Vector2, rotation: f32, color: Color);
892}
893extern "C" {
894 pub fn DrawRectangleGradientV(
895 posX: ::std::os::raw::c_int,
896 posY: ::std::os::raw::c_int,
897 width: ::std::os::raw::c_int,
898 height: ::std::os::raw::c_int,
899 color1: Color,
900 color2: Color,
901 );
902}
903extern "C" {
904 pub fn DrawRectangleGradientH(
905 posX: ::std::os::raw::c_int,
906 posY: ::std::os::raw::c_int,
907 width: ::std::os::raw::c_int,
908 height: ::std::os::raw::c_int,
909 color1: Color,
910 color2: Color,
911 );
912}
913extern "C" {
914 pub fn DrawRectangleGradientEx(
915 rec: Rectangle,
916 col1: Color,
917 col2: Color,
918 col3: Color,
919 col4: Color,
920 );
921}
922extern "C" {
923 pub fn DrawRectangleLines(
924 posX: ::std::os::raw::c_int,
925 posY: ::std::os::raw::c_int,
926 width: ::std::os::raw::c_int,
927 height: ::std::os::raw::c_int,
928 color: Color,
929 );
930}
931extern "C" {
932 pub fn DrawRectangleLinesEx(rec: Rectangle, lineThick: f32, color: Color);
933}
934extern "C" {
935 pub fn DrawRectangleRounded(
936 rec: Rectangle,
937 roundness: f32,
938 segments: ::std::os::raw::c_int,
939 color: Color,
940 );
941}
942extern "C" {
943 pub fn DrawRectangleRoundedLines(
944 rec: Rectangle,
945 roundness: f32,
946 segments: ::std::os::raw::c_int,
947 lineThick: f32,
948 color: Color,
949 );
950}
951extern "C" {
952 pub fn DrawTriangle(v1: Vector2, v2: Vector2, v3: Vector2, color: Color);
953}
954extern "C" {
955 pub fn DrawTriangleLines(v1: Vector2, v2: Vector2, v3: Vector2, color: Color);
956}
957extern "C" {
958 pub fn DrawTriangleFan(points: *mut Vector2, pointCount: ::std::os::raw::c_int, color: Color);
959}
960extern "C" {
961 pub fn DrawTriangleStrip(points: *mut Vector2, pointCount: ::std::os::raw::c_int, color: Color);
962}
963extern "C" {
964 pub fn DrawPoly(
965 center: Vector2,
966 sides: ::std::os::raw::c_int,
967 radius: f32,
968 rotation: f32,
969 color: Color,
970 );
971}
972extern "C" {
973 pub fn DrawPolyLines(
974 center: Vector2,
975 sides: ::std::os::raw::c_int,
976 radius: f32,
977 rotation: f32,
978 color: Color,
979 );
980}
981extern "C" {
982 pub fn DrawPolyLinesEx(
983 center: Vector2,
984 sides: ::std::os::raw::c_int,
985 radius: f32,
986 rotation: f32,
987 lineThick: f32,
988 color: Color,
989 );
990}
991extern "C" {
992 pub fn DrawSplineLinear(
993 points: *mut Vector2,
994 pointCount: ::std::os::raw::c_int,
995 thick: f32,
996 color: Color,
997 );
998}
999extern "C" {
1000 pub fn DrawSplineBasis(
1001 points: *mut Vector2,
1002 pointCount: ::std::os::raw::c_int,
1003 thick: f32,
1004 color: Color,
1005 );
1006}
1007extern "C" {
1008 pub fn DrawSplineCatmullRom(
1009 points: *mut Vector2,
1010 pointCount: ::std::os::raw::c_int,
1011 thick: f32,
1012 color: Color,
1013 );
1014}
1015extern "C" {
1016 pub fn DrawSplineBezierQuadratic(
1017 points: *mut Vector2,
1018 pointCount: ::std::os::raw::c_int,
1019 thick: f32,
1020 color: Color,
1021 );
1022}
1023extern "C" {
1024 pub fn DrawSplineBezierCubic(
1025 points: *mut Vector2,
1026 pointCount: ::std::os::raw::c_int,
1027 thick: f32,
1028 color: Color,
1029 );
1030}
1031extern "C" {
1032 pub fn DrawSplineSegmentLinear(p1: Vector2, p2: Vector2, thick: f32, color: Color);
1033}
1034extern "C" {
1035 pub fn DrawSplineSegmentBasis(
1036 p1: Vector2,
1037 p2: Vector2,
1038 p3: Vector2,
1039 p4: Vector2,
1040 thick: f32,
1041 color: Color,
1042 );
1043}
1044extern "C" {
1045 pub fn DrawSplineSegmentCatmullRom(
1046 p1: Vector2,
1047 p2: Vector2,
1048 p3: Vector2,
1049 p4: Vector2,
1050 thick: f32,
1051 color: Color,
1052 );
1053}
1054extern "C" {
1055 pub fn DrawSplineSegmentBezierQuadratic(
1056 p1: Vector2,
1057 c2: Vector2,
1058 p3: Vector2,
1059 thick: f32,
1060 color: Color,
1061 );
1062}
1063extern "C" {
1064 pub fn DrawSplineSegmentBezierCubic(
1065 p1: Vector2,
1066 c2: Vector2,
1067 c3: Vector2,
1068 p4: Vector2,
1069 thick: f32,
1070 color: Color,
1071 );
1072}
1073extern "C" {
1074 pub fn GetSplinePointLinear(startPos: Vector2, endPos: Vector2, t: f32) -> Vector2;
1075}
1076extern "C" {
1077 pub fn GetSplinePointBasis(
1078 p1: Vector2,
1079 p2: Vector2,
1080 p3: Vector2,
1081 p4: Vector2,
1082 t: f32,
1083 ) -> Vector2;
1084}
1085extern "C" {
1086 pub fn GetSplinePointCatmullRom(
1087 p1: Vector2,
1088 p2: Vector2,
1089 p3: Vector2,
1090 p4: Vector2,
1091 t: f32,
1092 ) -> Vector2;
1093}
1094extern "C" {
1095 pub fn GetSplinePointBezierQuad(p1: Vector2, c2: Vector2, p3: Vector2, t: f32) -> Vector2;
1096}
1097extern "C" {
1098 pub fn GetSplinePointBezierCubic(
1099 p1: Vector2,
1100 c2: Vector2,
1101 c3: Vector2,
1102 p4: Vector2,
1103 t: f32,
1104 ) -> Vector2;
1105}
1106extern "C" {
1107 pub fn CheckCollisionRecs(rec1: Rectangle, rec2: Rectangle) -> bool;
1108}
1109extern "C" {
1110 pub fn CheckCollisionCircles(
1111 center1: Vector2,
1112 radius1: f32,
1113 center2: Vector2,
1114 radius2: f32,
1115 ) -> bool;
1116}
1117extern "C" {
1118 pub fn CheckCollisionCircleRec(center: Vector2, radius: f32, rec: Rectangle) -> bool;
1119}
1120extern "C" {
1121 pub fn CheckCollisionPointRec(point: Vector2, rec: Rectangle) -> bool;
1122}
1123extern "C" {
1124 pub fn CheckCollisionPointCircle(point: Vector2, center: Vector2, radius: f32) -> bool;
1125}
1126extern "C" {
1127 pub fn CheckCollisionPointTriangle(
1128 point: Vector2,
1129 p1: Vector2,
1130 p2: Vector2,
1131 p3: Vector2,
1132 ) -> bool;
1133}
1134extern "C" {
1135 pub fn CheckCollisionPointPoly(
1136 point: Vector2,
1137 points: *mut Vector2,
1138 pointCount: ::std::os::raw::c_int,
1139 ) -> bool;
1140}
1141extern "C" {
1142 pub fn CheckCollisionLines(
1143 startPos1: Vector2,
1144 endPos1: Vector2,
1145 startPos2: Vector2,
1146 endPos2: Vector2,
1147 collisionPoint: *mut Vector2,
1148 ) -> bool;
1149}
1150extern "C" {
1151 pub fn CheckCollisionPointLine(
1152 point: Vector2,
1153 p1: Vector2,
1154 p2: Vector2,
1155 threshold: ::std::os::raw::c_int,
1156 ) -> bool;
1157}
1158extern "C" {
1159 pub fn GetCollisionRec(rec1: Rectangle, rec2: Rectangle) -> Rectangle;
1160}
1161extern "C" {
1162 pub fn LoadImage(fileName: *const ::std::os::raw::c_char) -> Image;
1163}
1164extern "C" {
1165 pub fn LoadImageRaw(
1166 fileName: *const ::std::os::raw::c_char,
1167 width: ::std::os::raw::c_int,
1168 height: ::std::os::raw::c_int,
1169 format: ::std::os::raw::c_int,
1170 headerSize: ::std::os::raw::c_int,
1171 ) -> Image;
1172}
1173extern "C" {
1174 pub fn LoadImageSvg(
1175 fileNameOrString: *const ::std::os::raw::c_char,
1176 width: ::std::os::raw::c_int,
1177 height: ::std::os::raw::c_int,
1178 ) -> Image;
1179}
1180extern "C" {
1181 pub fn LoadImageAnim(
1182 fileName: *const ::std::os::raw::c_char,
1183 frames: *mut ::std::os::raw::c_int,
1184 ) -> Image;
1185}
1186extern "C" {
1187 pub fn LoadImageFromMemory(
1188 fileType: *const ::std::os::raw::c_char,
1189 fileData: *const ::std::os::raw::c_uchar,
1190 dataSize: ::std::os::raw::c_int,
1191 ) -> Image;
1192}
1193extern "C" {
1194 pub fn LoadImageFromTexture(texture: Texture2D) -> Image;
1195}
1196extern "C" {
1197 pub fn LoadImageFromScreen() -> Image;
1198}
1199extern "C" {
1200 pub fn IsImageReady(image: Image) -> bool;
1201}
1202extern "C" {
1203 pub fn UnloadImage(image: Image);
1204}
1205extern "C" {
1206 pub fn ExportImage(image: Image, fileName: *const ::std::os::raw::c_char) -> bool;
1207}
1208extern "C" {
1209 pub fn ExportImageToMemory(
1210 image: Image,
1211 fileType: *const ::std::os::raw::c_char,
1212 fileSize: *mut ::std::os::raw::c_int,
1213 ) -> *mut ::std::os::raw::c_uchar;
1214}
1215extern "C" {
1216 pub fn ExportImageAsCode(image: Image, fileName: *const ::std::os::raw::c_char) -> bool;
1217}
1218extern "C" {
1219 pub fn GenImageColor(
1220 width: ::std::os::raw::c_int,
1221 height: ::std::os::raw::c_int,
1222 color: Color,
1223 ) -> Image;
1224}
1225extern "C" {
1226 pub fn GenImageGradientLinear(
1227 width: ::std::os::raw::c_int,
1228 height: ::std::os::raw::c_int,
1229 direction: ::std::os::raw::c_int,
1230 start: Color,
1231 end: Color,
1232 ) -> Image;
1233}
1234extern "C" {
1235 pub fn GenImageGradientRadial(
1236 width: ::std::os::raw::c_int,
1237 height: ::std::os::raw::c_int,
1238 density: f32,
1239 inner: Color,
1240 outer: Color,
1241 ) -> Image;
1242}
1243extern "C" {
1244 pub fn GenImageGradientSquare(
1245 width: ::std::os::raw::c_int,
1246 height: ::std::os::raw::c_int,
1247 density: f32,
1248 inner: Color,
1249 outer: Color,
1250 ) -> Image;
1251}
1252extern "C" {
1253 pub fn GenImageChecked(
1254 width: ::std::os::raw::c_int,
1255 height: ::std::os::raw::c_int,
1256 checksX: ::std::os::raw::c_int,
1257 checksY: ::std::os::raw::c_int,
1258 col1: Color,
1259 col2: Color,
1260 ) -> Image;
1261}
1262extern "C" {
1263 pub fn GenImageWhiteNoise(
1264 width: ::std::os::raw::c_int,
1265 height: ::std::os::raw::c_int,
1266 factor: f32,
1267 ) -> Image;
1268}
1269extern "C" {
1270 pub fn GenImagePerlinNoise(
1271 width: ::std::os::raw::c_int,
1272 height: ::std::os::raw::c_int,
1273 offsetX: ::std::os::raw::c_int,
1274 offsetY: ::std::os::raw::c_int,
1275 scale: f32,
1276 ) -> Image;
1277}
1278extern "C" {
1279 pub fn GenImageCellular(
1280 width: ::std::os::raw::c_int,
1281 height: ::std::os::raw::c_int,
1282 tileSize: ::std::os::raw::c_int,
1283 ) -> Image;
1284}
1285extern "C" {
1286 pub fn GenImageText(
1287 width: ::std::os::raw::c_int,
1288 height: ::std::os::raw::c_int,
1289 text: *const ::std::os::raw::c_char,
1290 ) -> Image;
1291}
1292extern "C" {
1293 pub fn ImageCopy(image: Image) -> Image;
1294}
1295extern "C" {
1296 pub fn ImageFromImage(image: Image, rec: Rectangle) -> Image;
1297}
1298extern "C" {
1299 pub fn ImageText(
1300 text: *const ::std::os::raw::c_char,
1301 fontSize: ::std::os::raw::c_int,
1302 color: Color,
1303 ) -> Image;
1304}
1305extern "C" {
1306 pub fn ImageTextEx(
1307 font: Font,
1308 text: *const ::std::os::raw::c_char,
1309 fontSize: f32,
1310 spacing: f32,
1311 tint: Color,
1312 ) -> Image;
1313}
1314extern "C" {
1315 pub fn ImageFormat(image: *mut Image, newFormat: ::std::os::raw::c_int);
1316}
1317extern "C" {
1318 pub fn ImageToPOT(image: *mut Image, fill: Color);
1319}
1320extern "C" {
1321 pub fn ImageCrop(image: *mut Image, crop: Rectangle);
1322}
1323extern "C" {
1324 pub fn ImageAlphaCrop(image: *mut Image, threshold: f32);
1325}
1326extern "C" {
1327 pub fn ImageAlphaClear(image: *mut Image, color: Color, threshold: f32);
1328}
1329extern "C" {
1330 pub fn ImageAlphaMask(image: *mut Image, alphaMask: Image);
1331}
1332extern "C" {
1333 pub fn ImageAlphaPremultiply(image: *mut Image);
1334}
1335extern "C" {
1336 pub fn ImageBlurGaussian(image: *mut Image, blurSize: ::std::os::raw::c_int);
1337}
1338extern "C" {
1339 pub fn ImageResize(
1340 image: *mut Image,
1341 newWidth: ::std::os::raw::c_int,
1342 newHeight: ::std::os::raw::c_int,
1343 );
1344}
1345extern "C" {
1346 pub fn ImageResizeNN(
1347 image: *mut Image,
1348 newWidth: ::std::os::raw::c_int,
1349 newHeight: ::std::os::raw::c_int,
1350 );
1351}
1352extern "C" {
1353 pub fn ImageResizeCanvas(
1354 image: *mut Image,
1355 newWidth: ::std::os::raw::c_int,
1356 newHeight: ::std::os::raw::c_int,
1357 offsetX: ::std::os::raw::c_int,
1358 offsetY: ::std::os::raw::c_int,
1359 fill: Color,
1360 );
1361}
1362extern "C" {
1363 pub fn ImageMipmaps(image: *mut Image);
1364}
1365extern "C" {
1366 pub fn ImageDither(
1367 image: *mut Image,
1368 rBpp: ::std::os::raw::c_int,
1369 gBpp: ::std::os::raw::c_int,
1370 bBpp: ::std::os::raw::c_int,
1371 aBpp: ::std::os::raw::c_int,
1372 );
1373}
1374extern "C" {
1375 pub fn ImageFlipVertical(image: *mut Image);
1376}
1377extern "C" {
1378 pub fn ImageFlipHorizontal(image: *mut Image);
1379}
1380extern "C" {
1381 pub fn ImageRotate(image: *mut Image, degrees: ::std::os::raw::c_int);
1382}
1383extern "C" {
1384 pub fn ImageRotateCW(image: *mut Image);
1385}
1386extern "C" {
1387 pub fn ImageRotateCCW(image: *mut Image);
1388}
1389extern "C" {
1390 pub fn ImageColorTint(image: *mut Image, color: Color);
1391}
1392extern "C" {
1393 pub fn ImageColorInvert(image: *mut Image);
1394}
1395extern "C" {
1396 pub fn ImageColorGrayscale(image: *mut Image);
1397}
1398extern "C" {
1399 pub fn ImageColorContrast(image: *mut Image, contrast: f32);
1400}
1401extern "C" {
1402 pub fn ImageColorBrightness(image: *mut Image, brightness: ::std::os::raw::c_int);
1403}
1404extern "C" {
1405 pub fn ImageColorReplace(image: *mut Image, color: Color, replace: Color);
1406}
1407extern "C" {
1408 pub fn LoadImageColors(image: Image) -> *mut Color;
1409}
1410extern "C" {
1411 pub fn LoadImagePalette(
1412 image: Image,
1413 maxPaletteSize: ::std::os::raw::c_int,
1414 colorCount: *mut ::std::os::raw::c_int,
1415 ) -> *mut Color;
1416}
1417extern "C" {
1418 pub fn UnloadImageColors(colors: *mut Color);
1419}
1420extern "C" {
1421 pub fn UnloadImagePalette(colors: *mut Color);
1422}
1423extern "C" {
1424 pub fn GetImageAlphaBorder(image: Image, threshold: f32) -> Rectangle;
1425}
1426extern "C" {
1427 pub fn GetImageColor(image: Image, x: ::std::os::raw::c_int, y: ::std::os::raw::c_int)
1428 -> Color;
1429}
1430extern "C" {
1431 pub fn ImageClearBackground(dst: *mut Image, color: Color);
1432}
1433extern "C" {
1434 pub fn ImageDrawPixel(
1435 dst: *mut Image,
1436 posX: ::std::os::raw::c_int,
1437 posY: ::std::os::raw::c_int,
1438 color: Color,
1439 );
1440}
1441extern "C" {
1442 pub fn ImageDrawPixelV(dst: *mut Image, position: Vector2, color: Color);
1443}
1444extern "C" {
1445 pub fn ImageDrawLine(
1446 dst: *mut Image,
1447 startPosX: ::std::os::raw::c_int,
1448 startPosY: ::std::os::raw::c_int,
1449 endPosX: ::std::os::raw::c_int,
1450 endPosY: ::std::os::raw::c_int,
1451 color: Color,
1452 );
1453}
1454extern "C" {
1455 pub fn ImageDrawLineV(dst: *mut Image, start: Vector2, end: Vector2, color: Color);
1456}
1457extern "C" {
1458 pub fn ImageDrawCircle(
1459 dst: *mut Image,
1460 centerX: ::std::os::raw::c_int,
1461 centerY: ::std::os::raw::c_int,
1462 radius: ::std::os::raw::c_int,
1463 color: Color,
1464 );
1465}
1466extern "C" {
1467 pub fn ImageDrawCircleV(
1468 dst: *mut Image,
1469 center: Vector2,
1470 radius: ::std::os::raw::c_int,
1471 color: Color,
1472 );
1473}
1474extern "C" {
1475 pub fn ImageDrawCircleLines(
1476 dst: *mut Image,
1477 centerX: ::std::os::raw::c_int,
1478 centerY: ::std::os::raw::c_int,
1479 radius: ::std::os::raw::c_int,
1480 color: Color,
1481 );
1482}
1483extern "C" {
1484 pub fn ImageDrawCircleLinesV(
1485 dst: *mut Image,
1486 center: Vector2,
1487 radius: ::std::os::raw::c_int,
1488 color: Color,
1489 );
1490}
1491extern "C" {
1492 pub fn ImageDrawRectangle(
1493 dst: *mut Image,
1494 posX: ::std::os::raw::c_int,
1495 posY: ::std::os::raw::c_int,
1496 width: ::std::os::raw::c_int,
1497 height: ::std::os::raw::c_int,
1498 color: Color,
1499 );
1500}
1501extern "C" {
1502 pub fn ImageDrawRectangleV(dst: *mut Image, position: Vector2, size: Vector2, color: Color);
1503}
1504extern "C" {
1505 pub fn ImageDrawRectangleRec(dst: *mut Image, rec: Rectangle, color: Color);
1506}
1507extern "C" {
1508 pub fn ImageDrawRectangleLines(
1509 dst: *mut Image,
1510 rec: Rectangle,
1511 thick: ::std::os::raw::c_int,
1512 color: Color,
1513 );
1514}
1515extern "C" {
1516 pub fn ImageDraw(
1517 dst: *mut Image,
1518 src: Image,
1519 srcRec: Rectangle,
1520 dstRec: Rectangle,
1521 tint: Color,
1522 );
1523}
1524extern "C" {
1525 pub fn ImageDrawText(
1526 dst: *mut Image,
1527 text: *const ::std::os::raw::c_char,
1528 posX: ::std::os::raw::c_int,
1529 posY: ::std::os::raw::c_int,
1530 fontSize: ::std::os::raw::c_int,
1531 color: Color,
1532 );
1533}
1534extern "C" {
1535 pub fn ImageDrawTextEx(
1536 dst: *mut Image,
1537 font: Font,
1538 text: *const ::std::os::raw::c_char,
1539 position: Vector2,
1540 fontSize: f32,
1541 spacing: f32,
1542 tint: Color,
1543 );
1544}
1545extern "C" {
1546 pub fn LoadTexture(fileName: *const ::std::os::raw::c_char) -> Texture2D;
1547}
1548extern "C" {
1549 pub fn LoadTextureFromImage(image: Image) -> Texture2D;
1550}
1551extern "C" {
1552 pub fn LoadTextureCubemap(image: Image, layout: ::std::os::raw::c_int) -> TextureCubemap;
1553}
1554extern "C" {
1555 pub fn LoadRenderTexture(
1556 width: ::std::os::raw::c_int,
1557 height: ::std::os::raw::c_int,
1558 ) -> RenderTexture2D;
1559}
1560extern "C" {
1561 pub fn IsTextureReady(texture: Texture2D) -> bool;
1562}
1563extern "C" {
1564 pub fn UnloadTexture(texture: Texture2D);
1565}
1566extern "C" {
1567 pub fn IsRenderTextureReady(target: RenderTexture2D) -> bool;
1568}
1569extern "C" {
1570 pub fn UnloadRenderTexture(target: RenderTexture2D);
1571}
1572extern "C" {
1573 pub fn UpdateTexture(texture: Texture2D, pixels: *const ::std::os::raw::c_void);
1574}
1575extern "C" {
1576 pub fn UpdateTextureRec(
1577 texture: Texture2D,
1578 rec: Rectangle,
1579 pixels: *const ::std::os::raw::c_void,
1580 );
1581}
1582extern "C" {
1583 pub fn GenTextureMipmaps(texture: *mut Texture2D);
1584}
1585extern "C" {
1586 pub fn SetTextureFilter(texture: Texture2D, filter: ::std::os::raw::c_int);
1587}
1588extern "C" {
1589 pub fn SetTextureWrap(texture: Texture2D, wrap: ::std::os::raw::c_int);
1590}
1591extern "C" {
1592 pub fn DrawTexture(
1593 texture: Texture2D,
1594 posX: ::std::os::raw::c_int,
1595 posY: ::std::os::raw::c_int,
1596 tint: Color,
1597 );
1598}
1599extern "C" {
1600 pub fn DrawTextureV(texture: Texture2D, position: Vector2, tint: Color);
1601}
1602extern "C" {
1603 pub fn DrawTextureEx(
1604 texture: Texture2D,
1605 position: Vector2,
1606 rotation: f32,
1607 scale: f32,
1608 tint: Color,
1609 );
1610}
1611extern "C" {
1612 pub fn DrawTextureRec(texture: Texture2D, source: Rectangle, position: Vector2, tint: Color);
1613}
1614extern "C" {
1615 pub fn DrawTexturePro(
1616 texture: Texture2D,
1617 source: Rectangle,
1618 dest: Rectangle,
1619 origin: Vector2,
1620 rotation: f32,
1621 tint: Color,
1622 );
1623}
1624extern "C" {
1625 pub fn DrawTextureNPatch(
1626 texture: Texture2D,
1627 nPatchInfo: NPatchInfo,
1628 dest: Rectangle,
1629 origin: Vector2,
1630 rotation: f32,
1631 tint: Color,
1632 );
1633}
1634extern "C" {
1635 pub fn Fade(color: Color, alpha: f32) -> Color;
1636}
1637extern "C" {
1638 pub fn ColorToInt(color: Color) -> ::std::os::raw::c_int;
1639}
1640extern "C" {
1641 pub fn ColorNormalize(color: Color) -> Vector4;
1642}
1643extern "C" {
1644 pub fn ColorFromNormalized(normalized: Vector4) -> Color;
1645}
1646extern "C" {
1647 pub fn ColorToHSV(color: Color) -> Vector3;
1648}
1649extern "C" {
1650 pub fn ColorFromHSV(hue: f32, saturation: f32, value: f32) -> Color;
1651}
1652extern "C" {
1653 pub fn ColorTint(color: Color, tint: Color) -> Color;
1654}
1655extern "C" {
1656 pub fn ColorBrightness(color: Color, factor: f32) -> Color;
1657}
1658extern "C" {
1659 pub fn ColorContrast(color: Color, contrast: f32) -> Color;
1660}
1661extern "C" {
1662 pub fn ColorAlpha(color: Color, alpha: f32) -> Color;
1663}
1664extern "C" {
1665 pub fn ColorAlphaBlend(dst: Color, src: Color, tint: Color) -> Color;
1666}
1667extern "C" {
1668 pub fn GetColor(hexValue: ::std::os::raw::c_uint) -> Color;
1669}
1670extern "C" {
1671 pub fn GetPixelColor(
1672 srcPtr: *mut ::std::os::raw::c_void,
1673 format: ::std::os::raw::c_int,
1674 ) -> Color;
1675}
1676extern "C" {
1677 pub fn SetPixelColor(
1678 dstPtr: *mut ::std::os::raw::c_void,
1679 color: Color,
1680 format: ::std::os::raw::c_int,
1681 );
1682}
1683extern "C" {
1684 pub fn GetPixelDataSize(
1685 width: ::std::os::raw::c_int,
1686 height: ::std::os::raw::c_int,
1687 format: ::std::os::raw::c_int,
1688 ) -> ::std::os::raw::c_int;
1689}
1690extern "C" {
1691 pub fn GetFontDefault() -> Font;
1692}
1693extern "C" {
1694 pub fn LoadFont(fileName: *const ::std::os::raw::c_char) -> Font;
1695}
1696extern "C" {
1697 pub fn LoadFontEx(
1698 fileName: *const ::std::os::raw::c_char,
1699 fontSize: ::std::os::raw::c_int,
1700 codepoints: *mut ::std::os::raw::c_int,
1701 codepointCount: ::std::os::raw::c_int,
1702 ) -> Font;
1703}
1704extern "C" {
1705 pub fn LoadFontFromImage(image: Image, key: Color, firstChar: ::std::os::raw::c_int) -> Font;
1706}
1707extern "C" {
1708 pub fn LoadFontFromMemory(
1709 fileType: *const ::std::os::raw::c_char,
1710 fileData: *const ::std::os::raw::c_uchar,
1711 dataSize: ::std::os::raw::c_int,
1712 fontSize: ::std::os::raw::c_int,
1713 codepoints: *mut ::std::os::raw::c_int,
1714 codepointCount: ::std::os::raw::c_int,
1715 ) -> Font;
1716}
1717extern "C" {
1718 pub fn IsFontReady(font: Font) -> bool;
1719}
1720extern "C" {
1721 pub fn LoadFontData(
1722 fileData: *const ::std::os::raw::c_uchar,
1723 dataSize: ::std::os::raw::c_int,
1724 fontSize: ::std::os::raw::c_int,
1725 codepoints: *mut ::std::os::raw::c_int,
1726 codepointCount: ::std::os::raw::c_int,
1727 type_: ::std::os::raw::c_int,
1728 ) -> *mut GlyphInfo;
1729}
1730extern "C" {
1731 pub fn GenImageFontAtlas(
1732 glyphs: *const GlyphInfo,
1733 glyphRecs: *mut *mut Rectangle,
1734 glyphCount: ::std::os::raw::c_int,
1735 fontSize: ::std::os::raw::c_int,
1736 padding: ::std::os::raw::c_int,
1737 packMethod: ::std::os::raw::c_int,
1738 ) -> Image;
1739}
1740extern "C" {
1741 pub fn UnloadFontData(glyphs: *mut GlyphInfo, glyphCount: ::std::os::raw::c_int);
1742}
1743extern "C" {
1744 pub fn UnloadFont(font: Font);
1745}
1746extern "C" {
1747 pub fn ExportFontAsCode(font: Font, fileName: *const ::std::os::raw::c_char) -> bool;
1748}
1749extern "C" {
1750 pub fn DrawFPS(posX: ::std::os::raw::c_int, posY: ::std::os::raw::c_int);
1751}
1752extern "C" {
1753 pub fn DrawText(
1754 text: *const ::std::os::raw::c_char,
1755 posX: ::std::os::raw::c_int,
1756 posY: ::std::os::raw::c_int,
1757 fontSize: ::std::os::raw::c_int,
1758 color: Color,
1759 );
1760}
1761extern "C" {
1762 pub fn DrawTextEx(
1763 font: Font,
1764 text: *const ::std::os::raw::c_char,
1765 position: Vector2,
1766 fontSize: f32,
1767 spacing: f32,
1768 tint: Color,
1769 );
1770}
1771extern "C" {
1772 pub fn DrawTextPro(
1773 font: Font,
1774 text: *const ::std::os::raw::c_char,
1775 position: Vector2,
1776 origin: Vector2,
1777 rotation: f32,
1778 fontSize: f32,
1779 spacing: f32,
1780 tint: Color,
1781 );
1782}
1783extern "C" {
1784 pub fn DrawTextCodepoint(
1785 font: Font,
1786 codepoint: ::std::os::raw::c_int,
1787 position: Vector2,
1788 fontSize: f32,
1789 tint: Color,
1790 );
1791}
1792extern "C" {
1793 pub fn DrawTextCodepoints(
1794 font: Font,
1795 codepoints: *const ::std::os::raw::c_int,
1796 codepointCount: ::std::os::raw::c_int,
1797 position: Vector2,
1798 fontSize: f32,
1799 spacing: f32,
1800 tint: Color,
1801 );
1802}
1803extern "C" {
1804 pub fn SetTextLineSpacing(spacing: ::std::os::raw::c_int);
1805}
1806extern "C" {
1807 pub fn MeasureText(
1808 text: *const ::std::os::raw::c_char,
1809 fontSize: ::std::os::raw::c_int,
1810 ) -> ::std::os::raw::c_int;
1811}
1812extern "C" {
1813 pub fn MeasureTextEx(
1814 font: Font,
1815 text: *const ::std::os::raw::c_char,
1816 fontSize: f32,
1817 spacing: f32,
1818 ) -> Vector2;
1819}
1820extern "C" {
1821 pub fn GetGlyphIndex(font: Font, codepoint: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1822}
1823extern "C" {
1824 pub fn GetGlyphInfo(font: Font, codepoint: ::std::os::raw::c_int) -> GlyphInfo;
1825}
1826extern "C" {
1827 pub fn GetGlyphAtlasRec(font: Font, codepoint: ::std::os::raw::c_int) -> Rectangle;
1828}
1829extern "C" {
1830 pub fn LoadUTF8(
1831 codepoints: *const ::std::os::raw::c_int,
1832 length: ::std::os::raw::c_int,
1833 ) -> *mut ::std::os::raw::c_char;
1834}
1835extern "C" {
1836 pub fn UnloadUTF8(text: *mut ::std::os::raw::c_char);
1837}
1838extern "C" {
1839 pub fn LoadCodepoints(
1840 text: *const ::std::os::raw::c_char,
1841 count: *mut ::std::os::raw::c_int,
1842 ) -> *mut ::std::os::raw::c_int;
1843}
1844extern "C" {
1845 pub fn UnloadCodepoints(codepoints: *mut ::std::os::raw::c_int);
1846}
1847extern "C" {
1848 pub fn GetCodepointCount(text: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1849}
1850extern "C" {
1851 pub fn GetCodepoint(
1852 text: *const ::std::os::raw::c_char,
1853 codepointSize: *mut ::std::os::raw::c_int,
1854 ) -> ::std::os::raw::c_int;
1855}
1856extern "C" {
1857 pub fn GetCodepointNext(
1858 text: *const ::std::os::raw::c_char,
1859 codepointSize: *mut ::std::os::raw::c_int,
1860 ) -> ::std::os::raw::c_int;
1861}
1862extern "C" {
1863 pub fn GetCodepointPrevious(
1864 text: *const ::std::os::raw::c_char,
1865 codepointSize: *mut ::std::os::raw::c_int,
1866 ) -> ::std::os::raw::c_int;
1867}
1868extern "C" {
1869 pub fn CodepointToUTF8(
1870 codepoint: ::std::os::raw::c_int,
1871 utf8Size: *mut ::std::os::raw::c_int,
1872 ) -> *const ::std::os::raw::c_char;
1873}
1874extern "C" {
1875 pub fn TextCopy(
1876 dst: *mut ::std::os::raw::c_char,
1877 src: *const ::std::os::raw::c_char,
1878 ) -> ::std::os::raw::c_int;
1879}
1880extern "C" {
1881 pub fn TextIsEqual(
1882 text1: *const ::std::os::raw::c_char,
1883 text2: *const ::std::os::raw::c_char,
1884 ) -> bool;
1885}
1886extern "C" {
1887 pub fn TextLength(text: *const ::std::os::raw::c_char) -> ::std::os::raw::c_uint;
1888}
1889extern "C" {
1890 pub fn TextFormat(text: *const ::std::os::raw::c_char, ...) -> *const ::std::os::raw::c_char;
1891}
1892extern "C" {
1893 pub fn TextSubtext(
1894 text: *const ::std::os::raw::c_char,
1895 position: ::std::os::raw::c_int,
1896 length: ::std::os::raw::c_int,
1897 ) -> *const ::std::os::raw::c_char;
1898}
1899extern "C" {
1900 pub fn TextReplace(
1901 text: *mut ::std::os::raw::c_char,
1902 replace: *const ::std::os::raw::c_char,
1903 by: *const ::std::os::raw::c_char,
1904 ) -> *mut ::std::os::raw::c_char;
1905}
1906extern "C" {
1907 pub fn TextInsert(
1908 text: *const ::std::os::raw::c_char,
1909 insert: *const ::std::os::raw::c_char,
1910 position: ::std::os::raw::c_int,
1911 ) -> *mut ::std::os::raw::c_char;
1912}
1913extern "C" {
1914 pub fn TextJoin(
1915 textList: *mut *const ::std::os::raw::c_char,
1916 count: ::std::os::raw::c_int,
1917 delimiter: *const ::std::os::raw::c_char,
1918 ) -> *const ::std::os::raw::c_char;
1919}
1920extern "C" {
1921 pub fn TextSplit(
1922 text: *const ::std::os::raw::c_char,
1923 delimiter: ::std::os::raw::c_char,
1924 count: *mut ::std::os::raw::c_int,
1925 ) -> *mut *const ::std::os::raw::c_char;
1926}
1927extern "C" {
1928 pub fn TextAppend(
1929 text: *mut ::std::os::raw::c_char,
1930 append: *const ::std::os::raw::c_char,
1931 position: *mut ::std::os::raw::c_int,
1932 );
1933}
1934extern "C" {
1935 pub fn TextFindIndex(
1936 text: *const ::std::os::raw::c_char,
1937 find: *const ::std::os::raw::c_char,
1938 ) -> ::std::os::raw::c_int;
1939}
1940extern "C" {
1941 pub fn TextToUpper(text: *const ::std::os::raw::c_char) -> *const ::std::os::raw::c_char;
1942}
1943extern "C" {
1944 pub fn TextToLower(text: *const ::std::os::raw::c_char) -> *const ::std::os::raw::c_char;
1945}
1946extern "C" {
1947 pub fn TextToPascal(text: *const ::std::os::raw::c_char) -> *const ::std::os::raw::c_char;
1948}
1949extern "C" {
1950 pub fn TextToInteger(text: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1951}
1952extern "C" {
1953 pub fn DrawLine3D(startPos: Vector3, endPos: Vector3, color: Color);
1954}
1955extern "C" {
1956 pub fn DrawPoint3D(position: Vector3, color: Color);
1957}
1958extern "C" {
1959 pub fn DrawCircle3D(
1960 center: Vector3,
1961 radius: f32,
1962 rotationAxis: Vector3,
1963 rotationAngle: f32,
1964 color: Color,
1965 );
1966}
1967extern "C" {
1968 pub fn DrawTriangle3D(v1: Vector3, v2: Vector3, v3: Vector3, color: Color);
1969}
1970extern "C" {
1971 pub fn DrawTriangleStrip3D(
1972 points: *mut Vector3,
1973 pointCount: ::std::os::raw::c_int,
1974 color: Color,
1975 );
1976}
1977extern "C" {
1978 pub fn DrawCube(position: Vector3, width: f32, height: f32, length: f32, color: Color);
1979}
1980extern "C" {
1981 pub fn DrawCubeV(position: Vector3, size: Vector3, color: Color);
1982}
1983extern "C" {
1984 pub fn DrawCubeWires(position: Vector3, width: f32, height: f32, length: f32, color: Color);
1985}
1986extern "C" {
1987 pub fn DrawCubeWiresV(position: Vector3, size: Vector3, color: Color);
1988}
1989extern "C" {
1990 pub fn DrawSphere(centerPos: Vector3, radius: f32, color: Color);
1991}
1992extern "C" {
1993 pub fn DrawSphereEx(
1994 centerPos: Vector3,
1995 radius: f32,
1996 rings: ::std::os::raw::c_int,
1997 slices: ::std::os::raw::c_int,
1998 color: Color,
1999 );
2000}
2001extern "C" {
2002 pub fn DrawSphereWires(
2003 centerPos: Vector3,
2004 radius: f32,
2005 rings: ::std::os::raw::c_int,
2006 slices: ::std::os::raw::c_int,
2007 color: Color,
2008 );
2009}
2010extern "C" {
2011 pub fn DrawCylinder(
2012 position: Vector3,
2013 radiusTop: f32,
2014 radiusBottom: f32,
2015 height: f32,
2016 slices: ::std::os::raw::c_int,
2017 color: Color,
2018 );
2019}
2020extern "C" {
2021 pub fn DrawCylinderEx(
2022 startPos: Vector3,
2023 endPos: Vector3,
2024 startRadius: f32,
2025 endRadius: f32,
2026 sides: ::std::os::raw::c_int,
2027 color: Color,
2028 );
2029}
2030extern "C" {
2031 pub fn DrawCylinderWires(
2032 position: Vector3,
2033 radiusTop: f32,
2034 radiusBottom: f32,
2035 height: f32,
2036 slices: ::std::os::raw::c_int,
2037 color: Color,
2038 );
2039}
2040extern "C" {
2041 pub fn DrawCylinderWiresEx(
2042 startPos: Vector3,
2043 endPos: Vector3,
2044 startRadius: f32,
2045 endRadius: f32,
2046 sides: ::std::os::raw::c_int,
2047 color: Color,
2048 );
2049}
2050extern "C" {
2051 pub fn DrawCapsule(
2052 startPos: Vector3,
2053 endPos: Vector3,
2054 radius: f32,
2055 slices: ::std::os::raw::c_int,
2056 rings: ::std::os::raw::c_int,
2057 color: Color,
2058 );
2059}
2060extern "C" {
2061 pub fn DrawCapsuleWires(
2062 startPos: Vector3,
2063 endPos: Vector3,
2064 radius: f32,
2065 slices: ::std::os::raw::c_int,
2066 rings: ::std::os::raw::c_int,
2067 color: Color,
2068 );
2069}
2070extern "C" {
2071 pub fn DrawPlane(centerPos: Vector3, size: Vector2, color: Color);
2072}
2073extern "C" {
2074 pub fn DrawRay(ray: Ray, color: Color);
2075}
2076extern "C" {
2077 pub fn DrawGrid(slices: ::std::os::raw::c_int, spacing: f32);
2078}
2079extern "C" {
2080 pub fn LoadModel(fileName: *const ::std::os::raw::c_char) -> Model;
2081}
2082extern "C" {
2083 pub fn LoadModelFromMesh(mesh: Mesh) -> Model;
2084}
2085extern "C" {
2086 pub fn IsModelReady(model: Model) -> bool;
2087}
2088extern "C" {
2089 pub fn UnloadModel(model: Model);
2090}
2091extern "C" {
2092 pub fn GetModelBoundingBox(model: Model) -> BoundingBox;
2093}
2094extern "C" {
2095 pub fn DrawModel(model: Model, position: Vector3, scale: f32, tint: Color);
2096}
2097extern "C" {
2098 pub fn DrawModelEx(
2099 model: Model,
2100 position: Vector3,
2101 rotationAxis: Vector3,
2102 rotationAngle: f32,
2103 scale: Vector3,
2104 tint: Color,
2105 );
2106}
2107extern "C" {
2108 pub fn DrawModelWires(model: Model, position: Vector3, scale: f32, tint: Color);
2109}
2110extern "C" {
2111 pub fn DrawModelWiresEx(
2112 model: Model,
2113 position: Vector3,
2114 rotationAxis: Vector3,
2115 rotationAngle: f32,
2116 scale: Vector3,
2117 tint: Color,
2118 );
2119}
2120extern "C" {
2121 pub fn DrawBoundingBox(box_: BoundingBox, color: Color);
2122}
2123extern "C" {
2124 pub fn DrawBillboard(
2125 camera: Camera,
2126 texture: Texture2D,
2127 position: Vector3,
2128 size: f32,
2129 tint: Color,
2130 );
2131}
2132extern "C" {
2133 pub fn DrawBillboardRec(
2134 camera: Camera,
2135 texture: Texture2D,
2136 source: Rectangle,
2137 position: Vector3,
2138 size: Vector2,
2139 tint: Color,
2140 );
2141}
2142extern "C" {
2143 pub fn DrawBillboardPro(
2144 camera: Camera,
2145 texture: Texture2D,
2146 source: Rectangle,
2147 position: Vector3,
2148 up: Vector3,
2149 size: Vector2,
2150 origin: Vector2,
2151 rotation: f32,
2152 tint: Color,
2153 );
2154}
2155extern "C" {
2156 pub fn UploadMesh(mesh: *mut Mesh, dynamic: bool);
2157}
2158extern "C" {
2159 pub fn UpdateMeshBuffer(
2160 mesh: Mesh,
2161 index: ::std::os::raw::c_int,
2162 data: *const ::std::os::raw::c_void,
2163 dataSize: ::std::os::raw::c_int,
2164 offset: ::std::os::raw::c_int,
2165 );
2166}
2167extern "C" {
2168 pub fn UnloadMesh(mesh: Mesh);
2169}
2170extern "C" {
2171 pub fn DrawMesh(mesh: Mesh, material: Material, transform: Matrix);
2172}
2173extern "C" {
2174 pub fn DrawMeshInstanced(
2175 mesh: Mesh,
2176 material: Material,
2177 transforms: *const Matrix,
2178 instances: ::std::os::raw::c_int,
2179 );
2180}
2181extern "C" {
2182 pub fn ExportMesh(mesh: Mesh, fileName: *const ::std::os::raw::c_char) -> bool;
2183}
2184extern "C" {
2185 pub fn GetMeshBoundingBox(mesh: Mesh) -> BoundingBox;
2186}
2187extern "C" {
2188 pub fn GenMeshTangents(mesh: *mut Mesh);
2189}
2190extern "C" {
2191 pub fn GenMeshPoly(sides: ::std::os::raw::c_int, radius: f32) -> Mesh;
2192}
2193extern "C" {
2194 pub fn GenMeshPlane(
2195 width: f32,
2196 length: f32,
2197 resX: ::std::os::raw::c_int,
2198 resZ: ::std::os::raw::c_int,
2199 ) -> Mesh;
2200}
2201extern "C" {
2202 pub fn GenMeshCube(width: f32, height: f32, length: f32) -> Mesh;
2203}
2204extern "C" {
2205 pub fn GenMeshSphere(
2206 radius: f32,
2207 rings: ::std::os::raw::c_int,
2208 slices: ::std::os::raw::c_int,
2209 ) -> Mesh;
2210}
2211extern "C" {
2212 pub fn GenMeshHemiSphere(
2213 radius: f32,
2214 rings: ::std::os::raw::c_int,
2215 slices: ::std::os::raw::c_int,
2216 ) -> Mesh;
2217}
2218extern "C" {
2219 pub fn GenMeshCylinder(radius: f32, height: f32, slices: ::std::os::raw::c_int) -> Mesh;
2220}
2221extern "C" {
2222 pub fn GenMeshCone(radius: f32, height: f32, slices: ::std::os::raw::c_int) -> Mesh;
2223}
2224extern "C" {
2225 pub fn GenMeshTorus(
2226 radius: f32,
2227 size: f32,
2228 radSeg: ::std::os::raw::c_int,
2229 sides: ::std::os::raw::c_int,
2230 ) -> Mesh;
2231}
2232extern "C" {
2233 pub fn GenMeshKnot(
2234 radius: f32,
2235 size: f32,
2236 radSeg: ::std::os::raw::c_int,
2237 sides: ::std::os::raw::c_int,
2238 ) -> Mesh;
2239}
2240extern "C" {
2241 pub fn GenMeshHeightmap(heightmap: Image, size: Vector3) -> Mesh;
2242}
2243extern "C" {
2244 pub fn GenMeshCubicmap(cubicmap: Image, cubeSize: Vector3) -> Mesh;
2245}
2246extern "C" {
2247 pub fn LoadMaterials(
2248 fileName: *const ::std::os::raw::c_char,
2249 materialCount: *mut ::std::os::raw::c_int,
2250 ) -> *mut Material;
2251}
2252extern "C" {
2253 pub fn LoadMaterialDefault() -> Material;
2254}
2255extern "C" {
2256 pub fn IsMaterialReady(material: Material) -> bool;
2257}
2258extern "C" {
2259 pub fn UnloadMaterial(material: Material);
2260}
2261extern "C" {
2262 pub fn SetMaterialTexture(
2263 material: *mut Material,
2264 mapType: ::std::os::raw::c_int,
2265 texture: Texture2D,
2266 );
2267}
2268extern "C" {
2269 pub fn SetModelMeshMaterial(
2270 model: *mut Model,
2271 meshId: ::std::os::raw::c_int,
2272 materialId: ::std::os::raw::c_int,
2273 );
2274}
2275extern "C" {
2276 pub fn LoadModelAnimations(
2277 fileName: *const ::std::os::raw::c_char,
2278 animCount: *mut ::std::os::raw::c_int,
2279 ) -> *mut ModelAnimation;
2280}
2281extern "C" {
2282 pub fn UpdateModelAnimation(model: Model, anim: ModelAnimation, frame: ::std::os::raw::c_int);
2283}
2284extern "C" {
2285 pub fn UnloadModelAnimation(anim: ModelAnimation);
2286}
2287extern "C" {
2288 pub fn UnloadModelAnimations(animations: *mut ModelAnimation, animCount: ::std::os::raw::c_int);
2289}
2290extern "C" {
2291 pub fn IsModelAnimationValid(model: Model, anim: ModelAnimation) -> bool;
2292}
2293extern "C" {
2294 pub fn CheckCollisionSpheres(
2295 center1: Vector3,
2296 radius1: f32,
2297 center2: Vector3,
2298 radius2: f32,
2299 ) -> bool;
2300}
2301extern "C" {
2302 pub fn CheckCollisionBoxes(box1: BoundingBox, box2: BoundingBox) -> bool;
2303}
2304extern "C" {
2305 pub fn CheckCollisionBoxSphere(box_: BoundingBox, center: Vector3, radius: f32) -> bool;
2306}
2307extern "C" {
2308 pub fn GetRayCollisionSphere(ray: Ray, center: Vector3, radius: f32) -> RayCollision;
2309}
2310extern "C" {
2311 pub fn GetRayCollisionBox(ray: Ray, box_: BoundingBox) -> RayCollision;
2312}
2313extern "C" {
2314 pub fn GetRayCollisionMesh(ray: Ray, mesh: Mesh, transform: Matrix) -> RayCollision;
2315}
2316extern "C" {
2317 pub fn GetRayCollisionTriangle(ray: Ray, p1: Vector3, p2: Vector3, p3: Vector3)
2318 -> RayCollision;
2319}
2320extern "C" {
2321 pub fn GetRayCollisionQuad(
2322 ray: Ray,
2323 p1: Vector3,
2324 p2: Vector3,
2325 p3: Vector3,
2326 p4: Vector3,
2327 ) -> RayCollision;
2328}
2329pub type AudioCallback = ::std::option::Option<
2330 unsafe extern "C" fn(bufferData: *mut ::std::os::raw::c_void, frames: ::std::os::raw::c_uint),
2331>;
2332extern "C" {
2333 pub fn InitAudioDevice();
2334}
2335extern "C" {
2336 pub fn CloseAudioDevice();
2337}
2338extern "C" {
2339 pub fn IsAudioDeviceReady() -> bool;
2340}
2341extern "C" {
2342 pub fn SetMasterVolume(volume: f32);
2343}
2344extern "C" {
2345 pub fn GetMasterVolume() -> f32;
2346}
2347extern "C" {
2348 pub fn LoadWave(fileName: *const ::std::os::raw::c_char) -> Wave;
2349}
2350extern "C" {
2351 pub fn LoadWaveFromMemory(
2352 fileType: *const ::std::os::raw::c_char,
2353 fileData: *const ::std::os::raw::c_uchar,
2354 dataSize: ::std::os::raw::c_int,
2355 ) -> Wave;
2356}
2357extern "C" {
2358 pub fn IsWaveReady(wave: Wave) -> bool;
2359}
2360extern "C" {
2361 pub fn LoadSound(fileName: *const ::std::os::raw::c_char) -> Sound;
2362}
2363extern "C" {
2364 pub fn LoadSoundFromWave(wave: Wave) -> Sound;
2365}
2366extern "C" {
2367 pub fn LoadSoundAlias(source: Sound) -> Sound;
2368}
2369extern "C" {
2370 pub fn IsSoundReady(sound: Sound) -> bool;
2371}
2372extern "C" {
2373 pub fn UpdateSound(
2374 sound: Sound,
2375 data: *const ::std::os::raw::c_void,
2376 sampleCount: ::std::os::raw::c_int,
2377 );
2378}
2379extern "C" {
2380 pub fn UnloadWave(wave: Wave);
2381}
2382extern "C" {
2383 pub fn UnloadSound(sound: Sound);
2384}
2385extern "C" {
2386 pub fn UnloadSoundAlias(alias: Sound);
2387}
2388extern "C" {
2389 pub fn ExportWave(wave: Wave, fileName: *const ::std::os::raw::c_char) -> bool;
2390}
2391extern "C" {
2392 pub fn ExportWaveAsCode(wave: Wave, fileName: *const ::std::os::raw::c_char) -> bool;
2393}
2394extern "C" {
2395 pub fn PlaySound(sound: Sound);
2396}
2397extern "C" {
2398 pub fn StopSound(sound: Sound);
2399}
2400extern "C" {
2401 pub fn PauseSound(sound: Sound);
2402}
2403extern "C" {
2404 pub fn ResumeSound(sound: Sound);
2405}
2406extern "C" {
2407 pub fn IsSoundPlaying(sound: Sound) -> bool;
2408}
2409extern "C" {
2410 pub fn SetSoundVolume(sound: Sound, volume: f32);
2411}
2412extern "C" {
2413 pub fn SetSoundPitch(sound: Sound, pitch: f32);
2414}
2415extern "C" {
2416 pub fn SetSoundPan(sound: Sound, pan: f32);
2417}
2418extern "C" {
2419 pub fn WaveCopy(wave: Wave) -> Wave;
2420}
2421extern "C" {
2422 pub fn WaveCrop(
2423 wave: *mut Wave,
2424 initSample: ::std::os::raw::c_int,
2425 finalSample: ::std::os::raw::c_int,
2426 );
2427}
2428extern "C" {
2429 pub fn WaveFormat(
2430 wave: *mut Wave,
2431 sampleRate: ::std::os::raw::c_int,
2432 sampleSize: ::std::os::raw::c_int,
2433 channels: ::std::os::raw::c_int,
2434 );
2435}
2436extern "C" {
2437 pub fn LoadWaveSamples(wave: Wave) -> *mut f32;
2438}
2439extern "C" {
2440 pub fn UnloadWaveSamples(samples: *mut f32);
2441}
2442extern "C" {
2443 pub fn LoadMusicStream(fileName: *const ::std::os::raw::c_char) -> Music;
2444}
2445extern "C" {
2446 pub fn LoadMusicStreamFromMemory(
2447 fileType: *const ::std::os::raw::c_char,
2448 data: *const ::std::os::raw::c_uchar,
2449 dataSize: ::std::os::raw::c_int,
2450 ) -> Music;
2451}
2452extern "C" {
2453 pub fn IsMusicReady(music: Music) -> bool;
2454}
2455extern "C" {
2456 pub fn UnloadMusicStream(music: Music);
2457}
2458extern "C" {
2459 pub fn PlayMusicStream(music: Music);
2460}
2461extern "C" {
2462 pub fn IsMusicStreamPlaying(music: Music) -> bool;
2463}
2464extern "C" {
2465 pub fn UpdateMusicStream(music: Music);
2466}
2467extern "C" {
2468 pub fn StopMusicStream(music: Music);
2469}
2470extern "C" {
2471 pub fn PauseMusicStream(music: Music);
2472}
2473extern "C" {
2474 pub fn ResumeMusicStream(music: Music);
2475}
2476extern "C" {
2477 pub fn SeekMusicStream(music: Music, position: f32);
2478}
2479extern "C" {
2480 pub fn SetMusicVolume(music: Music, volume: f32);
2481}
2482extern "C" {
2483 pub fn SetMusicPitch(music: Music, pitch: f32);
2484}
2485extern "C" {
2486 pub fn SetMusicPan(music: Music, pan: f32);
2487}
2488extern "C" {
2489 pub fn GetMusicTimeLength(music: Music) -> f32;
2490}
2491extern "C" {
2492 pub fn GetMusicTimePlayed(music: Music) -> f32;
2493}
2494extern "C" {
2495 pub fn LoadAudioStream(
2496 sampleRate: ::std::os::raw::c_uint,
2497 sampleSize: ::std::os::raw::c_uint,
2498 channels: ::std::os::raw::c_uint,
2499 ) -> AudioStream;
2500}
2501extern "C" {
2502 pub fn IsAudioStreamReady(stream: AudioStream) -> bool;
2503}
2504extern "C" {
2505 pub fn UnloadAudioStream(stream: AudioStream);
2506}
2507extern "C" {
2508 pub fn UpdateAudioStream(
2509 stream: AudioStream,
2510 data: *const ::std::os::raw::c_void,
2511 frameCount: ::std::os::raw::c_int,
2512 );
2513}
2514extern "C" {
2515 pub fn IsAudioStreamProcessed(stream: AudioStream) -> bool;
2516}
2517extern "C" {
2518 pub fn PlayAudioStream(stream: AudioStream);
2519}
2520extern "C" {
2521 pub fn PauseAudioStream(stream: AudioStream);
2522}
2523extern "C" {
2524 pub fn ResumeAudioStream(stream: AudioStream);
2525}
2526extern "C" {
2527 pub fn IsAudioStreamPlaying(stream: AudioStream) -> bool;
2528}
2529extern "C" {
2530 pub fn StopAudioStream(stream: AudioStream);
2531}
2532extern "C" {
2533 pub fn SetAudioStreamVolume(stream: AudioStream, volume: f32);
2534}
2535extern "C" {
2536 pub fn SetAudioStreamPitch(stream: AudioStream, pitch: f32);
2537}
2538extern "C" {
2539 pub fn SetAudioStreamPan(stream: AudioStream, pan: f32);
2540}
2541extern "C" {
2542 pub fn SetAudioStreamBufferSizeDefault(size: ::std::os::raw::c_int);
2543}
2544extern "C" {
2545 pub fn SetAudioStreamCallback(stream: AudioStream, callback: AudioCallback);
2546}
2547extern "C" {
2548 pub fn AttachAudioStreamProcessor(stream: AudioStream, processor: AudioCallback);
2549}
2550extern "C" {
2551 pub fn DetachAudioStreamProcessor(stream: AudioStream, processor: AudioCallback);
2552}
2553extern "C" {
2554 pub fn AttachAudioMixedProcessor(processor: AudioCallback);
2555}
2556extern "C" {
2557 pub fn DetachAudioMixedProcessor(processor: AudioCallback);
2558}