1pub const RAYLIB_VERSION: &[u8; 4usize] = b"4.2\0";
4pub const PI: f64 = 3.141592653589793;
5pub const DEG2RAD: f64 = 0.017453292519943295;
6pub const RAD2DEG: f64 = 57.29577951308232;
7pub const __bool_true_false_are_defined: u32 = 1;
8pub const true_: u32 = 1;
9pub const false_: u32 = 0;
10pub type __gnuc_va_list = __builtin_va_list;
11pub type va_list = __builtin_va_list;
12#[repr(C)]
13#[derive(Debug, Copy, Clone)]
14pub struct Vector2 {
15 pub x: f32,
16 pub y: f32,
17}
18#[test]
19fn bindgen_test_layout_Vector2() {
20 const UNINIT: ::std::mem::MaybeUninit<Vector2> = ::std::mem::MaybeUninit::uninit();
21 let ptr = UNINIT.as_ptr();
22 assert_eq!(
23 ::std::mem::size_of::<Vector2>(),
24 8usize,
25 concat!("Size of: ", stringify!(Vector2))
26 );
27 assert_eq!(
28 ::std::mem::align_of::<Vector2>(),
29 4usize,
30 concat!("Alignment of ", stringify!(Vector2))
31 );
32 assert_eq!(
33 unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
34 0usize,
35 concat!(
36 "Offset of field: ",
37 stringify!(Vector2),
38 "::",
39 stringify!(x)
40 )
41 );
42 assert_eq!(
43 unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
44 4usize,
45 concat!(
46 "Offset of field: ",
47 stringify!(Vector2),
48 "::",
49 stringify!(y)
50 )
51 );
52}
53#[repr(C)]
54#[derive(Debug, Copy, Clone)]
55pub struct Vector3 {
56 pub x: f32,
57 pub y: f32,
58 pub z: f32,
59}
60#[test]
61fn bindgen_test_layout_Vector3() {
62 const UNINIT: ::std::mem::MaybeUninit<Vector3> = ::std::mem::MaybeUninit::uninit();
63 let ptr = UNINIT.as_ptr();
64 assert_eq!(
65 ::std::mem::size_of::<Vector3>(),
66 12usize,
67 concat!("Size of: ", stringify!(Vector3))
68 );
69 assert_eq!(
70 ::std::mem::align_of::<Vector3>(),
71 4usize,
72 concat!("Alignment of ", stringify!(Vector3))
73 );
74 assert_eq!(
75 unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
76 0usize,
77 concat!(
78 "Offset of field: ",
79 stringify!(Vector3),
80 "::",
81 stringify!(x)
82 )
83 );
84 assert_eq!(
85 unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
86 4usize,
87 concat!(
88 "Offset of field: ",
89 stringify!(Vector3),
90 "::",
91 stringify!(y)
92 )
93 );
94 assert_eq!(
95 unsafe { ::std::ptr::addr_of!((*ptr).z) as usize - ptr as usize },
96 8usize,
97 concat!(
98 "Offset of field: ",
99 stringify!(Vector3),
100 "::",
101 stringify!(z)
102 )
103 );
104}
105#[repr(C)]
106#[derive(Debug, Copy, Clone)]
107pub struct Vector4 {
108 pub x: f32,
109 pub y: f32,
110 pub z: f32,
111 pub w: f32,
112}
113#[test]
114fn bindgen_test_layout_Vector4() {
115 const UNINIT: ::std::mem::MaybeUninit<Vector4> = ::std::mem::MaybeUninit::uninit();
116 let ptr = UNINIT.as_ptr();
117 assert_eq!(
118 ::std::mem::size_of::<Vector4>(),
119 16usize,
120 concat!("Size of: ", stringify!(Vector4))
121 );
122 assert_eq!(
123 ::std::mem::align_of::<Vector4>(),
124 4usize,
125 concat!("Alignment of ", stringify!(Vector4))
126 );
127 assert_eq!(
128 unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
129 0usize,
130 concat!(
131 "Offset of field: ",
132 stringify!(Vector4),
133 "::",
134 stringify!(x)
135 )
136 );
137 assert_eq!(
138 unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
139 4usize,
140 concat!(
141 "Offset of field: ",
142 stringify!(Vector4),
143 "::",
144 stringify!(y)
145 )
146 );
147 assert_eq!(
148 unsafe { ::std::ptr::addr_of!((*ptr).z) as usize - ptr as usize },
149 8usize,
150 concat!(
151 "Offset of field: ",
152 stringify!(Vector4),
153 "::",
154 stringify!(z)
155 )
156 );
157 assert_eq!(
158 unsafe { ::std::ptr::addr_of!((*ptr).w) as usize - ptr as usize },
159 12usize,
160 concat!(
161 "Offset of field: ",
162 stringify!(Vector4),
163 "::",
164 stringify!(w)
165 )
166 );
167}
168pub type Quaternion = Vector4;
169#[repr(C)]
170#[derive(Debug, Copy, Clone)]
171pub struct Matrix {
172 pub m0: f32,
173 pub m4: f32,
174 pub m8: f32,
175 pub m12: f32,
176 pub m1: f32,
177 pub m5: f32,
178 pub m9: f32,
179 pub m13: f32,
180 pub m2: f32,
181 pub m6: f32,
182 pub m10: f32,
183 pub m14: f32,
184 pub m3: f32,
185 pub m7: f32,
186 pub m11: f32,
187 pub m15: f32,
188}
189#[test]
190fn bindgen_test_layout_Matrix() {
191 const UNINIT: ::std::mem::MaybeUninit<Matrix> = ::std::mem::MaybeUninit::uninit();
192 let ptr = UNINIT.as_ptr();
193 assert_eq!(
194 ::std::mem::size_of::<Matrix>(),
195 64usize,
196 concat!("Size of: ", stringify!(Matrix))
197 );
198 assert_eq!(
199 ::std::mem::align_of::<Matrix>(),
200 4usize,
201 concat!("Alignment of ", stringify!(Matrix))
202 );
203 assert_eq!(
204 unsafe { ::std::ptr::addr_of!((*ptr).m0) as usize - ptr as usize },
205 0usize,
206 concat!(
207 "Offset of field: ",
208 stringify!(Matrix),
209 "::",
210 stringify!(m0)
211 )
212 );
213 assert_eq!(
214 unsafe { ::std::ptr::addr_of!((*ptr).m4) as usize - ptr as usize },
215 4usize,
216 concat!(
217 "Offset of field: ",
218 stringify!(Matrix),
219 "::",
220 stringify!(m4)
221 )
222 );
223 assert_eq!(
224 unsafe { ::std::ptr::addr_of!((*ptr).m8) as usize - ptr as usize },
225 8usize,
226 concat!(
227 "Offset of field: ",
228 stringify!(Matrix),
229 "::",
230 stringify!(m8)
231 )
232 );
233 assert_eq!(
234 unsafe { ::std::ptr::addr_of!((*ptr).m12) as usize - ptr as usize },
235 12usize,
236 concat!(
237 "Offset of field: ",
238 stringify!(Matrix),
239 "::",
240 stringify!(m12)
241 )
242 );
243 assert_eq!(
244 unsafe { ::std::ptr::addr_of!((*ptr).m1) as usize - ptr as usize },
245 16usize,
246 concat!(
247 "Offset of field: ",
248 stringify!(Matrix),
249 "::",
250 stringify!(m1)
251 )
252 );
253 assert_eq!(
254 unsafe { ::std::ptr::addr_of!((*ptr).m5) as usize - ptr as usize },
255 20usize,
256 concat!(
257 "Offset of field: ",
258 stringify!(Matrix),
259 "::",
260 stringify!(m5)
261 )
262 );
263 assert_eq!(
264 unsafe { ::std::ptr::addr_of!((*ptr).m9) as usize - ptr as usize },
265 24usize,
266 concat!(
267 "Offset of field: ",
268 stringify!(Matrix),
269 "::",
270 stringify!(m9)
271 )
272 );
273 assert_eq!(
274 unsafe { ::std::ptr::addr_of!((*ptr).m13) as usize - ptr as usize },
275 28usize,
276 concat!(
277 "Offset of field: ",
278 stringify!(Matrix),
279 "::",
280 stringify!(m13)
281 )
282 );
283 assert_eq!(
284 unsafe { ::std::ptr::addr_of!((*ptr).m2) as usize - ptr as usize },
285 32usize,
286 concat!(
287 "Offset of field: ",
288 stringify!(Matrix),
289 "::",
290 stringify!(m2)
291 )
292 );
293 assert_eq!(
294 unsafe { ::std::ptr::addr_of!((*ptr).m6) as usize - ptr as usize },
295 36usize,
296 concat!(
297 "Offset of field: ",
298 stringify!(Matrix),
299 "::",
300 stringify!(m6)
301 )
302 );
303 assert_eq!(
304 unsafe { ::std::ptr::addr_of!((*ptr).m10) as usize - ptr as usize },
305 40usize,
306 concat!(
307 "Offset of field: ",
308 stringify!(Matrix),
309 "::",
310 stringify!(m10)
311 )
312 );
313 assert_eq!(
314 unsafe { ::std::ptr::addr_of!((*ptr).m14) as usize - ptr as usize },
315 44usize,
316 concat!(
317 "Offset of field: ",
318 stringify!(Matrix),
319 "::",
320 stringify!(m14)
321 )
322 );
323 assert_eq!(
324 unsafe { ::std::ptr::addr_of!((*ptr).m3) as usize - ptr as usize },
325 48usize,
326 concat!(
327 "Offset of field: ",
328 stringify!(Matrix),
329 "::",
330 stringify!(m3)
331 )
332 );
333 assert_eq!(
334 unsafe { ::std::ptr::addr_of!((*ptr).m7) as usize - ptr as usize },
335 52usize,
336 concat!(
337 "Offset of field: ",
338 stringify!(Matrix),
339 "::",
340 stringify!(m7)
341 )
342 );
343 assert_eq!(
344 unsafe { ::std::ptr::addr_of!((*ptr).m11) as usize - ptr as usize },
345 56usize,
346 concat!(
347 "Offset of field: ",
348 stringify!(Matrix),
349 "::",
350 stringify!(m11)
351 )
352 );
353 assert_eq!(
354 unsafe { ::std::ptr::addr_of!((*ptr).m15) as usize - ptr as usize },
355 60usize,
356 concat!(
357 "Offset of field: ",
358 stringify!(Matrix),
359 "::",
360 stringify!(m15)
361 )
362 );
363}
364#[repr(C)]
365#[derive(Debug, Copy, Clone)]
366pub struct Color {
367 pub r: ::std::os::raw::c_uchar,
368 pub g: ::std::os::raw::c_uchar,
369 pub b: ::std::os::raw::c_uchar,
370 pub a: ::std::os::raw::c_uchar,
371}
372#[test]
373fn bindgen_test_layout_Color() {
374 const UNINIT: ::std::mem::MaybeUninit<Color> = ::std::mem::MaybeUninit::uninit();
375 let ptr = UNINIT.as_ptr();
376 assert_eq!(
377 ::std::mem::size_of::<Color>(),
378 4usize,
379 concat!("Size of: ", stringify!(Color))
380 );
381 assert_eq!(
382 ::std::mem::align_of::<Color>(),
383 1usize,
384 concat!("Alignment of ", stringify!(Color))
385 );
386 assert_eq!(
387 unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
388 0usize,
389 concat!("Offset of field: ", stringify!(Color), "::", stringify!(r))
390 );
391 assert_eq!(
392 unsafe { ::std::ptr::addr_of!((*ptr).g) as usize - ptr as usize },
393 1usize,
394 concat!("Offset of field: ", stringify!(Color), "::", stringify!(g))
395 );
396 assert_eq!(
397 unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize },
398 2usize,
399 concat!("Offset of field: ", stringify!(Color), "::", stringify!(b))
400 );
401 assert_eq!(
402 unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize },
403 3usize,
404 concat!("Offset of field: ", stringify!(Color), "::", stringify!(a))
405 );
406}
407#[repr(C)]
408#[derive(Debug, Copy, Clone)]
409pub struct Rectangle {
410 pub x: f32,
411 pub y: f32,
412 pub width: f32,
413 pub height: f32,
414}
415#[test]
416fn bindgen_test_layout_Rectangle() {
417 const UNINIT: ::std::mem::MaybeUninit<Rectangle> = ::std::mem::MaybeUninit::uninit();
418 let ptr = UNINIT.as_ptr();
419 assert_eq!(
420 ::std::mem::size_of::<Rectangle>(),
421 16usize,
422 concat!("Size of: ", stringify!(Rectangle))
423 );
424 assert_eq!(
425 ::std::mem::align_of::<Rectangle>(),
426 4usize,
427 concat!("Alignment of ", stringify!(Rectangle))
428 );
429 assert_eq!(
430 unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
431 0usize,
432 concat!(
433 "Offset of field: ",
434 stringify!(Rectangle),
435 "::",
436 stringify!(x)
437 )
438 );
439 assert_eq!(
440 unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
441 4usize,
442 concat!(
443 "Offset of field: ",
444 stringify!(Rectangle),
445 "::",
446 stringify!(y)
447 )
448 );
449 assert_eq!(
450 unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
451 8usize,
452 concat!(
453 "Offset of field: ",
454 stringify!(Rectangle),
455 "::",
456 stringify!(width)
457 )
458 );
459 assert_eq!(
460 unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
461 12usize,
462 concat!(
463 "Offset of field: ",
464 stringify!(Rectangle),
465 "::",
466 stringify!(height)
467 )
468 );
469}
470#[repr(C)]
471#[derive(Debug, Copy, Clone)]
472pub struct Image {
473 pub data: *mut ::std::os::raw::c_void,
474 pub width: ::std::os::raw::c_int,
475 pub height: ::std::os::raw::c_int,
476 pub mipmaps: ::std::os::raw::c_int,
477 pub format: ::std::os::raw::c_int,
478}
479#[test]
480fn bindgen_test_layout_Image() {
481 const UNINIT: ::std::mem::MaybeUninit<Image> = ::std::mem::MaybeUninit::uninit();
482 let ptr = UNINIT.as_ptr();
483 assert_eq!(
484 ::std::mem::size_of::<Image>(),
485 24usize,
486 concat!("Size of: ", stringify!(Image))
487 );
488 assert_eq!(
489 ::std::mem::align_of::<Image>(),
490 8usize,
491 concat!("Alignment of ", stringify!(Image))
492 );
493 assert_eq!(
494 unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
495 0usize,
496 concat!(
497 "Offset of field: ",
498 stringify!(Image),
499 "::",
500 stringify!(data)
501 )
502 );
503 assert_eq!(
504 unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
505 8usize,
506 concat!(
507 "Offset of field: ",
508 stringify!(Image),
509 "::",
510 stringify!(width)
511 )
512 );
513 assert_eq!(
514 unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
515 12usize,
516 concat!(
517 "Offset of field: ",
518 stringify!(Image),
519 "::",
520 stringify!(height)
521 )
522 );
523 assert_eq!(
524 unsafe { ::std::ptr::addr_of!((*ptr).mipmaps) as usize - ptr as usize },
525 16usize,
526 concat!(
527 "Offset of field: ",
528 stringify!(Image),
529 "::",
530 stringify!(mipmaps)
531 )
532 );
533 assert_eq!(
534 unsafe { ::std::ptr::addr_of!((*ptr).format) as usize - ptr as usize },
535 20usize,
536 concat!(
537 "Offset of field: ",
538 stringify!(Image),
539 "::",
540 stringify!(format)
541 )
542 );
543}
544#[repr(C)]
545#[derive(Debug, Copy, Clone)]
546pub struct Texture {
547 pub id: ::std::os::raw::c_uint,
548 pub width: ::std::os::raw::c_int,
549 pub height: ::std::os::raw::c_int,
550 pub mipmaps: ::std::os::raw::c_int,
551 pub format: ::std::os::raw::c_int,
552}
553#[test]
554fn bindgen_test_layout_Texture() {
555 const UNINIT: ::std::mem::MaybeUninit<Texture> = ::std::mem::MaybeUninit::uninit();
556 let ptr = UNINIT.as_ptr();
557 assert_eq!(
558 ::std::mem::size_of::<Texture>(),
559 20usize,
560 concat!("Size of: ", stringify!(Texture))
561 );
562 assert_eq!(
563 ::std::mem::align_of::<Texture>(),
564 4usize,
565 concat!("Alignment of ", stringify!(Texture))
566 );
567 assert_eq!(
568 unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
569 0usize,
570 concat!(
571 "Offset of field: ",
572 stringify!(Texture),
573 "::",
574 stringify!(id)
575 )
576 );
577 assert_eq!(
578 unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
579 4usize,
580 concat!(
581 "Offset of field: ",
582 stringify!(Texture),
583 "::",
584 stringify!(width)
585 )
586 );
587 assert_eq!(
588 unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
589 8usize,
590 concat!(
591 "Offset of field: ",
592 stringify!(Texture),
593 "::",
594 stringify!(height)
595 )
596 );
597 assert_eq!(
598 unsafe { ::std::ptr::addr_of!((*ptr).mipmaps) as usize - ptr as usize },
599 12usize,
600 concat!(
601 "Offset of field: ",
602 stringify!(Texture),
603 "::",
604 stringify!(mipmaps)
605 )
606 );
607 assert_eq!(
608 unsafe { ::std::ptr::addr_of!((*ptr).format) as usize - ptr as usize },
609 16usize,
610 concat!(
611 "Offset of field: ",
612 stringify!(Texture),
613 "::",
614 stringify!(format)
615 )
616 );
617}
618pub type Texture2D = Texture;
619pub type TextureCubemap = Texture;
620#[repr(C)]
621#[derive(Debug, Copy, Clone)]
622pub struct RenderTexture {
623 pub id: ::std::os::raw::c_uint,
624 pub texture: Texture,
625 pub depth: Texture,
626}
627#[test]
628fn bindgen_test_layout_RenderTexture() {
629 const UNINIT: ::std::mem::MaybeUninit<RenderTexture> = ::std::mem::MaybeUninit::uninit();
630 let ptr = UNINIT.as_ptr();
631 assert_eq!(
632 ::std::mem::size_of::<RenderTexture>(),
633 44usize,
634 concat!("Size of: ", stringify!(RenderTexture))
635 );
636 assert_eq!(
637 ::std::mem::align_of::<RenderTexture>(),
638 4usize,
639 concat!("Alignment of ", stringify!(RenderTexture))
640 );
641 assert_eq!(
642 unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
643 0usize,
644 concat!(
645 "Offset of field: ",
646 stringify!(RenderTexture),
647 "::",
648 stringify!(id)
649 )
650 );
651 assert_eq!(
652 unsafe { ::std::ptr::addr_of!((*ptr).texture) as usize - ptr as usize },
653 4usize,
654 concat!(
655 "Offset of field: ",
656 stringify!(RenderTexture),
657 "::",
658 stringify!(texture)
659 )
660 );
661 assert_eq!(
662 unsafe { ::std::ptr::addr_of!((*ptr).depth) as usize - ptr as usize },
663 24usize,
664 concat!(
665 "Offset of field: ",
666 stringify!(RenderTexture),
667 "::",
668 stringify!(depth)
669 )
670 );
671}
672pub type RenderTexture2D = RenderTexture;
673#[repr(C)]
674#[derive(Debug, Copy, Clone)]
675pub struct NPatchInfo {
676 pub source: Rectangle,
677 pub left: ::std::os::raw::c_int,
678 pub top: ::std::os::raw::c_int,
679 pub right: ::std::os::raw::c_int,
680 pub bottom: ::std::os::raw::c_int,
681 pub layout: ::std::os::raw::c_int,
682}
683#[test]
684fn bindgen_test_layout_NPatchInfo() {
685 const UNINIT: ::std::mem::MaybeUninit<NPatchInfo> = ::std::mem::MaybeUninit::uninit();
686 let ptr = UNINIT.as_ptr();
687 assert_eq!(
688 ::std::mem::size_of::<NPatchInfo>(),
689 36usize,
690 concat!("Size of: ", stringify!(NPatchInfo))
691 );
692 assert_eq!(
693 ::std::mem::align_of::<NPatchInfo>(),
694 4usize,
695 concat!("Alignment of ", stringify!(NPatchInfo))
696 );
697 assert_eq!(
698 unsafe { ::std::ptr::addr_of!((*ptr).source) as usize - ptr as usize },
699 0usize,
700 concat!(
701 "Offset of field: ",
702 stringify!(NPatchInfo),
703 "::",
704 stringify!(source)
705 )
706 );
707 assert_eq!(
708 unsafe { ::std::ptr::addr_of!((*ptr).left) as usize - ptr as usize },
709 16usize,
710 concat!(
711 "Offset of field: ",
712 stringify!(NPatchInfo),
713 "::",
714 stringify!(left)
715 )
716 );
717 assert_eq!(
718 unsafe { ::std::ptr::addr_of!((*ptr).top) as usize - ptr as usize },
719 20usize,
720 concat!(
721 "Offset of field: ",
722 stringify!(NPatchInfo),
723 "::",
724 stringify!(top)
725 )
726 );
727 assert_eq!(
728 unsafe { ::std::ptr::addr_of!((*ptr).right) as usize - ptr as usize },
729 24usize,
730 concat!(
731 "Offset of field: ",
732 stringify!(NPatchInfo),
733 "::",
734 stringify!(right)
735 )
736 );
737 assert_eq!(
738 unsafe { ::std::ptr::addr_of!((*ptr).bottom) as usize - ptr as usize },
739 28usize,
740 concat!(
741 "Offset of field: ",
742 stringify!(NPatchInfo),
743 "::",
744 stringify!(bottom)
745 )
746 );
747 assert_eq!(
748 unsafe { ::std::ptr::addr_of!((*ptr).layout) as usize - ptr as usize },
749 32usize,
750 concat!(
751 "Offset of field: ",
752 stringify!(NPatchInfo),
753 "::",
754 stringify!(layout)
755 )
756 );
757}
758#[repr(C)]
759#[derive(Debug, Copy, Clone)]
760pub struct GlyphInfo {
761 pub value: ::std::os::raw::c_int,
762 pub offsetX: ::std::os::raw::c_int,
763 pub offsetY: ::std::os::raw::c_int,
764 pub advanceX: ::std::os::raw::c_int,
765 pub image: Image,
766}
767#[test]
768fn bindgen_test_layout_GlyphInfo() {
769 const UNINIT: ::std::mem::MaybeUninit<GlyphInfo> = ::std::mem::MaybeUninit::uninit();
770 let ptr = UNINIT.as_ptr();
771 assert_eq!(
772 ::std::mem::size_of::<GlyphInfo>(),
773 40usize,
774 concat!("Size of: ", stringify!(GlyphInfo))
775 );
776 assert_eq!(
777 ::std::mem::align_of::<GlyphInfo>(),
778 8usize,
779 concat!("Alignment of ", stringify!(GlyphInfo))
780 );
781 assert_eq!(
782 unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
783 0usize,
784 concat!(
785 "Offset of field: ",
786 stringify!(GlyphInfo),
787 "::",
788 stringify!(value)
789 )
790 );
791 assert_eq!(
792 unsafe { ::std::ptr::addr_of!((*ptr).offsetX) as usize - ptr as usize },
793 4usize,
794 concat!(
795 "Offset of field: ",
796 stringify!(GlyphInfo),
797 "::",
798 stringify!(offsetX)
799 )
800 );
801 assert_eq!(
802 unsafe { ::std::ptr::addr_of!((*ptr).offsetY) as usize - ptr as usize },
803 8usize,
804 concat!(
805 "Offset of field: ",
806 stringify!(GlyphInfo),
807 "::",
808 stringify!(offsetY)
809 )
810 );
811 assert_eq!(
812 unsafe { ::std::ptr::addr_of!((*ptr).advanceX) as usize - ptr as usize },
813 12usize,
814 concat!(
815 "Offset of field: ",
816 stringify!(GlyphInfo),
817 "::",
818 stringify!(advanceX)
819 )
820 );
821 assert_eq!(
822 unsafe { ::std::ptr::addr_of!((*ptr).image) as usize - ptr as usize },
823 16usize,
824 concat!(
825 "Offset of field: ",
826 stringify!(GlyphInfo),
827 "::",
828 stringify!(image)
829 )
830 );
831}
832#[repr(C)]
833#[derive(Debug, Copy, Clone)]
834pub struct Font {
835 pub baseSize: ::std::os::raw::c_int,
836 pub glyphCount: ::std::os::raw::c_int,
837 pub glyphPadding: ::std::os::raw::c_int,
838 pub texture: Texture2D,
839 pub recs: *mut Rectangle,
840 pub glyphs: *mut GlyphInfo,
841}
842#[test]
843fn bindgen_test_layout_Font() {
844 const UNINIT: ::std::mem::MaybeUninit<Font> = ::std::mem::MaybeUninit::uninit();
845 let ptr = UNINIT.as_ptr();
846 assert_eq!(
847 ::std::mem::size_of::<Font>(),
848 48usize,
849 concat!("Size of: ", stringify!(Font))
850 );
851 assert_eq!(
852 ::std::mem::align_of::<Font>(),
853 8usize,
854 concat!("Alignment of ", stringify!(Font))
855 );
856 assert_eq!(
857 unsafe { ::std::ptr::addr_of!((*ptr).baseSize) as usize - ptr as usize },
858 0usize,
859 concat!(
860 "Offset of field: ",
861 stringify!(Font),
862 "::",
863 stringify!(baseSize)
864 )
865 );
866 assert_eq!(
867 unsafe { ::std::ptr::addr_of!((*ptr).glyphCount) as usize - ptr as usize },
868 4usize,
869 concat!(
870 "Offset of field: ",
871 stringify!(Font),
872 "::",
873 stringify!(glyphCount)
874 )
875 );
876 assert_eq!(
877 unsafe { ::std::ptr::addr_of!((*ptr).glyphPadding) as usize - ptr as usize },
878 8usize,
879 concat!(
880 "Offset of field: ",
881 stringify!(Font),
882 "::",
883 stringify!(glyphPadding)
884 )
885 );
886 assert_eq!(
887 unsafe { ::std::ptr::addr_of!((*ptr).texture) as usize - ptr as usize },
888 12usize,
889 concat!(
890 "Offset of field: ",
891 stringify!(Font),
892 "::",
893 stringify!(texture)
894 )
895 );
896 assert_eq!(
897 unsafe { ::std::ptr::addr_of!((*ptr).recs) as usize - ptr as usize },
898 32usize,
899 concat!(
900 "Offset of field: ",
901 stringify!(Font),
902 "::",
903 stringify!(recs)
904 )
905 );
906 assert_eq!(
907 unsafe { ::std::ptr::addr_of!((*ptr).glyphs) as usize - ptr as usize },
908 40usize,
909 concat!(
910 "Offset of field: ",
911 stringify!(Font),
912 "::",
913 stringify!(glyphs)
914 )
915 );
916}
917#[repr(C)]
918#[derive(Debug, Copy, Clone)]
919pub struct Camera3D {
920 pub position: Vector3,
921 pub target: Vector3,
922 pub up: Vector3,
923 pub fovy: f32,
924 pub projection: ::std::os::raw::c_int,
925}
926#[test]
927fn bindgen_test_layout_Camera3D() {
928 const UNINIT: ::std::mem::MaybeUninit<Camera3D> = ::std::mem::MaybeUninit::uninit();
929 let ptr = UNINIT.as_ptr();
930 assert_eq!(
931 ::std::mem::size_of::<Camera3D>(),
932 44usize,
933 concat!("Size of: ", stringify!(Camera3D))
934 );
935 assert_eq!(
936 ::std::mem::align_of::<Camera3D>(),
937 4usize,
938 concat!("Alignment of ", stringify!(Camera3D))
939 );
940 assert_eq!(
941 unsafe { ::std::ptr::addr_of!((*ptr).position) as usize - ptr as usize },
942 0usize,
943 concat!(
944 "Offset of field: ",
945 stringify!(Camera3D),
946 "::",
947 stringify!(position)
948 )
949 );
950 assert_eq!(
951 unsafe { ::std::ptr::addr_of!((*ptr).target) as usize - ptr as usize },
952 12usize,
953 concat!(
954 "Offset of field: ",
955 stringify!(Camera3D),
956 "::",
957 stringify!(target)
958 )
959 );
960 assert_eq!(
961 unsafe { ::std::ptr::addr_of!((*ptr).up) as usize - ptr as usize },
962 24usize,
963 concat!(
964 "Offset of field: ",
965 stringify!(Camera3D),
966 "::",
967 stringify!(up)
968 )
969 );
970 assert_eq!(
971 unsafe { ::std::ptr::addr_of!((*ptr).fovy) as usize - ptr as usize },
972 36usize,
973 concat!(
974 "Offset of field: ",
975 stringify!(Camera3D),
976 "::",
977 stringify!(fovy)
978 )
979 );
980 assert_eq!(
981 unsafe { ::std::ptr::addr_of!((*ptr).projection) as usize - ptr as usize },
982 40usize,
983 concat!(
984 "Offset of field: ",
985 stringify!(Camera3D),
986 "::",
987 stringify!(projection)
988 )
989 );
990}
991pub type Camera = Camera3D;
992#[repr(C)]
993#[derive(Debug, Copy, Clone)]
994pub struct Camera2D {
995 pub offset: Vector2,
996 pub target: Vector2,
997 pub rotation: f32,
998 pub zoom: f32,
999}
1000#[test]
1001fn bindgen_test_layout_Camera2D() {
1002 const UNINIT: ::std::mem::MaybeUninit<Camera2D> = ::std::mem::MaybeUninit::uninit();
1003 let ptr = UNINIT.as_ptr();
1004 assert_eq!(
1005 ::std::mem::size_of::<Camera2D>(),
1006 24usize,
1007 concat!("Size of: ", stringify!(Camera2D))
1008 );
1009 assert_eq!(
1010 ::std::mem::align_of::<Camera2D>(),
1011 4usize,
1012 concat!("Alignment of ", stringify!(Camera2D))
1013 );
1014 assert_eq!(
1015 unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
1016 0usize,
1017 concat!(
1018 "Offset of field: ",
1019 stringify!(Camera2D),
1020 "::",
1021 stringify!(offset)
1022 )
1023 );
1024 assert_eq!(
1025 unsafe { ::std::ptr::addr_of!((*ptr).target) as usize - ptr as usize },
1026 8usize,
1027 concat!(
1028 "Offset of field: ",
1029 stringify!(Camera2D),
1030 "::",
1031 stringify!(target)
1032 )
1033 );
1034 assert_eq!(
1035 unsafe { ::std::ptr::addr_of!((*ptr).rotation) as usize - ptr as usize },
1036 16usize,
1037 concat!(
1038 "Offset of field: ",
1039 stringify!(Camera2D),
1040 "::",
1041 stringify!(rotation)
1042 )
1043 );
1044 assert_eq!(
1045 unsafe { ::std::ptr::addr_of!((*ptr).zoom) as usize - ptr as usize },
1046 20usize,
1047 concat!(
1048 "Offset of field: ",
1049 stringify!(Camera2D),
1050 "::",
1051 stringify!(zoom)
1052 )
1053 );
1054}
1055#[repr(C)]
1056#[derive(Debug, Copy, Clone)]
1057pub struct Mesh {
1058 pub vertexCount: ::std::os::raw::c_int,
1059 pub triangleCount: ::std::os::raw::c_int,
1060 pub vertices: *mut f32,
1061 pub texcoords: *mut f32,
1062 pub texcoords2: *mut f32,
1063 pub normals: *mut f32,
1064 pub tangents: *mut f32,
1065 pub colors: *mut ::std::os::raw::c_uchar,
1066 pub indices: *mut ::std::os::raw::c_ushort,
1067 pub animVertices: *mut f32,
1068 pub animNormals: *mut f32,
1069 pub boneIds: *mut ::std::os::raw::c_uchar,
1070 pub boneWeights: *mut f32,
1071 pub vaoId: ::std::os::raw::c_uint,
1072 pub vboId: *mut ::std::os::raw::c_uint,
1073}
1074#[test]
1075fn bindgen_test_layout_Mesh() {
1076 const UNINIT: ::std::mem::MaybeUninit<Mesh> = ::std::mem::MaybeUninit::uninit();
1077 let ptr = UNINIT.as_ptr();
1078 assert_eq!(
1079 ::std::mem::size_of::<Mesh>(),
1080 112usize,
1081 concat!("Size of: ", stringify!(Mesh))
1082 );
1083 assert_eq!(
1084 ::std::mem::align_of::<Mesh>(),
1085 8usize,
1086 concat!("Alignment of ", stringify!(Mesh))
1087 );
1088 assert_eq!(
1089 unsafe { ::std::ptr::addr_of!((*ptr).vertexCount) as usize - ptr as usize },
1090 0usize,
1091 concat!(
1092 "Offset of field: ",
1093 stringify!(Mesh),
1094 "::",
1095 stringify!(vertexCount)
1096 )
1097 );
1098 assert_eq!(
1099 unsafe { ::std::ptr::addr_of!((*ptr).triangleCount) as usize - ptr as usize },
1100 4usize,
1101 concat!(
1102 "Offset of field: ",
1103 stringify!(Mesh),
1104 "::",
1105 stringify!(triangleCount)
1106 )
1107 );
1108 assert_eq!(
1109 unsafe { ::std::ptr::addr_of!((*ptr).vertices) as usize - ptr as usize },
1110 8usize,
1111 concat!(
1112 "Offset of field: ",
1113 stringify!(Mesh),
1114 "::",
1115 stringify!(vertices)
1116 )
1117 );
1118 assert_eq!(
1119 unsafe { ::std::ptr::addr_of!((*ptr).texcoords) as usize - ptr as usize },
1120 16usize,
1121 concat!(
1122 "Offset of field: ",
1123 stringify!(Mesh),
1124 "::",
1125 stringify!(texcoords)
1126 )
1127 );
1128 assert_eq!(
1129 unsafe { ::std::ptr::addr_of!((*ptr).texcoords2) as usize - ptr as usize },
1130 24usize,
1131 concat!(
1132 "Offset of field: ",
1133 stringify!(Mesh),
1134 "::",
1135 stringify!(texcoords2)
1136 )
1137 );
1138 assert_eq!(
1139 unsafe { ::std::ptr::addr_of!((*ptr).normals) as usize - ptr as usize },
1140 32usize,
1141 concat!(
1142 "Offset of field: ",
1143 stringify!(Mesh),
1144 "::",
1145 stringify!(normals)
1146 )
1147 );
1148 assert_eq!(
1149 unsafe { ::std::ptr::addr_of!((*ptr).tangents) as usize - ptr as usize },
1150 40usize,
1151 concat!(
1152 "Offset of field: ",
1153 stringify!(Mesh),
1154 "::",
1155 stringify!(tangents)
1156 )
1157 );
1158 assert_eq!(
1159 unsafe { ::std::ptr::addr_of!((*ptr).colors) as usize - ptr as usize },
1160 48usize,
1161 concat!(
1162 "Offset of field: ",
1163 stringify!(Mesh),
1164 "::",
1165 stringify!(colors)
1166 )
1167 );
1168 assert_eq!(
1169 unsafe { ::std::ptr::addr_of!((*ptr).indices) as usize - ptr as usize },
1170 56usize,
1171 concat!(
1172 "Offset of field: ",
1173 stringify!(Mesh),
1174 "::",
1175 stringify!(indices)
1176 )
1177 );
1178 assert_eq!(
1179 unsafe { ::std::ptr::addr_of!((*ptr).animVertices) as usize - ptr as usize },
1180 64usize,
1181 concat!(
1182 "Offset of field: ",
1183 stringify!(Mesh),
1184 "::",
1185 stringify!(animVertices)
1186 )
1187 );
1188 assert_eq!(
1189 unsafe { ::std::ptr::addr_of!((*ptr).animNormals) as usize - ptr as usize },
1190 72usize,
1191 concat!(
1192 "Offset of field: ",
1193 stringify!(Mesh),
1194 "::",
1195 stringify!(animNormals)
1196 )
1197 );
1198 assert_eq!(
1199 unsafe { ::std::ptr::addr_of!((*ptr).boneIds) as usize - ptr as usize },
1200 80usize,
1201 concat!(
1202 "Offset of field: ",
1203 stringify!(Mesh),
1204 "::",
1205 stringify!(boneIds)
1206 )
1207 );
1208 assert_eq!(
1209 unsafe { ::std::ptr::addr_of!((*ptr).boneWeights) as usize - ptr as usize },
1210 88usize,
1211 concat!(
1212 "Offset of field: ",
1213 stringify!(Mesh),
1214 "::",
1215 stringify!(boneWeights)
1216 )
1217 );
1218 assert_eq!(
1219 unsafe { ::std::ptr::addr_of!((*ptr).vaoId) as usize - ptr as usize },
1220 96usize,
1221 concat!(
1222 "Offset of field: ",
1223 stringify!(Mesh),
1224 "::",
1225 stringify!(vaoId)
1226 )
1227 );
1228 assert_eq!(
1229 unsafe { ::std::ptr::addr_of!((*ptr).vboId) as usize - ptr as usize },
1230 104usize,
1231 concat!(
1232 "Offset of field: ",
1233 stringify!(Mesh),
1234 "::",
1235 stringify!(vboId)
1236 )
1237 );
1238}
1239#[repr(C)]
1240#[derive(Debug, Copy, Clone)]
1241pub struct Shader {
1242 pub id: ::std::os::raw::c_uint,
1243 pub locs: *mut ::std::os::raw::c_int,
1244}
1245#[test]
1246fn bindgen_test_layout_Shader() {
1247 const UNINIT: ::std::mem::MaybeUninit<Shader> = ::std::mem::MaybeUninit::uninit();
1248 let ptr = UNINIT.as_ptr();
1249 assert_eq!(
1250 ::std::mem::size_of::<Shader>(),
1251 16usize,
1252 concat!("Size of: ", stringify!(Shader))
1253 );
1254 assert_eq!(
1255 ::std::mem::align_of::<Shader>(),
1256 8usize,
1257 concat!("Alignment of ", stringify!(Shader))
1258 );
1259 assert_eq!(
1260 unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
1261 0usize,
1262 concat!(
1263 "Offset of field: ",
1264 stringify!(Shader),
1265 "::",
1266 stringify!(id)
1267 )
1268 );
1269 assert_eq!(
1270 unsafe { ::std::ptr::addr_of!((*ptr).locs) as usize - ptr as usize },
1271 8usize,
1272 concat!(
1273 "Offset of field: ",
1274 stringify!(Shader),
1275 "::",
1276 stringify!(locs)
1277 )
1278 );
1279}
1280#[repr(C)]
1281#[derive(Debug, Copy, Clone)]
1282pub struct MaterialMap {
1283 pub texture: Texture2D,
1284 pub color: Color,
1285 pub value: f32,
1286}
1287#[test]
1288fn bindgen_test_layout_MaterialMap() {
1289 const UNINIT: ::std::mem::MaybeUninit<MaterialMap> = ::std::mem::MaybeUninit::uninit();
1290 let ptr = UNINIT.as_ptr();
1291 assert_eq!(
1292 ::std::mem::size_of::<MaterialMap>(),
1293 28usize,
1294 concat!("Size of: ", stringify!(MaterialMap))
1295 );
1296 assert_eq!(
1297 ::std::mem::align_of::<MaterialMap>(),
1298 4usize,
1299 concat!("Alignment of ", stringify!(MaterialMap))
1300 );
1301 assert_eq!(
1302 unsafe { ::std::ptr::addr_of!((*ptr).texture) as usize - ptr as usize },
1303 0usize,
1304 concat!(
1305 "Offset of field: ",
1306 stringify!(MaterialMap),
1307 "::",
1308 stringify!(texture)
1309 )
1310 );
1311 assert_eq!(
1312 unsafe { ::std::ptr::addr_of!((*ptr).color) as usize - ptr as usize },
1313 20usize,
1314 concat!(
1315 "Offset of field: ",
1316 stringify!(MaterialMap),
1317 "::",
1318 stringify!(color)
1319 )
1320 );
1321 assert_eq!(
1322 unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
1323 24usize,
1324 concat!(
1325 "Offset of field: ",
1326 stringify!(MaterialMap),
1327 "::",
1328 stringify!(value)
1329 )
1330 );
1331}
1332#[repr(C)]
1333#[derive(Debug, Copy, Clone)]
1334pub struct Material {
1335 pub shader: Shader,
1336 pub maps: *mut MaterialMap,
1337 pub params: [f32; 4usize],
1338}
1339#[test]
1340fn bindgen_test_layout_Material() {
1341 const UNINIT: ::std::mem::MaybeUninit<Material> = ::std::mem::MaybeUninit::uninit();
1342 let ptr = UNINIT.as_ptr();
1343 assert_eq!(
1344 ::std::mem::size_of::<Material>(),
1345 40usize,
1346 concat!("Size of: ", stringify!(Material))
1347 );
1348 assert_eq!(
1349 ::std::mem::align_of::<Material>(),
1350 8usize,
1351 concat!("Alignment of ", stringify!(Material))
1352 );
1353 assert_eq!(
1354 unsafe { ::std::ptr::addr_of!((*ptr).shader) as usize - ptr as usize },
1355 0usize,
1356 concat!(
1357 "Offset of field: ",
1358 stringify!(Material),
1359 "::",
1360 stringify!(shader)
1361 )
1362 );
1363 assert_eq!(
1364 unsafe { ::std::ptr::addr_of!((*ptr).maps) as usize - ptr as usize },
1365 16usize,
1366 concat!(
1367 "Offset of field: ",
1368 stringify!(Material),
1369 "::",
1370 stringify!(maps)
1371 )
1372 );
1373 assert_eq!(
1374 unsafe { ::std::ptr::addr_of!((*ptr).params) as usize - ptr as usize },
1375 24usize,
1376 concat!(
1377 "Offset of field: ",
1378 stringify!(Material),
1379 "::",
1380 stringify!(params)
1381 )
1382 );
1383}
1384#[repr(C)]
1385#[derive(Debug, Copy, Clone)]
1386pub struct Transform {
1387 pub translation: Vector3,
1388 pub rotation: Quaternion,
1389 pub scale: Vector3,
1390}
1391#[test]
1392fn bindgen_test_layout_Transform() {
1393 const UNINIT: ::std::mem::MaybeUninit<Transform> = ::std::mem::MaybeUninit::uninit();
1394 let ptr = UNINIT.as_ptr();
1395 assert_eq!(
1396 ::std::mem::size_of::<Transform>(),
1397 40usize,
1398 concat!("Size of: ", stringify!(Transform))
1399 );
1400 assert_eq!(
1401 ::std::mem::align_of::<Transform>(),
1402 4usize,
1403 concat!("Alignment of ", stringify!(Transform))
1404 );
1405 assert_eq!(
1406 unsafe { ::std::ptr::addr_of!((*ptr).translation) as usize - ptr as usize },
1407 0usize,
1408 concat!(
1409 "Offset of field: ",
1410 stringify!(Transform),
1411 "::",
1412 stringify!(translation)
1413 )
1414 );
1415 assert_eq!(
1416 unsafe { ::std::ptr::addr_of!((*ptr).rotation) as usize - ptr as usize },
1417 12usize,
1418 concat!(
1419 "Offset of field: ",
1420 stringify!(Transform),
1421 "::",
1422 stringify!(rotation)
1423 )
1424 );
1425 assert_eq!(
1426 unsafe { ::std::ptr::addr_of!((*ptr).scale) as usize - ptr as usize },
1427 28usize,
1428 concat!(
1429 "Offset of field: ",
1430 stringify!(Transform),
1431 "::",
1432 stringify!(scale)
1433 )
1434 );
1435}
1436#[repr(C)]
1437#[derive(Debug, Copy, Clone)]
1438pub struct BoneInfo {
1439 pub name: [::std::os::raw::c_char; 32usize],
1440 pub parent: ::std::os::raw::c_int,
1441}
1442#[test]
1443fn bindgen_test_layout_BoneInfo() {
1444 const UNINIT: ::std::mem::MaybeUninit<BoneInfo> = ::std::mem::MaybeUninit::uninit();
1445 let ptr = UNINIT.as_ptr();
1446 assert_eq!(
1447 ::std::mem::size_of::<BoneInfo>(),
1448 36usize,
1449 concat!("Size of: ", stringify!(BoneInfo))
1450 );
1451 assert_eq!(
1452 ::std::mem::align_of::<BoneInfo>(),
1453 4usize,
1454 concat!("Alignment of ", stringify!(BoneInfo))
1455 );
1456 assert_eq!(
1457 unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
1458 0usize,
1459 concat!(
1460 "Offset of field: ",
1461 stringify!(BoneInfo),
1462 "::",
1463 stringify!(name)
1464 )
1465 );
1466 assert_eq!(
1467 unsafe { ::std::ptr::addr_of!((*ptr).parent) as usize - ptr as usize },
1468 32usize,
1469 concat!(
1470 "Offset of field: ",
1471 stringify!(BoneInfo),
1472 "::",
1473 stringify!(parent)
1474 )
1475 );
1476}
1477#[repr(C)]
1478#[derive(Debug, Copy, Clone)]
1479pub struct Model {
1480 pub transform: Matrix,
1481 pub meshCount: ::std::os::raw::c_int,
1482 pub materialCount: ::std::os::raw::c_int,
1483 pub meshes: *mut Mesh,
1484 pub materials: *mut Material,
1485 pub meshMaterial: *mut ::std::os::raw::c_int,
1486 pub boneCount: ::std::os::raw::c_int,
1487 pub bones: *mut BoneInfo,
1488 pub bindPose: *mut Transform,
1489}
1490#[test]
1491fn bindgen_test_layout_Model() {
1492 const UNINIT: ::std::mem::MaybeUninit<Model> = ::std::mem::MaybeUninit::uninit();
1493 let ptr = UNINIT.as_ptr();
1494 assert_eq!(
1495 ::std::mem::size_of::<Model>(),
1496 120usize,
1497 concat!("Size of: ", stringify!(Model))
1498 );
1499 assert_eq!(
1500 ::std::mem::align_of::<Model>(),
1501 8usize,
1502 concat!("Alignment of ", stringify!(Model))
1503 );
1504 assert_eq!(
1505 unsafe { ::std::ptr::addr_of!((*ptr).transform) as usize - ptr as usize },
1506 0usize,
1507 concat!(
1508 "Offset of field: ",
1509 stringify!(Model),
1510 "::",
1511 stringify!(transform)
1512 )
1513 );
1514 assert_eq!(
1515 unsafe { ::std::ptr::addr_of!((*ptr).meshCount) as usize - ptr as usize },
1516 64usize,
1517 concat!(
1518 "Offset of field: ",
1519 stringify!(Model),
1520 "::",
1521 stringify!(meshCount)
1522 )
1523 );
1524 assert_eq!(
1525 unsafe { ::std::ptr::addr_of!((*ptr).materialCount) as usize - ptr as usize },
1526 68usize,
1527 concat!(
1528 "Offset of field: ",
1529 stringify!(Model),
1530 "::",
1531 stringify!(materialCount)
1532 )
1533 );
1534 assert_eq!(
1535 unsafe { ::std::ptr::addr_of!((*ptr).meshes) as usize - ptr as usize },
1536 72usize,
1537 concat!(
1538 "Offset of field: ",
1539 stringify!(Model),
1540 "::",
1541 stringify!(meshes)
1542 )
1543 );
1544 assert_eq!(
1545 unsafe { ::std::ptr::addr_of!((*ptr).materials) as usize - ptr as usize },
1546 80usize,
1547 concat!(
1548 "Offset of field: ",
1549 stringify!(Model),
1550 "::",
1551 stringify!(materials)
1552 )
1553 );
1554 assert_eq!(
1555 unsafe { ::std::ptr::addr_of!((*ptr).meshMaterial) as usize - ptr as usize },
1556 88usize,
1557 concat!(
1558 "Offset of field: ",
1559 stringify!(Model),
1560 "::",
1561 stringify!(meshMaterial)
1562 )
1563 );
1564 assert_eq!(
1565 unsafe { ::std::ptr::addr_of!((*ptr).boneCount) as usize - ptr as usize },
1566 96usize,
1567 concat!(
1568 "Offset of field: ",
1569 stringify!(Model),
1570 "::",
1571 stringify!(boneCount)
1572 )
1573 );
1574 assert_eq!(
1575 unsafe { ::std::ptr::addr_of!((*ptr).bones) as usize - ptr as usize },
1576 104usize,
1577 concat!(
1578 "Offset of field: ",
1579 stringify!(Model),
1580 "::",
1581 stringify!(bones)
1582 )
1583 );
1584 assert_eq!(
1585 unsafe { ::std::ptr::addr_of!((*ptr).bindPose) as usize - ptr as usize },
1586 112usize,
1587 concat!(
1588 "Offset of field: ",
1589 stringify!(Model),
1590 "::",
1591 stringify!(bindPose)
1592 )
1593 );
1594}
1595#[repr(C)]
1596#[derive(Debug, Copy, Clone)]
1597pub struct ModelAnimation {
1598 pub boneCount: ::std::os::raw::c_int,
1599 pub frameCount: ::std::os::raw::c_int,
1600 pub bones: *mut BoneInfo,
1601 pub framePoses: *mut *mut Transform,
1602}
1603#[test]
1604fn bindgen_test_layout_ModelAnimation() {
1605 const UNINIT: ::std::mem::MaybeUninit<ModelAnimation> = ::std::mem::MaybeUninit::uninit();
1606 let ptr = UNINIT.as_ptr();
1607 assert_eq!(
1608 ::std::mem::size_of::<ModelAnimation>(),
1609 24usize,
1610 concat!("Size of: ", stringify!(ModelAnimation))
1611 );
1612 assert_eq!(
1613 ::std::mem::align_of::<ModelAnimation>(),
1614 8usize,
1615 concat!("Alignment of ", stringify!(ModelAnimation))
1616 );
1617 assert_eq!(
1618 unsafe { ::std::ptr::addr_of!((*ptr).boneCount) as usize - ptr as usize },
1619 0usize,
1620 concat!(
1621 "Offset of field: ",
1622 stringify!(ModelAnimation),
1623 "::",
1624 stringify!(boneCount)
1625 )
1626 );
1627 assert_eq!(
1628 unsafe { ::std::ptr::addr_of!((*ptr).frameCount) as usize - ptr as usize },
1629 4usize,
1630 concat!(
1631 "Offset of field: ",
1632 stringify!(ModelAnimation),
1633 "::",
1634 stringify!(frameCount)
1635 )
1636 );
1637 assert_eq!(
1638 unsafe { ::std::ptr::addr_of!((*ptr).bones) as usize - ptr as usize },
1639 8usize,
1640 concat!(
1641 "Offset of field: ",
1642 stringify!(ModelAnimation),
1643 "::",
1644 stringify!(bones)
1645 )
1646 );
1647 assert_eq!(
1648 unsafe { ::std::ptr::addr_of!((*ptr).framePoses) as usize - ptr as usize },
1649 16usize,
1650 concat!(
1651 "Offset of field: ",
1652 stringify!(ModelAnimation),
1653 "::",
1654 stringify!(framePoses)
1655 )
1656 );
1657}
1658#[repr(C)]
1659#[derive(Debug, Copy, Clone)]
1660pub struct Ray {
1661 pub position: Vector3,
1662 pub direction: Vector3,
1663}
1664#[test]
1665fn bindgen_test_layout_Ray() {
1666 const UNINIT: ::std::mem::MaybeUninit<Ray> = ::std::mem::MaybeUninit::uninit();
1667 let ptr = UNINIT.as_ptr();
1668 assert_eq!(
1669 ::std::mem::size_of::<Ray>(),
1670 24usize,
1671 concat!("Size of: ", stringify!(Ray))
1672 );
1673 assert_eq!(
1674 ::std::mem::align_of::<Ray>(),
1675 4usize,
1676 concat!("Alignment of ", stringify!(Ray))
1677 );
1678 assert_eq!(
1679 unsafe { ::std::ptr::addr_of!((*ptr).position) as usize - ptr as usize },
1680 0usize,
1681 concat!(
1682 "Offset of field: ",
1683 stringify!(Ray),
1684 "::",
1685 stringify!(position)
1686 )
1687 );
1688 assert_eq!(
1689 unsafe { ::std::ptr::addr_of!((*ptr).direction) as usize - ptr as usize },
1690 12usize,
1691 concat!(
1692 "Offset of field: ",
1693 stringify!(Ray),
1694 "::",
1695 stringify!(direction)
1696 )
1697 );
1698}
1699#[repr(C)]
1700#[derive(Debug, Copy, Clone)]
1701pub struct RayCollision {
1702 pub hit: bool,
1703 pub distance: f32,
1704 pub point: Vector3,
1705 pub normal: Vector3,
1706}
1707#[test]
1708fn bindgen_test_layout_RayCollision() {
1709 const UNINIT: ::std::mem::MaybeUninit<RayCollision> = ::std::mem::MaybeUninit::uninit();
1710 let ptr = UNINIT.as_ptr();
1711 assert_eq!(
1712 ::std::mem::size_of::<RayCollision>(),
1713 32usize,
1714 concat!("Size of: ", stringify!(RayCollision))
1715 );
1716 assert_eq!(
1717 ::std::mem::align_of::<RayCollision>(),
1718 4usize,
1719 concat!("Alignment of ", stringify!(RayCollision))
1720 );
1721 assert_eq!(
1722 unsafe { ::std::ptr::addr_of!((*ptr).hit) as usize - ptr as usize },
1723 0usize,
1724 concat!(
1725 "Offset of field: ",
1726 stringify!(RayCollision),
1727 "::",
1728 stringify!(hit)
1729 )
1730 );
1731 assert_eq!(
1732 unsafe { ::std::ptr::addr_of!((*ptr).distance) as usize - ptr as usize },
1733 4usize,
1734 concat!(
1735 "Offset of field: ",
1736 stringify!(RayCollision),
1737 "::",
1738 stringify!(distance)
1739 )
1740 );
1741 assert_eq!(
1742 unsafe { ::std::ptr::addr_of!((*ptr).point) as usize - ptr as usize },
1743 8usize,
1744 concat!(
1745 "Offset of field: ",
1746 stringify!(RayCollision),
1747 "::",
1748 stringify!(point)
1749 )
1750 );
1751 assert_eq!(
1752 unsafe { ::std::ptr::addr_of!((*ptr).normal) as usize - ptr as usize },
1753 20usize,
1754 concat!(
1755 "Offset of field: ",
1756 stringify!(RayCollision),
1757 "::",
1758 stringify!(normal)
1759 )
1760 );
1761}
1762#[repr(C)]
1763#[derive(Debug, Copy, Clone)]
1764pub struct BoundingBox {
1765 pub min: Vector3,
1766 pub max: Vector3,
1767}
1768#[test]
1769fn bindgen_test_layout_BoundingBox() {
1770 const UNINIT: ::std::mem::MaybeUninit<BoundingBox> = ::std::mem::MaybeUninit::uninit();
1771 let ptr = UNINIT.as_ptr();
1772 assert_eq!(
1773 ::std::mem::size_of::<BoundingBox>(),
1774 24usize,
1775 concat!("Size of: ", stringify!(BoundingBox))
1776 );
1777 assert_eq!(
1778 ::std::mem::align_of::<BoundingBox>(),
1779 4usize,
1780 concat!("Alignment of ", stringify!(BoundingBox))
1781 );
1782 assert_eq!(
1783 unsafe { ::std::ptr::addr_of!((*ptr).min) as usize - ptr as usize },
1784 0usize,
1785 concat!(
1786 "Offset of field: ",
1787 stringify!(BoundingBox),
1788 "::",
1789 stringify!(min)
1790 )
1791 );
1792 assert_eq!(
1793 unsafe { ::std::ptr::addr_of!((*ptr).max) as usize - ptr as usize },
1794 12usize,
1795 concat!(
1796 "Offset of field: ",
1797 stringify!(BoundingBox),
1798 "::",
1799 stringify!(max)
1800 )
1801 );
1802}
1803#[repr(C)]
1804#[derive(Debug, Copy, Clone)]
1805pub struct Wave {
1806 pub frameCount: ::std::os::raw::c_uint,
1807 pub sampleRate: ::std::os::raw::c_uint,
1808 pub sampleSize: ::std::os::raw::c_uint,
1809 pub channels: ::std::os::raw::c_uint,
1810 pub data: *mut ::std::os::raw::c_void,
1811}
1812#[test]
1813fn bindgen_test_layout_Wave() {
1814 const UNINIT: ::std::mem::MaybeUninit<Wave> = ::std::mem::MaybeUninit::uninit();
1815 let ptr = UNINIT.as_ptr();
1816 assert_eq!(
1817 ::std::mem::size_of::<Wave>(),
1818 24usize,
1819 concat!("Size of: ", stringify!(Wave))
1820 );
1821 assert_eq!(
1822 ::std::mem::align_of::<Wave>(),
1823 8usize,
1824 concat!("Alignment of ", stringify!(Wave))
1825 );
1826 assert_eq!(
1827 unsafe { ::std::ptr::addr_of!((*ptr).frameCount) as usize - ptr as usize },
1828 0usize,
1829 concat!(
1830 "Offset of field: ",
1831 stringify!(Wave),
1832 "::",
1833 stringify!(frameCount)
1834 )
1835 );
1836 assert_eq!(
1837 unsafe { ::std::ptr::addr_of!((*ptr).sampleRate) as usize - ptr as usize },
1838 4usize,
1839 concat!(
1840 "Offset of field: ",
1841 stringify!(Wave),
1842 "::",
1843 stringify!(sampleRate)
1844 )
1845 );
1846 assert_eq!(
1847 unsafe { ::std::ptr::addr_of!((*ptr).sampleSize) as usize - ptr as usize },
1848 8usize,
1849 concat!(
1850 "Offset of field: ",
1851 stringify!(Wave),
1852 "::",
1853 stringify!(sampleSize)
1854 )
1855 );
1856 assert_eq!(
1857 unsafe { ::std::ptr::addr_of!((*ptr).channels) as usize - ptr as usize },
1858 12usize,
1859 concat!(
1860 "Offset of field: ",
1861 stringify!(Wave),
1862 "::",
1863 stringify!(channels)
1864 )
1865 );
1866 assert_eq!(
1867 unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
1868 16usize,
1869 concat!(
1870 "Offset of field: ",
1871 stringify!(Wave),
1872 "::",
1873 stringify!(data)
1874 )
1875 );
1876}
1877#[repr(C)]
1878#[derive(Debug, Copy, Clone)]
1879pub struct rAudioBuffer {
1880 _unused: [u8; 0],
1881}
1882#[repr(C)]
1883#[derive(Debug, Copy, Clone)]
1884pub struct rAudioProcessor {
1885 _unused: [u8; 0],
1886}
1887#[repr(C)]
1888#[derive(Debug, Copy, Clone)]
1889pub struct AudioStream {
1890 pub buffer: *mut rAudioBuffer,
1891 pub processor: *mut rAudioProcessor,
1892 pub sampleRate: ::std::os::raw::c_uint,
1893 pub sampleSize: ::std::os::raw::c_uint,
1894 pub channels: ::std::os::raw::c_uint,
1895}
1896#[test]
1897fn bindgen_test_layout_AudioStream() {
1898 const UNINIT: ::std::mem::MaybeUninit<AudioStream> = ::std::mem::MaybeUninit::uninit();
1899 let ptr = UNINIT.as_ptr();
1900 assert_eq!(
1901 ::std::mem::size_of::<AudioStream>(),
1902 32usize,
1903 concat!("Size of: ", stringify!(AudioStream))
1904 );
1905 assert_eq!(
1906 ::std::mem::align_of::<AudioStream>(),
1907 8usize,
1908 concat!("Alignment of ", stringify!(AudioStream))
1909 );
1910 assert_eq!(
1911 unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
1912 0usize,
1913 concat!(
1914 "Offset of field: ",
1915 stringify!(AudioStream),
1916 "::",
1917 stringify!(buffer)
1918 )
1919 );
1920 assert_eq!(
1921 unsafe { ::std::ptr::addr_of!((*ptr).processor) as usize - ptr as usize },
1922 8usize,
1923 concat!(
1924 "Offset of field: ",
1925 stringify!(AudioStream),
1926 "::",
1927 stringify!(processor)
1928 )
1929 );
1930 assert_eq!(
1931 unsafe { ::std::ptr::addr_of!((*ptr).sampleRate) as usize - ptr as usize },
1932 16usize,
1933 concat!(
1934 "Offset of field: ",
1935 stringify!(AudioStream),
1936 "::",
1937 stringify!(sampleRate)
1938 )
1939 );
1940 assert_eq!(
1941 unsafe { ::std::ptr::addr_of!((*ptr).sampleSize) as usize - ptr as usize },
1942 20usize,
1943 concat!(
1944 "Offset of field: ",
1945 stringify!(AudioStream),
1946 "::",
1947 stringify!(sampleSize)
1948 )
1949 );
1950 assert_eq!(
1951 unsafe { ::std::ptr::addr_of!((*ptr).channels) as usize - ptr as usize },
1952 24usize,
1953 concat!(
1954 "Offset of field: ",
1955 stringify!(AudioStream),
1956 "::",
1957 stringify!(channels)
1958 )
1959 );
1960}
1961#[repr(C)]
1962#[derive(Debug, Copy, Clone)]
1963pub struct Sound {
1964 pub stream: AudioStream,
1965 pub frameCount: ::std::os::raw::c_uint,
1966}
1967#[test]
1968fn bindgen_test_layout_Sound() {
1969 const UNINIT: ::std::mem::MaybeUninit<Sound> = ::std::mem::MaybeUninit::uninit();
1970 let ptr = UNINIT.as_ptr();
1971 assert_eq!(
1972 ::std::mem::size_of::<Sound>(),
1973 40usize,
1974 concat!("Size of: ", stringify!(Sound))
1975 );
1976 assert_eq!(
1977 ::std::mem::align_of::<Sound>(),
1978 8usize,
1979 concat!("Alignment of ", stringify!(Sound))
1980 );
1981 assert_eq!(
1982 unsafe { ::std::ptr::addr_of!((*ptr).stream) as usize - ptr as usize },
1983 0usize,
1984 concat!(
1985 "Offset of field: ",
1986 stringify!(Sound),
1987 "::",
1988 stringify!(stream)
1989 )
1990 );
1991 assert_eq!(
1992 unsafe { ::std::ptr::addr_of!((*ptr).frameCount) as usize - ptr as usize },
1993 32usize,
1994 concat!(
1995 "Offset of field: ",
1996 stringify!(Sound),
1997 "::",
1998 stringify!(frameCount)
1999 )
2000 );
2001}
2002#[repr(C)]
2003#[derive(Debug, Copy, Clone)]
2004pub struct Music {
2005 pub stream: AudioStream,
2006 pub frameCount: ::std::os::raw::c_uint,
2007 pub looping: bool,
2008 pub ctxType: ::std::os::raw::c_int,
2009 pub ctxData: *mut ::std::os::raw::c_void,
2010}
2011#[test]
2012fn bindgen_test_layout_Music() {
2013 const UNINIT: ::std::mem::MaybeUninit<Music> = ::std::mem::MaybeUninit::uninit();
2014 let ptr = UNINIT.as_ptr();
2015 assert_eq!(
2016 ::std::mem::size_of::<Music>(),
2017 56usize,
2018 concat!("Size of: ", stringify!(Music))
2019 );
2020 assert_eq!(
2021 ::std::mem::align_of::<Music>(),
2022 8usize,
2023 concat!("Alignment of ", stringify!(Music))
2024 );
2025 assert_eq!(
2026 unsafe { ::std::ptr::addr_of!((*ptr).stream) as usize - ptr as usize },
2027 0usize,
2028 concat!(
2029 "Offset of field: ",
2030 stringify!(Music),
2031 "::",
2032 stringify!(stream)
2033 )
2034 );
2035 assert_eq!(
2036 unsafe { ::std::ptr::addr_of!((*ptr).frameCount) as usize - ptr as usize },
2037 32usize,
2038 concat!(
2039 "Offset of field: ",
2040 stringify!(Music),
2041 "::",
2042 stringify!(frameCount)
2043 )
2044 );
2045 assert_eq!(
2046 unsafe { ::std::ptr::addr_of!((*ptr).looping) as usize - ptr as usize },
2047 36usize,
2048 concat!(
2049 "Offset of field: ",
2050 stringify!(Music),
2051 "::",
2052 stringify!(looping)
2053 )
2054 );
2055 assert_eq!(
2056 unsafe { ::std::ptr::addr_of!((*ptr).ctxType) as usize - ptr as usize },
2057 40usize,
2058 concat!(
2059 "Offset of field: ",
2060 stringify!(Music),
2061 "::",
2062 stringify!(ctxType)
2063 )
2064 );
2065 assert_eq!(
2066 unsafe { ::std::ptr::addr_of!((*ptr).ctxData) as usize - ptr as usize },
2067 48usize,
2068 concat!(
2069 "Offset of field: ",
2070 stringify!(Music),
2071 "::",
2072 stringify!(ctxData)
2073 )
2074 );
2075}
2076#[repr(C)]
2077#[derive(Debug, Copy, Clone)]
2078pub struct VrDeviceInfo {
2079 pub hResolution: ::std::os::raw::c_int,
2080 pub vResolution: ::std::os::raw::c_int,
2081 pub hScreenSize: f32,
2082 pub vScreenSize: f32,
2083 pub vScreenCenter: f32,
2084 pub eyeToScreenDistance: f32,
2085 pub lensSeparationDistance: f32,
2086 pub interpupillaryDistance: f32,
2087 pub lensDistortionValues: [f32; 4usize],
2088 pub chromaAbCorrection: [f32; 4usize],
2089}
2090#[test]
2091fn bindgen_test_layout_VrDeviceInfo() {
2092 const UNINIT: ::std::mem::MaybeUninit<VrDeviceInfo> = ::std::mem::MaybeUninit::uninit();
2093 let ptr = UNINIT.as_ptr();
2094 assert_eq!(
2095 ::std::mem::size_of::<VrDeviceInfo>(),
2096 64usize,
2097 concat!("Size of: ", stringify!(VrDeviceInfo))
2098 );
2099 assert_eq!(
2100 ::std::mem::align_of::<VrDeviceInfo>(),
2101 4usize,
2102 concat!("Alignment of ", stringify!(VrDeviceInfo))
2103 );
2104 assert_eq!(
2105 unsafe { ::std::ptr::addr_of!((*ptr).hResolution) as usize - ptr as usize },
2106 0usize,
2107 concat!(
2108 "Offset of field: ",
2109 stringify!(VrDeviceInfo),
2110 "::",
2111 stringify!(hResolution)
2112 )
2113 );
2114 assert_eq!(
2115 unsafe { ::std::ptr::addr_of!((*ptr).vResolution) as usize - ptr as usize },
2116 4usize,
2117 concat!(
2118 "Offset of field: ",
2119 stringify!(VrDeviceInfo),
2120 "::",
2121 stringify!(vResolution)
2122 )
2123 );
2124 assert_eq!(
2125 unsafe { ::std::ptr::addr_of!((*ptr).hScreenSize) as usize - ptr as usize },
2126 8usize,
2127 concat!(
2128 "Offset of field: ",
2129 stringify!(VrDeviceInfo),
2130 "::",
2131 stringify!(hScreenSize)
2132 )
2133 );
2134 assert_eq!(
2135 unsafe { ::std::ptr::addr_of!((*ptr).vScreenSize) as usize - ptr as usize },
2136 12usize,
2137 concat!(
2138 "Offset of field: ",
2139 stringify!(VrDeviceInfo),
2140 "::",
2141 stringify!(vScreenSize)
2142 )
2143 );
2144 assert_eq!(
2145 unsafe { ::std::ptr::addr_of!((*ptr).vScreenCenter) as usize - ptr as usize },
2146 16usize,
2147 concat!(
2148 "Offset of field: ",
2149 stringify!(VrDeviceInfo),
2150 "::",
2151 stringify!(vScreenCenter)
2152 )
2153 );
2154 assert_eq!(
2155 unsafe { ::std::ptr::addr_of!((*ptr).eyeToScreenDistance) as usize - ptr as usize },
2156 20usize,
2157 concat!(
2158 "Offset of field: ",
2159 stringify!(VrDeviceInfo),
2160 "::",
2161 stringify!(eyeToScreenDistance)
2162 )
2163 );
2164 assert_eq!(
2165 unsafe { ::std::ptr::addr_of!((*ptr).lensSeparationDistance) as usize - ptr as usize },
2166 24usize,
2167 concat!(
2168 "Offset of field: ",
2169 stringify!(VrDeviceInfo),
2170 "::",
2171 stringify!(lensSeparationDistance)
2172 )
2173 );
2174 assert_eq!(
2175 unsafe { ::std::ptr::addr_of!((*ptr).interpupillaryDistance) as usize - ptr as usize },
2176 28usize,
2177 concat!(
2178 "Offset of field: ",
2179 stringify!(VrDeviceInfo),
2180 "::",
2181 stringify!(interpupillaryDistance)
2182 )
2183 );
2184 assert_eq!(
2185 unsafe { ::std::ptr::addr_of!((*ptr).lensDistortionValues) as usize - ptr as usize },
2186 32usize,
2187 concat!(
2188 "Offset of field: ",
2189 stringify!(VrDeviceInfo),
2190 "::",
2191 stringify!(lensDistortionValues)
2192 )
2193 );
2194 assert_eq!(
2195 unsafe { ::std::ptr::addr_of!((*ptr).chromaAbCorrection) as usize - ptr as usize },
2196 48usize,
2197 concat!(
2198 "Offset of field: ",
2199 stringify!(VrDeviceInfo),
2200 "::",
2201 stringify!(chromaAbCorrection)
2202 )
2203 );
2204}
2205#[repr(C)]
2206#[derive(Debug, Copy, Clone)]
2207pub struct VrStereoConfig {
2208 pub projection: [Matrix; 2usize],
2209 pub viewOffset: [Matrix; 2usize],
2210 pub leftLensCenter: [f32; 2usize],
2211 pub rightLensCenter: [f32; 2usize],
2212 pub leftScreenCenter: [f32; 2usize],
2213 pub rightScreenCenter: [f32; 2usize],
2214 pub scale: [f32; 2usize],
2215 pub scaleIn: [f32; 2usize],
2216}
2217#[test]
2218fn bindgen_test_layout_VrStereoConfig() {
2219 const UNINIT: ::std::mem::MaybeUninit<VrStereoConfig> = ::std::mem::MaybeUninit::uninit();
2220 let ptr = UNINIT.as_ptr();
2221 assert_eq!(
2222 ::std::mem::size_of::<VrStereoConfig>(),
2223 304usize,
2224 concat!("Size of: ", stringify!(VrStereoConfig))
2225 );
2226 assert_eq!(
2227 ::std::mem::align_of::<VrStereoConfig>(),
2228 4usize,
2229 concat!("Alignment of ", stringify!(VrStereoConfig))
2230 );
2231 assert_eq!(
2232 unsafe { ::std::ptr::addr_of!((*ptr).projection) as usize - ptr as usize },
2233 0usize,
2234 concat!(
2235 "Offset of field: ",
2236 stringify!(VrStereoConfig),
2237 "::",
2238 stringify!(projection)
2239 )
2240 );
2241 assert_eq!(
2242 unsafe { ::std::ptr::addr_of!((*ptr).viewOffset) as usize - ptr as usize },
2243 128usize,
2244 concat!(
2245 "Offset of field: ",
2246 stringify!(VrStereoConfig),
2247 "::",
2248 stringify!(viewOffset)
2249 )
2250 );
2251 assert_eq!(
2252 unsafe { ::std::ptr::addr_of!((*ptr).leftLensCenter) as usize - ptr as usize },
2253 256usize,
2254 concat!(
2255 "Offset of field: ",
2256 stringify!(VrStereoConfig),
2257 "::",
2258 stringify!(leftLensCenter)
2259 )
2260 );
2261 assert_eq!(
2262 unsafe { ::std::ptr::addr_of!((*ptr).rightLensCenter) as usize - ptr as usize },
2263 264usize,
2264 concat!(
2265 "Offset of field: ",
2266 stringify!(VrStereoConfig),
2267 "::",
2268 stringify!(rightLensCenter)
2269 )
2270 );
2271 assert_eq!(
2272 unsafe { ::std::ptr::addr_of!((*ptr).leftScreenCenter) as usize - ptr as usize },
2273 272usize,
2274 concat!(
2275 "Offset of field: ",
2276 stringify!(VrStereoConfig),
2277 "::",
2278 stringify!(leftScreenCenter)
2279 )
2280 );
2281 assert_eq!(
2282 unsafe { ::std::ptr::addr_of!((*ptr).rightScreenCenter) as usize - ptr as usize },
2283 280usize,
2284 concat!(
2285 "Offset of field: ",
2286 stringify!(VrStereoConfig),
2287 "::",
2288 stringify!(rightScreenCenter)
2289 )
2290 );
2291 assert_eq!(
2292 unsafe { ::std::ptr::addr_of!((*ptr).scale) as usize - ptr as usize },
2293 288usize,
2294 concat!(
2295 "Offset of field: ",
2296 stringify!(VrStereoConfig),
2297 "::",
2298 stringify!(scale)
2299 )
2300 );
2301 assert_eq!(
2302 unsafe { ::std::ptr::addr_of!((*ptr).scaleIn) as usize - ptr as usize },
2303 296usize,
2304 concat!(
2305 "Offset of field: ",
2306 stringify!(VrStereoConfig),
2307 "::",
2308 stringify!(scaleIn)
2309 )
2310 );
2311}
2312#[repr(C)]
2313#[derive(Debug, Copy, Clone)]
2314pub struct FilePathList {
2315 pub capacity: ::std::os::raw::c_uint,
2316 pub count: ::std::os::raw::c_uint,
2317 pub paths: *mut *mut ::std::os::raw::c_char,
2318}
2319#[test]
2320fn bindgen_test_layout_FilePathList() {
2321 const UNINIT: ::std::mem::MaybeUninit<FilePathList> = ::std::mem::MaybeUninit::uninit();
2322 let ptr = UNINIT.as_ptr();
2323 assert_eq!(
2324 ::std::mem::size_of::<FilePathList>(),
2325 16usize,
2326 concat!("Size of: ", stringify!(FilePathList))
2327 );
2328 assert_eq!(
2329 ::std::mem::align_of::<FilePathList>(),
2330 8usize,
2331 concat!("Alignment of ", stringify!(FilePathList))
2332 );
2333 assert_eq!(
2334 unsafe { ::std::ptr::addr_of!((*ptr).capacity) as usize - ptr as usize },
2335 0usize,
2336 concat!(
2337 "Offset of field: ",
2338 stringify!(FilePathList),
2339 "::",
2340 stringify!(capacity)
2341 )
2342 );
2343 assert_eq!(
2344 unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
2345 4usize,
2346 concat!(
2347 "Offset of field: ",
2348 stringify!(FilePathList),
2349 "::",
2350 stringify!(count)
2351 )
2352 );
2353 assert_eq!(
2354 unsafe { ::std::ptr::addr_of!((*ptr).paths) as usize - ptr as usize },
2355 8usize,
2356 concat!(
2357 "Offset of field: ",
2358 stringify!(FilePathList),
2359 "::",
2360 stringify!(paths)
2361 )
2362 );
2363}
2364pub const ConfigFlags_FLAG_VSYNC_HINT: ConfigFlags = 64;
2365pub const ConfigFlags_FLAG_FULLSCREEN_MODE: ConfigFlags = 2;
2366pub const ConfigFlags_FLAG_WINDOW_RESIZABLE: ConfigFlags = 4;
2367pub const ConfigFlags_FLAG_WINDOW_UNDECORATED: ConfigFlags = 8;
2368pub const ConfigFlags_FLAG_WINDOW_HIDDEN: ConfigFlags = 128;
2369pub const ConfigFlags_FLAG_WINDOW_MINIMIZED: ConfigFlags = 512;
2370pub const ConfigFlags_FLAG_WINDOW_MAXIMIZED: ConfigFlags = 1024;
2371pub const ConfigFlags_FLAG_WINDOW_UNFOCUSED: ConfigFlags = 2048;
2372pub const ConfigFlags_FLAG_WINDOW_TOPMOST: ConfigFlags = 4096;
2373pub const ConfigFlags_FLAG_WINDOW_ALWAYS_RUN: ConfigFlags = 256;
2374pub const ConfigFlags_FLAG_WINDOW_TRANSPARENT: ConfigFlags = 16;
2375pub const ConfigFlags_FLAG_WINDOW_HIGHDPI: ConfigFlags = 8192;
2376pub const ConfigFlags_FLAG_WINDOW_MOUSE_PASSTHROUGH: ConfigFlags = 16384;
2377pub const ConfigFlags_FLAG_MSAA_4X_HINT: ConfigFlags = 32;
2378pub const ConfigFlags_FLAG_INTERLACED_HINT: ConfigFlags = 65536;
2379pub type ConfigFlags = ::std::os::raw::c_uint;
2380pub const TraceLogLevel_LOG_ALL: TraceLogLevel = 0;
2381pub const TraceLogLevel_LOG_TRACE: TraceLogLevel = 1;
2382pub const TraceLogLevel_LOG_DEBUG: TraceLogLevel = 2;
2383pub const TraceLogLevel_LOG_INFO: TraceLogLevel = 3;
2384pub const TraceLogLevel_LOG_WARNING: TraceLogLevel = 4;
2385pub const TraceLogLevel_LOG_ERROR: TraceLogLevel = 5;
2386pub const TraceLogLevel_LOG_FATAL: TraceLogLevel = 6;
2387pub const TraceLogLevel_LOG_NONE: TraceLogLevel = 7;
2388pub type TraceLogLevel = ::std::os::raw::c_uint;
2389pub const KeyboardKey_KEY_NULL: KeyboardKey = 0;
2390pub const KeyboardKey_KEY_APOSTROPHE: KeyboardKey = 39;
2391pub const KeyboardKey_KEY_COMMA: KeyboardKey = 44;
2392pub const KeyboardKey_KEY_MINUS: KeyboardKey = 45;
2393pub const KeyboardKey_KEY_PERIOD: KeyboardKey = 46;
2394pub const KeyboardKey_KEY_SLASH: KeyboardKey = 47;
2395pub const KeyboardKey_KEY_ZERO: KeyboardKey = 48;
2396pub const KeyboardKey_KEY_ONE: KeyboardKey = 49;
2397pub const KeyboardKey_KEY_TWO: KeyboardKey = 50;
2398pub const KeyboardKey_KEY_THREE: KeyboardKey = 51;
2399pub const KeyboardKey_KEY_FOUR: KeyboardKey = 52;
2400pub const KeyboardKey_KEY_FIVE: KeyboardKey = 53;
2401pub const KeyboardKey_KEY_SIX: KeyboardKey = 54;
2402pub const KeyboardKey_KEY_SEVEN: KeyboardKey = 55;
2403pub const KeyboardKey_KEY_EIGHT: KeyboardKey = 56;
2404pub const KeyboardKey_KEY_NINE: KeyboardKey = 57;
2405pub const KeyboardKey_KEY_SEMICOLON: KeyboardKey = 59;
2406pub const KeyboardKey_KEY_EQUAL: KeyboardKey = 61;
2407pub const KeyboardKey_KEY_A: KeyboardKey = 65;
2408pub const KeyboardKey_KEY_B: KeyboardKey = 66;
2409pub const KeyboardKey_KEY_C: KeyboardKey = 67;
2410pub const KeyboardKey_KEY_D: KeyboardKey = 68;
2411pub const KeyboardKey_KEY_E: KeyboardKey = 69;
2412pub const KeyboardKey_KEY_F: KeyboardKey = 70;
2413pub const KeyboardKey_KEY_G: KeyboardKey = 71;
2414pub const KeyboardKey_KEY_H: KeyboardKey = 72;
2415pub const KeyboardKey_KEY_I: KeyboardKey = 73;
2416pub const KeyboardKey_KEY_J: KeyboardKey = 74;
2417pub const KeyboardKey_KEY_K: KeyboardKey = 75;
2418pub const KeyboardKey_KEY_L: KeyboardKey = 76;
2419pub const KeyboardKey_KEY_M: KeyboardKey = 77;
2420pub const KeyboardKey_KEY_N: KeyboardKey = 78;
2421pub const KeyboardKey_KEY_O: KeyboardKey = 79;
2422pub const KeyboardKey_KEY_P: KeyboardKey = 80;
2423pub const KeyboardKey_KEY_Q: KeyboardKey = 81;
2424pub const KeyboardKey_KEY_R: KeyboardKey = 82;
2425pub const KeyboardKey_KEY_S: KeyboardKey = 83;
2426pub const KeyboardKey_KEY_T: KeyboardKey = 84;
2427pub const KeyboardKey_KEY_U: KeyboardKey = 85;
2428pub const KeyboardKey_KEY_V: KeyboardKey = 86;
2429pub const KeyboardKey_KEY_W: KeyboardKey = 87;
2430pub const KeyboardKey_KEY_X: KeyboardKey = 88;
2431pub const KeyboardKey_KEY_Y: KeyboardKey = 89;
2432pub const KeyboardKey_KEY_Z: KeyboardKey = 90;
2433pub const KeyboardKey_KEY_LEFT_BRACKET: KeyboardKey = 91;
2434pub const KeyboardKey_KEY_BACKSLASH: KeyboardKey = 92;
2435pub const KeyboardKey_KEY_RIGHT_BRACKET: KeyboardKey = 93;
2436pub const KeyboardKey_KEY_GRAVE: KeyboardKey = 96;
2437pub const KeyboardKey_KEY_SPACE: KeyboardKey = 32;
2438pub const KeyboardKey_KEY_ESCAPE: KeyboardKey = 256;
2439pub const KeyboardKey_KEY_ENTER: KeyboardKey = 257;
2440pub const KeyboardKey_KEY_TAB: KeyboardKey = 258;
2441pub const KeyboardKey_KEY_BACKSPACE: KeyboardKey = 259;
2442pub const KeyboardKey_KEY_INSERT: KeyboardKey = 260;
2443pub const KeyboardKey_KEY_DELETE: KeyboardKey = 261;
2444pub const KeyboardKey_KEY_RIGHT: KeyboardKey = 262;
2445pub const KeyboardKey_KEY_LEFT: KeyboardKey = 263;
2446pub const KeyboardKey_KEY_DOWN: KeyboardKey = 264;
2447pub const KeyboardKey_KEY_UP: KeyboardKey = 265;
2448pub const KeyboardKey_KEY_PAGE_UP: KeyboardKey = 266;
2449pub const KeyboardKey_KEY_PAGE_DOWN: KeyboardKey = 267;
2450pub const KeyboardKey_KEY_HOME: KeyboardKey = 268;
2451pub const KeyboardKey_KEY_END: KeyboardKey = 269;
2452pub const KeyboardKey_KEY_CAPS_LOCK: KeyboardKey = 280;
2453pub const KeyboardKey_KEY_SCROLL_LOCK: KeyboardKey = 281;
2454pub const KeyboardKey_KEY_NUM_LOCK: KeyboardKey = 282;
2455pub const KeyboardKey_KEY_PRINT_SCREEN: KeyboardKey = 283;
2456pub const KeyboardKey_KEY_PAUSE: KeyboardKey = 284;
2457pub const KeyboardKey_KEY_F1: KeyboardKey = 290;
2458pub const KeyboardKey_KEY_F2: KeyboardKey = 291;
2459pub const KeyboardKey_KEY_F3: KeyboardKey = 292;
2460pub const KeyboardKey_KEY_F4: KeyboardKey = 293;
2461pub const KeyboardKey_KEY_F5: KeyboardKey = 294;
2462pub const KeyboardKey_KEY_F6: KeyboardKey = 295;
2463pub const KeyboardKey_KEY_F7: KeyboardKey = 296;
2464pub const KeyboardKey_KEY_F8: KeyboardKey = 297;
2465pub const KeyboardKey_KEY_F9: KeyboardKey = 298;
2466pub const KeyboardKey_KEY_F10: KeyboardKey = 299;
2467pub const KeyboardKey_KEY_F11: KeyboardKey = 300;
2468pub const KeyboardKey_KEY_F12: KeyboardKey = 301;
2469pub const KeyboardKey_KEY_LEFT_SHIFT: KeyboardKey = 340;
2470pub const KeyboardKey_KEY_LEFT_CONTROL: KeyboardKey = 341;
2471pub const KeyboardKey_KEY_LEFT_ALT: KeyboardKey = 342;
2472pub const KeyboardKey_KEY_LEFT_SUPER: KeyboardKey = 343;
2473pub const KeyboardKey_KEY_RIGHT_SHIFT: KeyboardKey = 344;
2474pub const KeyboardKey_KEY_RIGHT_CONTROL: KeyboardKey = 345;
2475pub const KeyboardKey_KEY_RIGHT_ALT: KeyboardKey = 346;
2476pub const KeyboardKey_KEY_RIGHT_SUPER: KeyboardKey = 347;
2477pub const KeyboardKey_KEY_KB_MENU: KeyboardKey = 348;
2478pub const KeyboardKey_KEY_KP_0: KeyboardKey = 320;
2479pub const KeyboardKey_KEY_KP_1: KeyboardKey = 321;
2480pub const KeyboardKey_KEY_KP_2: KeyboardKey = 322;
2481pub const KeyboardKey_KEY_KP_3: KeyboardKey = 323;
2482pub const KeyboardKey_KEY_KP_4: KeyboardKey = 324;
2483pub const KeyboardKey_KEY_KP_5: KeyboardKey = 325;
2484pub const KeyboardKey_KEY_KP_6: KeyboardKey = 326;
2485pub const KeyboardKey_KEY_KP_7: KeyboardKey = 327;
2486pub const KeyboardKey_KEY_KP_8: KeyboardKey = 328;
2487pub const KeyboardKey_KEY_KP_9: KeyboardKey = 329;
2488pub const KeyboardKey_KEY_KP_DECIMAL: KeyboardKey = 330;
2489pub const KeyboardKey_KEY_KP_DIVIDE: KeyboardKey = 331;
2490pub const KeyboardKey_KEY_KP_MULTIPLY: KeyboardKey = 332;
2491pub const KeyboardKey_KEY_KP_SUBTRACT: KeyboardKey = 333;
2492pub const KeyboardKey_KEY_KP_ADD: KeyboardKey = 334;
2493pub const KeyboardKey_KEY_KP_ENTER: KeyboardKey = 335;
2494pub const KeyboardKey_KEY_KP_EQUAL: KeyboardKey = 336;
2495pub const KeyboardKey_KEY_BACK: KeyboardKey = 4;
2496pub const KeyboardKey_KEY_MENU: KeyboardKey = 82;
2497pub const KeyboardKey_KEY_VOLUME_UP: KeyboardKey = 24;
2498pub const KeyboardKey_KEY_VOLUME_DOWN: KeyboardKey = 25;
2499pub type KeyboardKey = ::std::os::raw::c_uint;
2500pub const MouseButton_MOUSE_BUTTON_LEFT: MouseButton = 0;
2501pub const MouseButton_MOUSE_BUTTON_RIGHT: MouseButton = 1;
2502pub const MouseButton_MOUSE_BUTTON_MIDDLE: MouseButton = 2;
2503pub const MouseButton_MOUSE_BUTTON_SIDE: MouseButton = 3;
2504pub const MouseButton_MOUSE_BUTTON_EXTRA: MouseButton = 4;
2505pub const MouseButton_MOUSE_BUTTON_FORWARD: MouseButton = 5;
2506pub const MouseButton_MOUSE_BUTTON_BACK: MouseButton = 6;
2507pub type MouseButton = ::std::os::raw::c_uint;
2508pub const MouseCursor_MOUSE_CURSOR_DEFAULT: MouseCursor = 0;
2509pub const MouseCursor_MOUSE_CURSOR_ARROW: MouseCursor = 1;
2510pub const MouseCursor_MOUSE_CURSOR_IBEAM: MouseCursor = 2;
2511pub const MouseCursor_MOUSE_CURSOR_CROSSHAIR: MouseCursor = 3;
2512pub const MouseCursor_MOUSE_CURSOR_POINTING_HAND: MouseCursor = 4;
2513pub const MouseCursor_MOUSE_CURSOR_RESIZE_EW: MouseCursor = 5;
2514pub const MouseCursor_MOUSE_CURSOR_RESIZE_NS: MouseCursor = 6;
2515pub const MouseCursor_MOUSE_CURSOR_RESIZE_NWSE: MouseCursor = 7;
2516pub const MouseCursor_MOUSE_CURSOR_RESIZE_NESW: MouseCursor = 8;
2517pub const MouseCursor_MOUSE_CURSOR_RESIZE_ALL: MouseCursor = 9;
2518pub const MouseCursor_MOUSE_CURSOR_NOT_ALLOWED: MouseCursor = 10;
2519pub type MouseCursor = ::std::os::raw::c_uint;
2520pub const GamepadButton_GAMEPAD_BUTTON_UNKNOWN: GamepadButton = 0;
2521pub const GamepadButton_GAMEPAD_BUTTON_LEFT_FACE_UP: GamepadButton = 1;
2522pub const GamepadButton_GAMEPAD_BUTTON_LEFT_FACE_RIGHT: GamepadButton = 2;
2523pub const GamepadButton_GAMEPAD_BUTTON_LEFT_FACE_DOWN: GamepadButton = 3;
2524pub const GamepadButton_GAMEPAD_BUTTON_LEFT_FACE_LEFT: GamepadButton = 4;
2525pub const GamepadButton_GAMEPAD_BUTTON_RIGHT_FACE_UP: GamepadButton = 5;
2526pub const GamepadButton_GAMEPAD_BUTTON_RIGHT_FACE_RIGHT: GamepadButton = 6;
2527pub const GamepadButton_GAMEPAD_BUTTON_RIGHT_FACE_DOWN: GamepadButton = 7;
2528pub const GamepadButton_GAMEPAD_BUTTON_RIGHT_FACE_LEFT: GamepadButton = 8;
2529pub const GamepadButton_GAMEPAD_BUTTON_LEFT_TRIGGER_1: GamepadButton = 9;
2530pub const GamepadButton_GAMEPAD_BUTTON_LEFT_TRIGGER_2: GamepadButton = 10;
2531pub const GamepadButton_GAMEPAD_BUTTON_RIGHT_TRIGGER_1: GamepadButton = 11;
2532pub const GamepadButton_GAMEPAD_BUTTON_RIGHT_TRIGGER_2: GamepadButton = 12;
2533pub const GamepadButton_GAMEPAD_BUTTON_MIDDLE_LEFT: GamepadButton = 13;
2534pub const GamepadButton_GAMEPAD_BUTTON_MIDDLE: GamepadButton = 14;
2535pub const GamepadButton_GAMEPAD_BUTTON_MIDDLE_RIGHT: GamepadButton = 15;
2536pub const GamepadButton_GAMEPAD_BUTTON_LEFT_THUMB: GamepadButton = 16;
2537pub const GamepadButton_GAMEPAD_BUTTON_RIGHT_THUMB: GamepadButton = 17;
2538pub type GamepadButton = ::std::os::raw::c_uint;
2539pub const GamepadAxis_GAMEPAD_AXIS_LEFT_X: GamepadAxis = 0;
2540pub const GamepadAxis_GAMEPAD_AXIS_LEFT_Y: GamepadAxis = 1;
2541pub const GamepadAxis_GAMEPAD_AXIS_RIGHT_X: GamepadAxis = 2;
2542pub const GamepadAxis_GAMEPAD_AXIS_RIGHT_Y: GamepadAxis = 3;
2543pub const GamepadAxis_GAMEPAD_AXIS_LEFT_TRIGGER: GamepadAxis = 4;
2544pub const GamepadAxis_GAMEPAD_AXIS_RIGHT_TRIGGER: GamepadAxis = 5;
2545pub type GamepadAxis = ::std::os::raw::c_uint;
2546pub const MaterialMapIndex_MATERIAL_MAP_ALBEDO: MaterialMapIndex = 0;
2547pub const MaterialMapIndex_MATERIAL_MAP_METALNESS: MaterialMapIndex = 1;
2548pub const MaterialMapIndex_MATERIAL_MAP_NORMAL: MaterialMapIndex = 2;
2549pub const MaterialMapIndex_MATERIAL_MAP_ROUGHNESS: MaterialMapIndex = 3;
2550pub const MaterialMapIndex_MATERIAL_MAP_OCCLUSION: MaterialMapIndex = 4;
2551pub const MaterialMapIndex_MATERIAL_MAP_EMISSION: MaterialMapIndex = 5;
2552pub const MaterialMapIndex_MATERIAL_MAP_HEIGHT: MaterialMapIndex = 6;
2553pub const MaterialMapIndex_MATERIAL_MAP_CUBEMAP: MaterialMapIndex = 7;
2554pub const MaterialMapIndex_MATERIAL_MAP_IRRADIANCE: MaterialMapIndex = 8;
2555pub const MaterialMapIndex_MATERIAL_MAP_PREFILTER: MaterialMapIndex = 9;
2556pub const MaterialMapIndex_MATERIAL_MAP_BRDF: MaterialMapIndex = 10;
2557pub type MaterialMapIndex = ::std::os::raw::c_uint;
2558pub const ShaderLocationIndex_SHADER_LOC_VERTEX_POSITION: ShaderLocationIndex = 0;
2559pub const ShaderLocationIndex_SHADER_LOC_VERTEX_TEXCOORD01: ShaderLocationIndex = 1;
2560pub const ShaderLocationIndex_SHADER_LOC_VERTEX_TEXCOORD02: ShaderLocationIndex = 2;
2561pub const ShaderLocationIndex_SHADER_LOC_VERTEX_NORMAL: ShaderLocationIndex = 3;
2562pub const ShaderLocationIndex_SHADER_LOC_VERTEX_TANGENT: ShaderLocationIndex = 4;
2563pub const ShaderLocationIndex_SHADER_LOC_VERTEX_COLOR: ShaderLocationIndex = 5;
2564pub const ShaderLocationIndex_SHADER_LOC_MATRIX_MVP: ShaderLocationIndex = 6;
2565pub const ShaderLocationIndex_SHADER_LOC_MATRIX_VIEW: ShaderLocationIndex = 7;
2566pub const ShaderLocationIndex_SHADER_LOC_MATRIX_PROJECTION: ShaderLocationIndex = 8;
2567pub const ShaderLocationIndex_SHADER_LOC_MATRIX_MODEL: ShaderLocationIndex = 9;
2568pub const ShaderLocationIndex_SHADER_LOC_MATRIX_NORMAL: ShaderLocationIndex = 10;
2569pub const ShaderLocationIndex_SHADER_LOC_VECTOR_VIEW: ShaderLocationIndex = 11;
2570pub const ShaderLocationIndex_SHADER_LOC_COLOR_DIFFUSE: ShaderLocationIndex = 12;
2571pub const ShaderLocationIndex_SHADER_LOC_COLOR_SPECULAR: ShaderLocationIndex = 13;
2572pub const ShaderLocationIndex_SHADER_LOC_COLOR_AMBIENT: ShaderLocationIndex = 14;
2573pub const ShaderLocationIndex_SHADER_LOC_MAP_ALBEDO: ShaderLocationIndex = 15;
2574pub const ShaderLocationIndex_SHADER_LOC_MAP_METALNESS: ShaderLocationIndex = 16;
2575pub const ShaderLocationIndex_SHADER_LOC_MAP_NORMAL: ShaderLocationIndex = 17;
2576pub const ShaderLocationIndex_SHADER_LOC_MAP_ROUGHNESS: ShaderLocationIndex = 18;
2577pub const ShaderLocationIndex_SHADER_LOC_MAP_OCCLUSION: ShaderLocationIndex = 19;
2578pub const ShaderLocationIndex_SHADER_LOC_MAP_EMISSION: ShaderLocationIndex = 20;
2579pub const ShaderLocationIndex_SHADER_LOC_MAP_HEIGHT: ShaderLocationIndex = 21;
2580pub const ShaderLocationIndex_SHADER_LOC_MAP_CUBEMAP: ShaderLocationIndex = 22;
2581pub const ShaderLocationIndex_SHADER_LOC_MAP_IRRADIANCE: ShaderLocationIndex = 23;
2582pub const ShaderLocationIndex_SHADER_LOC_MAP_PREFILTER: ShaderLocationIndex = 24;
2583pub const ShaderLocationIndex_SHADER_LOC_MAP_BRDF: ShaderLocationIndex = 25;
2584pub type ShaderLocationIndex = ::std::os::raw::c_uint;
2585pub const ShaderUniformDataType_SHADER_UNIFORM_FLOAT: ShaderUniformDataType = 0;
2586pub const ShaderUniformDataType_SHADER_UNIFORM_VEC2: ShaderUniformDataType = 1;
2587pub const ShaderUniformDataType_SHADER_UNIFORM_VEC3: ShaderUniformDataType = 2;
2588pub const ShaderUniformDataType_SHADER_UNIFORM_VEC4: ShaderUniformDataType = 3;
2589pub const ShaderUniformDataType_SHADER_UNIFORM_INT: ShaderUniformDataType = 4;
2590pub const ShaderUniformDataType_SHADER_UNIFORM_IVEC2: ShaderUniformDataType = 5;
2591pub const ShaderUniformDataType_SHADER_UNIFORM_IVEC3: ShaderUniformDataType = 6;
2592pub const ShaderUniformDataType_SHADER_UNIFORM_IVEC4: ShaderUniformDataType = 7;
2593pub const ShaderUniformDataType_SHADER_UNIFORM_SAMPLER2D: ShaderUniformDataType = 8;
2594pub type ShaderUniformDataType = ::std::os::raw::c_uint;
2595pub const ShaderAttributeDataType_SHADER_ATTRIB_FLOAT: ShaderAttributeDataType = 0;
2596pub const ShaderAttributeDataType_SHADER_ATTRIB_VEC2: ShaderAttributeDataType = 1;
2597pub const ShaderAttributeDataType_SHADER_ATTRIB_VEC3: ShaderAttributeDataType = 2;
2598pub const ShaderAttributeDataType_SHADER_ATTRIB_VEC4: ShaderAttributeDataType = 3;
2599pub type ShaderAttributeDataType = ::std::os::raw::c_uint;
2600pub const PixelFormat_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE: PixelFormat = 1;
2601pub const PixelFormat_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA: PixelFormat = 2;
2602pub const PixelFormat_PIXELFORMAT_UNCOMPRESSED_R5G6B5: PixelFormat = 3;
2603pub const PixelFormat_PIXELFORMAT_UNCOMPRESSED_R8G8B8: PixelFormat = 4;
2604pub const PixelFormat_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1: PixelFormat = 5;
2605pub const PixelFormat_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4: PixelFormat = 6;
2606pub const PixelFormat_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8: PixelFormat = 7;
2607pub const PixelFormat_PIXELFORMAT_UNCOMPRESSED_R32: PixelFormat = 8;
2608pub const PixelFormat_PIXELFORMAT_UNCOMPRESSED_R32G32B32: PixelFormat = 9;
2609pub const PixelFormat_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32: PixelFormat = 10;
2610pub const PixelFormat_PIXELFORMAT_COMPRESSED_DXT1_RGB: PixelFormat = 11;
2611pub const PixelFormat_PIXELFORMAT_COMPRESSED_DXT1_RGBA: PixelFormat = 12;
2612pub const PixelFormat_PIXELFORMAT_COMPRESSED_DXT3_RGBA: PixelFormat = 13;
2613pub const PixelFormat_PIXELFORMAT_COMPRESSED_DXT5_RGBA: PixelFormat = 14;
2614pub const PixelFormat_PIXELFORMAT_COMPRESSED_ETC1_RGB: PixelFormat = 15;
2615pub const PixelFormat_PIXELFORMAT_COMPRESSED_ETC2_RGB: PixelFormat = 16;
2616pub const PixelFormat_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA: PixelFormat = 17;
2617pub const PixelFormat_PIXELFORMAT_COMPRESSED_PVRT_RGB: PixelFormat = 18;
2618pub const PixelFormat_PIXELFORMAT_COMPRESSED_PVRT_RGBA: PixelFormat = 19;
2619pub const PixelFormat_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA: PixelFormat = 20;
2620pub const PixelFormat_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA: PixelFormat = 21;
2621pub type PixelFormat = ::std::os::raw::c_uint;
2622pub const TextureFilter_TEXTURE_FILTER_POINT: TextureFilter = 0;
2623pub const TextureFilter_TEXTURE_FILTER_BILINEAR: TextureFilter = 1;
2624pub const TextureFilter_TEXTURE_FILTER_TRILINEAR: TextureFilter = 2;
2625pub const TextureFilter_TEXTURE_FILTER_ANISOTROPIC_4X: TextureFilter = 3;
2626pub const TextureFilter_TEXTURE_FILTER_ANISOTROPIC_8X: TextureFilter = 4;
2627pub const TextureFilter_TEXTURE_FILTER_ANISOTROPIC_16X: TextureFilter = 5;
2628pub type TextureFilter = ::std::os::raw::c_uint;
2629pub const TextureWrap_TEXTURE_WRAP_REPEAT: TextureWrap = 0;
2630pub const TextureWrap_TEXTURE_WRAP_CLAMP: TextureWrap = 1;
2631pub const TextureWrap_TEXTURE_WRAP_MIRROR_REPEAT: TextureWrap = 2;
2632pub const TextureWrap_TEXTURE_WRAP_MIRROR_CLAMP: TextureWrap = 3;
2633pub type TextureWrap = ::std::os::raw::c_uint;
2634pub const CubemapLayout_CUBEMAP_LAYOUT_AUTO_DETECT: CubemapLayout = 0;
2635pub const CubemapLayout_CUBEMAP_LAYOUT_LINE_VERTICAL: CubemapLayout = 1;
2636pub const CubemapLayout_CUBEMAP_LAYOUT_LINE_HORIZONTAL: CubemapLayout = 2;
2637pub const CubemapLayout_CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR: CubemapLayout = 3;
2638pub const CubemapLayout_CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE: CubemapLayout = 4;
2639pub const CubemapLayout_CUBEMAP_LAYOUT_PANORAMA: CubemapLayout = 5;
2640pub type CubemapLayout = ::std::os::raw::c_uint;
2641pub const FontType_FONT_DEFAULT: FontType = 0;
2642pub const FontType_FONT_BITMAP: FontType = 1;
2643pub const FontType_FONT_SDF: FontType = 2;
2644pub type FontType = ::std::os::raw::c_uint;
2645pub const BlendMode_BLEND_ALPHA: BlendMode = 0;
2646pub const BlendMode_BLEND_ADDITIVE: BlendMode = 1;
2647pub const BlendMode_BLEND_MULTIPLIED: BlendMode = 2;
2648pub const BlendMode_BLEND_ADD_COLORS: BlendMode = 3;
2649pub const BlendMode_BLEND_SUBTRACT_COLORS: BlendMode = 4;
2650pub const BlendMode_BLEND_ALPHA_PREMULTIPLY: BlendMode = 5;
2651pub const BlendMode_BLEND_CUSTOM: BlendMode = 6;
2652pub type BlendMode = ::std::os::raw::c_uint;
2653pub const Gesture_GESTURE_NONE: Gesture = 0;
2654pub const Gesture_GESTURE_TAP: Gesture = 1;
2655pub const Gesture_GESTURE_DOUBLETAP: Gesture = 2;
2656pub const Gesture_GESTURE_HOLD: Gesture = 4;
2657pub const Gesture_GESTURE_DRAG: Gesture = 8;
2658pub const Gesture_GESTURE_SWIPE_RIGHT: Gesture = 16;
2659pub const Gesture_GESTURE_SWIPE_LEFT: Gesture = 32;
2660pub const Gesture_GESTURE_SWIPE_UP: Gesture = 64;
2661pub const Gesture_GESTURE_SWIPE_DOWN: Gesture = 128;
2662pub const Gesture_GESTURE_PINCH_IN: Gesture = 256;
2663pub const Gesture_GESTURE_PINCH_OUT: Gesture = 512;
2664pub type Gesture = ::std::os::raw::c_uint;
2665pub const CameraMode_CAMERA_CUSTOM: CameraMode = 0;
2666pub const CameraMode_CAMERA_FREE: CameraMode = 1;
2667pub const CameraMode_CAMERA_ORBITAL: CameraMode = 2;
2668pub const CameraMode_CAMERA_FIRST_PERSON: CameraMode = 3;
2669pub const CameraMode_CAMERA_THIRD_PERSON: CameraMode = 4;
2670pub type CameraMode = ::std::os::raw::c_uint;
2671pub const CameraProjection_CAMERA_PERSPECTIVE: CameraProjection = 0;
2672pub const CameraProjection_CAMERA_ORTHOGRAPHIC: CameraProjection = 1;
2673pub type CameraProjection = ::std::os::raw::c_uint;
2674pub const NPatchLayout_NPATCH_NINE_PATCH: NPatchLayout = 0;
2675pub const NPatchLayout_NPATCH_THREE_PATCH_VERTICAL: NPatchLayout = 1;
2676pub const NPatchLayout_NPATCH_THREE_PATCH_HORIZONTAL: NPatchLayout = 2;
2677pub type NPatchLayout = ::std::os::raw::c_uint;
2678pub type TraceLogCallback = ::std::option::Option<
2679 unsafe extern "C" fn(
2680 logLevel: ::std::os::raw::c_int,
2681 text: *const ::std::os::raw::c_char,
2682 args: *mut __va_list_tag,
2683 ),
2684>;
2685pub type LoadFileDataCallback = ::std::option::Option<
2686 unsafe extern "C" fn(
2687 fileName: *const ::std::os::raw::c_char,
2688 bytesRead: *mut ::std::os::raw::c_uint,
2689 ) -> *mut ::std::os::raw::c_uchar,
2690>;
2691pub type SaveFileDataCallback = ::std::option::Option<
2692 unsafe extern "C" fn(
2693 fileName: *const ::std::os::raw::c_char,
2694 data: *mut ::std::os::raw::c_void,
2695 bytesToWrite: ::std::os::raw::c_uint,
2696 ) -> bool,
2697>;
2698pub type LoadFileTextCallback = ::std::option::Option<
2699 unsafe extern "C" fn(fileName: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char,
2700>;
2701pub type SaveFileTextCallback = ::std::option::Option<
2702 unsafe extern "C" fn(
2703 fileName: *const ::std::os::raw::c_char,
2704 text: *mut ::std::os::raw::c_char,
2705 ) -> bool,
2706>;
2707extern "C" {
2708 pub fn InitWindow(
2709 width: ::std::os::raw::c_int,
2710 height: ::std::os::raw::c_int,
2711 title: *const ::std::os::raw::c_char,
2712 );
2713}
2714extern "C" {
2715 pub fn WindowShouldClose() -> bool;
2716}
2717extern "C" {
2718 pub fn CloseWindow();
2719}
2720extern "C" {
2721 pub fn IsWindowReady() -> bool;
2722}
2723extern "C" {
2724 pub fn IsWindowFullscreen() -> bool;
2725}
2726extern "C" {
2727 pub fn IsWindowHidden() -> bool;
2728}
2729extern "C" {
2730 pub fn IsWindowMinimized() -> bool;
2731}
2732extern "C" {
2733 pub fn IsWindowMaximized() -> bool;
2734}
2735extern "C" {
2736 pub fn IsWindowFocused() -> bool;
2737}
2738extern "C" {
2739 pub fn IsWindowResized() -> bool;
2740}
2741extern "C" {
2742 pub fn IsWindowState(flag: ::std::os::raw::c_uint) -> bool;
2743}
2744extern "C" {
2745 pub fn SetWindowState(flags: ::std::os::raw::c_uint);
2746}
2747extern "C" {
2748 pub fn ClearWindowState(flags: ::std::os::raw::c_uint);
2749}
2750extern "C" {
2751 pub fn ToggleFullscreen();
2752}
2753extern "C" {
2754 pub fn MaximizeWindow();
2755}
2756extern "C" {
2757 pub fn MinimizeWindow();
2758}
2759extern "C" {
2760 pub fn RestoreWindow();
2761}
2762extern "C" {
2763 pub fn SetWindowIcon(image: Image);
2764}
2765extern "C" {
2766 pub fn SetWindowTitle(title: *const ::std::os::raw::c_char);
2767}
2768extern "C" {
2769 pub fn SetWindowPosition(x: ::std::os::raw::c_int, y: ::std::os::raw::c_int);
2770}
2771extern "C" {
2772 pub fn SetWindowMonitor(monitor: ::std::os::raw::c_int);
2773}
2774extern "C" {
2775 pub fn SetWindowMinSize(width: ::std::os::raw::c_int, height: ::std::os::raw::c_int);
2776}
2777extern "C" {
2778 pub fn SetWindowSize(width: ::std::os::raw::c_int, height: ::std::os::raw::c_int);
2779}
2780extern "C" {
2781 pub fn SetWindowOpacity(opacity: f32);
2782}
2783extern "C" {
2784 pub fn GetWindowHandle() -> *mut ::std::os::raw::c_void;
2785}
2786extern "C" {
2787 pub fn GetScreenWidth() -> ::std::os::raw::c_int;
2788}
2789extern "C" {
2790 pub fn GetScreenHeight() -> ::std::os::raw::c_int;
2791}
2792extern "C" {
2793 pub fn GetRenderWidth() -> ::std::os::raw::c_int;
2794}
2795extern "C" {
2796 pub fn GetRenderHeight() -> ::std::os::raw::c_int;
2797}
2798extern "C" {
2799 pub fn GetMonitorCount() -> ::std::os::raw::c_int;
2800}
2801extern "C" {
2802 pub fn GetCurrentMonitor() -> ::std::os::raw::c_int;
2803}
2804extern "C" {
2805 pub fn GetMonitorPosition(monitor: ::std::os::raw::c_int) -> Vector2;
2806}
2807extern "C" {
2808 pub fn GetMonitorWidth(monitor: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2809}
2810extern "C" {
2811 pub fn GetMonitorHeight(monitor: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2812}
2813extern "C" {
2814 pub fn GetMonitorPhysicalWidth(monitor: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2815}
2816extern "C" {
2817 pub fn GetMonitorPhysicalHeight(monitor: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2818}
2819extern "C" {
2820 pub fn GetMonitorRefreshRate(monitor: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2821}
2822extern "C" {
2823 pub fn GetWindowPosition() -> Vector2;
2824}
2825extern "C" {
2826 pub fn GetWindowScaleDPI() -> Vector2;
2827}
2828extern "C" {
2829 pub fn GetMonitorName(monitor: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
2830}
2831extern "C" {
2832 pub fn SetClipboardText(text: *const ::std::os::raw::c_char);
2833}
2834extern "C" {
2835 pub fn GetClipboardText() -> *const ::std::os::raw::c_char;
2836}
2837extern "C" {
2838 pub fn EnableEventWaiting();
2839}
2840extern "C" {
2841 pub fn DisableEventWaiting();
2842}
2843extern "C" {
2844 pub fn SwapScreenBuffer();
2845}
2846extern "C" {
2847 pub fn PollInputEvents();
2848}
2849extern "C" {
2850 pub fn WaitTime(seconds: f64);
2851}
2852extern "C" {
2853 pub fn ShowCursor();
2854}
2855extern "C" {
2856 pub fn HideCursor();
2857}
2858extern "C" {
2859 pub fn IsCursorHidden() -> bool;
2860}
2861extern "C" {
2862 pub fn EnableCursor();
2863}
2864extern "C" {
2865 pub fn DisableCursor();
2866}
2867extern "C" {
2868 pub fn IsCursorOnScreen() -> bool;
2869}
2870extern "C" {
2871 pub fn ClearBackground(color: Color);
2872}
2873extern "C" {
2874 pub fn BeginDrawing();
2875}
2876extern "C" {
2877 pub fn EndDrawing();
2878}
2879extern "C" {
2880 pub fn BeginMode2D(camera: Camera2D);
2881}
2882extern "C" {
2883 pub fn EndMode2D();
2884}
2885extern "C" {
2886 pub fn BeginMode3D(camera: Camera3D);
2887}
2888extern "C" {
2889 pub fn EndMode3D();
2890}
2891extern "C" {
2892 pub fn BeginTextureMode(target: RenderTexture2D);
2893}
2894extern "C" {
2895 pub fn EndTextureMode();
2896}
2897extern "C" {
2898 pub fn BeginShaderMode(shader: Shader);
2899}
2900extern "C" {
2901 pub fn EndShaderMode();
2902}
2903extern "C" {
2904 pub fn BeginBlendMode(mode: ::std::os::raw::c_int);
2905}
2906extern "C" {
2907 pub fn EndBlendMode();
2908}
2909extern "C" {
2910 pub fn BeginScissorMode(
2911 x: ::std::os::raw::c_int,
2912 y: ::std::os::raw::c_int,
2913 width: ::std::os::raw::c_int,
2914 height: ::std::os::raw::c_int,
2915 );
2916}
2917extern "C" {
2918 pub fn EndScissorMode();
2919}
2920extern "C" {
2921 pub fn BeginVrStereoMode(config: VrStereoConfig);
2922}
2923extern "C" {
2924 pub fn EndVrStereoMode();
2925}
2926extern "C" {
2927 pub fn LoadVrStereoConfig(device: VrDeviceInfo) -> VrStereoConfig;
2928}
2929extern "C" {
2930 pub fn UnloadVrStereoConfig(config: VrStereoConfig);
2931}
2932extern "C" {
2933 pub fn LoadShader(
2934 vsFileName: *const ::std::os::raw::c_char,
2935 fsFileName: *const ::std::os::raw::c_char,
2936 ) -> Shader;
2937}
2938extern "C" {
2939 pub fn LoadShaderFromMemory(
2940 vsCode: *const ::std::os::raw::c_char,
2941 fsCode: *const ::std::os::raw::c_char,
2942 ) -> Shader;
2943}
2944extern "C" {
2945 pub fn GetShaderLocation(
2946 shader: Shader,
2947 uniformName: *const ::std::os::raw::c_char,
2948 ) -> ::std::os::raw::c_int;
2949}
2950extern "C" {
2951 pub fn GetShaderLocationAttrib(
2952 shader: Shader,
2953 attribName: *const ::std::os::raw::c_char,
2954 ) -> ::std::os::raw::c_int;
2955}
2956extern "C" {
2957 pub fn SetShaderValue(
2958 shader: Shader,
2959 locIndex: ::std::os::raw::c_int,
2960 value: *const ::std::os::raw::c_void,
2961 uniformType: ::std::os::raw::c_int,
2962 );
2963}
2964extern "C" {
2965 pub fn SetShaderValueV(
2966 shader: Shader,
2967 locIndex: ::std::os::raw::c_int,
2968 value: *const ::std::os::raw::c_void,
2969 uniformType: ::std::os::raw::c_int,
2970 count: ::std::os::raw::c_int,
2971 );
2972}
2973extern "C" {
2974 pub fn SetShaderValueMatrix(shader: Shader, locIndex: ::std::os::raw::c_int, mat: Matrix);
2975}
2976extern "C" {
2977 pub fn SetShaderValueTexture(
2978 shader: Shader,
2979 locIndex: ::std::os::raw::c_int,
2980 texture: Texture2D,
2981 );
2982}
2983extern "C" {
2984 pub fn UnloadShader(shader: Shader);
2985}
2986extern "C" {
2987 pub fn GetMouseRay(mousePosition: Vector2, camera: Camera) -> Ray;
2988}
2989extern "C" {
2990 pub fn GetCameraMatrix(camera: Camera) -> Matrix;
2991}
2992extern "C" {
2993 pub fn GetCameraMatrix2D(camera: Camera2D) -> Matrix;
2994}
2995extern "C" {
2996 pub fn GetWorldToScreen(position: Vector3, camera: Camera) -> Vector2;
2997}
2998extern "C" {
2999 pub fn GetScreenToWorld2D(position: Vector2, camera: Camera2D) -> Vector2;
3000}
3001extern "C" {
3002 pub fn GetWorldToScreenEx(
3003 position: Vector3,
3004 camera: Camera,
3005 width: ::std::os::raw::c_int,
3006 height: ::std::os::raw::c_int,
3007 ) -> Vector2;
3008}
3009extern "C" {
3010 pub fn GetWorldToScreen2D(position: Vector2, camera: Camera2D) -> Vector2;
3011}
3012extern "C" {
3013 pub fn SetTargetFPS(fps: ::std::os::raw::c_int);
3014}
3015extern "C" {
3016 pub fn GetFPS() -> ::std::os::raw::c_int;
3017}
3018extern "C" {
3019 pub fn GetFrameTime() -> f32;
3020}
3021extern "C" {
3022 pub fn GetTime() -> f64;
3023}
3024extern "C" {
3025 pub fn GetRandomValue(
3026 min: ::std::os::raw::c_int,
3027 max: ::std::os::raw::c_int,
3028 ) -> ::std::os::raw::c_int;
3029}
3030extern "C" {
3031 pub fn SetRandomSeed(seed: ::std::os::raw::c_uint);
3032}
3033extern "C" {
3034 pub fn TakeScreenshot(fileName: *const ::std::os::raw::c_char);
3035}
3036extern "C" {
3037 pub fn SetConfigFlags(flags: ::std::os::raw::c_uint);
3038}
3039extern "C" {
3040 pub fn TraceLog(logLevel: ::std::os::raw::c_int, text: *const ::std::os::raw::c_char, ...);
3041}
3042extern "C" {
3043 pub fn SetTraceLogLevel(logLevel: ::std::os::raw::c_int);
3044}
3045extern "C" {
3046 pub fn MemAlloc(size: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_void;
3047}
3048extern "C" {
3049 pub fn MemRealloc(
3050 ptr: *mut ::std::os::raw::c_void,
3051 size: ::std::os::raw::c_int,
3052 ) -> *mut ::std::os::raw::c_void;
3053}
3054extern "C" {
3055 pub fn MemFree(ptr: *mut ::std::os::raw::c_void);
3056}
3057extern "C" {
3058 pub fn OpenURL(url: *const ::std::os::raw::c_char);
3059}
3060extern "C" {
3061 pub fn SetTraceLogCallback(callback: TraceLogCallback);
3062}
3063extern "C" {
3064 pub fn SetLoadFileDataCallback(callback: LoadFileDataCallback);
3065}
3066extern "C" {
3067 pub fn SetSaveFileDataCallback(callback: SaveFileDataCallback);
3068}
3069extern "C" {
3070 pub fn SetLoadFileTextCallback(callback: LoadFileTextCallback);
3071}
3072extern "C" {
3073 pub fn SetSaveFileTextCallback(callback: SaveFileTextCallback);
3074}
3075extern "C" {
3076 pub fn LoadFileData(
3077 fileName: *const ::std::os::raw::c_char,
3078 bytesRead: *mut ::std::os::raw::c_uint,
3079 ) -> *mut ::std::os::raw::c_uchar;
3080}
3081extern "C" {
3082 pub fn UnloadFileData(data: *mut ::std::os::raw::c_uchar);
3083}
3084extern "C" {
3085 pub fn SaveFileData(
3086 fileName: *const ::std::os::raw::c_char,
3087 data: *mut ::std::os::raw::c_void,
3088 bytesToWrite: ::std::os::raw::c_uint,
3089 ) -> bool;
3090}
3091extern "C" {
3092 pub fn ExportDataAsCode(
3093 data: *const ::std::os::raw::c_char,
3094 size: ::std::os::raw::c_uint,
3095 fileName: *const ::std::os::raw::c_char,
3096 ) -> bool;
3097}
3098extern "C" {
3099 pub fn LoadFileText(fileName: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3100}
3101extern "C" {
3102 pub fn UnloadFileText(text: *mut ::std::os::raw::c_char);
3103}
3104extern "C" {
3105 pub fn SaveFileText(
3106 fileName: *const ::std::os::raw::c_char,
3107 text: *mut ::std::os::raw::c_char,
3108 ) -> bool;
3109}
3110extern "C" {
3111 pub fn FileExists(fileName: *const ::std::os::raw::c_char) -> bool;
3112}
3113extern "C" {
3114 pub fn DirectoryExists(dirPath: *const ::std::os::raw::c_char) -> bool;
3115}
3116extern "C" {
3117 pub fn IsFileExtension(
3118 fileName: *const ::std::os::raw::c_char,
3119 ext: *const ::std::os::raw::c_char,
3120 ) -> bool;
3121}
3122extern "C" {
3123 pub fn GetFileLength(fileName: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3124}
3125extern "C" {
3126 pub fn GetFileExtension(
3127 fileName: *const ::std::os::raw::c_char,
3128 ) -> *const ::std::os::raw::c_char;
3129}
3130extern "C" {
3131 pub fn GetFileName(filePath: *const ::std::os::raw::c_char) -> *const ::std::os::raw::c_char;
3132}
3133extern "C" {
3134 pub fn GetFileNameWithoutExt(
3135 filePath: *const ::std::os::raw::c_char,
3136 ) -> *const ::std::os::raw::c_char;
3137}
3138extern "C" {
3139 pub fn GetDirectoryPath(
3140 filePath: *const ::std::os::raw::c_char,
3141 ) -> *const ::std::os::raw::c_char;
3142}
3143extern "C" {
3144 pub fn GetPrevDirectoryPath(
3145 dirPath: *const ::std::os::raw::c_char,
3146 ) -> *const ::std::os::raw::c_char;
3147}
3148extern "C" {
3149 pub fn GetWorkingDirectory() -> *const ::std::os::raw::c_char;
3150}
3151extern "C" {
3152 pub fn GetApplicationDirectory() -> *const ::std::os::raw::c_char;
3153}
3154extern "C" {
3155 pub fn ChangeDirectory(dir: *const ::std::os::raw::c_char) -> bool;
3156}
3157extern "C" {
3158 pub fn IsPathFile(path: *const ::std::os::raw::c_char) -> bool;
3159}
3160extern "C" {
3161 pub fn LoadDirectoryFiles(dirPath: *const ::std::os::raw::c_char) -> FilePathList;
3162}
3163extern "C" {
3164 pub fn LoadDirectoryFilesEx(
3165 basePath: *const ::std::os::raw::c_char,
3166 filter: *const ::std::os::raw::c_char,
3167 scanSubdirs: bool,
3168 ) -> FilePathList;
3169}
3170extern "C" {
3171 pub fn UnloadDirectoryFiles(files: FilePathList);
3172}
3173extern "C" {
3174 pub fn IsFileDropped() -> bool;
3175}
3176extern "C" {
3177 pub fn LoadDroppedFiles() -> FilePathList;
3178}
3179extern "C" {
3180 pub fn UnloadDroppedFiles(files: FilePathList);
3181}
3182extern "C" {
3183 pub fn GetFileModTime(fileName: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
3184}
3185extern "C" {
3186 pub fn CompressData(
3187 data: *const ::std::os::raw::c_uchar,
3188 dataSize: ::std::os::raw::c_int,
3189 compDataSize: *mut ::std::os::raw::c_int,
3190 ) -> *mut ::std::os::raw::c_uchar;
3191}
3192extern "C" {
3193 pub fn DecompressData(
3194 compData: *const ::std::os::raw::c_uchar,
3195 compDataSize: ::std::os::raw::c_int,
3196 dataSize: *mut ::std::os::raw::c_int,
3197 ) -> *mut ::std::os::raw::c_uchar;
3198}
3199extern "C" {
3200 pub fn EncodeDataBase64(
3201 data: *const ::std::os::raw::c_uchar,
3202 dataSize: ::std::os::raw::c_int,
3203 outputSize: *mut ::std::os::raw::c_int,
3204 ) -> *mut ::std::os::raw::c_char;
3205}
3206extern "C" {
3207 pub fn DecodeDataBase64(
3208 data: *const ::std::os::raw::c_uchar,
3209 outputSize: *mut ::std::os::raw::c_int,
3210 ) -> *mut ::std::os::raw::c_uchar;
3211}
3212extern "C" {
3213 pub fn IsKeyPressed(key: ::std::os::raw::c_int) -> bool;
3214}
3215extern "C" {
3216 pub fn IsKeyDown(key: ::std::os::raw::c_int) -> bool;
3217}
3218extern "C" {
3219 pub fn IsKeyReleased(key: ::std::os::raw::c_int) -> bool;
3220}
3221extern "C" {
3222 pub fn IsKeyUp(key: ::std::os::raw::c_int) -> bool;
3223}
3224extern "C" {
3225 pub fn SetExitKey(key: ::std::os::raw::c_int);
3226}
3227extern "C" {
3228 pub fn GetKeyPressed() -> ::std::os::raw::c_int;
3229}
3230extern "C" {
3231 pub fn GetCharPressed() -> ::std::os::raw::c_int;
3232}
3233extern "C" {
3234 pub fn IsGamepadAvailable(gamepad: ::std::os::raw::c_int) -> bool;
3235}
3236extern "C" {
3237 pub fn GetGamepadName(gamepad: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
3238}
3239extern "C" {
3240 pub fn IsGamepadButtonPressed(
3241 gamepad: ::std::os::raw::c_int,
3242 button: ::std::os::raw::c_int,
3243 ) -> bool;
3244}
3245extern "C" {
3246 pub fn IsGamepadButtonDown(
3247 gamepad: ::std::os::raw::c_int,
3248 button: ::std::os::raw::c_int,
3249 ) -> bool;
3250}
3251extern "C" {
3252 pub fn IsGamepadButtonReleased(
3253 gamepad: ::std::os::raw::c_int,
3254 button: ::std::os::raw::c_int,
3255 ) -> bool;
3256}
3257extern "C" {
3258 pub fn IsGamepadButtonUp(gamepad: ::std::os::raw::c_int, button: ::std::os::raw::c_int)
3259 -> bool;
3260}
3261extern "C" {
3262 pub fn GetGamepadButtonPressed() -> ::std::os::raw::c_int;
3263}
3264extern "C" {
3265 pub fn GetGamepadAxisCount(gamepad: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3266}
3267extern "C" {
3268 pub fn GetGamepadAxisMovement(
3269 gamepad: ::std::os::raw::c_int,
3270 axis: ::std::os::raw::c_int,
3271 ) -> f32;
3272}
3273extern "C" {
3274 pub fn SetGamepadMappings(mappings: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3275}
3276extern "C" {
3277 pub fn IsMouseButtonPressed(button: ::std::os::raw::c_int) -> bool;
3278}
3279extern "C" {
3280 pub fn IsMouseButtonDown(button: ::std::os::raw::c_int) -> bool;
3281}
3282extern "C" {
3283 pub fn IsMouseButtonReleased(button: ::std::os::raw::c_int) -> bool;
3284}
3285extern "C" {
3286 pub fn IsMouseButtonUp(button: ::std::os::raw::c_int) -> bool;
3287}
3288extern "C" {
3289 pub fn GetMouseX() -> ::std::os::raw::c_int;
3290}
3291extern "C" {
3292 pub fn GetMouseY() -> ::std::os::raw::c_int;
3293}
3294extern "C" {
3295 pub fn GetMousePosition() -> Vector2;
3296}
3297extern "C" {
3298 pub fn GetMouseDelta() -> Vector2;
3299}
3300extern "C" {
3301 pub fn SetMousePosition(x: ::std::os::raw::c_int, y: ::std::os::raw::c_int);
3302}
3303extern "C" {
3304 pub fn SetMouseOffset(offsetX: ::std::os::raw::c_int, offsetY: ::std::os::raw::c_int);
3305}
3306extern "C" {
3307 pub fn SetMouseScale(scaleX: f32, scaleY: f32);
3308}
3309extern "C" {
3310 pub fn GetMouseWheelMove() -> f32;
3311}
3312extern "C" {
3313 pub fn GetMouseWheelMoveV() -> Vector2;
3314}
3315extern "C" {
3316 pub fn SetMouseCursor(cursor: ::std::os::raw::c_int);
3317}
3318extern "C" {
3319 pub fn GetTouchX() -> ::std::os::raw::c_int;
3320}
3321extern "C" {
3322 pub fn GetTouchY() -> ::std::os::raw::c_int;
3323}
3324extern "C" {
3325 pub fn GetTouchPosition(index: ::std::os::raw::c_int) -> Vector2;
3326}
3327extern "C" {
3328 pub fn GetTouchPointId(index: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3329}
3330extern "C" {
3331 pub fn GetTouchPointCount() -> ::std::os::raw::c_int;
3332}
3333extern "C" {
3334 pub fn SetGesturesEnabled(flags: ::std::os::raw::c_uint);
3335}
3336extern "C" {
3337 pub fn IsGestureDetected(gesture: ::std::os::raw::c_int) -> bool;
3338}
3339extern "C" {
3340 pub fn GetGestureDetected() -> ::std::os::raw::c_int;
3341}
3342extern "C" {
3343 pub fn GetGestureHoldDuration() -> f32;
3344}
3345extern "C" {
3346 pub fn GetGestureDragVector() -> Vector2;
3347}
3348extern "C" {
3349 pub fn GetGestureDragAngle() -> f32;
3350}
3351extern "C" {
3352 pub fn GetGesturePinchVector() -> Vector2;
3353}
3354extern "C" {
3355 pub fn GetGesturePinchAngle() -> f32;
3356}
3357extern "C" {
3358 pub fn SetCameraMode(camera: Camera, mode: ::std::os::raw::c_int);
3359}
3360extern "C" {
3361 pub fn UpdateCamera(camera: *mut Camera);
3362}
3363extern "C" {
3364 pub fn SetCameraPanControl(keyPan: ::std::os::raw::c_int);
3365}
3366extern "C" {
3367 pub fn SetCameraAltControl(keyAlt: ::std::os::raw::c_int);
3368}
3369extern "C" {
3370 pub fn SetCameraSmoothZoomControl(keySmoothZoom: ::std::os::raw::c_int);
3371}
3372extern "C" {
3373 pub fn SetCameraMoveControls(
3374 keyFront: ::std::os::raw::c_int,
3375 keyBack: ::std::os::raw::c_int,
3376 keyRight: ::std::os::raw::c_int,
3377 keyLeft: ::std::os::raw::c_int,
3378 keyUp: ::std::os::raw::c_int,
3379 keyDown: ::std::os::raw::c_int,
3380 );
3381}
3382extern "C" {
3383 pub fn SetShapesTexture(texture: Texture2D, source: Rectangle);
3384}
3385extern "C" {
3386 pub fn DrawPixel(posX: ::std::os::raw::c_int, posY: ::std::os::raw::c_int, color: Color);
3387}
3388extern "C" {
3389 pub fn DrawPixelV(position: Vector2, color: Color);
3390}
3391extern "C" {
3392 pub fn DrawLine(
3393 startPosX: ::std::os::raw::c_int,
3394 startPosY: ::std::os::raw::c_int,
3395 endPosX: ::std::os::raw::c_int,
3396 endPosY: ::std::os::raw::c_int,
3397 color: Color,
3398 );
3399}
3400extern "C" {
3401 pub fn DrawLineV(startPos: Vector2, endPos: Vector2, color: Color);
3402}
3403extern "C" {
3404 pub fn DrawLineEx(startPos: Vector2, endPos: Vector2, thick: f32, color: Color);
3405}
3406extern "C" {
3407 pub fn DrawLineBezier(startPos: Vector2, endPos: Vector2, thick: f32, color: Color);
3408}
3409extern "C" {
3410 pub fn DrawLineBezierQuad(
3411 startPos: Vector2,
3412 endPos: Vector2,
3413 controlPos: Vector2,
3414 thick: f32,
3415 color: Color,
3416 );
3417}
3418extern "C" {
3419 pub fn DrawLineBezierCubic(
3420 startPos: Vector2,
3421 endPos: Vector2,
3422 startControlPos: Vector2,
3423 endControlPos: Vector2,
3424 thick: f32,
3425 color: Color,
3426 );
3427}
3428extern "C" {
3429 pub fn DrawLineStrip(points: *mut Vector2, pointCount: ::std::os::raw::c_int, color: Color);
3430}
3431extern "C" {
3432 pub fn DrawCircle(
3433 centerX: ::std::os::raw::c_int,
3434 centerY: ::std::os::raw::c_int,
3435 radius: f32,
3436 color: Color,
3437 );
3438}
3439extern "C" {
3440 pub fn DrawCircleSector(
3441 center: Vector2,
3442 radius: f32,
3443 startAngle: f32,
3444 endAngle: f32,
3445 segments: ::std::os::raw::c_int,
3446 color: Color,
3447 );
3448}
3449extern "C" {
3450 pub fn DrawCircleSectorLines(
3451 center: Vector2,
3452 radius: f32,
3453 startAngle: f32,
3454 endAngle: f32,
3455 segments: ::std::os::raw::c_int,
3456 color: Color,
3457 );
3458}
3459extern "C" {
3460 pub fn DrawCircleGradient(
3461 centerX: ::std::os::raw::c_int,
3462 centerY: ::std::os::raw::c_int,
3463 radius: f32,
3464 color1: Color,
3465 color2: Color,
3466 );
3467}
3468extern "C" {
3469 pub fn DrawCircleV(center: Vector2, radius: f32, color: Color);
3470}
3471extern "C" {
3472 pub fn DrawCircleLines(
3473 centerX: ::std::os::raw::c_int,
3474 centerY: ::std::os::raw::c_int,
3475 radius: f32,
3476 color: Color,
3477 );
3478}
3479extern "C" {
3480 pub fn DrawEllipse(
3481 centerX: ::std::os::raw::c_int,
3482 centerY: ::std::os::raw::c_int,
3483 radiusH: f32,
3484 radiusV: f32,
3485 color: Color,
3486 );
3487}
3488extern "C" {
3489 pub fn DrawEllipseLines(
3490 centerX: ::std::os::raw::c_int,
3491 centerY: ::std::os::raw::c_int,
3492 radiusH: f32,
3493 radiusV: f32,
3494 color: Color,
3495 );
3496}
3497extern "C" {
3498 pub fn DrawRing(
3499 center: Vector2,
3500 innerRadius: f32,
3501 outerRadius: f32,
3502 startAngle: f32,
3503 endAngle: f32,
3504 segments: ::std::os::raw::c_int,
3505 color: Color,
3506 );
3507}
3508extern "C" {
3509 pub fn DrawRingLines(
3510 center: Vector2,
3511 innerRadius: f32,
3512 outerRadius: f32,
3513 startAngle: f32,
3514 endAngle: f32,
3515 segments: ::std::os::raw::c_int,
3516 color: Color,
3517 );
3518}
3519extern "C" {
3520 pub fn DrawRectangle(
3521 posX: ::std::os::raw::c_int,
3522 posY: ::std::os::raw::c_int,
3523 width: ::std::os::raw::c_int,
3524 height: ::std::os::raw::c_int,
3525 color: Color,
3526 );
3527}
3528extern "C" {
3529 pub fn DrawRectangleV(position: Vector2, size: Vector2, color: Color);
3530}
3531extern "C" {
3532 pub fn DrawRectangleRec(rec: Rectangle, color: Color);
3533}
3534extern "C" {
3535 pub fn DrawRectanglePro(rec: Rectangle, origin: Vector2, rotation: f32, color: Color);
3536}
3537extern "C" {
3538 pub fn DrawRectangleGradientV(
3539 posX: ::std::os::raw::c_int,
3540 posY: ::std::os::raw::c_int,
3541 width: ::std::os::raw::c_int,
3542 height: ::std::os::raw::c_int,
3543 color1: Color,
3544 color2: Color,
3545 );
3546}
3547extern "C" {
3548 pub fn DrawRectangleGradientH(
3549 posX: ::std::os::raw::c_int,
3550 posY: ::std::os::raw::c_int,
3551 width: ::std::os::raw::c_int,
3552 height: ::std::os::raw::c_int,
3553 color1: Color,
3554 color2: Color,
3555 );
3556}
3557extern "C" {
3558 pub fn DrawRectangleGradientEx(
3559 rec: Rectangle,
3560 col1: Color,
3561 col2: Color,
3562 col3: Color,
3563 col4: Color,
3564 );
3565}
3566extern "C" {
3567 pub fn DrawRectangleLines(
3568 posX: ::std::os::raw::c_int,
3569 posY: ::std::os::raw::c_int,
3570 width: ::std::os::raw::c_int,
3571 height: ::std::os::raw::c_int,
3572 color: Color,
3573 );
3574}
3575extern "C" {
3576 pub fn DrawRectangleLinesEx(rec: Rectangle, lineThick: f32, color: Color);
3577}
3578extern "C" {
3579 pub fn DrawRectangleRounded(
3580 rec: Rectangle,
3581 roundness: f32,
3582 segments: ::std::os::raw::c_int,
3583 color: Color,
3584 );
3585}
3586extern "C" {
3587 pub fn DrawRectangleRoundedLines(
3588 rec: Rectangle,
3589 roundness: f32,
3590 segments: ::std::os::raw::c_int,
3591 lineThick: f32,
3592 color: Color,
3593 );
3594}
3595extern "C" {
3596 pub fn DrawTriangle(v1: Vector2, v2: Vector2, v3: Vector2, color: Color);
3597}
3598extern "C" {
3599 pub fn DrawTriangleLines(v1: Vector2, v2: Vector2, v3: Vector2, color: Color);
3600}
3601extern "C" {
3602 pub fn DrawTriangleFan(points: *mut Vector2, pointCount: ::std::os::raw::c_int, color: Color);
3603}
3604extern "C" {
3605 pub fn DrawTriangleStrip(points: *mut Vector2, pointCount: ::std::os::raw::c_int, color: Color);
3606}
3607extern "C" {
3608 pub fn DrawPoly(
3609 center: Vector2,
3610 sides: ::std::os::raw::c_int,
3611 radius: f32,
3612 rotation: f32,
3613 color: Color,
3614 );
3615}
3616extern "C" {
3617 pub fn DrawPolyLines(
3618 center: Vector2,
3619 sides: ::std::os::raw::c_int,
3620 radius: f32,
3621 rotation: f32,
3622 color: Color,
3623 );
3624}
3625extern "C" {
3626 pub fn DrawPolyLinesEx(
3627 center: Vector2,
3628 sides: ::std::os::raw::c_int,
3629 radius: f32,
3630 rotation: f32,
3631 lineThick: f32,
3632 color: Color,
3633 );
3634}
3635extern "C" {
3636 pub fn CheckCollisionRecs(rec1: Rectangle, rec2: Rectangle) -> bool;
3637}
3638extern "C" {
3639 pub fn CheckCollisionCircles(
3640 center1: Vector2,
3641 radius1: f32,
3642 center2: Vector2,
3643 radius2: f32,
3644 ) -> bool;
3645}
3646extern "C" {
3647 pub fn CheckCollisionCircleRec(center: Vector2, radius: f32, rec: Rectangle) -> bool;
3648}
3649extern "C" {
3650 pub fn CheckCollisionPointRec(point: Vector2, rec: Rectangle) -> bool;
3651}
3652extern "C" {
3653 pub fn CheckCollisionPointCircle(point: Vector2, center: Vector2, radius: f32) -> bool;
3654}
3655extern "C" {
3656 pub fn CheckCollisionPointTriangle(
3657 point: Vector2,
3658 p1: Vector2,
3659 p2: Vector2,
3660 p3: Vector2,
3661 ) -> bool;
3662}
3663extern "C" {
3664 pub fn CheckCollisionLines(
3665 startPos1: Vector2,
3666 endPos1: Vector2,
3667 startPos2: Vector2,
3668 endPos2: Vector2,
3669 collisionPoint: *mut Vector2,
3670 ) -> bool;
3671}
3672extern "C" {
3673 pub fn CheckCollisionPointLine(
3674 point: Vector2,
3675 p1: Vector2,
3676 p2: Vector2,
3677 threshold: ::std::os::raw::c_int,
3678 ) -> bool;
3679}
3680extern "C" {
3681 pub fn GetCollisionRec(rec1: Rectangle, rec2: Rectangle) -> Rectangle;
3682}
3683extern "C" {
3684 pub fn LoadImage(fileName: *const ::std::os::raw::c_char) -> Image;
3685}
3686extern "C" {
3687 pub fn LoadImageRaw(
3688 fileName: *const ::std::os::raw::c_char,
3689 width: ::std::os::raw::c_int,
3690 height: ::std::os::raw::c_int,
3691 format: ::std::os::raw::c_int,
3692 headerSize: ::std::os::raw::c_int,
3693 ) -> Image;
3694}
3695extern "C" {
3696 pub fn LoadImageAnim(
3697 fileName: *const ::std::os::raw::c_char,
3698 frames: *mut ::std::os::raw::c_int,
3699 ) -> Image;
3700}
3701extern "C" {
3702 pub fn LoadImageFromMemory(
3703 fileType: *const ::std::os::raw::c_char,
3704 fileData: *const ::std::os::raw::c_uchar,
3705 dataSize: ::std::os::raw::c_int,
3706 ) -> Image;
3707}
3708extern "C" {
3709 pub fn LoadImageFromTexture(texture: Texture2D) -> Image;
3710}
3711extern "C" {
3712 pub fn LoadImageFromScreen() -> Image;
3713}
3714extern "C" {
3715 pub fn UnloadImage(image: Image);
3716}
3717extern "C" {
3718 pub fn ExportImage(image: Image, fileName: *const ::std::os::raw::c_char) -> bool;
3719}
3720extern "C" {
3721 pub fn ExportImageAsCode(image: Image, fileName: *const ::std::os::raw::c_char) -> bool;
3722}
3723extern "C" {
3724 pub fn GenImageColor(
3725 width: ::std::os::raw::c_int,
3726 height: ::std::os::raw::c_int,
3727 color: Color,
3728 ) -> Image;
3729}
3730extern "C" {
3731 pub fn GenImageGradientV(
3732 width: ::std::os::raw::c_int,
3733 height: ::std::os::raw::c_int,
3734 top: Color,
3735 bottom: Color,
3736 ) -> Image;
3737}
3738extern "C" {
3739 pub fn GenImageGradientH(
3740 width: ::std::os::raw::c_int,
3741 height: ::std::os::raw::c_int,
3742 left: Color,
3743 right: Color,
3744 ) -> Image;
3745}
3746extern "C" {
3747 pub fn GenImageGradientRadial(
3748 width: ::std::os::raw::c_int,
3749 height: ::std::os::raw::c_int,
3750 density: f32,
3751 inner: Color,
3752 outer: Color,
3753 ) -> Image;
3754}
3755extern "C" {
3756 pub fn GenImageChecked(
3757 width: ::std::os::raw::c_int,
3758 height: ::std::os::raw::c_int,
3759 checksX: ::std::os::raw::c_int,
3760 checksY: ::std::os::raw::c_int,
3761 col1: Color,
3762 col2: Color,
3763 ) -> Image;
3764}
3765extern "C" {
3766 pub fn GenImageWhiteNoise(
3767 width: ::std::os::raw::c_int,
3768 height: ::std::os::raw::c_int,
3769 factor: f32,
3770 ) -> Image;
3771}
3772extern "C" {
3773 pub fn GenImageCellular(
3774 width: ::std::os::raw::c_int,
3775 height: ::std::os::raw::c_int,
3776 tileSize: ::std::os::raw::c_int,
3777 ) -> Image;
3778}
3779extern "C" {
3780 pub fn ImageCopy(image: Image) -> Image;
3781}
3782extern "C" {
3783 pub fn ImageFromImage(image: Image, rec: Rectangle) -> Image;
3784}
3785extern "C" {
3786 pub fn ImageText(
3787 text: *const ::std::os::raw::c_char,
3788 fontSize: ::std::os::raw::c_int,
3789 color: Color,
3790 ) -> Image;
3791}
3792extern "C" {
3793 pub fn ImageTextEx(
3794 font: Font,
3795 text: *const ::std::os::raw::c_char,
3796 fontSize: f32,
3797 spacing: f32,
3798 tint: Color,
3799 ) -> Image;
3800}
3801extern "C" {
3802 pub fn ImageFormat(image: *mut Image, newFormat: ::std::os::raw::c_int);
3803}
3804extern "C" {
3805 pub fn ImageToPOT(image: *mut Image, fill: Color);
3806}
3807extern "C" {
3808 pub fn ImageCrop(image: *mut Image, crop: Rectangle);
3809}
3810extern "C" {
3811 pub fn ImageAlphaCrop(image: *mut Image, threshold: f32);
3812}
3813extern "C" {
3814 pub fn ImageAlphaClear(image: *mut Image, color: Color, threshold: f32);
3815}
3816extern "C" {
3817 pub fn ImageAlphaMask(image: *mut Image, alphaMask: Image);
3818}
3819extern "C" {
3820 pub fn ImageAlphaPremultiply(image: *mut Image);
3821}
3822extern "C" {
3823 pub fn ImageResize(
3824 image: *mut Image,
3825 newWidth: ::std::os::raw::c_int,
3826 newHeight: ::std::os::raw::c_int,
3827 );
3828}
3829extern "C" {
3830 pub fn ImageResizeNN(
3831 image: *mut Image,
3832 newWidth: ::std::os::raw::c_int,
3833 newHeight: ::std::os::raw::c_int,
3834 );
3835}
3836extern "C" {
3837 pub fn ImageResizeCanvas(
3838 image: *mut Image,
3839 newWidth: ::std::os::raw::c_int,
3840 newHeight: ::std::os::raw::c_int,
3841 offsetX: ::std::os::raw::c_int,
3842 offsetY: ::std::os::raw::c_int,
3843 fill: Color,
3844 );
3845}
3846extern "C" {
3847 pub fn ImageMipmaps(image: *mut Image);
3848}
3849extern "C" {
3850 pub fn ImageDither(
3851 image: *mut Image,
3852 rBpp: ::std::os::raw::c_int,
3853 gBpp: ::std::os::raw::c_int,
3854 bBpp: ::std::os::raw::c_int,
3855 aBpp: ::std::os::raw::c_int,
3856 );
3857}
3858extern "C" {
3859 pub fn ImageFlipVertical(image: *mut Image);
3860}
3861extern "C" {
3862 pub fn ImageFlipHorizontal(image: *mut Image);
3863}
3864extern "C" {
3865 pub fn ImageRotateCW(image: *mut Image);
3866}
3867extern "C" {
3868 pub fn ImageRotateCCW(image: *mut Image);
3869}
3870extern "C" {
3871 pub fn ImageColorTint(image: *mut Image, color: Color);
3872}
3873extern "C" {
3874 pub fn ImageColorInvert(image: *mut Image);
3875}
3876extern "C" {
3877 pub fn ImageColorGrayscale(image: *mut Image);
3878}
3879extern "C" {
3880 pub fn ImageColorContrast(image: *mut Image, contrast: f32);
3881}
3882extern "C" {
3883 pub fn ImageColorBrightness(image: *mut Image, brightness: ::std::os::raw::c_int);
3884}
3885extern "C" {
3886 pub fn ImageColorReplace(image: *mut Image, color: Color, replace: Color);
3887}
3888extern "C" {
3889 pub fn LoadImageColors(image: Image) -> *mut Color;
3890}
3891extern "C" {
3892 pub fn LoadImagePalette(
3893 image: Image,
3894 maxPaletteSize: ::std::os::raw::c_int,
3895 colorCount: *mut ::std::os::raw::c_int,
3896 ) -> *mut Color;
3897}
3898extern "C" {
3899 pub fn UnloadImageColors(colors: *mut Color);
3900}
3901extern "C" {
3902 pub fn UnloadImagePalette(colors: *mut Color);
3903}
3904extern "C" {
3905 pub fn GetImageAlphaBorder(image: Image, threshold: f32) -> Rectangle;
3906}
3907extern "C" {
3908 pub fn GetImageColor(image: Image, x: ::std::os::raw::c_int, y: ::std::os::raw::c_int)
3909 -> Color;
3910}
3911extern "C" {
3912 pub fn ImageClearBackground(dst: *mut Image, color: Color);
3913}
3914extern "C" {
3915 pub fn ImageDrawPixel(
3916 dst: *mut Image,
3917 posX: ::std::os::raw::c_int,
3918 posY: ::std::os::raw::c_int,
3919 color: Color,
3920 );
3921}
3922extern "C" {
3923 pub fn ImageDrawPixelV(dst: *mut Image, position: Vector2, color: Color);
3924}
3925extern "C" {
3926 pub fn ImageDrawLine(
3927 dst: *mut Image,
3928 startPosX: ::std::os::raw::c_int,
3929 startPosY: ::std::os::raw::c_int,
3930 endPosX: ::std::os::raw::c_int,
3931 endPosY: ::std::os::raw::c_int,
3932 color: Color,
3933 );
3934}
3935extern "C" {
3936 pub fn ImageDrawLineV(dst: *mut Image, start: Vector2, end: Vector2, color: Color);
3937}
3938extern "C" {
3939 pub fn ImageDrawCircle(
3940 dst: *mut Image,
3941 centerX: ::std::os::raw::c_int,
3942 centerY: ::std::os::raw::c_int,
3943 radius: ::std::os::raw::c_int,
3944 color: Color,
3945 );
3946}
3947extern "C" {
3948 pub fn ImageDrawCircleV(
3949 dst: *mut Image,
3950 center: Vector2,
3951 radius: ::std::os::raw::c_int,
3952 color: Color,
3953 );
3954}
3955extern "C" {
3956 pub fn ImageDrawRectangle(
3957 dst: *mut Image,
3958 posX: ::std::os::raw::c_int,
3959 posY: ::std::os::raw::c_int,
3960 width: ::std::os::raw::c_int,
3961 height: ::std::os::raw::c_int,
3962 color: Color,
3963 );
3964}
3965extern "C" {
3966 pub fn ImageDrawRectangleV(dst: *mut Image, position: Vector2, size: Vector2, color: Color);
3967}
3968extern "C" {
3969 pub fn ImageDrawRectangleRec(dst: *mut Image, rec: Rectangle, color: Color);
3970}
3971extern "C" {
3972 pub fn ImageDrawRectangleLines(
3973 dst: *mut Image,
3974 rec: Rectangle,
3975 thick: ::std::os::raw::c_int,
3976 color: Color,
3977 );
3978}
3979extern "C" {
3980 pub fn ImageDraw(
3981 dst: *mut Image,
3982 src: Image,
3983 srcRec: Rectangle,
3984 dstRec: Rectangle,
3985 tint: Color,
3986 );
3987}
3988extern "C" {
3989 pub fn ImageDrawText(
3990 dst: *mut Image,
3991 text: *const ::std::os::raw::c_char,
3992 posX: ::std::os::raw::c_int,
3993 posY: ::std::os::raw::c_int,
3994 fontSize: ::std::os::raw::c_int,
3995 color: Color,
3996 );
3997}
3998extern "C" {
3999 pub fn ImageDrawTextEx(
4000 dst: *mut Image,
4001 font: Font,
4002 text: *const ::std::os::raw::c_char,
4003 position: Vector2,
4004 fontSize: f32,
4005 spacing: f32,
4006 tint: Color,
4007 );
4008}
4009extern "C" {
4010 pub fn LoadTexture(fileName: *const ::std::os::raw::c_char) -> Texture2D;
4011}
4012extern "C" {
4013 pub fn LoadTextureFromImage(image: Image) -> Texture2D;
4014}
4015extern "C" {
4016 pub fn LoadTextureCubemap(image: Image, layout: ::std::os::raw::c_int) -> TextureCubemap;
4017}
4018extern "C" {
4019 pub fn LoadRenderTexture(
4020 width: ::std::os::raw::c_int,
4021 height: ::std::os::raw::c_int,
4022 ) -> RenderTexture2D;
4023}
4024extern "C" {
4025 pub fn UnloadTexture(texture: Texture2D);
4026}
4027extern "C" {
4028 pub fn UnloadRenderTexture(target: RenderTexture2D);
4029}
4030extern "C" {
4031 pub fn UpdateTexture(texture: Texture2D, pixels: *const ::std::os::raw::c_void);
4032}
4033extern "C" {
4034 pub fn UpdateTextureRec(
4035 texture: Texture2D,
4036 rec: Rectangle,
4037 pixels: *const ::std::os::raw::c_void,
4038 );
4039}
4040extern "C" {
4041 pub fn GenTextureMipmaps(texture: *mut Texture2D);
4042}
4043extern "C" {
4044 pub fn SetTextureFilter(texture: Texture2D, filter: ::std::os::raw::c_int);
4045}
4046extern "C" {
4047 pub fn SetTextureWrap(texture: Texture2D, wrap: ::std::os::raw::c_int);
4048}
4049extern "C" {
4050 pub fn DrawTexture(
4051 texture: Texture2D,
4052 posX: ::std::os::raw::c_int,
4053 posY: ::std::os::raw::c_int,
4054 tint: Color,
4055 );
4056}
4057extern "C" {
4058 pub fn DrawTextureV(texture: Texture2D, position: Vector2, tint: Color);
4059}
4060extern "C" {
4061 pub fn DrawTextureEx(
4062 texture: Texture2D,
4063 position: Vector2,
4064 rotation: f32,
4065 scale: f32,
4066 tint: Color,
4067 );
4068}
4069extern "C" {
4070 pub fn DrawTextureRec(texture: Texture2D, source: Rectangle, position: Vector2, tint: Color);
4071}
4072extern "C" {
4073 pub fn DrawTextureQuad(
4074 texture: Texture2D,
4075 tiling: Vector2,
4076 offset: Vector2,
4077 quad: Rectangle,
4078 tint: Color,
4079 );
4080}
4081extern "C" {
4082 pub fn DrawTextureTiled(
4083 texture: Texture2D,
4084 source: Rectangle,
4085 dest: Rectangle,
4086 origin: Vector2,
4087 rotation: f32,
4088 scale: f32,
4089 tint: Color,
4090 );
4091}
4092extern "C" {
4093 pub fn DrawTexturePro(
4094 texture: Texture2D,
4095 source: Rectangle,
4096 dest: Rectangle,
4097 origin: Vector2,
4098 rotation: f32,
4099 tint: Color,
4100 );
4101}
4102extern "C" {
4103 pub fn DrawTextureNPatch(
4104 texture: Texture2D,
4105 nPatchInfo: NPatchInfo,
4106 dest: Rectangle,
4107 origin: Vector2,
4108 rotation: f32,
4109 tint: Color,
4110 );
4111}
4112extern "C" {
4113 pub fn DrawTexturePoly(
4114 texture: Texture2D,
4115 center: Vector2,
4116 points: *mut Vector2,
4117 texcoords: *mut Vector2,
4118 pointCount: ::std::os::raw::c_int,
4119 tint: Color,
4120 );
4121}
4122extern "C" {
4123 pub fn Fade(color: Color, alpha: f32) -> Color;
4124}
4125extern "C" {
4126 pub fn ColorToInt(color: Color) -> ::std::os::raw::c_int;
4127}
4128extern "C" {
4129 pub fn ColorNormalize(color: Color) -> Vector4;
4130}
4131extern "C" {
4132 pub fn ColorFromNormalized(normalized: Vector4) -> Color;
4133}
4134extern "C" {
4135 pub fn ColorToHSV(color: Color) -> Vector3;
4136}
4137extern "C" {
4138 pub fn ColorFromHSV(hue: f32, saturation: f32, value: f32) -> Color;
4139}
4140extern "C" {
4141 pub fn ColorAlpha(color: Color, alpha: f32) -> Color;
4142}
4143extern "C" {
4144 pub fn ColorAlphaBlend(dst: Color, src: Color, tint: Color) -> Color;
4145}
4146extern "C" {
4147 pub fn GetColor(hexValue: ::std::os::raw::c_uint) -> Color;
4148}
4149extern "C" {
4150 pub fn GetPixelColor(
4151 srcPtr: *mut ::std::os::raw::c_void,
4152 format: ::std::os::raw::c_int,
4153 ) -> Color;
4154}
4155extern "C" {
4156 pub fn SetPixelColor(
4157 dstPtr: *mut ::std::os::raw::c_void,
4158 color: Color,
4159 format: ::std::os::raw::c_int,
4160 );
4161}
4162extern "C" {
4163 pub fn GetPixelDataSize(
4164 width: ::std::os::raw::c_int,
4165 height: ::std::os::raw::c_int,
4166 format: ::std::os::raw::c_int,
4167 ) -> ::std::os::raw::c_int;
4168}
4169extern "C" {
4170 pub fn GetFontDefault() -> Font;
4171}
4172extern "C" {
4173 pub fn LoadFont(fileName: *const ::std::os::raw::c_char) -> Font;
4174}
4175extern "C" {
4176 pub fn LoadFontEx(
4177 fileName: *const ::std::os::raw::c_char,
4178 fontSize: ::std::os::raw::c_int,
4179 fontChars: *mut ::std::os::raw::c_int,
4180 glyphCount: ::std::os::raw::c_int,
4181 ) -> Font;
4182}
4183extern "C" {
4184 pub fn LoadFontFromImage(image: Image, key: Color, firstChar: ::std::os::raw::c_int) -> Font;
4185}
4186extern "C" {
4187 pub fn LoadFontFromMemory(
4188 fileType: *const ::std::os::raw::c_char,
4189 fileData: *const ::std::os::raw::c_uchar,
4190 dataSize: ::std::os::raw::c_int,
4191 fontSize: ::std::os::raw::c_int,
4192 fontChars: *mut ::std::os::raw::c_int,
4193 glyphCount: ::std::os::raw::c_int,
4194 ) -> Font;
4195}
4196extern "C" {
4197 pub fn LoadFontData(
4198 fileData: *const ::std::os::raw::c_uchar,
4199 dataSize: ::std::os::raw::c_int,
4200 fontSize: ::std::os::raw::c_int,
4201 fontChars: *mut ::std::os::raw::c_int,
4202 glyphCount: ::std::os::raw::c_int,
4203 type_: ::std::os::raw::c_int,
4204 ) -> *mut GlyphInfo;
4205}
4206extern "C" {
4207 pub fn GenImageFontAtlas(
4208 chars: *const GlyphInfo,
4209 recs: *mut *mut Rectangle,
4210 glyphCount: ::std::os::raw::c_int,
4211 fontSize: ::std::os::raw::c_int,
4212 padding: ::std::os::raw::c_int,
4213 packMethod: ::std::os::raw::c_int,
4214 ) -> Image;
4215}
4216extern "C" {
4217 pub fn UnloadFontData(chars: *mut GlyphInfo, glyphCount: ::std::os::raw::c_int);
4218}
4219extern "C" {
4220 pub fn UnloadFont(font: Font);
4221}
4222extern "C" {
4223 pub fn ExportFontAsCode(font: Font, fileName: *const ::std::os::raw::c_char) -> bool;
4224}
4225extern "C" {
4226 pub fn DrawFPS(posX: ::std::os::raw::c_int, posY: ::std::os::raw::c_int);
4227}
4228extern "C" {
4229 pub fn DrawText(
4230 text: *const ::std::os::raw::c_char,
4231 posX: ::std::os::raw::c_int,
4232 posY: ::std::os::raw::c_int,
4233 fontSize: ::std::os::raw::c_int,
4234 color: Color,
4235 );
4236}
4237extern "C" {
4238 pub fn DrawTextEx(
4239 font: Font,
4240 text: *const ::std::os::raw::c_char,
4241 position: Vector2,
4242 fontSize: f32,
4243 spacing: f32,
4244 tint: Color,
4245 );
4246}
4247extern "C" {
4248 pub fn DrawTextPro(
4249 font: Font,
4250 text: *const ::std::os::raw::c_char,
4251 position: Vector2,
4252 origin: Vector2,
4253 rotation: f32,
4254 fontSize: f32,
4255 spacing: f32,
4256 tint: Color,
4257 );
4258}
4259extern "C" {
4260 pub fn DrawTextCodepoint(
4261 font: Font,
4262 codepoint: ::std::os::raw::c_int,
4263 position: Vector2,
4264 fontSize: f32,
4265 tint: Color,
4266 );
4267}
4268extern "C" {
4269 pub fn DrawTextCodepoints(
4270 font: Font,
4271 codepoints: *const ::std::os::raw::c_int,
4272 count: ::std::os::raw::c_int,
4273 position: Vector2,
4274 fontSize: f32,
4275 spacing: f32,
4276 tint: Color,
4277 );
4278}
4279extern "C" {
4280 pub fn MeasureText(
4281 text: *const ::std::os::raw::c_char,
4282 fontSize: ::std::os::raw::c_int,
4283 ) -> ::std::os::raw::c_int;
4284}
4285extern "C" {
4286 pub fn MeasureTextEx(
4287 font: Font,
4288 text: *const ::std::os::raw::c_char,
4289 fontSize: f32,
4290 spacing: f32,
4291 ) -> Vector2;
4292}
4293extern "C" {
4294 pub fn GetGlyphIndex(font: Font, codepoint: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4295}
4296extern "C" {
4297 pub fn GetGlyphInfo(font: Font, codepoint: ::std::os::raw::c_int) -> GlyphInfo;
4298}
4299extern "C" {
4300 pub fn GetGlyphAtlasRec(font: Font, codepoint: ::std::os::raw::c_int) -> Rectangle;
4301}
4302extern "C" {
4303 pub fn LoadCodepoints(
4304 text: *const ::std::os::raw::c_char,
4305 count: *mut ::std::os::raw::c_int,
4306 ) -> *mut ::std::os::raw::c_int;
4307}
4308extern "C" {
4309 pub fn UnloadCodepoints(codepoints: *mut ::std::os::raw::c_int);
4310}
4311extern "C" {
4312 pub fn GetCodepointCount(text: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
4313}
4314extern "C" {
4315 pub fn GetCodepoint(
4316 text: *const ::std::os::raw::c_char,
4317 bytesProcessed: *mut ::std::os::raw::c_int,
4318 ) -> ::std::os::raw::c_int;
4319}
4320extern "C" {
4321 pub fn CodepointToUTF8(
4322 codepoint: ::std::os::raw::c_int,
4323 byteSize: *mut ::std::os::raw::c_int,
4324 ) -> *const ::std::os::raw::c_char;
4325}
4326extern "C" {
4327 pub fn TextCodepointsToUTF8(
4328 codepoints: *const ::std::os::raw::c_int,
4329 length: ::std::os::raw::c_int,
4330 ) -> *mut ::std::os::raw::c_char;
4331}
4332extern "C" {
4333 pub fn TextCopy(
4334 dst: *mut ::std::os::raw::c_char,
4335 src: *const ::std::os::raw::c_char,
4336 ) -> ::std::os::raw::c_int;
4337}
4338extern "C" {
4339 pub fn TextIsEqual(
4340 text1: *const ::std::os::raw::c_char,
4341 text2: *const ::std::os::raw::c_char,
4342 ) -> bool;
4343}
4344extern "C" {
4345 pub fn TextLength(text: *const ::std::os::raw::c_char) -> ::std::os::raw::c_uint;
4346}
4347extern "C" {
4348 pub fn TextFormat(text: *const ::std::os::raw::c_char, ...) -> *const ::std::os::raw::c_char;
4349}
4350extern "C" {
4351 pub fn TextSubtext(
4352 text: *const ::std::os::raw::c_char,
4353 position: ::std::os::raw::c_int,
4354 length: ::std::os::raw::c_int,
4355 ) -> *const ::std::os::raw::c_char;
4356}
4357extern "C" {
4358 pub fn TextReplace(
4359 text: *mut ::std::os::raw::c_char,
4360 replace: *const ::std::os::raw::c_char,
4361 by: *const ::std::os::raw::c_char,
4362 ) -> *mut ::std::os::raw::c_char;
4363}
4364extern "C" {
4365 pub fn TextInsert(
4366 text: *const ::std::os::raw::c_char,
4367 insert: *const ::std::os::raw::c_char,
4368 position: ::std::os::raw::c_int,
4369 ) -> *mut ::std::os::raw::c_char;
4370}
4371extern "C" {
4372 pub fn TextJoin(
4373 textList: *mut *const ::std::os::raw::c_char,
4374 count: ::std::os::raw::c_int,
4375 delimiter: *const ::std::os::raw::c_char,
4376 ) -> *const ::std::os::raw::c_char;
4377}
4378extern "C" {
4379 pub fn TextSplit(
4380 text: *const ::std::os::raw::c_char,
4381 delimiter: ::std::os::raw::c_char,
4382 count: *mut ::std::os::raw::c_int,
4383 ) -> *mut *const ::std::os::raw::c_char;
4384}
4385extern "C" {
4386 pub fn TextAppend(
4387 text: *mut ::std::os::raw::c_char,
4388 append: *const ::std::os::raw::c_char,
4389 position: *mut ::std::os::raw::c_int,
4390 );
4391}
4392extern "C" {
4393 pub fn TextFindIndex(
4394 text: *const ::std::os::raw::c_char,
4395 find: *const ::std::os::raw::c_char,
4396 ) -> ::std::os::raw::c_int;
4397}
4398extern "C" {
4399 pub fn TextToUpper(text: *const ::std::os::raw::c_char) -> *const ::std::os::raw::c_char;
4400}
4401extern "C" {
4402 pub fn TextToLower(text: *const ::std::os::raw::c_char) -> *const ::std::os::raw::c_char;
4403}
4404extern "C" {
4405 pub fn TextToPascal(text: *const ::std::os::raw::c_char) -> *const ::std::os::raw::c_char;
4406}
4407extern "C" {
4408 pub fn TextToInteger(text: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
4409}
4410extern "C" {
4411 pub fn DrawLine3D(startPos: Vector3, endPos: Vector3, color: Color);
4412}
4413extern "C" {
4414 pub fn DrawPoint3D(position: Vector3, color: Color);
4415}
4416extern "C" {
4417 pub fn DrawCircle3D(
4418 center: Vector3,
4419 radius: f32,
4420 rotationAxis: Vector3,
4421 rotationAngle: f32,
4422 color: Color,
4423 );
4424}
4425extern "C" {
4426 pub fn DrawTriangle3D(v1: Vector3, v2: Vector3, v3: Vector3, color: Color);
4427}
4428extern "C" {
4429 pub fn DrawTriangleStrip3D(
4430 points: *mut Vector3,
4431 pointCount: ::std::os::raw::c_int,
4432 color: Color,
4433 );
4434}
4435extern "C" {
4436 pub fn DrawCube(position: Vector3, width: f32, height: f32, length: f32, color: Color);
4437}
4438extern "C" {
4439 pub fn DrawCubeV(position: Vector3, size: Vector3, color: Color);
4440}
4441extern "C" {
4442 pub fn DrawCubeWires(position: Vector3, width: f32, height: f32, length: f32, color: Color);
4443}
4444extern "C" {
4445 pub fn DrawCubeWiresV(position: Vector3, size: Vector3, color: Color);
4446}
4447extern "C" {
4448 pub fn DrawCubeTexture(
4449 texture: Texture2D,
4450 position: Vector3,
4451 width: f32,
4452 height: f32,
4453 length: f32,
4454 color: Color,
4455 );
4456}
4457extern "C" {
4458 pub fn DrawCubeTextureRec(
4459 texture: Texture2D,
4460 source: Rectangle,
4461 position: Vector3,
4462 width: f32,
4463 height: f32,
4464 length: f32,
4465 color: Color,
4466 );
4467}
4468extern "C" {
4469 pub fn DrawSphere(centerPos: Vector3, radius: f32, color: Color);
4470}
4471extern "C" {
4472 pub fn DrawSphereEx(
4473 centerPos: Vector3,
4474 radius: f32,
4475 rings: ::std::os::raw::c_int,
4476 slices: ::std::os::raw::c_int,
4477 color: Color,
4478 );
4479}
4480extern "C" {
4481 pub fn DrawSphereWires(
4482 centerPos: Vector3,
4483 radius: f32,
4484 rings: ::std::os::raw::c_int,
4485 slices: ::std::os::raw::c_int,
4486 color: Color,
4487 );
4488}
4489extern "C" {
4490 pub fn DrawCylinder(
4491 position: Vector3,
4492 radiusTop: f32,
4493 radiusBottom: f32,
4494 height: f32,
4495 slices: ::std::os::raw::c_int,
4496 color: Color,
4497 );
4498}
4499extern "C" {
4500 pub fn DrawCylinderEx(
4501 startPos: Vector3,
4502 endPos: Vector3,
4503 startRadius: f32,
4504 endRadius: f32,
4505 sides: ::std::os::raw::c_int,
4506 color: Color,
4507 );
4508}
4509extern "C" {
4510 pub fn DrawCylinderWires(
4511 position: Vector3,
4512 radiusTop: f32,
4513 radiusBottom: f32,
4514 height: f32,
4515 slices: ::std::os::raw::c_int,
4516 color: Color,
4517 );
4518}
4519extern "C" {
4520 pub fn DrawCylinderWiresEx(
4521 startPos: Vector3,
4522 endPos: Vector3,
4523 startRadius: f32,
4524 endRadius: f32,
4525 sides: ::std::os::raw::c_int,
4526 color: Color,
4527 );
4528}
4529extern "C" {
4530 pub fn DrawPlane(centerPos: Vector3, size: Vector2, color: Color);
4531}
4532extern "C" {
4533 pub fn DrawRay(ray: Ray, color: Color);
4534}
4535extern "C" {
4536 pub fn DrawGrid(slices: ::std::os::raw::c_int, spacing: f32);
4537}
4538extern "C" {
4539 pub fn LoadModel(fileName: *const ::std::os::raw::c_char) -> Model;
4540}
4541extern "C" {
4542 pub fn LoadModelFromMesh(mesh: Mesh) -> Model;
4543}
4544extern "C" {
4545 pub fn UnloadModel(model: Model);
4546}
4547extern "C" {
4548 pub fn UnloadModelKeepMeshes(model: Model);
4549}
4550extern "C" {
4551 pub fn GetModelBoundingBox(model: Model) -> BoundingBox;
4552}
4553extern "C" {
4554 pub fn DrawModel(model: Model, position: Vector3, scale: f32, tint: Color);
4555}
4556extern "C" {
4557 pub fn DrawModelEx(
4558 model: Model,
4559 position: Vector3,
4560 rotationAxis: Vector3,
4561 rotationAngle: f32,
4562 scale: Vector3,
4563 tint: Color,
4564 );
4565}
4566extern "C" {
4567 pub fn DrawModelWires(model: Model, position: Vector3, scale: f32, tint: Color);
4568}
4569extern "C" {
4570 pub fn DrawModelWiresEx(
4571 model: Model,
4572 position: Vector3,
4573 rotationAxis: Vector3,
4574 rotationAngle: f32,
4575 scale: Vector3,
4576 tint: Color,
4577 );
4578}
4579extern "C" {
4580 pub fn DrawBoundingBox(box_: BoundingBox, color: Color);
4581}
4582extern "C" {
4583 pub fn DrawBillboard(
4584 camera: Camera,
4585 texture: Texture2D,
4586 position: Vector3,
4587 size: f32,
4588 tint: Color,
4589 );
4590}
4591extern "C" {
4592 pub fn DrawBillboardRec(
4593 camera: Camera,
4594 texture: Texture2D,
4595 source: Rectangle,
4596 position: Vector3,
4597 size: Vector2,
4598 tint: Color,
4599 );
4600}
4601extern "C" {
4602 pub fn DrawBillboardPro(
4603 camera: Camera,
4604 texture: Texture2D,
4605 source: Rectangle,
4606 position: Vector3,
4607 up: Vector3,
4608 size: Vector2,
4609 origin: Vector2,
4610 rotation: f32,
4611 tint: Color,
4612 );
4613}
4614extern "C" {
4615 pub fn UploadMesh(mesh: *mut Mesh, dynamic: bool);
4616}
4617extern "C" {
4618 pub fn UpdateMeshBuffer(
4619 mesh: Mesh,
4620 index: ::std::os::raw::c_int,
4621 data: *const ::std::os::raw::c_void,
4622 dataSize: ::std::os::raw::c_int,
4623 offset: ::std::os::raw::c_int,
4624 );
4625}
4626extern "C" {
4627 pub fn UnloadMesh(mesh: Mesh);
4628}
4629extern "C" {
4630 pub fn DrawMesh(mesh: Mesh, material: Material, transform: Matrix);
4631}
4632extern "C" {
4633 pub fn DrawMeshInstanced(
4634 mesh: Mesh,
4635 material: Material,
4636 transforms: *const Matrix,
4637 instances: ::std::os::raw::c_int,
4638 );
4639}
4640extern "C" {
4641 pub fn ExportMesh(mesh: Mesh, fileName: *const ::std::os::raw::c_char) -> bool;
4642}
4643extern "C" {
4644 pub fn GetMeshBoundingBox(mesh: Mesh) -> BoundingBox;
4645}
4646extern "C" {
4647 pub fn GenMeshTangents(mesh: *mut Mesh);
4648}
4649extern "C" {
4650 pub fn GenMeshPoly(sides: ::std::os::raw::c_int, radius: f32) -> Mesh;
4651}
4652extern "C" {
4653 pub fn GenMeshPlane(
4654 width: f32,
4655 length: f32,
4656 resX: ::std::os::raw::c_int,
4657 resZ: ::std::os::raw::c_int,
4658 ) -> Mesh;
4659}
4660extern "C" {
4661 pub fn GenMeshCube(width: f32, height: f32, length: f32) -> Mesh;
4662}
4663extern "C" {
4664 pub fn GenMeshSphere(
4665 radius: f32,
4666 rings: ::std::os::raw::c_int,
4667 slices: ::std::os::raw::c_int,
4668 ) -> Mesh;
4669}
4670extern "C" {
4671 pub fn GenMeshHemiSphere(
4672 radius: f32,
4673 rings: ::std::os::raw::c_int,
4674 slices: ::std::os::raw::c_int,
4675 ) -> Mesh;
4676}
4677extern "C" {
4678 pub fn GenMeshCylinder(radius: f32, height: f32, slices: ::std::os::raw::c_int) -> Mesh;
4679}
4680extern "C" {
4681 pub fn GenMeshCone(radius: f32, height: f32, slices: ::std::os::raw::c_int) -> Mesh;
4682}
4683extern "C" {
4684 pub fn GenMeshTorus(
4685 radius: f32,
4686 size: f32,
4687 radSeg: ::std::os::raw::c_int,
4688 sides: ::std::os::raw::c_int,
4689 ) -> Mesh;
4690}
4691extern "C" {
4692 pub fn GenMeshKnot(
4693 radius: f32,
4694 size: f32,
4695 radSeg: ::std::os::raw::c_int,
4696 sides: ::std::os::raw::c_int,
4697 ) -> Mesh;
4698}
4699extern "C" {
4700 pub fn GenMeshHeightmap(heightmap: Image, size: Vector3) -> Mesh;
4701}
4702extern "C" {
4703 pub fn GenMeshCubicmap(cubicmap: Image, cubeSize: Vector3) -> Mesh;
4704}
4705extern "C" {
4706 pub fn LoadMaterials(
4707 fileName: *const ::std::os::raw::c_char,
4708 materialCount: *mut ::std::os::raw::c_int,
4709 ) -> *mut Material;
4710}
4711extern "C" {
4712 pub fn LoadMaterialDefault() -> Material;
4713}
4714extern "C" {
4715 pub fn UnloadMaterial(material: Material);
4716}
4717extern "C" {
4718 pub fn SetMaterialTexture(
4719 material: *mut Material,
4720 mapType: ::std::os::raw::c_int,
4721 texture: Texture2D,
4722 );
4723}
4724extern "C" {
4725 pub fn SetModelMeshMaterial(
4726 model: *mut Model,
4727 meshId: ::std::os::raw::c_int,
4728 materialId: ::std::os::raw::c_int,
4729 );
4730}
4731extern "C" {
4732 pub fn LoadModelAnimations(
4733 fileName: *const ::std::os::raw::c_char,
4734 animCount: *mut ::std::os::raw::c_uint,
4735 ) -> *mut ModelAnimation;
4736}
4737extern "C" {
4738 pub fn UpdateModelAnimation(model: Model, anim: ModelAnimation, frame: ::std::os::raw::c_int);
4739}
4740extern "C" {
4741 pub fn UnloadModelAnimation(anim: ModelAnimation);
4742}
4743extern "C" {
4744 pub fn UnloadModelAnimations(animations: *mut ModelAnimation, count: ::std::os::raw::c_uint);
4745}
4746extern "C" {
4747 pub fn IsModelAnimationValid(model: Model, anim: ModelAnimation) -> bool;
4748}
4749extern "C" {
4750 pub fn CheckCollisionSpheres(
4751 center1: Vector3,
4752 radius1: f32,
4753 center2: Vector3,
4754 radius2: f32,
4755 ) -> bool;
4756}
4757extern "C" {
4758 pub fn CheckCollisionBoxes(box1: BoundingBox, box2: BoundingBox) -> bool;
4759}
4760extern "C" {
4761 pub fn CheckCollisionBoxSphere(box_: BoundingBox, center: Vector3, radius: f32) -> bool;
4762}
4763extern "C" {
4764 pub fn GetRayCollisionSphere(ray: Ray, center: Vector3, radius: f32) -> RayCollision;
4765}
4766extern "C" {
4767 pub fn GetRayCollisionBox(ray: Ray, box_: BoundingBox) -> RayCollision;
4768}
4769extern "C" {
4770 pub fn GetRayCollisionMesh(ray: Ray, mesh: Mesh, transform: Matrix) -> RayCollision;
4771}
4772extern "C" {
4773 pub fn GetRayCollisionTriangle(ray: Ray, p1: Vector3, p2: Vector3, p3: Vector3)
4774 -> RayCollision;
4775}
4776extern "C" {
4777 pub fn GetRayCollisionQuad(
4778 ray: Ray,
4779 p1: Vector3,
4780 p2: Vector3,
4781 p3: Vector3,
4782 p4: Vector3,
4783 ) -> RayCollision;
4784}
4785pub type AudioCallback = ::std::option::Option<
4786 unsafe extern "C" fn(bufferData: *mut ::std::os::raw::c_void, frames: ::std::os::raw::c_uint),
4787>;
4788extern "C" {
4789 pub fn InitAudioDevice();
4790}
4791extern "C" {
4792 pub fn CloseAudioDevice();
4793}
4794extern "C" {
4795 pub fn IsAudioDeviceReady() -> bool;
4796}
4797extern "C" {
4798 pub fn SetMasterVolume(volume: f32);
4799}
4800extern "C" {
4801 pub fn LoadWave(fileName: *const ::std::os::raw::c_char) -> Wave;
4802}
4803extern "C" {
4804 pub fn LoadWaveFromMemory(
4805 fileType: *const ::std::os::raw::c_char,
4806 fileData: *const ::std::os::raw::c_uchar,
4807 dataSize: ::std::os::raw::c_int,
4808 ) -> Wave;
4809}
4810extern "C" {
4811 pub fn LoadSound(fileName: *const ::std::os::raw::c_char) -> Sound;
4812}
4813extern "C" {
4814 pub fn LoadSoundFromWave(wave: Wave) -> Sound;
4815}
4816extern "C" {
4817 pub fn UpdateSound(
4818 sound: Sound,
4819 data: *const ::std::os::raw::c_void,
4820 sampleCount: ::std::os::raw::c_int,
4821 );
4822}
4823extern "C" {
4824 pub fn UnloadWave(wave: Wave);
4825}
4826extern "C" {
4827 pub fn UnloadSound(sound: Sound);
4828}
4829extern "C" {
4830 pub fn ExportWave(wave: Wave, fileName: *const ::std::os::raw::c_char) -> bool;
4831}
4832extern "C" {
4833 pub fn ExportWaveAsCode(wave: Wave, fileName: *const ::std::os::raw::c_char) -> bool;
4834}
4835extern "C" {
4836 pub fn PlaySound(sound: Sound);
4837}
4838extern "C" {
4839 pub fn StopSound(sound: Sound);
4840}
4841extern "C" {
4842 pub fn PauseSound(sound: Sound);
4843}
4844extern "C" {
4845 pub fn ResumeSound(sound: Sound);
4846}
4847extern "C" {
4848 pub fn PlaySoundMulti(sound: Sound);
4849}
4850extern "C" {
4851 pub fn StopSoundMulti();
4852}
4853extern "C" {
4854 pub fn GetSoundsPlaying() -> ::std::os::raw::c_int;
4855}
4856extern "C" {
4857 pub fn IsSoundPlaying(sound: Sound) -> bool;
4858}
4859extern "C" {
4860 pub fn SetSoundVolume(sound: Sound, volume: f32);
4861}
4862extern "C" {
4863 pub fn SetSoundPitch(sound: Sound, pitch: f32);
4864}
4865extern "C" {
4866 pub fn SetSoundPan(sound: Sound, pan: f32);
4867}
4868extern "C" {
4869 pub fn WaveCopy(wave: Wave) -> Wave;
4870}
4871extern "C" {
4872 pub fn WaveCrop(
4873 wave: *mut Wave,
4874 initSample: ::std::os::raw::c_int,
4875 finalSample: ::std::os::raw::c_int,
4876 );
4877}
4878extern "C" {
4879 pub fn WaveFormat(
4880 wave: *mut Wave,
4881 sampleRate: ::std::os::raw::c_int,
4882 sampleSize: ::std::os::raw::c_int,
4883 channels: ::std::os::raw::c_int,
4884 );
4885}
4886extern "C" {
4887 pub fn LoadWaveSamples(wave: Wave) -> *mut f32;
4888}
4889extern "C" {
4890 pub fn UnloadWaveSamples(samples: *mut f32);
4891}
4892extern "C" {
4893 pub fn LoadMusicStream(fileName: *const ::std::os::raw::c_char) -> Music;
4894}
4895extern "C" {
4896 pub fn LoadMusicStreamFromMemory(
4897 fileType: *const ::std::os::raw::c_char,
4898 data: *const ::std::os::raw::c_uchar,
4899 dataSize: ::std::os::raw::c_int,
4900 ) -> Music;
4901}
4902extern "C" {
4903 pub fn UnloadMusicStream(music: Music);
4904}
4905extern "C" {
4906 pub fn PlayMusicStream(music: Music);
4907}
4908extern "C" {
4909 pub fn IsMusicStreamPlaying(music: Music) -> bool;
4910}
4911extern "C" {
4912 pub fn UpdateMusicStream(music: Music);
4913}
4914extern "C" {
4915 pub fn StopMusicStream(music: Music);
4916}
4917extern "C" {
4918 pub fn PauseMusicStream(music: Music);
4919}
4920extern "C" {
4921 pub fn ResumeMusicStream(music: Music);
4922}
4923extern "C" {
4924 pub fn SeekMusicStream(music: Music, position: f32);
4925}
4926extern "C" {
4927 pub fn SetMusicVolume(music: Music, volume: f32);
4928}
4929extern "C" {
4930 pub fn SetMusicPitch(music: Music, pitch: f32);
4931}
4932extern "C" {
4933 pub fn SetMusicPan(music: Music, pan: f32);
4934}
4935extern "C" {
4936 pub fn GetMusicTimeLength(music: Music) -> f32;
4937}
4938extern "C" {
4939 pub fn GetMusicTimePlayed(music: Music) -> f32;
4940}
4941extern "C" {
4942 pub fn LoadAudioStream(
4943 sampleRate: ::std::os::raw::c_uint,
4944 sampleSize: ::std::os::raw::c_uint,
4945 channels: ::std::os::raw::c_uint,
4946 ) -> AudioStream;
4947}
4948extern "C" {
4949 pub fn UnloadAudioStream(stream: AudioStream);
4950}
4951extern "C" {
4952 pub fn UpdateAudioStream(
4953 stream: AudioStream,
4954 data: *const ::std::os::raw::c_void,
4955 frameCount: ::std::os::raw::c_int,
4956 );
4957}
4958extern "C" {
4959 pub fn IsAudioStreamProcessed(stream: AudioStream) -> bool;
4960}
4961extern "C" {
4962 pub fn PlayAudioStream(stream: AudioStream);
4963}
4964extern "C" {
4965 pub fn PauseAudioStream(stream: AudioStream);
4966}
4967extern "C" {
4968 pub fn ResumeAudioStream(stream: AudioStream);
4969}
4970extern "C" {
4971 pub fn IsAudioStreamPlaying(stream: AudioStream) -> bool;
4972}
4973extern "C" {
4974 pub fn StopAudioStream(stream: AudioStream);
4975}
4976extern "C" {
4977 pub fn SetAudioStreamVolume(stream: AudioStream, volume: f32);
4978}
4979extern "C" {
4980 pub fn SetAudioStreamPitch(stream: AudioStream, pitch: f32);
4981}
4982extern "C" {
4983 pub fn SetAudioStreamPan(stream: AudioStream, pan: f32);
4984}
4985extern "C" {
4986 pub fn SetAudioStreamBufferSizeDefault(size: ::std::os::raw::c_int);
4987}
4988extern "C" {
4989 pub fn SetAudioStreamCallback(stream: AudioStream, callback: AudioCallback);
4990}
4991extern "C" {
4992 pub fn AttachAudioStreamProcessor(stream: AudioStream, processor: AudioCallback);
4993}
4994extern "C" {
4995 pub fn DetachAudioStreamProcessor(stream: AudioStream, processor: AudioCallback);
4996}
4997pub type __builtin_va_list = [__va_list_tag; 1usize];
4998#[repr(C)]
4999#[derive(Debug, Copy, Clone)]
5000pub struct __va_list_tag {
5001 pub gp_offset: ::std::os::raw::c_uint,
5002 pub fp_offset: ::std::os::raw::c_uint,
5003 pub overflow_arg_area: *mut ::std::os::raw::c_void,
5004 pub reg_save_area: *mut ::std::os::raw::c_void,
5005}
5006#[test]
5007fn bindgen_test_layout___va_list_tag() {
5008 const UNINIT: ::std::mem::MaybeUninit<__va_list_tag> = ::std::mem::MaybeUninit::uninit();
5009 let ptr = UNINIT.as_ptr();
5010 assert_eq!(
5011 ::std::mem::size_of::<__va_list_tag>(),
5012 24usize,
5013 concat!("Size of: ", stringify!(__va_list_tag))
5014 );
5015 assert_eq!(
5016 ::std::mem::align_of::<__va_list_tag>(),
5017 8usize,
5018 concat!("Alignment of ", stringify!(__va_list_tag))
5019 );
5020 assert_eq!(
5021 unsafe { ::std::ptr::addr_of!((*ptr).gp_offset) as usize - ptr as usize },
5022 0usize,
5023 concat!(
5024 "Offset of field: ",
5025 stringify!(__va_list_tag),
5026 "::",
5027 stringify!(gp_offset)
5028 )
5029 );
5030 assert_eq!(
5031 unsafe { ::std::ptr::addr_of!((*ptr).fp_offset) as usize - ptr as usize },
5032 4usize,
5033 concat!(
5034 "Offset of field: ",
5035 stringify!(__va_list_tag),
5036 "::",
5037 stringify!(fp_offset)
5038 )
5039 );
5040 assert_eq!(
5041 unsafe { ::std::ptr::addr_of!((*ptr).overflow_arg_area) as usize - ptr as usize },
5042 8usize,
5043 concat!(
5044 "Offset of field: ",
5045 stringify!(__va_list_tag),
5046 "::",
5047 stringify!(overflow_arg_area)
5048 )
5049 );
5050 assert_eq!(
5051 unsafe { ::std::ptr::addr_of!((*ptr).reg_save_area) as usize - ptr as usize },
5052 16usize,
5053 concat!(
5054 "Offset of field: ",
5055 stringify!(__va_list_tag),
5056 "::",
5057 stringify!(reg_save_area)
5058 )
5059 );
5060}