leapcpp_sys/
bindings.rs

1/* automatically generated by rust-bindgen 0.59.1 */
2
3pub type std_string = [u64; 4usize];
4#[repr(C)]
5#[repr(align(1))]
6#[derive(Debug, Copy, Clone)]
7pub struct std_forward_iterator_tag {
8    pub _bindgen_opaque_blob: u8,
9}
10#[test]
11fn bindgen_test_layout_std_forward_iterator_tag() {
12    assert_eq!(
13        ::std::mem::size_of::<std_forward_iterator_tag>(),
14        1usize,
15        concat!("Size of: ", stringify!(std_forward_iterator_tag))
16    );
17    assert_eq!(
18        ::std::mem::align_of::<std_forward_iterator_tag>(),
19        1usize,
20        concat!("Alignment of ", stringify!(std_forward_iterator_tag))
21    );
22}
23pub type __int32_t = ::std::os::raw::c_int;
24pub type __int64_t = ::std::os::raw::c_long;
25pub type size_t = ::std::os::raw::c_ulong;
26pub const Leap_PI: f32 = 3.1415927410125732;
27pub const Leap_DEG_TO_RAD: f32 = 0.01745329238474369;
28pub const Leap_RAD_TO_DEG: f32 = 57.295780181884766;
29pub const Leap_EPSILON: f32 = 0.00000011920928955078125;
30#[repr(C)]
31#[derive(Debug, Copy, Clone)]
32pub struct Leap_Vector {
33    pub x: f32,
34    pub y: f32,
35    pub z: f32,
36}
37#[test]
38fn bindgen_test_layout_Leap_Vector() {
39    assert_eq!(
40        ::std::mem::size_of::<Leap_Vector>(),
41        12usize,
42        concat!("Size of: ", stringify!(Leap_Vector))
43    );
44    assert_eq!(
45        ::std::mem::align_of::<Leap_Vector>(),
46        4usize,
47        concat!("Alignment of ", stringify!(Leap_Vector))
48    );
49    assert_eq!(
50        unsafe { &(*(::std::ptr::null::<Leap_Vector>())).x as *const _ as usize },
51        0usize,
52        concat!(
53            "Offset of field: ",
54            stringify!(Leap_Vector),
55            "::",
56            stringify!(x)
57        )
58    );
59    assert_eq!(
60        unsafe { &(*(::std::ptr::null::<Leap_Vector>())).y as *const _ as usize },
61        4usize,
62        concat!(
63            "Offset of field: ",
64            stringify!(Leap_Vector),
65            "::",
66            stringify!(y)
67        )
68    );
69    assert_eq!(
70        unsafe { &(*(::std::ptr::null::<Leap_Vector>())).z as *const _ as usize },
71        8usize,
72        concat!(
73            "Offset of field: ",
74            stringify!(Leap_Vector),
75            "::",
76            stringify!(z)
77        )
78    );
79}
80#[repr(C)]
81#[derive(Debug, Copy, Clone)]
82pub struct Leap_FloatArray {
83    pub m_array: [f32; 16usize],
84}
85#[test]
86fn bindgen_test_layout_Leap_FloatArray() {
87    assert_eq!(
88        ::std::mem::size_of::<Leap_FloatArray>(),
89        64usize,
90        concat!("Size of: ", stringify!(Leap_FloatArray))
91    );
92    assert_eq!(
93        ::std::mem::align_of::<Leap_FloatArray>(),
94        4usize,
95        concat!("Alignment of ", stringify!(Leap_FloatArray))
96    );
97    assert_eq!(
98        unsafe { &(*(::std::ptr::null::<Leap_FloatArray>())).m_array as *const _ as usize },
99        0usize,
100        concat!(
101            "Offset of field: ",
102            stringify!(Leap_FloatArray),
103            "::",
104            stringify!(m_array)
105        )
106    );
107}
108#[repr(C)]
109#[derive(Debug, Copy, Clone)]
110pub struct Leap_Matrix {
111    pub xBasis: Leap_Vector,
112    pub yBasis: Leap_Vector,
113    pub zBasis: Leap_Vector,
114    pub origin: Leap_Vector,
115}
116#[test]
117fn bindgen_test_layout_Leap_Matrix() {
118    assert_eq!(
119        ::std::mem::size_of::<Leap_Matrix>(),
120        48usize,
121        concat!("Size of: ", stringify!(Leap_Matrix))
122    );
123    assert_eq!(
124        ::std::mem::align_of::<Leap_Matrix>(),
125        4usize,
126        concat!("Alignment of ", stringify!(Leap_Matrix))
127    );
128    assert_eq!(
129        unsafe { &(*(::std::ptr::null::<Leap_Matrix>())).xBasis as *const _ as usize },
130        0usize,
131        concat!(
132            "Offset of field: ",
133            stringify!(Leap_Matrix),
134            "::",
135            stringify!(xBasis)
136        )
137    );
138    assert_eq!(
139        unsafe { &(*(::std::ptr::null::<Leap_Matrix>())).yBasis as *const _ as usize },
140        12usize,
141        concat!(
142            "Offset of field: ",
143            stringify!(Leap_Matrix),
144            "::",
145            stringify!(yBasis)
146        )
147    );
148    assert_eq!(
149        unsafe { &(*(::std::ptr::null::<Leap_Matrix>())).zBasis as *const _ as usize },
150        24usize,
151        concat!(
152            "Offset of field: ",
153            stringify!(Leap_Matrix),
154            "::",
155            stringify!(zBasis)
156        )
157    );
158    assert_eq!(
159        unsafe { &(*(::std::ptr::null::<Leap_Matrix>())).origin as *const _ as usize },
160        36usize,
161        concat!(
162            "Offset of field: ",
163            stringify!(Leap_Matrix),
164            "::",
165            stringify!(origin)
166        )
167    );
168}
169#[repr(C)]
170pub struct Leap_Interface__bindgen_vtable(::std::os::raw::c_void);
171#[repr(C)]
172#[derive(Debug)]
173pub struct Leap_Interface {
174    pub vtable_: *const Leap_Interface__bindgen_vtable,
175    pub m_object: *mut SharedObject,
176}
177#[repr(C)]
178pub struct Leap_Interface_Implementation__bindgen_vtable(::std::os::raw::c_void);
179#[repr(C)]
180#[derive(Debug)]
181pub struct Leap_Interface_Implementation {
182    pub vtable_: *const Leap_Interface_Implementation__bindgen_vtable,
183}
184#[test]
185fn bindgen_test_layout_Leap_Interface_Implementation() {
186    assert_eq!(
187        ::std::mem::size_of::<Leap_Interface_Implementation>(),
188        8usize,
189        concat!("Size of: ", stringify!(Leap_Interface_Implementation))
190    );
191    assert_eq!(
192        ::std::mem::align_of::<Leap_Interface_Implementation>(),
193        8usize,
194        concat!("Alignment of ", stringify!(Leap_Interface_Implementation))
195    );
196}
197#[test]
198fn bindgen_test_layout_Leap_Interface() {
199    assert_eq!(
200        ::std::mem::size_of::<Leap_Interface>(),
201        16usize,
202        concat!("Size of: ", stringify!(Leap_Interface))
203    );
204    assert_eq!(
205        ::std::mem::align_of::<Leap_Interface>(),
206        8usize,
207        concat!("Alignment of ", stringify!(Leap_Interface))
208    );
209    assert_eq!(
210        unsafe { &(*(::std::ptr::null::<Leap_Interface>())).m_object as *const _ as usize },
211        8usize,
212        concat!(
213            "Offset of field: ",
214            stringify!(Leap_Interface),
215            "::",
216            stringify!(m_object)
217        )
218    );
219}
220extern "C" {
221    #[link_name = "\u{1}_ZN4Leap9Interface13deleteCStringEPKc"]
222    pub fn Leap_Interface_deleteCString(cstr: *const ::std::os::raw::c_char);
223}
224extern "C" {
225    #[link_name = "\u{1}_ZN4Leap9InterfaceC1EPv"]
226    pub fn Leap_Interface_Interface(this: *mut Leap_Interface, owner: *mut ::std::os::raw::c_void);
227}
228extern "C" {
229    #[link_name = "\u{1}_ZN4Leap9InterfaceC1EPNS0_14ImplementationEPv"]
230    pub fn Leap_Interface_Interface1(
231        this: *mut Leap_Interface,
232        reference: *mut Leap_Interface_Implementation,
233        owner: *mut ::std::os::raw::c_void,
234    );
235}
236extern "C" {
237    #[link_name = "\u{1}_ZN4Leap9InterfaceC1ERKS0_"]
238    pub fn Leap_Interface_Interface2(this: *mut Leap_Interface, rhs: *const Leap_Interface);
239}
240extern "C" {
241    #[link_name = "\u{1}_ZN4Leap9InterfaceC1EPNS_12SharedObjectE"]
242    pub fn Leap_Interface_Interface3(this: *mut Leap_Interface, object: *mut SharedObject);
243}
244impl Leap_Interface {
245    #[inline]
246    pub unsafe fn deleteCString(cstr: *const ::std::os::raw::c_char) {
247        Leap_Interface_deleteCString(cstr)
248    }
249    #[inline]
250    pub unsafe fn new(owner: *mut ::std::os::raw::c_void) -> Self {
251        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
252        Leap_Interface_Interface(__bindgen_tmp.as_mut_ptr(), owner);
253        __bindgen_tmp.assume_init()
254    }
255    #[inline]
256    pub unsafe fn new1(
257        reference: *mut Leap_Interface_Implementation,
258        owner: *mut ::std::os::raw::c_void,
259    ) -> Self {
260        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
261        Leap_Interface_Interface1(__bindgen_tmp.as_mut_ptr(), reference, owner);
262        __bindgen_tmp.assume_init()
263    }
264    #[inline]
265    pub unsafe fn new2(rhs: *const Leap_Interface) -> Self {
266        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
267        Leap_Interface_Interface2(__bindgen_tmp.as_mut_ptr(), rhs);
268        __bindgen_tmp.assume_init()
269    }
270    #[inline]
271    pub unsafe fn new3(object: *mut SharedObject) -> Self {
272        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
273        Leap_Interface_Interface3(__bindgen_tmp.as_mut_ptr(), object);
274        __bindgen_tmp.assume_init()
275    }
276}
277extern "C" {
278    #[link_name = "\u{1}_ZN4Leap9InterfaceD1Ev"]
279    pub fn Leap_Interface_Interface_destructor(this: *mut Leap_Interface);
280}
281#[repr(C)]
282#[derive(Debug, Copy, Clone)]
283pub struct Leap_PointableImplementation {
284    _unused: [u8; 0],
285}
286#[repr(C)]
287#[derive(Debug, Copy, Clone)]
288pub struct Leap_BoneImplementation {
289    _unused: [u8; 0],
290}
291#[repr(C)]
292#[derive(Debug, Copy, Clone)]
293pub struct Leap_FingerImplementation {
294    _unused: [u8; 0],
295}
296#[repr(C)]
297#[derive(Debug, Copy, Clone)]
298pub struct Leap_ToolImplementation {
299    _unused: [u8; 0],
300}
301#[repr(C)]
302#[derive(Debug, Copy, Clone)]
303pub struct Leap_HandImplementation {
304    _unused: [u8; 0],
305}
306#[repr(C)]
307#[derive(Debug, Copy, Clone)]
308pub struct Leap_GestureImplementation {
309    _unused: [u8; 0],
310}
311#[repr(C)]
312#[derive(Debug, Copy, Clone)]
313pub struct Leap_ScreenImplementation {
314    _unused: [u8; 0],
315}
316#[repr(C)]
317#[derive(Debug, Copy, Clone)]
318pub struct Leap_DeviceImplementation {
319    _unused: [u8; 0],
320}
321#[repr(C)]
322#[derive(Debug, Copy, Clone)]
323pub struct Leap_ImageImplementation {
324    _unused: [u8; 0],
325}
326#[repr(C)]
327#[derive(Debug, Copy, Clone)]
328pub struct Leap_InteractionBoxImplementation {
329    _unused: [u8; 0],
330}
331#[repr(C)]
332#[derive(Debug, Copy, Clone)]
333pub struct Leap_BugReportImplementation {
334    _unused: [u8; 0],
335}
336#[repr(C)]
337#[derive(Debug, Copy, Clone)]
338pub struct Leap_FrameImplementation {
339    _unused: [u8; 0],
340}
341#[repr(C)]
342#[derive(Debug, Copy, Clone)]
343pub struct Leap_ControllerImplementation {
344    _unused: [u8; 0],
345}
346#[repr(C)]
347#[derive(Debug, Copy, Clone)]
348pub struct Leap_MaskImplementation {
349    _unused: [u8; 0],
350}
351#[repr(C)]
352#[derive(Debug, Copy, Clone)]
353pub struct Leap_TrackedQuadImplementation {
354    _unused: [u8; 0],
355}
356#[repr(C)]
357#[derive(Debug, Copy, Clone)]
358pub struct Leap_ListBaseImplementation {
359    pub _address: u8,
360}
361#[repr(C)]
362#[derive(Debug)]
363pub struct Leap_Pointable {
364    pub _base: Leap_Interface,
365}
366pub const Leap_Pointable_Zone_ZONE_NONE: Leap_Pointable_Zone = 0;
367pub const Leap_Pointable_Zone_ZONE_HOVERING: Leap_Pointable_Zone = 1;
368pub const Leap_Pointable_Zone_ZONE_TOUCHING: Leap_Pointable_Zone = 2;
369pub type Leap_Pointable_Zone = ::std::os::raw::c_uint;
370#[test]
371fn bindgen_test_layout_Leap_Pointable() {
372    assert_eq!(
373        ::std::mem::size_of::<Leap_Pointable>(),
374        16usize,
375        concat!("Size of: ", stringify!(Leap_Pointable))
376    );
377    assert_eq!(
378        ::std::mem::align_of::<Leap_Pointable>(),
379        8usize,
380        concat!("Alignment of ", stringify!(Leap_Pointable))
381    );
382}
383extern "C" {
384    #[link_name = "\u{1}_ZNK4Leap9Pointable2idEv"]
385    pub fn Leap_Pointable_id(this: *const Leap_Pointable) -> i32;
386}
387extern "C" {
388    #[link_name = "\u{1}_ZNK4Leap9Pointable5frameEv"]
389    pub fn Leap_Pointable_frame(out: *mut Leap_Frame, this: *const Leap_Pointable);
390}
391extern "C" {
392    #[link_name = "\u{1}_ZNK4Leap9Pointable4handEv"]
393    pub fn Leap_Pointable_hand(out: *mut Leap_Hand, this: *const Leap_Pointable);
394}
395extern "C" {
396    #[link_name = "\u{1}_ZNK4Leap9Pointable11tipPositionEv"]
397    pub fn Leap_Pointable_tipPosition(this: *const Leap_Pointable) -> Leap_Vector;
398}
399extern "C" {
400    #[link_name = "\u{1}_ZNK4Leap9Pointable11tipVelocityEv"]
401    pub fn Leap_Pointable_tipVelocity(this: *const Leap_Pointable) -> Leap_Vector;
402}
403extern "C" {
404    #[link_name = "\u{1}_ZNK4Leap9Pointable9directionEv"]
405    pub fn Leap_Pointable_direction(this: *const Leap_Pointable) -> Leap_Vector;
406}
407extern "C" {
408    #[link_name = "\u{1}_ZNK4Leap9Pointable5widthEv"]
409    pub fn Leap_Pointable_width(this: *const Leap_Pointable) -> f32;
410}
411extern "C" {
412    #[link_name = "\u{1}_ZNK4Leap9Pointable6lengthEv"]
413    pub fn Leap_Pointable_length(this: *const Leap_Pointable) -> f32;
414}
415extern "C" {
416    #[link_name = "\u{1}_ZNK4Leap9Pointable8isFingerEv"]
417    pub fn Leap_Pointable_isFinger(this: *const Leap_Pointable) -> bool;
418}
419extern "C" {
420    #[link_name = "\u{1}_ZNK4Leap9Pointable6isToolEv"]
421    pub fn Leap_Pointable_isTool(this: *const Leap_Pointable) -> bool;
422}
423extern "C" {
424    #[link_name = "\u{1}_ZNK4Leap9Pointable10isExtendedEv"]
425    pub fn Leap_Pointable_isExtended(this: *const Leap_Pointable) -> bool;
426}
427extern "C" {
428    #[link_name = "\u{1}_ZNK4Leap9Pointable7isValidEv"]
429    pub fn Leap_Pointable_isValid(this: *const Leap_Pointable) -> bool;
430}
431extern "C" {
432    #[link_name = "\u{1}_ZNK4Leap9Pointable9touchZoneEv"]
433    pub fn Leap_Pointable_touchZone(this: *const Leap_Pointable) -> Leap_Pointable_Zone;
434}
435extern "C" {
436    #[link_name = "\u{1}_ZNK4Leap9Pointable13touchDistanceEv"]
437    pub fn Leap_Pointable_touchDistance(this: *const Leap_Pointable) -> f32;
438}
439extern "C" {
440    #[link_name = "\u{1}_ZNK4Leap9Pointable21stabilizedTipPositionEv"]
441    pub fn Leap_Pointable_stabilizedTipPosition(this: *const Leap_Pointable) -> Leap_Vector;
442}
443extern "C" {
444    #[link_name = "\u{1}_ZNK4Leap9Pointable11timeVisibleEv"]
445    pub fn Leap_Pointable_timeVisible(this: *const Leap_Pointable) -> f32;
446}
447extern "C" {
448    #[link_name = "\u{1}_ZN4Leap9Pointable7invalidEv"]
449    pub fn Leap_Pointable_invalid() -> *const Leap_Pointable;
450}
451extern "C" {
452    #[link_name = "\u{1}_ZN4Leap9PointableC1EPNS_23PointableImplementationE"]
453    pub fn Leap_Pointable_Pointable(
454        this: *mut Leap_Pointable,
455        arg1: *mut Leap_PointableImplementation,
456    );
457}
458extern "C" {
459    #[link_name = "\u{1}_ZN4Leap9PointableC1EPNS_20FingerImplementationE"]
460    pub fn Leap_Pointable_Pointable1(
461        this: *mut Leap_Pointable,
462        arg1: *mut Leap_FingerImplementation,
463    );
464}
465extern "C" {
466    #[link_name = "\u{1}_ZN4Leap9PointableC1EPNS_18ToolImplementationE"]
467    pub fn Leap_Pointable_Pointable2(this: *mut Leap_Pointable, arg1: *mut Leap_ToolImplementation);
468}
469extern "C" {
470    #[link_name = "\u{1}_ZN4Leap9PointableC1Ev"]
471    pub fn Leap_Pointable_Pointable3(this: *mut Leap_Pointable);
472}
473/*impl Leap_Pointable {
474    #[inline]
475    pub unsafe fn id(&self) -> i32 {
476        Leap_Pointable_id(self)
477    }
478    #[inline]
479    pub unsafe fn frame(&self) -> Leap_Frame {
480        Leap_Pointable_frame(self)
481    }
482    #[inline]
483    pub unsafe fn hand(&self) -> Leap_Hand {
484        Leap_Pointable_hand(self)
485    }
486    #[inline]
487    pub unsafe fn tipPosition(&self) -> Leap_Vector {
488        Leap_Pointable_tipPosition(self)
489    }
490    #[inline]
491    pub unsafe fn tipVelocity(&self) -> Leap_Vector {
492        Leap_Pointable_tipVelocity(self)
493    }
494    #[inline]
495    pub unsafe fn direction(&self) -> Leap_Vector {
496        Leap_Pointable_direction(self)
497    }
498    #[inline]
499    pub unsafe fn width(&self) -> f32 {
500        Leap_Pointable_width(self)
501    }
502    #[inline]
503    pub unsafe fn length(&self) -> f32 {
504        Leap_Pointable_length(self)
505    }
506    #[inline]
507    pub unsafe fn isFinger(&self) -> bool {
508        Leap_Pointable_isFinger(self)
509    }
510    #[inline]
511    pub unsafe fn isTool(&self) -> bool {
512        Leap_Pointable_isTool(self)
513    }
514    #[inline]
515    pub unsafe fn isExtended(&self) -> bool {
516        Leap_Pointable_isExtended(self)
517    }
518    #[inline]
519    pub unsafe fn isValid(&self) -> bool {
520        Leap_Pointable_isValid(self)
521    }
522    #[inline]
523    pub unsafe fn touchZone(&self) -> Leap_Pointable_Zone {
524        Leap_Pointable_touchZone(self)
525    }
526    #[inline]
527    pub unsafe fn touchDistance(&self) -> f32 {
528        Leap_Pointable_touchDistance(self)
529    }
530    #[inline]
531    pub unsafe fn stabilizedTipPosition(&self) -> Leap_Vector {
532        Leap_Pointable_stabilizedTipPosition(self)
533    }
534    #[inline]
535    pub unsafe fn timeVisible(&self) -> f32 {
536        Leap_Pointable_timeVisible(self)
537    }
538    #[inline]
539    pub unsafe fn invalid() -> *const Leap_Pointable {
540        Leap_Pointable_invalid()
541    }
542    #[inline]
543    pub unsafe fn new(arg1: *mut Leap_PointableImplementation) -> Self {
544        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
545        Leap_Pointable_Pointable(__bindgen_tmp.as_mut_ptr(), arg1);
546        __bindgen_tmp.assume_init()
547    }
548    #[inline]
549    pub unsafe fn new1(arg1: *mut Leap_FingerImplementation) -> Self {
550        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
551        Leap_Pointable_Pointable1(__bindgen_tmp.as_mut_ptr(), arg1);
552        __bindgen_tmp.assume_init()
553    }
554    #[inline]
555    pub unsafe fn new2(arg1: *mut Leap_ToolImplementation) -> Self {
556        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
557        Leap_Pointable_Pointable2(__bindgen_tmp.as_mut_ptr(), arg1);
558        __bindgen_tmp.assume_init()
559    }
560    #[inline]
561    pub unsafe fn new3() -> Self {
562        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
563        Leap_Pointable_Pointable3(__bindgen_tmp.as_mut_ptr());
564        __bindgen_tmp.assume_init()
565    }
566}*/
567#[repr(C)]
568#[derive(Debug)]
569pub struct Leap_Arm {
570    pub _base: Leap_Interface,
571}
572#[test]
573fn bindgen_test_layout_Leap_Arm() {
574    assert_eq!(
575        ::std::mem::size_of::<Leap_Arm>(),
576        16usize,
577        concat!("Size of: ", stringify!(Leap_Arm))
578    );
579    assert_eq!(
580        ::std::mem::align_of::<Leap_Arm>(),
581        8usize,
582        concat!("Alignment of ", stringify!(Leap_Arm))
583    );
584}
585extern "C" {
586    #[link_name = "\u{1}_ZNK4Leap3Arm5widthEv"]
587    pub fn Leap_Arm_width(this: *const Leap_Arm) -> f32;
588}
589extern "C" {
590    #[link_name = "\u{1}_ZNK4Leap3Arm9directionEv"]
591    pub fn Leap_Arm_direction(this: *const Leap_Arm) -> Leap_Vector;
592}
593extern "C" {
594    #[link_name = "\u{1}_ZNK4Leap3Arm5basisEv"]
595    pub fn Leap_Arm_basis(this: *const Leap_Arm) -> Leap_Matrix;
596}
597extern "C" {
598    #[link_name = "\u{1}_ZNK4Leap3Arm13elbowPositionEv"]
599    pub fn Leap_Arm_elbowPosition(this: *const Leap_Arm) -> Leap_Vector;
600}
601extern "C" {
602    #[link_name = "\u{1}_ZNK4Leap3Arm13wristPositionEv"]
603    pub fn Leap_Arm_wristPosition(this: *const Leap_Arm) -> Leap_Vector;
604}
605extern "C" {
606    #[link_name = "\u{1}_ZNK4Leap3Arm6centerEv"]
607    pub fn Leap_Arm_center(this: *const Leap_Arm) -> Leap_Vector;
608}
609extern "C" {
610    #[link_name = "\u{1}_ZNK4Leap3Arm7isValidEv"]
611    pub fn Leap_Arm_isValid(this: *const Leap_Arm) -> bool;
612}
613extern "C" {
614    #[link_name = "\u{1}_ZN4Leap3Arm7invalidEv"]
615    pub fn Leap_Arm_invalid() -> *const Leap_Arm;
616}
617extern "C" {
618    #[link_name = "\u{1}_ZN4Leap3ArmC1EPNS_18HandImplementationE"]
619    pub fn Leap_Arm_Arm(this: *mut Leap_Arm, arg1: *mut Leap_HandImplementation);
620}
621extern "C" {
622    #[link_name = "\u{1}_ZN4Leap3ArmC1Ev"]
623    pub fn Leap_Arm_Arm1(this: *mut Leap_Arm);
624}
625impl Leap_Arm {
626    #[inline]
627    pub unsafe fn width(&self) -> f32 {
628        Leap_Arm_width(self)
629    }
630    #[inline]
631    pub unsafe fn direction(&self) -> Leap_Vector {
632        Leap_Arm_direction(self)
633    }
634    #[inline]
635    pub unsafe fn basis(&self) -> Leap_Matrix {
636        Leap_Arm_basis(self)
637    }
638    #[inline]
639    pub unsafe fn elbowPosition(&self) -> Leap_Vector {
640        Leap_Arm_elbowPosition(self)
641    }
642    #[inline]
643    pub unsafe fn wristPosition(&self) -> Leap_Vector {
644        Leap_Arm_wristPosition(self)
645    }
646    #[inline]
647    pub unsafe fn center(&self) -> Leap_Vector {
648        Leap_Arm_center(self)
649    }
650    #[inline]
651    pub unsafe fn isValid(&self) -> bool {
652        Leap_Arm_isValid(self)
653    }
654    #[inline]
655    pub unsafe fn invalid() -> *const Leap_Arm {
656        Leap_Arm_invalid()
657    }
658    #[inline]
659    pub unsafe fn new(arg1: *mut Leap_HandImplementation) -> Self {
660        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
661        Leap_Arm_Arm(__bindgen_tmp.as_mut_ptr(), arg1);
662        __bindgen_tmp.assume_init()
663    }
664    #[inline]
665    pub unsafe fn new1() -> Self {
666        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
667        Leap_Arm_Arm1(__bindgen_tmp.as_mut_ptr());
668        __bindgen_tmp.assume_init()
669    }
670}
671#[repr(C)]
672#[derive(Debug)]
673pub struct Leap_Bone {
674    pub _base: Leap_Interface,
675}
676pub const Leap_Bone_Type_TYPE_METACARPAL: Leap_Bone_Type = 0;
677pub const Leap_Bone_Type_TYPE_PROXIMAL: Leap_Bone_Type = 1;
678pub const Leap_Bone_Type_TYPE_INTERMEDIATE: Leap_Bone_Type = 2;
679pub const Leap_Bone_Type_TYPE_DISTAL: Leap_Bone_Type = 3;
680pub type Leap_Bone_Type = ::std::os::raw::c_uint;
681#[test]
682fn bindgen_test_layout_Leap_Bone() {
683    assert_eq!(
684        ::std::mem::size_of::<Leap_Bone>(),
685        16usize,
686        concat!("Size of: ", stringify!(Leap_Bone))
687    );
688    assert_eq!(
689        ::std::mem::align_of::<Leap_Bone>(),
690        8usize,
691        concat!("Alignment of ", stringify!(Leap_Bone))
692    );
693}
694extern "C" {
695    #[link_name = "\u{1}_ZNK4Leap4Bone9prevJointEv"]
696    pub fn Leap_Bone_prevJoint(this: *const Leap_Bone) -> Leap_Vector;
697}
698extern "C" {
699    #[link_name = "\u{1}_ZNK4Leap4Bone9nextJointEv"]
700    pub fn Leap_Bone_nextJoint(this: *const Leap_Bone) -> Leap_Vector;
701}
702extern "C" {
703    #[link_name = "\u{1}_ZNK4Leap4Bone6centerEv"]
704    pub fn Leap_Bone_center(this: *const Leap_Bone) -> Leap_Vector;
705}
706extern "C" {
707    #[link_name = "\u{1}_ZNK4Leap4Bone9directionEv"]
708    pub fn Leap_Bone_direction(this: *const Leap_Bone) -> Leap_Vector;
709}
710extern "C" {
711    #[link_name = "\u{1}_ZNK4Leap4Bone6lengthEv"]
712    pub fn Leap_Bone_length(this: *const Leap_Bone) -> f32;
713}
714extern "C" {
715    #[link_name = "\u{1}_ZNK4Leap4Bone5widthEv"]
716    pub fn Leap_Bone_width(this: *const Leap_Bone) -> f32;
717}
718extern "C" {
719    #[link_name = "\u{1}_ZNK4Leap4Bone4typeEv"]
720    pub fn Leap_Bone_type(this: *const Leap_Bone) -> Leap_Bone_Type;
721}
722extern "C" {
723    #[link_name = "\u{1}_ZNK4Leap4Bone5basisEv"]
724    pub fn Leap_Bone_basis(this: *const Leap_Bone) -> Leap_Matrix;
725}
726extern "C" {
727    #[link_name = "\u{1}_ZNK4Leap4Bone7isValidEv"]
728    pub fn Leap_Bone_isValid(this: *const Leap_Bone) -> bool;
729}
730extern "C" {
731    #[link_name = "\u{1}_ZN4Leap4Bone7invalidEv"]
732    pub fn Leap_Bone_invalid() -> *const Leap_Bone;
733}
734extern "C" {
735    #[link_name = "\u{1}_ZN4Leap4BoneC1EPNS_18BoneImplementationE"]
736    pub fn Leap_Bone_Bone(this: *mut Leap_Bone, arg1: *mut Leap_BoneImplementation);
737}
738extern "C" {
739    #[link_name = "\u{1}_ZN4Leap4BoneC1Ev"]
740    pub fn Leap_Bone_Bone1(this: *mut Leap_Bone);
741}
742impl Leap_Bone {
743    #[inline]
744    pub unsafe fn prevJoint(&self) -> Leap_Vector {
745        Leap_Bone_prevJoint(self)
746    }
747    #[inline]
748    pub unsafe fn nextJoint(&self) -> Leap_Vector {
749        Leap_Bone_nextJoint(self)
750    }
751    #[inline]
752    pub unsafe fn center(&self) -> Leap_Vector {
753        Leap_Bone_center(self)
754    }
755    #[inline]
756    pub unsafe fn direction(&self) -> Leap_Vector {
757        Leap_Bone_direction(self)
758    }
759    #[inline]
760    pub unsafe fn length(&self) -> f32 {
761        Leap_Bone_length(self)
762    }
763    #[inline]
764    pub unsafe fn width(&self) -> f32 {
765        Leap_Bone_width(self)
766    }
767    #[inline]
768    pub unsafe fn type_(&self) -> Leap_Bone_Type {
769        Leap_Bone_type(self)
770    }
771    #[inline]
772    pub unsafe fn basis(&self) -> Leap_Matrix {
773        Leap_Bone_basis(self)
774    }
775    #[inline]
776    pub unsafe fn isValid(&self) -> bool {
777        Leap_Bone_isValid(self)
778    }
779    #[inline]
780    pub unsafe fn invalid() -> *const Leap_Bone {
781        Leap_Bone_invalid()
782    }
783    #[inline]
784    pub unsafe fn new(arg1: *mut Leap_BoneImplementation) -> Self {
785        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
786        Leap_Bone_Bone(__bindgen_tmp.as_mut_ptr(), arg1);
787        __bindgen_tmp.assume_init()
788    }
789    #[inline]
790    pub unsafe fn new1() -> Self {
791        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
792        Leap_Bone_Bone1(__bindgen_tmp.as_mut_ptr());
793        __bindgen_tmp.assume_init()
794    }
795}
796#[repr(C)]
797#[derive(Debug)]
798pub struct Leap_Finger {
799    pub _base: Leap_Pointable,
800}
801pub const Leap_Finger_Joint_JOINT_MCP: Leap_Finger_Joint = 0;
802pub const Leap_Finger_Joint_JOINT_PIP: Leap_Finger_Joint = 1;
803pub const Leap_Finger_Joint_JOINT_DIP: Leap_Finger_Joint = 2;
804pub const Leap_Finger_Joint_JOINT_TIP: Leap_Finger_Joint = 3;
805pub type Leap_Finger_Joint = ::std::os::raw::c_uint;
806pub const Leap_Finger_Type_TYPE_THUMB: Leap_Finger_Type = 0;
807pub const Leap_Finger_Type_TYPE_INDEX: Leap_Finger_Type = 1;
808pub const Leap_Finger_Type_TYPE_MIDDLE: Leap_Finger_Type = 2;
809pub const Leap_Finger_Type_TYPE_RING: Leap_Finger_Type = 3;
810pub const Leap_Finger_Type_TYPE_PINKY: Leap_Finger_Type = 4;
811pub type Leap_Finger_Type = ::std::os::raw::c_uint;
812#[test]
813fn bindgen_test_layout_Leap_Finger() {
814    assert_eq!(
815        ::std::mem::size_of::<Leap_Finger>(),
816        16usize,
817        concat!("Size of: ", stringify!(Leap_Finger))
818    );
819    assert_eq!(
820        ::std::mem::align_of::<Leap_Finger>(),
821        8usize,
822        concat!("Alignment of ", stringify!(Leap_Finger))
823    );
824}
825extern "C" {
826    #[link_name = "\u{1}_ZNK4Leap6Finger13jointPositionENS0_5JointE"]
827    pub fn Leap_Finger_jointPosition(
828        this: *const Leap_Finger,
829        jointIx: Leap_Finger_Joint,
830    ) -> Leap_Vector;
831}
832extern "C" {
833    #[link_name = "\u{1}_ZNK4Leap6Finger4boneENS_4Bone4TypeE"]
834    pub fn Leap_Finger_bone(out: *mut Leap_Bone, this: *const Leap_Finger, boneIx: Leap_Bone_Type);
835}
836extern "C" {
837    #[link_name = "\u{1}_ZNK4Leap6Finger4typeEv"]
838    pub fn Leap_Finger_type(this: *const Leap_Finger) -> Leap_Finger_Type;
839}
840extern "C" {
841    #[link_name = "\u{1}_ZN4Leap6Finger7invalidEv"]
842    pub fn Leap_Finger_invalid() -> *const Leap_Finger;
843}
844extern "C" {
845    #[link_name = "\u{1}_ZN4Leap6FingerC1EPNS_20FingerImplementationE"]
846    pub fn Leap_Finger_Finger(this: *mut Leap_Finger, arg1: *mut Leap_FingerImplementation);
847}
848extern "C" {
849    #[link_name = "\u{1}_ZN4Leap6FingerC1Ev"]
850    pub fn Leap_Finger_Finger1(this: *mut Leap_Finger);
851}
852extern "C" {
853    #[link_name = "\u{1}_ZN4Leap6FingerC1ERKNS_9PointableE"]
854    pub fn Leap_Finger_Finger2(this: *mut Leap_Finger, arg1: *const Leap_Pointable);
855}
856/*impl Leap_Finger {
857    #[inline]
858    pub unsafe fn jointPosition(&self, jointIx: Leap_Finger_Joint) -> Leap_Vector {
859        Leap_Finger_jointPosition(self, jointIx)
860    }
861    #[inline]
862    pub unsafe fn bone(&self, boneIx: Leap_Bone_Type) -> Leap_Bone {
863        Leap_Finger_bone(self, boneIx)
864    }
865    #[inline]
866    pub unsafe fn type_(&self) -> Leap_Finger_Type {
867        Leap_Finger_type(self)
868    }
869    #[inline]
870    pub unsafe fn invalid() -> *const Leap_Finger {
871        Leap_Finger_invalid()
872    }
873    #[inline]
874    pub unsafe fn new(arg1: *mut Leap_FingerImplementation) -> Self {
875        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
876        Leap_Finger_Finger(__bindgen_tmp.as_mut_ptr(), arg1);
877        __bindgen_tmp.assume_init()
878    }
879    #[inline]
880    pub unsafe fn new1() -> Self {
881        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
882        Leap_Finger_Finger1(__bindgen_tmp.as_mut_ptr());
883        __bindgen_tmp.assume_init()
884    }
885    #[inline]
886    pub unsafe fn new2(arg1: *const Leap_Pointable) -> Self {
887        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
888        Leap_Finger_Finger2(__bindgen_tmp.as_mut_ptr(), arg1);
889        __bindgen_tmp.assume_init()
890    }
891}*/
892#[repr(C)]
893#[derive(Debug)]
894pub struct Leap_Tool {
895    pub _base: Leap_Pointable,
896}
897#[test]
898fn bindgen_test_layout_Leap_Tool() {
899    assert_eq!(
900        ::std::mem::size_of::<Leap_Tool>(),
901        16usize,
902        concat!("Size of: ", stringify!(Leap_Tool))
903    );
904    assert_eq!(
905        ::std::mem::align_of::<Leap_Tool>(),
906        8usize,
907        concat!("Alignment of ", stringify!(Leap_Tool))
908    );
909}
910extern "C" {
911    #[link_name = "\u{1}_ZN4Leap4Tool7invalidEv"]
912    pub fn Leap_Tool_invalid() -> *const Leap_Tool;
913}
914extern "C" {
915    #[link_name = "\u{1}_ZN4Leap4ToolC1EPNS_18ToolImplementationE"]
916    pub fn Leap_Tool_Tool(this: *mut Leap_Tool, arg1: *mut Leap_ToolImplementation);
917}
918extern "C" {
919    #[link_name = "\u{1}_ZN4Leap4ToolC1Ev"]
920    pub fn Leap_Tool_Tool1(this: *mut Leap_Tool);
921}
922extern "C" {
923    #[link_name = "\u{1}_ZN4Leap4ToolC1ERKNS_9PointableE"]
924    pub fn Leap_Tool_Tool2(this: *mut Leap_Tool, arg1: *const Leap_Pointable);
925}
926impl Leap_Tool {
927    #[inline]
928    pub unsafe fn invalid() -> *const Leap_Tool {
929        Leap_Tool_invalid()
930    }
931    #[inline]
932    pub unsafe fn new(arg1: *mut Leap_ToolImplementation) -> Self {
933        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
934        Leap_Tool_Tool(__bindgen_tmp.as_mut_ptr(), arg1);
935        __bindgen_tmp.assume_init()
936    }
937    #[inline]
938    pub unsafe fn new1() -> Self {
939        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
940        Leap_Tool_Tool1(__bindgen_tmp.as_mut_ptr());
941        __bindgen_tmp.assume_init()
942    }
943    #[inline]
944    pub unsafe fn new2(arg1: *const Leap_Pointable) -> Self {
945        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
946        Leap_Tool_Tool2(__bindgen_tmp.as_mut_ptr(), arg1);
947        __bindgen_tmp.assume_init()
948    }
949}
950#[repr(C)]
951#[derive(Debug)]
952pub struct Leap_Hand {
953    pub _base: Leap_Interface,
954}
955#[test]
956fn bindgen_test_layout_Leap_Hand() {
957    assert_eq!(
958        ::std::mem::size_of::<Leap_Hand>(),
959        16usize,
960        concat!("Size of: ", stringify!(Leap_Hand))
961    );
962    assert_eq!(
963        ::std::mem::align_of::<Leap_Hand>(),
964        8usize,
965        concat!("Alignment of ", stringify!(Leap_Hand))
966    );
967}
968extern "C" {
969    #[link_name = "\u{1}_ZNK4Leap4Hand2idEv"]
970    pub fn Leap_Hand_id(this: *const Leap_Hand) -> i32;
971}
972extern "C" {
973    #[link_name = "\u{1}_ZNK4Leap4Hand5frameEv"]
974    pub fn Leap_Hand_frame(out: *mut Leap_Frame, this: *const Leap_Hand);
975}
976extern "C" {
977    #[link_name = "\u{1}_ZNK4Leap4Hand10pointablesEv"]
978    pub fn Leap_Hand_pointables(out: *mut Leap_PointableList, this: *const Leap_Hand);
979}
980extern "C" {
981    #[link_name = "\u{1}_ZNK4Leap4Hand9pointableEi"]
982    pub fn Leap_Hand_pointable(out: *mut Leap_Pointable, this: *const Leap_Hand, id: i32);
983}
984extern "C" {
985    #[link_name = "\u{1}_ZNK4Leap4Hand7fingersEv"]
986    pub fn Leap_Hand_fingers(out: *mut Leap_FingerList, this: *const Leap_Hand);
987}
988extern "C" {
989    #[link_name = "\u{1}_ZNK4Leap4Hand6fingerEi"]
990    pub fn Leap_Hand_finger(out: *mut Leap_Finger, this: *const Leap_Hand, id: i32);
991}
992extern "C" {
993    #[link_name = "\u{1}_ZNK4Leap4Hand5toolsEv"]
994    pub fn Leap_Hand_tools(out: *mut Leap_ToolList, this: *const Leap_Hand);
995}
996extern "C" {
997    #[link_name = "\u{1}_ZNK4Leap4Hand4toolEi"]
998    pub fn Leap_Hand_tool(out: *mut Leap_Tool, this: *const Leap_Hand, id: i32);
999}
1000extern "C" {
1001    #[link_name = "\u{1}_ZNK4Leap4Hand12palmPositionEv"]
1002    pub fn Leap_Hand_palmPosition(this: *const Leap_Hand) -> Leap_Vector;
1003}
1004extern "C" {
1005    #[link_name = "\u{1}_ZNK4Leap4Hand22stabilizedPalmPositionEv"]
1006    pub fn Leap_Hand_stabilizedPalmPosition(this: *const Leap_Hand) -> Leap_Vector;
1007}
1008extern "C" {
1009    #[link_name = "\u{1}_ZNK4Leap4Hand12palmVelocityEv"]
1010    pub fn Leap_Hand_palmVelocity(this: *const Leap_Hand) -> Leap_Vector;
1011}
1012extern "C" {
1013    #[link_name = "\u{1}_ZNK4Leap4Hand10palmNormalEv"]
1014    pub fn Leap_Hand_palmNormal(this: *const Leap_Hand) -> Leap_Vector;
1015}
1016extern "C" {
1017    #[link_name = "\u{1}_ZNK4Leap4Hand9palmWidthEv"]
1018    pub fn Leap_Hand_palmWidth(this: *const Leap_Hand) -> f32;
1019}
1020extern "C" {
1021    #[link_name = "\u{1}_ZNK4Leap4Hand9directionEv"]
1022    pub fn Leap_Hand_direction(this: *const Leap_Hand) -> Leap_Vector;
1023}
1024extern "C" {
1025    #[link_name = "\u{1}_ZNK4Leap4Hand5basisEv"]
1026    pub fn Leap_Hand_basis(this: *const Leap_Hand) -> Leap_Matrix;
1027}
1028extern "C" {
1029    #[link_name = "\u{1}_ZNK4Leap4Hand3armEv"]
1030    pub fn Leap_Hand_arm(out: *mut Leap_Arm, this: *const Leap_Hand);
1031}
1032extern "C" {
1033    #[link_name = "\u{1}_ZNK4Leap4Hand13wristPositionEv"]
1034    pub fn Leap_Hand_wristPosition(this: *const Leap_Hand) -> Leap_Vector;
1035}
1036extern "C" {
1037    #[link_name = "\u{1}_ZNK4Leap4Hand12sphereCenterEv"]
1038    pub fn Leap_Hand_sphereCenter(this: *const Leap_Hand) -> Leap_Vector;
1039}
1040extern "C" {
1041    #[link_name = "\u{1}_ZNK4Leap4Hand12sphereRadiusEv"]
1042    pub fn Leap_Hand_sphereRadius(this: *const Leap_Hand) -> f32;
1043}
1044extern "C" {
1045    #[link_name = "\u{1}_ZNK4Leap4Hand13pinchStrengthEv"]
1046    pub fn Leap_Hand_pinchStrength(this: *const Leap_Hand) -> f32;
1047}
1048extern "C" {
1049    #[link_name = "\u{1}_ZNK4Leap4Hand12grabStrengthEv"]
1050    pub fn Leap_Hand_grabStrength(this: *const Leap_Hand) -> f32;
1051}
1052extern "C" {
1053    #[link_name = "\u{1}_ZNK4Leap4Hand11translationERKNS_5FrameE"]
1054    pub fn Leap_Hand_translation(
1055        this: *const Leap_Hand,
1056        sinceFrame: *const Leap_Frame,
1057    ) -> Leap_Vector;
1058}
1059extern "C" {
1060    #[link_name = "\u{1}_ZNK4Leap4Hand22translationProbabilityERKNS_5FrameE"]
1061    pub fn Leap_Hand_translationProbability(
1062        this: *const Leap_Hand,
1063        sinceFrame: *const Leap_Frame,
1064    ) -> f32;
1065}
1066extern "C" {
1067    #[link_name = "\u{1}_ZNK4Leap4Hand12rotationAxisERKNS_5FrameE"]
1068    pub fn Leap_Hand_rotationAxis(
1069        this: *const Leap_Hand,
1070        sinceFrame: *const Leap_Frame,
1071    ) -> Leap_Vector;
1072}
1073extern "C" {
1074    #[link_name = "\u{1}_ZNK4Leap4Hand13rotationAngleERKNS_5FrameE"]
1075    pub fn Leap_Hand_rotationAngle(this: *const Leap_Hand, sinceFrame: *const Leap_Frame) -> f32;
1076}
1077extern "C" {
1078    #[link_name = "\u{1}_ZNK4Leap4Hand13rotationAngleERKNS_5FrameERKNS_6VectorE"]
1079    pub fn Leap_Hand_rotationAngle1(
1080        this: *const Leap_Hand,
1081        sinceFrame: *const Leap_Frame,
1082        axis: *const Leap_Vector,
1083    ) -> f32;
1084}
1085extern "C" {
1086    #[link_name = "\u{1}_ZNK4Leap4Hand14rotationMatrixERKNS_5FrameE"]
1087    pub fn Leap_Hand_rotationMatrix(
1088        this: *const Leap_Hand,
1089        sinceFrame: *const Leap_Frame,
1090    ) -> Leap_Matrix;
1091}
1092extern "C" {
1093    #[link_name = "\u{1}_ZNK4Leap4Hand19rotationProbabilityERKNS_5FrameE"]
1094    pub fn Leap_Hand_rotationProbability(
1095        this: *const Leap_Hand,
1096        sinceFrame: *const Leap_Frame,
1097    ) -> f32;
1098}
1099extern "C" {
1100    #[link_name = "\u{1}_ZNK4Leap4Hand11scaleFactorERKNS_5FrameE"]
1101    pub fn Leap_Hand_scaleFactor(this: *const Leap_Hand, sinceFrame: *const Leap_Frame) -> f32;
1102}
1103extern "C" {
1104    #[link_name = "\u{1}_ZNK4Leap4Hand16scaleProbabilityERKNS_5FrameE"]
1105    pub fn Leap_Hand_scaleProbability(this: *const Leap_Hand, sinceFrame: *const Leap_Frame)
1106        -> f32;
1107}
1108extern "C" {
1109    #[link_name = "\u{1}_ZNK4Leap4Hand11timeVisibleEv"]
1110    pub fn Leap_Hand_timeVisible(this: *const Leap_Hand) -> f32;
1111}
1112extern "C" {
1113    #[link_name = "\u{1}_ZNK4Leap4Hand10confidenceEv"]
1114    pub fn Leap_Hand_confidence(this: *const Leap_Hand) -> f32;
1115}
1116extern "C" {
1117    #[link_name = "\u{1}_ZNK4Leap4Hand6isLeftEv"]
1118    pub fn Leap_Hand_isLeft(this: *const Leap_Hand) -> bool;
1119}
1120extern "C" {
1121    #[link_name = "\u{1}_ZNK4Leap4Hand7isRightEv"]
1122    pub fn Leap_Hand_isRight(this: *const Leap_Hand) -> bool;
1123}
1124extern "C" {
1125    #[link_name = "\u{1}_ZNK4Leap4Hand7isValidEv"]
1126    pub fn Leap_Hand_isValid(this: *const Leap_Hand) -> bool;
1127}
1128extern "C" {
1129    #[link_name = "\u{1}_ZN4Leap4Hand7invalidEv"]
1130    pub fn Leap_Hand_invalid() -> *const Leap_Hand;
1131}
1132extern "C" {
1133    #[link_name = "\u{1}_ZN4Leap4HandC1EPNS_18HandImplementationE"]
1134    pub fn Leap_Hand_Hand(this: *mut Leap_Hand, arg1: *mut Leap_HandImplementation);
1135}
1136extern "C" {
1137    #[link_name = "\u{1}_ZN4Leap4HandC1Ev"]
1138    pub fn Leap_Hand_Hand1(this: *mut Leap_Hand);
1139}
1140/*impl Leap_Hand {
1141    #[inline]
1142    pub unsafe fn id(&self) -> i32 {
1143        Leap_Hand_id(self)
1144    }
1145    #[inline]
1146    pub unsafe fn frame(&self) -> Leap_Frame {
1147        Leap_Hand_frame(self)
1148    }
1149    #[inline]
1150    pub unsafe fn pointables(&self) -> Leap_PointableList {
1151        Leap_Hand_pointables(self)
1152    }
1153    #[inline]
1154    pub unsafe fn pointable(&self, id: i32) -> Leap_Pointable {
1155        Leap_Hand_pointable(self, id)
1156    }
1157    #[inline]
1158    pub unsafe fn fingers(&self) -> Leap_FingerList {
1159        Leap_Hand_fingers(self)
1160    }
1161    #[inline]
1162    pub unsafe fn finger(&self, id: i32) -> Leap_Finger {
1163        Leap_Hand_finger(self, id)
1164    }
1165    #[inline]
1166    pub unsafe fn tools(&self) -> Leap_ToolList {
1167        Leap_Hand_tools(self)
1168    }
1169    #[inline]
1170    pub unsafe fn tool(&self, id: i32) -> Leap_Tool {
1171        Leap_Hand_tool(self, id)
1172    }
1173    #[inline]
1174    pub unsafe fn palmPosition(&self) -> Leap_Vector {
1175        Leap_Hand_palmPosition(self)
1176    }
1177    #[inline]
1178    pub unsafe fn stabilizedPalmPosition(&self) -> Leap_Vector {
1179        Leap_Hand_stabilizedPalmPosition(self)
1180    }
1181    #[inline]
1182    pub unsafe fn palmVelocity(&self) -> Leap_Vector {
1183        Leap_Hand_palmVelocity(self)
1184    }
1185    #[inline]
1186    pub unsafe fn palmNormal(&self) -> Leap_Vector {
1187        Leap_Hand_palmNormal(self)
1188    }
1189    #[inline]
1190    pub unsafe fn palmWidth(&self) -> f32 {
1191        Leap_Hand_palmWidth(self)
1192    }
1193    #[inline]
1194    pub unsafe fn direction(&self) -> Leap_Vector {
1195        Leap_Hand_direction(self)
1196    }
1197    #[inline]
1198    pub unsafe fn basis(&self) -> Leap_Matrix {
1199        Leap_Hand_basis(self)
1200    }
1201    #[inline]
1202    pub unsafe fn arm(&self) -> Leap_Arm {
1203        Leap_Hand_arm(self)
1204    }
1205    #[inline]
1206    pub unsafe fn wristPosition(&self) -> Leap_Vector {
1207        Leap_Hand_wristPosition(self)
1208    }
1209    #[inline]
1210    pub unsafe fn sphereCenter(&self) -> Leap_Vector {
1211        Leap_Hand_sphereCenter(self)
1212    }
1213    #[inline]
1214    pub unsafe fn sphereRadius(&self) -> f32 {
1215        Leap_Hand_sphereRadius(self)
1216    }
1217    #[inline]
1218    pub unsafe fn pinchStrength(&self) -> f32 {
1219        Leap_Hand_pinchStrength(self)
1220    }
1221    #[inline]
1222    pub unsafe fn grabStrength(&self) -> f32 {
1223        Leap_Hand_grabStrength(self)
1224    }
1225    #[inline]
1226    pub unsafe fn translation(&self, sinceFrame: *const Leap_Frame) -> Leap_Vector {
1227        Leap_Hand_translation(self, sinceFrame)
1228    }
1229    #[inline]
1230    pub unsafe fn translationProbability(&self, sinceFrame: *const Leap_Frame) -> f32 {
1231        Leap_Hand_translationProbability(self, sinceFrame)
1232    }
1233    #[inline]
1234    pub unsafe fn rotationAxis(&self, sinceFrame: *const Leap_Frame) -> Leap_Vector {
1235        Leap_Hand_rotationAxis(self, sinceFrame)
1236    }
1237    #[inline]
1238    pub unsafe fn rotationAngle(&self, sinceFrame: *const Leap_Frame) -> f32 {
1239        Leap_Hand_rotationAngle(self, sinceFrame)
1240    }
1241    #[inline]
1242    pub unsafe fn rotationAngle1(
1243        &self,
1244        sinceFrame: *const Leap_Frame,
1245        axis: *const Leap_Vector,
1246    ) -> f32 {
1247        Leap_Hand_rotationAngle1(self, sinceFrame, axis)
1248    }
1249    #[inline]
1250    pub unsafe fn rotationMatrix(&self, sinceFrame: *const Leap_Frame) -> Leap_Matrix {
1251        Leap_Hand_rotationMatrix(self, sinceFrame)
1252    }
1253    #[inline]
1254    pub unsafe fn rotationProbability(&self, sinceFrame: *const Leap_Frame) -> f32 {
1255        Leap_Hand_rotationProbability(self, sinceFrame)
1256    }
1257    #[inline]
1258    pub unsafe fn scaleFactor(&self, sinceFrame: *const Leap_Frame) -> f32 {
1259        Leap_Hand_scaleFactor(self, sinceFrame)
1260    }
1261    #[inline]
1262    pub unsafe fn scaleProbability(&self, sinceFrame: *const Leap_Frame) -> f32 {
1263        Leap_Hand_scaleProbability(self, sinceFrame)
1264    }
1265    #[inline]
1266    pub unsafe fn timeVisible(&self) -> f32 {
1267        Leap_Hand_timeVisible(self)
1268    }
1269    #[inline]
1270    pub unsafe fn confidence(&self) -> f32 {
1271        Leap_Hand_confidence(self)
1272    }
1273    #[inline]
1274    pub unsafe fn isLeft(&self) -> bool {
1275        Leap_Hand_isLeft(self)
1276    }
1277    #[inline]
1278    pub unsafe fn isRight(&self) -> bool {
1279        Leap_Hand_isRight(self)
1280    }
1281    #[inline]
1282    pub unsafe fn isValid(&self) -> bool {
1283        Leap_Hand_isValid(self)
1284    }
1285    #[inline]
1286    pub unsafe fn invalid() -> *const Leap_Hand {
1287        Leap_Hand_invalid()
1288    }
1289    #[inline]
1290    pub unsafe fn new(arg1: *mut Leap_HandImplementation) -> Self {
1291        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
1292        Leap_Hand_Hand(__bindgen_tmp.as_mut_ptr(), arg1);
1293        __bindgen_tmp.assume_init()
1294    }
1295    #[inline]
1296    pub unsafe fn new1() -> Self {
1297        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
1298        Leap_Hand_Hand1(__bindgen_tmp.as_mut_ptr());
1299        __bindgen_tmp.assume_init()
1300    }
1301}*/
1302#[repr(C)]
1303#[derive(Debug)]
1304pub struct Leap_Gesture {
1305    pub _base: Leap_Interface,
1306}
1307pub const Leap_Gesture_Type_TYPE_INVALID: Leap_Gesture_Type = -1;
1308pub const Leap_Gesture_Type_TYPE_SWIPE: Leap_Gesture_Type = 1;
1309pub const Leap_Gesture_Type_TYPE_CIRCLE: Leap_Gesture_Type = 4;
1310pub const Leap_Gesture_Type_TYPE_SCREEN_TAP: Leap_Gesture_Type = 5;
1311pub const Leap_Gesture_Type_TYPE_KEY_TAP: Leap_Gesture_Type = 6;
1312pub type Leap_Gesture_Type = ::std::os::raw::c_int;
1313pub const Leap_Gesture_State_STATE_INVALID: Leap_Gesture_State = -1;
1314pub const Leap_Gesture_State_STATE_START: Leap_Gesture_State = 1;
1315pub const Leap_Gesture_State_STATE_UPDATE: Leap_Gesture_State = 2;
1316pub const Leap_Gesture_State_STATE_STOP: Leap_Gesture_State = 3;
1317pub type Leap_Gesture_State = ::std::os::raw::c_int;
1318#[test]
1319fn bindgen_test_layout_Leap_Gesture() {
1320    assert_eq!(
1321        ::std::mem::size_of::<Leap_Gesture>(),
1322        16usize,
1323        concat!("Size of: ", stringify!(Leap_Gesture))
1324    );
1325    assert_eq!(
1326        ::std::mem::align_of::<Leap_Gesture>(),
1327        8usize,
1328        concat!("Alignment of ", stringify!(Leap_Gesture))
1329    );
1330}
1331extern "C" {
1332    #[link_name = "\u{1}_ZNK4Leap7Gesture4typeEv"]
1333    pub fn Leap_Gesture_type(this: *const Leap_Gesture) -> Leap_Gesture_Type;
1334}
1335extern "C" {
1336    #[link_name = "\u{1}_ZNK4Leap7Gesture5stateEv"]
1337    pub fn Leap_Gesture_state(this: *const Leap_Gesture) -> Leap_Gesture_State;
1338}
1339extern "C" {
1340    #[link_name = "\u{1}_ZNK4Leap7Gesture2idEv"]
1341    pub fn Leap_Gesture_id(this: *const Leap_Gesture) -> i32;
1342}
1343extern "C" {
1344    #[link_name = "\u{1}_ZNK4Leap7Gesture8durationEv"]
1345    pub fn Leap_Gesture_duration(this: *const Leap_Gesture) -> i64;
1346}
1347extern "C" {
1348    #[link_name = "\u{1}_ZNK4Leap7Gesture15durationSecondsEv"]
1349    pub fn Leap_Gesture_durationSeconds(this: *const Leap_Gesture) -> f32;
1350}
1351extern "C" {
1352    #[link_name = "\u{1}_ZNK4Leap7Gesture5frameEv"]
1353    pub fn Leap_Gesture_frame(out: *mut Leap_Frame, this: *const Leap_Gesture);
1354}
1355extern "C" {
1356    #[link_name = "\u{1}_ZNK4Leap7Gesture5handsEv"]
1357    pub fn Leap_Gesture_hands(out: *mut Leap_HandList, this: *const Leap_Gesture);
1358}
1359extern "C" {
1360    #[link_name = "\u{1}_ZNK4Leap7Gesture10pointablesEv"]
1361    pub fn Leap_Gesture_pointables(out: *mut Leap_PointableList, this: *const Leap_Gesture);
1362}
1363extern "C" {
1364    #[link_name = "\u{1}_ZNK4Leap7Gesture7isValidEv"]
1365    pub fn Leap_Gesture_isValid(this: *const Leap_Gesture) -> bool;
1366}
1367extern "C" {
1368    #[link_name = "\u{1}_ZN4Leap7Gesture7invalidEv"]
1369    pub fn Leap_Gesture_invalid() -> *const Leap_Gesture;
1370}
1371extern "C" {
1372    #[link_name = "\u{1}_ZN4Leap7GestureC1EPNS_21GestureImplementationE"]
1373    pub fn Leap_Gesture_Gesture(this: *mut Leap_Gesture, arg1: *mut Leap_GestureImplementation);
1374}
1375extern "C" {
1376    #[link_name = "\u{1}_ZN4Leap7GestureC1Ev"]
1377    pub fn Leap_Gesture_Gesture1(this: *mut Leap_Gesture);
1378}
1379extern "C" {
1380    #[link_name = "\u{1}_ZN4Leap7GestureC1ERKS0_"]
1381    pub fn Leap_Gesture_Gesture2(this: *mut Leap_Gesture, rhs: *const Leap_Gesture);
1382}
1383/*impl Leap_Gesture {
1384    #[inline]
1385    pub unsafe fn type_(&self) -> Leap_Gesture_Type {
1386        Leap_Gesture_type(self)
1387    }
1388    #[inline]
1389    pub unsafe fn state(&self) -> Leap_Gesture_State {
1390        Leap_Gesture_state(self)
1391    }
1392    #[inline]
1393    pub unsafe fn id(&self) -> i32 {
1394        Leap_Gesture_id(self)
1395    }
1396    #[inline]
1397    pub unsafe fn duration(&self) -> i64 {
1398        Leap_Gesture_duration(self)
1399    }
1400    #[inline]
1401    pub unsafe fn durationSeconds(&self) -> f32 {
1402        Leap_Gesture_durationSeconds(self)
1403    }
1404    #[inline]
1405    pub unsafe fn frame(&self) -> Leap_Frame {
1406        Leap_Gesture_frame(self)
1407    }
1408    #[inline]
1409    pub unsafe fn hands(&self) -> Leap_HandList {
1410        Leap_Gesture_hands(self)
1411    }
1412    #[inline]
1413    pub unsafe fn pointables(&self) -> Leap_PointableList {
1414        Leap_Gesture_pointables(self)
1415    }
1416    #[inline]
1417    pub unsafe fn isValid(&self) -> bool {
1418        Leap_Gesture_isValid(self)
1419    }
1420    #[inline]
1421    pub unsafe fn invalid() -> *const Leap_Gesture {
1422        Leap_Gesture_invalid()
1423    }
1424    #[inline]
1425    pub unsafe fn new(arg1: *mut Leap_GestureImplementation) -> Self {
1426        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
1427        Leap_Gesture_Gesture(__bindgen_tmp.as_mut_ptr(), arg1);
1428        __bindgen_tmp.assume_init()
1429    }
1430    #[inline]
1431    pub unsafe fn new1() -> Self {
1432        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
1433        Leap_Gesture_Gesture1(__bindgen_tmp.as_mut_ptr());
1434        __bindgen_tmp.assume_init()
1435    }
1436    #[inline]
1437    pub unsafe fn new2(rhs: *const Leap_Gesture) -> Self {
1438        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
1439        Leap_Gesture_Gesture2(__bindgen_tmp.as_mut_ptr(), rhs);
1440        __bindgen_tmp.assume_init()
1441    }
1442}*/
1443#[repr(C)]
1444#[derive(Debug)]
1445pub struct Leap_SwipeGesture {
1446    pub _base: Leap_Gesture,
1447}
1448#[test]
1449fn bindgen_test_layout_Leap_SwipeGesture() {
1450    assert_eq!(
1451        ::std::mem::size_of::<Leap_SwipeGesture>(),
1452        16usize,
1453        concat!("Size of: ", stringify!(Leap_SwipeGesture))
1454    );
1455    assert_eq!(
1456        ::std::mem::align_of::<Leap_SwipeGesture>(),
1457        8usize,
1458        concat!("Alignment of ", stringify!(Leap_SwipeGesture))
1459    );
1460}
1461extern "C" {
1462    #[link_name = "\u{1}_ZNK4Leap12SwipeGesture13startPositionEv"]
1463    pub fn Leap_SwipeGesture_startPosition(this: *const Leap_SwipeGesture) -> Leap_Vector;
1464}
1465extern "C" {
1466    #[link_name = "\u{1}_ZNK4Leap12SwipeGesture8positionEv"]
1467    pub fn Leap_SwipeGesture_position(this: *const Leap_SwipeGesture) -> Leap_Vector;
1468}
1469extern "C" {
1470    #[link_name = "\u{1}_ZNK4Leap12SwipeGesture9directionEv"]
1471    pub fn Leap_SwipeGesture_direction(this: *const Leap_SwipeGesture) -> Leap_Vector;
1472}
1473extern "C" {
1474    #[link_name = "\u{1}_ZNK4Leap12SwipeGesture5speedEv"]
1475    pub fn Leap_SwipeGesture_speed(this: *const Leap_SwipeGesture) -> f32;
1476}
1477extern "C" {
1478    #[link_name = "\u{1}_ZNK4Leap12SwipeGesture9pointableEv"]
1479    pub fn Leap_SwipeGesture_pointable(out: *mut Leap_Pointable, this: *const Leap_SwipeGesture);
1480}
1481extern "C" {
1482    #[link_name = "\u{1}_ZN4Leap12SwipeGestureC1Ev"]
1483    pub fn Leap_SwipeGesture_SwipeGesture(this: *mut Leap_SwipeGesture);
1484}
1485extern "C" {
1486    #[link_name = "\u{1}_ZN4Leap12SwipeGestureC1ERKNS_7GestureE"]
1487    pub fn Leap_SwipeGesture_SwipeGesture1(this: *mut Leap_SwipeGesture, rhs: *const Leap_Gesture);
1488}
1489/*impl Leap_SwipeGesture {
1490    #[inline]
1491    pub unsafe fn startPosition(&self) -> Leap_Vector {
1492        Leap_SwipeGesture_startPosition(self)
1493    }
1494    #[inline]
1495    pub unsafe fn position(&self) -> Leap_Vector {
1496        Leap_SwipeGesture_position(self)
1497    }
1498    #[inline]
1499    pub unsafe fn direction(&self) -> Leap_Vector {
1500        Leap_SwipeGesture_direction(self)
1501    }
1502    #[inline]
1503    pub unsafe fn speed(&self) -> f32 {
1504        Leap_SwipeGesture_speed(self)
1505    }
1506    #[inline]
1507    pub unsafe fn pointable(&self) -> Leap_Pointable {
1508        Leap_SwipeGesture_pointable(self)
1509    }
1510    #[inline]
1511    pub unsafe fn new() -> Self {
1512        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
1513        Leap_SwipeGesture_SwipeGesture(__bindgen_tmp.as_mut_ptr());
1514        __bindgen_tmp.assume_init()
1515    }
1516    #[inline]
1517    pub unsafe fn new1(rhs: *const Leap_Gesture) -> Self {
1518        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
1519        Leap_SwipeGesture_SwipeGesture1(__bindgen_tmp.as_mut_ptr(), rhs);
1520        __bindgen_tmp.assume_init()
1521    }
1522}*/
1523#[repr(C)]
1524#[derive(Debug)]
1525pub struct Leap_CircleGesture {
1526    pub _base: Leap_Gesture,
1527}
1528#[test]
1529fn bindgen_test_layout_Leap_CircleGesture() {
1530    assert_eq!(
1531        ::std::mem::size_of::<Leap_CircleGesture>(),
1532        16usize,
1533        concat!("Size of: ", stringify!(Leap_CircleGesture))
1534    );
1535    assert_eq!(
1536        ::std::mem::align_of::<Leap_CircleGesture>(),
1537        8usize,
1538        concat!("Alignment of ", stringify!(Leap_CircleGesture))
1539    );
1540}
1541extern "C" {
1542    #[link_name = "\u{1}_ZNK4Leap13CircleGesture6centerEv"]
1543    pub fn Leap_CircleGesture_center(this: *const Leap_CircleGesture) -> Leap_Vector;
1544}
1545extern "C" {
1546    #[link_name = "\u{1}_ZNK4Leap13CircleGesture6normalEv"]
1547    pub fn Leap_CircleGesture_normal(this: *const Leap_CircleGesture) -> Leap_Vector;
1548}
1549extern "C" {
1550    #[link_name = "\u{1}_ZNK4Leap13CircleGesture8progressEv"]
1551    pub fn Leap_CircleGesture_progress(this: *const Leap_CircleGesture) -> f32;
1552}
1553extern "C" {
1554    #[link_name = "\u{1}_ZNK4Leap13CircleGesture6radiusEv"]
1555    pub fn Leap_CircleGesture_radius(this: *const Leap_CircleGesture) -> f32;
1556}
1557extern "C" {
1558    #[link_name = "\u{1}_ZNK4Leap13CircleGesture9pointableEv"]
1559    pub fn Leap_CircleGesture_pointable(out: *mut Leap_Pointable, this: *const Leap_CircleGesture);
1560}
1561extern "C" {
1562    #[link_name = "\u{1}_ZN4Leap13CircleGestureC1Ev"]
1563    pub fn Leap_CircleGesture_CircleGesture(this: *mut Leap_CircleGesture);
1564}
1565extern "C" {
1566    #[link_name = "\u{1}_ZN4Leap13CircleGestureC1ERKNS_7GestureE"]
1567    pub fn Leap_CircleGesture_CircleGesture1(
1568        this: *mut Leap_CircleGesture,
1569        rhs: *const Leap_Gesture,
1570    );
1571}
1572/*impl Leap_CircleGesture {
1573    #[inline]
1574    pub unsafe fn center(&self) -> Leap_Vector {
1575        Leap_CircleGesture_center(self)
1576    }
1577    #[inline]
1578    pub unsafe fn normal(&self) -> Leap_Vector {
1579        Leap_CircleGesture_normal(self)
1580    }
1581    #[inline]
1582    pub unsafe fn progress(&self) -> f32 {
1583        Leap_CircleGesture_progress(self)
1584    }
1585    #[inline]
1586    pub unsafe fn radius(&self) -> f32 {
1587        Leap_CircleGesture_radius(self)
1588    }
1589    #[inline]
1590    pub unsafe fn pointable(&self) -> Leap_Pointable {
1591        Leap_CircleGesture_pointable(self)
1592    }
1593    #[inline]
1594    pub unsafe fn new() -> Self {
1595        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
1596        Leap_CircleGesture_CircleGesture(__bindgen_tmp.as_mut_ptr());
1597        __bindgen_tmp.assume_init()
1598    }
1599    #[inline]
1600    pub unsafe fn new1(rhs: *const Leap_Gesture) -> Self {
1601        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
1602        Leap_CircleGesture_CircleGesture1(__bindgen_tmp.as_mut_ptr(), rhs);
1603        __bindgen_tmp.assume_init()
1604    }
1605}*/
1606#[repr(C)]
1607#[derive(Debug)]
1608pub struct Leap_ScreenTapGesture {
1609    pub _base: Leap_Gesture,
1610}
1611#[test]
1612fn bindgen_test_layout_Leap_ScreenTapGesture() {
1613    assert_eq!(
1614        ::std::mem::size_of::<Leap_ScreenTapGesture>(),
1615        16usize,
1616        concat!("Size of: ", stringify!(Leap_ScreenTapGesture))
1617    );
1618    assert_eq!(
1619        ::std::mem::align_of::<Leap_ScreenTapGesture>(),
1620        8usize,
1621        concat!("Alignment of ", stringify!(Leap_ScreenTapGesture))
1622    );
1623}
1624extern "C" {
1625    #[link_name = "\u{1}_ZNK4Leap16ScreenTapGesture8positionEv"]
1626    pub fn Leap_ScreenTapGesture_position(this: *const Leap_ScreenTapGesture) -> Leap_Vector;
1627}
1628extern "C" {
1629    #[link_name = "\u{1}_ZNK4Leap16ScreenTapGesture9directionEv"]
1630    pub fn Leap_ScreenTapGesture_direction(this: *const Leap_ScreenTapGesture) -> Leap_Vector;
1631}
1632extern "C" {
1633    #[link_name = "\u{1}_ZNK4Leap16ScreenTapGesture8progressEv"]
1634    pub fn Leap_ScreenTapGesture_progress(this: *const Leap_ScreenTapGesture) -> f32;
1635}
1636extern "C" {
1637    #[link_name = "\u{1}_ZNK4Leap16ScreenTapGesture9pointableEv"]
1638    pub fn Leap_ScreenTapGesture_pointable(
1639        out: *mut Leap_Pointable,
1640        this: *const Leap_ScreenTapGesture,
1641    );
1642}
1643extern "C" {
1644    #[link_name = "\u{1}_ZN4Leap16ScreenTapGestureC1Ev"]
1645    pub fn Leap_ScreenTapGesture_ScreenTapGesture(this: *mut Leap_ScreenTapGesture);
1646}
1647extern "C" {
1648    #[link_name = "\u{1}_ZN4Leap16ScreenTapGestureC1ERKNS_7GestureE"]
1649    pub fn Leap_ScreenTapGesture_ScreenTapGesture1(
1650        this: *mut Leap_ScreenTapGesture,
1651        rhs: *const Leap_Gesture,
1652    );
1653}
1654/*impl Leap_ScreenTapGesture {
1655    #[inline]
1656    pub unsafe fn position(&self) -> Leap_Vector {
1657        Leap_ScreenTapGesture_position(self)
1658    }
1659    #[inline]
1660    pub unsafe fn direction(&self) -> Leap_Vector {
1661        Leap_ScreenTapGesture_direction(self)
1662    }
1663    #[inline]
1664    pub unsafe fn progress(&self) -> f32 {
1665        Leap_ScreenTapGesture_progress(self)
1666    }
1667    #[inline]
1668    pub unsafe fn pointable(&self) -> Leap_Pointable {
1669        Leap_ScreenTapGesture_pointable(self)
1670    }
1671    #[inline]
1672    pub unsafe fn new() -> Self {
1673        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
1674        Leap_ScreenTapGesture_ScreenTapGesture(__bindgen_tmp.as_mut_ptr());
1675        __bindgen_tmp.assume_init()
1676    }
1677    #[inline]
1678    pub unsafe fn new1(rhs: *const Leap_Gesture) -> Self {
1679        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
1680        Leap_ScreenTapGesture_ScreenTapGesture1(__bindgen_tmp.as_mut_ptr(), rhs);
1681        __bindgen_tmp.assume_init()
1682    }
1683}*/
1684#[repr(C)]
1685#[derive(Debug)]
1686pub struct Leap_KeyTapGesture {
1687    pub _base: Leap_Gesture,
1688}
1689#[test]
1690fn bindgen_test_layout_Leap_KeyTapGesture() {
1691    assert_eq!(
1692        ::std::mem::size_of::<Leap_KeyTapGesture>(),
1693        16usize,
1694        concat!("Size of: ", stringify!(Leap_KeyTapGesture))
1695    );
1696    assert_eq!(
1697        ::std::mem::align_of::<Leap_KeyTapGesture>(),
1698        8usize,
1699        concat!("Alignment of ", stringify!(Leap_KeyTapGesture))
1700    );
1701}
1702extern "C" {
1703    #[link_name = "\u{1}_ZNK4Leap13KeyTapGesture8positionEv"]
1704    pub fn Leap_KeyTapGesture_position(this: *const Leap_KeyTapGesture) -> Leap_Vector;
1705}
1706extern "C" {
1707    #[link_name = "\u{1}_ZNK4Leap13KeyTapGesture9directionEv"]
1708    pub fn Leap_KeyTapGesture_direction(this: *const Leap_KeyTapGesture) -> Leap_Vector;
1709}
1710extern "C" {
1711    #[link_name = "\u{1}_ZNK4Leap13KeyTapGesture8progressEv"]
1712    pub fn Leap_KeyTapGesture_progress(this: *const Leap_KeyTapGesture) -> f32;
1713}
1714extern "C" {
1715    #[link_name = "\u{1}_ZNK4Leap13KeyTapGesture9pointableEv"]
1716    pub fn Leap_KeyTapGesture_pointable(out: *mut Leap_Pointable, this: *const Leap_KeyTapGesture);
1717}
1718extern "C" {
1719    #[link_name = "\u{1}_ZN4Leap13KeyTapGestureC1Ev"]
1720    pub fn Leap_KeyTapGesture_KeyTapGesture(this: *mut Leap_KeyTapGesture);
1721}
1722extern "C" {
1723    #[link_name = "\u{1}_ZN4Leap13KeyTapGestureC1ERKNS_7GestureE"]
1724    pub fn Leap_KeyTapGesture_KeyTapGesture1(
1725        this: *mut Leap_KeyTapGesture,
1726        rhs: *const Leap_Gesture,
1727    );
1728}
1729/*impl Leap_KeyTapGesture {
1730    #[inline]
1731    pub unsafe fn position(&self) -> Leap_Vector {
1732        Leap_KeyTapGesture_position(self)
1733    }
1734    #[inline]
1735    pub unsafe fn direction(&self) -> Leap_Vector {
1736        Leap_KeyTapGesture_direction(self)
1737    }
1738    #[inline]
1739    pub unsafe fn progress(&self) -> f32 {
1740        Leap_KeyTapGesture_progress(self)
1741    }
1742    #[inline]
1743    pub unsafe fn pointable(&self) -> Leap_Pointable {
1744        Leap_KeyTapGesture_pointable(self)
1745    }
1746    #[inline]
1747    pub unsafe fn new() -> Self {
1748        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
1749        Leap_KeyTapGesture_KeyTapGesture(__bindgen_tmp.as_mut_ptr());
1750        __bindgen_tmp.assume_init()
1751    }
1752    #[inline]
1753    pub unsafe fn new1(rhs: *const Leap_Gesture) -> Self {
1754        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
1755        Leap_KeyTapGesture_KeyTapGesture1(__bindgen_tmp.as_mut_ptr(), rhs);
1756        __bindgen_tmp.assume_init()
1757    }
1758}*/
1759#[repr(C)]
1760#[derive(Debug)]
1761pub struct Leap_Screen {
1762    pub _base: Leap_Interface,
1763}
1764#[test]
1765fn bindgen_test_layout_Leap_Screen() {
1766    assert_eq!(
1767        ::std::mem::size_of::<Leap_Screen>(),
1768        16usize,
1769        concat!("Size of: ", stringify!(Leap_Screen))
1770    );
1771    assert_eq!(
1772        ::std::mem::align_of::<Leap_Screen>(),
1773        8usize,
1774        concat!("Alignment of ", stringify!(Leap_Screen))
1775    );
1776}
1777extern "C" {
1778    #[link_name = "\u{1}_ZNK4Leap6Screen2idEv"]
1779    pub fn Leap_Screen_id(this: *const Leap_Screen) -> i32;
1780}
1781extern "C" {
1782    #[link_name = "\u{1}_ZNK4Leap6Screen9intersectERKNS_9PointableEbf"]
1783    pub fn Leap_Screen_intersect(
1784        this: *const Leap_Screen,
1785        pointable: *const Leap_Pointable,
1786        normalize: bool,
1787        clampRatio: f32,
1788    ) -> Leap_Vector;
1789}
1790extern "C" {
1791    #[link_name = "\u{1}_ZNK4Leap6Screen9intersectERKNS_6VectorES3_bf"]
1792    pub fn Leap_Screen_intersect1(
1793        this: *const Leap_Screen,
1794        position: *const Leap_Vector,
1795        direction: *const Leap_Vector,
1796        normalize: bool,
1797        clampRatio: f32,
1798    ) -> Leap_Vector;
1799}
1800extern "C" {
1801    #[link_name = "\u{1}_ZNK4Leap6Screen7projectERKNS_6VectorEbf"]
1802    pub fn Leap_Screen_project(
1803        this: *const Leap_Screen,
1804        position: *const Leap_Vector,
1805        normalize: bool,
1806        clampRatio: f32,
1807    ) -> Leap_Vector;
1808}
1809extern "C" {
1810    #[link_name = "\u{1}_ZNK4Leap6Screen14horizontalAxisEv"]
1811    pub fn Leap_Screen_horizontalAxis(this: *const Leap_Screen) -> Leap_Vector;
1812}
1813extern "C" {
1814    #[link_name = "\u{1}_ZNK4Leap6Screen12verticalAxisEv"]
1815    pub fn Leap_Screen_verticalAxis(this: *const Leap_Screen) -> Leap_Vector;
1816}
1817extern "C" {
1818    #[link_name = "\u{1}_ZNK4Leap6Screen16bottomLeftCornerEv"]
1819    pub fn Leap_Screen_bottomLeftCorner(this: *const Leap_Screen) -> Leap_Vector;
1820}
1821extern "C" {
1822    #[link_name = "\u{1}_ZNK4Leap6Screen6normalEv"]
1823    pub fn Leap_Screen_normal(this: *const Leap_Screen) -> Leap_Vector;
1824}
1825extern "C" {
1826    #[link_name = "\u{1}_ZNK4Leap6Screen11widthPixelsEv"]
1827    pub fn Leap_Screen_widthPixels(this: *const Leap_Screen) -> ::std::os::raw::c_int;
1828}
1829extern "C" {
1830    #[link_name = "\u{1}_ZNK4Leap6Screen12heightPixelsEv"]
1831    pub fn Leap_Screen_heightPixels(this: *const Leap_Screen) -> ::std::os::raw::c_int;
1832}
1833extern "C" {
1834    #[link_name = "\u{1}_ZNK4Leap6Screen15distanceToPointERKNS_6VectorE"]
1835    pub fn Leap_Screen_distanceToPoint(this: *const Leap_Screen, point: *const Leap_Vector) -> f32;
1836}
1837extern "C" {
1838    #[link_name = "\u{1}_ZNK4Leap6Screen7isValidEv"]
1839    pub fn Leap_Screen_isValid(this: *const Leap_Screen) -> bool;
1840}
1841extern "C" {
1842    #[link_name = "\u{1}_ZN4Leap6Screen7invalidEv"]
1843    pub fn Leap_Screen_invalid() -> *const Leap_Screen;
1844}
1845extern "C" {
1846    #[link_name = "\u{1}_ZN4Leap6ScreenC1EPNS_20ScreenImplementationE"]
1847    pub fn Leap_Screen_Screen(this: *mut Leap_Screen, arg1: *mut Leap_ScreenImplementation);
1848}
1849extern "C" {
1850    #[link_name = "\u{1}_ZN4Leap6ScreenC1Ev"]
1851    pub fn Leap_Screen_Screen1(this: *mut Leap_Screen);
1852}
1853impl Leap_Screen {
1854    #[inline]
1855    pub unsafe fn id(&self) -> i32 {
1856        Leap_Screen_id(self)
1857    }
1858    #[inline]
1859    pub unsafe fn intersect(
1860        &self,
1861        pointable: *const Leap_Pointable,
1862        normalize: bool,
1863        clampRatio: f32,
1864    ) -> Leap_Vector {
1865        Leap_Screen_intersect(self, pointable, normalize, clampRatio)
1866    }
1867    #[inline]
1868    pub unsafe fn intersect1(
1869        &self,
1870        position: *const Leap_Vector,
1871        direction: *const Leap_Vector,
1872        normalize: bool,
1873        clampRatio: f32,
1874    ) -> Leap_Vector {
1875        Leap_Screen_intersect1(self, position, direction, normalize, clampRatio)
1876    }
1877    #[inline]
1878    pub unsafe fn project(
1879        &self,
1880        position: *const Leap_Vector,
1881        normalize: bool,
1882        clampRatio: f32,
1883    ) -> Leap_Vector {
1884        Leap_Screen_project(self, position, normalize, clampRatio)
1885    }
1886    #[inline]
1887    pub unsafe fn horizontalAxis(&self) -> Leap_Vector {
1888        Leap_Screen_horizontalAxis(self)
1889    }
1890    #[inline]
1891    pub unsafe fn verticalAxis(&self) -> Leap_Vector {
1892        Leap_Screen_verticalAxis(self)
1893    }
1894    #[inline]
1895    pub unsafe fn bottomLeftCorner(&self) -> Leap_Vector {
1896        Leap_Screen_bottomLeftCorner(self)
1897    }
1898    #[inline]
1899    pub unsafe fn normal(&self) -> Leap_Vector {
1900        Leap_Screen_normal(self)
1901    }
1902    #[inline]
1903    pub unsafe fn widthPixels(&self) -> ::std::os::raw::c_int {
1904        Leap_Screen_widthPixels(self)
1905    }
1906    #[inline]
1907    pub unsafe fn heightPixels(&self) -> ::std::os::raw::c_int {
1908        Leap_Screen_heightPixels(self)
1909    }
1910    #[inline]
1911    pub unsafe fn distanceToPoint(&self, point: *const Leap_Vector) -> f32 {
1912        Leap_Screen_distanceToPoint(self, point)
1913    }
1914    #[inline]
1915    pub unsafe fn isValid(&self) -> bool {
1916        Leap_Screen_isValid(self)
1917    }
1918    #[inline]
1919    pub unsafe fn invalid() -> *const Leap_Screen {
1920        Leap_Screen_invalid()
1921    }
1922    #[inline]
1923    pub unsafe fn new(arg1: *mut Leap_ScreenImplementation) -> Self {
1924        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
1925        Leap_Screen_Screen(__bindgen_tmp.as_mut_ptr(), arg1);
1926        __bindgen_tmp.assume_init()
1927    }
1928    #[inline]
1929    pub unsafe fn new1() -> Self {
1930        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
1931        Leap_Screen_Screen1(__bindgen_tmp.as_mut_ptr());
1932        __bindgen_tmp.assume_init()
1933    }
1934}
1935#[repr(C)]
1936#[derive(Debug)]
1937pub struct Leap_Device {
1938    pub _base: Leap_Interface,
1939}
1940pub const Leap_Device_Type_TYPE_PERIPHERAL: Leap_Device_Type = 1;
1941pub const Leap_Device_Type_TYPE_LAPTOP: Leap_Device_Type = 2;
1942pub const Leap_Device_Type_TYPE_KEYBOARD: Leap_Device_Type = 3;
1943pub type Leap_Device_Type = ::std::os::raw::c_uint;
1944#[test]
1945fn bindgen_test_layout_Leap_Device() {
1946    assert_eq!(
1947        ::std::mem::size_of::<Leap_Device>(),
1948        16usize,
1949        concat!("Size of: ", stringify!(Leap_Device))
1950    );
1951    assert_eq!(
1952        ::std::mem::align_of::<Leap_Device>(),
1953        8usize,
1954        concat!("Alignment of ", stringify!(Leap_Device))
1955    );
1956}
1957extern "C" {
1958    #[link_name = "\u{1}_ZNK4Leap6Device19horizontalViewAngleEv"]
1959    pub fn Leap_Device_horizontalViewAngle(this: *const Leap_Device) -> f32;
1960}
1961extern "C" {
1962    #[link_name = "\u{1}_ZNK4Leap6Device17verticalViewAngleEv"]
1963    pub fn Leap_Device_verticalViewAngle(this: *const Leap_Device) -> f32;
1964}
1965extern "C" {
1966    #[link_name = "\u{1}_ZNK4Leap6Device5rangeEv"]
1967    pub fn Leap_Device_range(this: *const Leap_Device) -> f32;
1968}
1969extern "C" {
1970    #[link_name = "\u{1}_ZNK4Leap6Device8baselineEv"]
1971    pub fn Leap_Device_baseline(this: *const Leap_Device) -> f32;
1972}
1973extern "C" {
1974    #[link_name = "\u{1}_ZNK4Leap6Device18distanceToBoundaryERKNS_6VectorE"]
1975    pub fn Leap_Device_distanceToBoundary(
1976        this: *const Leap_Device,
1977        position: *const Leap_Vector,
1978    ) -> f32;
1979}
1980extern "C" {
1981    #[link_name = "\u{1}_ZNK4Leap6Device10isEmbeddedEv"]
1982    pub fn Leap_Device_isEmbedded(this: *const Leap_Device) -> bool;
1983}
1984extern "C" {
1985    #[link_name = "\u{1}_ZNK4Leap6Device11isStreamingEv"]
1986    pub fn Leap_Device_isStreaming(this: *const Leap_Device) -> bool;
1987}
1988extern "C" {
1989    #[link_name = "\u{1}_ZNK4Leap6Device9isFlippedEv"]
1990    pub fn Leap_Device_isFlipped(this: *const Leap_Device) -> bool;
1991}
1992extern "C" {
1993    #[link_name = "\u{1}_ZNK4Leap6Device4typeEv"]
1994    pub fn Leap_Device_type(this: *const Leap_Device) -> Leap_Device_Type;
1995}
1996extern "C" {
1997    #[link_name = "\u{1}_ZNK4Leap6Device8positionEv"]
1998    pub fn Leap_Device_position(this: *const Leap_Device) -> Leap_Vector;
1999}
2000extern "C" {
2001    #[link_name = "\u{1}_ZNK4Leap6Device11orientationEv"]
2002    pub fn Leap_Device_orientation(this: *const Leap_Device) -> Leap_Matrix;
2003}
2004extern "C" {
2005    #[link_name = "\u{1}_ZNK4Leap6Device7isValidEv"]
2006    pub fn Leap_Device_isValid(this: *const Leap_Device) -> bool;
2007}
2008extern "C" {
2009    #[link_name = "\u{1}_ZN4Leap6Device7invalidEv"]
2010    pub fn Leap_Device_invalid() -> *const Leap_Device;
2011}
2012extern "C" {
2013    #[link_name = "\u{1}_ZN4Leap6DeviceC1EPNS_20DeviceImplementationE"]
2014    pub fn Leap_Device_Device(this: *mut Leap_Device, arg1: *mut Leap_DeviceImplementation);
2015}
2016extern "C" {
2017    #[link_name = "\u{1}_ZN4Leap6DeviceC1Ev"]
2018    pub fn Leap_Device_Device1(this: *mut Leap_Device);
2019}
2020impl Leap_Device {
2021    #[inline]
2022    pub unsafe fn horizontalViewAngle(&self) -> f32 {
2023        Leap_Device_horizontalViewAngle(self)
2024    }
2025    #[inline]
2026    pub unsafe fn verticalViewAngle(&self) -> f32 {
2027        Leap_Device_verticalViewAngle(self)
2028    }
2029    #[inline]
2030    pub unsafe fn range(&self) -> f32 {
2031        Leap_Device_range(self)
2032    }
2033    #[inline]
2034    pub unsafe fn baseline(&self) -> f32 {
2035        Leap_Device_baseline(self)
2036    }
2037    #[inline]
2038    pub unsafe fn distanceToBoundary(&self, position: *const Leap_Vector) -> f32 {
2039        Leap_Device_distanceToBoundary(self, position)
2040    }
2041    #[inline]
2042    pub unsafe fn isEmbedded(&self) -> bool {
2043        Leap_Device_isEmbedded(self)
2044    }
2045    #[inline]
2046    pub unsafe fn isStreaming(&self) -> bool {
2047        Leap_Device_isStreaming(self)
2048    }
2049    #[inline]
2050    pub unsafe fn isFlipped(&self) -> bool {
2051        Leap_Device_isFlipped(self)
2052    }
2053    #[inline]
2054    pub unsafe fn type_(&self) -> Leap_Device_Type {
2055        Leap_Device_type(self)
2056    }
2057    #[inline]
2058    pub unsafe fn position(&self) -> Leap_Vector {
2059        Leap_Device_position(self)
2060    }
2061    #[inline]
2062    pub unsafe fn orientation(&self) -> Leap_Matrix {
2063        Leap_Device_orientation(self)
2064    }
2065    #[inline]
2066    pub unsafe fn isValid(&self) -> bool {
2067        Leap_Device_isValid(self)
2068    }
2069    #[inline]
2070    pub unsafe fn invalid() -> *const Leap_Device {
2071        Leap_Device_invalid()
2072    }
2073    #[inline]
2074    pub unsafe fn new(arg1: *mut Leap_DeviceImplementation) -> Self {
2075        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
2076        Leap_Device_Device(__bindgen_tmp.as_mut_ptr(), arg1);
2077        __bindgen_tmp.assume_init()
2078    }
2079    #[inline]
2080    pub unsafe fn new1() -> Self {
2081        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
2082        Leap_Device_Device1(__bindgen_tmp.as_mut_ptr());
2083        __bindgen_tmp.assume_init()
2084    }
2085}
2086#[repr(C)]
2087#[derive(Debug)]
2088pub struct Leap_Image {
2089    pub _base: Leap_Interface,
2090}
2091pub const Leap_Image_FormatType_INFRARED: Leap_Image_FormatType = 0;
2092pub type Leap_Image_FormatType = ::std::os::raw::c_uint;
2093#[test]
2094fn bindgen_test_layout_Leap_Image() {
2095    assert_eq!(
2096        ::std::mem::size_of::<Leap_Image>(),
2097        16usize,
2098        concat!("Size of: ", stringify!(Leap_Image))
2099    );
2100    assert_eq!(
2101        ::std::mem::align_of::<Leap_Image>(),
2102        8usize,
2103        concat!("Alignment of ", stringify!(Leap_Image))
2104    );
2105}
2106extern "C" {
2107    #[link_name = "\u{1}_ZNK4Leap5Image10sequenceIdEv"]
2108    pub fn Leap_Image_sequenceId(this: *const Leap_Image) -> i64;
2109}
2110extern "C" {
2111    #[link_name = "\u{1}_ZNK4Leap5Image2idEv"]
2112    pub fn Leap_Image_id(this: *const Leap_Image) -> i32;
2113}
2114extern "C" {
2115    #[link_name = "\u{1}_ZNK4Leap5Image4dataEv"]
2116    pub fn Leap_Image_data(this: *const Leap_Image) -> *const ::std::os::raw::c_uchar;
2117}
2118extern "C" {
2119    #[link_name = "\u{1}_ZNK4Leap5Image10distortionEv"]
2120    pub fn Leap_Image_distortion(this: *const Leap_Image) -> *const f32;
2121}
2122extern "C" {
2123    #[link_name = "\u{1}_ZNK4Leap5Image5widthEv"]
2124    pub fn Leap_Image_width(this: *const Leap_Image) -> ::std::os::raw::c_int;
2125}
2126extern "C" {
2127    #[link_name = "\u{1}_ZNK4Leap5Image6heightEv"]
2128    pub fn Leap_Image_height(this: *const Leap_Image) -> ::std::os::raw::c_int;
2129}
2130extern "C" {
2131    #[link_name = "\u{1}_ZNK4Leap5Image13bytesPerPixelEv"]
2132    pub fn Leap_Image_bytesPerPixel(this: *const Leap_Image) -> ::std::os::raw::c_int;
2133}
2134extern "C" {
2135    #[link_name = "\u{1}_ZNK4Leap5Image6formatEv"]
2136    pub fn Leap_Image_format(this: *const Leap_Image) -> Leap_Image_FormatType;
2137}
2138extern "C" {
2139    #[link_name = "\u{1}_ZNK4Leap5Image15distortionWidthEv"]
2140    pub fn Leap_Image_distortionWidth(this: *const Leap_Image) -> ::std::os::raw::c_int;
2141}
2142extern "C" {
2143    #[link_name = "\u{1}_ZNK4Leap5Image16distortionHeightEv"]
2144    pub fn Leap_Image_distortionHeight(this: *const Leap_Image) -> ::std::os::raw::c_int;
2145}
2146extern "C" {
2147    #[link_name = "\u{1}_ZNK4Leap5Image10rayOffsetXEv"]
2148    pub fn Leap_Image_rayOffsetX(this: *const Leap_Image) -> f32;
2149}
2150extern "C" {
2151    #[link_name = "\u{1}_ZNK4Leap5Image10rayOffsetYEv"]
2152    pub fn Leap_Image_rayOffsetY(this: *const Leap_Image) -> f32;
2153}
2154extern "C" {
2155    #[link_name = "\u{1}_ZNK4Leap5Image9rayScaleXEv"]
2156    pub fn Leap_Image_rayScaleX(this: *const Leap_Image) -> f32;
2157}
2158extern "C" {
2159    #[link_name = "\u{1}_ZNK4Leap5Image9rayScaleYEv"]
2160    pub fn Leap_Image_rayScaleY(this: *const Leap_Image) -> f32;
2161}
2162extern "C" {
2163    #[link_name = "\u{1}_ZNK4Leap5Image7rectifyERKNS_6VectorE"]
2164    pub fn Leap_Image_rectify(this: *const Leap_Image, uv: *const Leap_Vector) -> Leap_Vector;
2165}
2166extern "C" {
2167    #[link_name = "\u{1}_ZNK4Leap5Image4warpERKNS_6VectorE"]
2168    pub fn Leap_Image_warp(this: *const Leap_Image, xy: *const Leap_Vector) -> Leap_Vector;
2169}
2170extern "C" {
2171    #[link_name = "\u{1}_ZNK4Leap5Image9timestampEv"]
2172    pub fn Leap_Image_timestamp(this: *const Leap_Image) -> i64;
2173}
2174extern "C" {
2175    #[link_name = "\u{1}_ZNK4Leap5Image7isValidEv"]
2176    pub fn Leap_Image_isValid(this: *const Leap_Image) -> bool;
2177}
2178extern "C" {
2179    #[link_name = "\u{1}_ZN4Leap5Image7invalidEv"]
2180    pub fn Leap_Image_invalid() -> *const Leap_Image;
2181}
2182extern "C" {
2183    #[link_name = "\u{1}_ZN4Leap5ImageC1EPNS_19ImageImplementationE"]
2184    pub fn Leap_Image_Image(this: *mut Leap_Image, arg1: *mut Leap_ImageImplementation);
2185}
2186extern "C" {
2187    #[link_name = "\u{1}_ZN4Leap5ImageC1Ev"]
2188    pub fn Leap_Image_Image1(this: *mut Leap_Image);
2189}
2190impl Leap_Image {
2191    #[inline]
2192    pub unsafe fn sequenceId(&self) -> i64 {
2193        Leap_Image_sequenceId(self)
2194    }
2195    #[inline]
2196    pub unsafe fn id(&self) -> i32 {
2197        Leap_Image_id(self)
2198    }
2199    #[inline]
2200    pub unsafe fn data(&self) -> *const ::std::os::raw::c_uchar {
2201        Leap_Image_data(self)
2202    }
2203    #[inline]
2204    pub unsafe fn distortion(&self) -> *const f32 {
2205        Leap_Image_distortion(self)
2206    }
2207    #[inline]
2208    pub unsafe fn width(&self) -> ::std::os::raw::c_int {
2209        Leap_Image_width(self)
2210    }
2211    #[inline]
2212    pub unsafe fn height(&self) -> ::std::os::raw::c_int {
2213        Leap_Image_height(self)
2214    }
2215    #[inline]
2216    pub unsafe fn bytesPerPixel(&self) -> ::std::os::raw::c_int {
2217        Leap_Image_bytesPerPixel(self)
2218    }
2219    #[inline]
2220    pub unsafe fn format(&self) -> Leap_Image_FormatType {
2221        Leap_Image_format(self)
2222    }
2223    #[inline]
2224    pub unsafe fn distortionWidth(&self) -> ::std::os::raw::c_int {
2225        Leap_Image_distortionWidth(self)
2226    }
2227    #[inline]
2228    pub unsafe fn distortionHeight(&self) -> ::std::os::raw::c_int {
2229        Leap_Image_distortionHeight(self)
2230    }
2231    #[inline]
2232    pub unsafe fn rayOffsetX(&self) -> f32 {
2233        Leap_Image_rayOffsetX(self)
2234    }
2235    #[inline]
2236    pub unsafe fn rayOffsetY(&self) -> f32 {
2237        Leap_Image_rayOffsetY(self)
2238    }
2239    #[inline]
2240    pub unsafe fn rayScaleX(&self) -> f32 {
2241        Leap_Image_rayScaleX(self)
2242    }
2243    #[inline]
2244    pub unsafe fn rayScaleY(&self) -> f32 {
2245        Leap_Image_rayScaleY(self)
2246    }
2247    #[inline]
2248    pub unsafe fn rectify(&self, uv: *const Leap_Vector) -> Leap_Vector {
2249        Leap_Image_rectify(self, uv)
2250    }
2251    #[inline]
2252    pub unsafe fn warp(&self, xy: *const Leap_Vector) -> Leap_Vector {
2253        Leap_Image_warp(self, xy)
2254    }
2255    #[inline]
2256    pub unsafe fn timestamp(&self) -> i64 {
2257        Leap_Image_timestamp(self)
2258    }
2259    #[inline]
2260    pub unsafe fn isValid(&self) -> bool {
2261        Leap_Image_isValid(self)
2262    }
2263    #[inline]
2264    pub unsafe fn invalid() -> *const Leap_Image {
2265        Leap_Image_invalid()
2266    }
2267    #[inline]
2268    pub unsafe fn new(arg1: *mut Leap_ImageImplementation) -> Self {
2269        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
2270        Leap_Image_Image(__bindgen_tmp.as_mut_ptr(), arg1);
2271        __bindgen_tmp.assume_init()
2272    }
2273    #[inline]
2274    pub unsafe fn new1() -> Self {
2275        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
2276        Leap_Image_Image1(__bindgen_tmp.as_mut_ptr());
2277        __bindgen_tmp.assume_init()
2278    }
2279}
2280#[repr(C)]
2281#[derive(Debug)]
2282pub struct Leap_Mask {
2283    pub _base: Leap_Interface,
2284}
2285#[test]
2286fn bindgen_test_layout_Leap_Mask() {
2287    assert_eq!(
2288        ::std::mem::size_of::<Leap_Mask>(),
2289        16usize,
2290        concat!("Size of: ", stringify!(Leap_Mask))
2291    );
2292    assert_eq!(
2293        ::std::mem::align_of::<Leap_Mask>(),
2294        8usize,
2295        concat!("Alignment of ", stringify!(Leap_Mask))
2296    );
2297}
2298extern "C" {
2299    #[link_name = "\u{1}_ZNK4Leap4Mask10sequenceIdEv"]
2300    pub fn Leap_Mask_sequenceId(this: *const Leap_Mask) -> i64;
2301}
2302extern "C" {
2303    #[link_name = "\u{1}_ZNK4Leap4Mask2idEv"]
2304    pub fn Leap_Mask_id(this: *const Leap_Mask) -> i32;
2305}
2306extern "C" {
2307    #[link_name = "\u{1}_ZNK4Leap4Mask4dataEv"]
2308    pub fn Leap_Mask_data(this: *const Leap_Mask) -> *const ::std::os::raw::c_uchar;
2309}
2310extern "C" {
2311    #[link_name = "\u{1}_ZNK4Leap4Mask5widthEv"]
2312    pub fn Leap_Mask_width(this: *const Leap_Mask) -> ::std::os::raw::c_int;
2313}
2314extern "C" {
2315    #[link_name = "\u{1}_ZNK4Leap4Mask6heightEv"]
2316    pub fn Leap_Mask_height(this: *const Leap_Mask) -> ::std::os::raw::c_int;
2317}
2318extern "C" {
2319    #[link_name = "\u{1}_ZNK4Leap4Mask7offsetXEv"]
2320    pub fn Leap_Mask_offsetX(this: *const Leap_Mask) -> ::std::os::raw::c_int;
2321}
2322extern "C" {
2323    #[link_name = "\u{1}_ZNK4Leap4Mask7offsetYEv"]
2324    pub fn Leap_Mask_offsetY(this: *const Leap_Mask) -> ::std::os::raw::c_int;
2325}
2326extern "C" {
2327    #[link_name = "\u{1}_ZNK4Leap4Mask7isValidEv"]
2328    pub fn Leap_Mask_isValid(this: *const Leap_Mask) -> bool;
2329}
2330extern "C" {
2331    #[link_name = "\u{1}_ZN4Leap4Mask7invalidEv"]
2332    pub fn Leap_Mask_invalid() -> *const Leap_Mask;
2333}
2334extern "C" {
2335    #[link_name = "\u{1}_ZN4Leap4MaskC1EPNS_18MaskImplementationE"]
2336    pub fn Leap_Mask_Mask(this: *mut Leap_Mask, arg1: *mut Leap_MaskImplementation);
2337}
2338extern "C" {
2339    #[link_name = "\u{1}_ZN4Leap4MaskC1Ev"]
2340    pub fn Leap_Mask_Mask1(this: *mut Leap_Mask);
2341}
2342impl Leap_Mask {
2343    #[inline]
2344    pub unsafe fn sequenceId(&self) -> i64 {
2345        Leap_Mask_sequenceId(self)
2346    }
2347    #[inline]
2348    pub unsafe fn id(&self) -> i32 {
2349        Leap_Mask_id(self)
2350    }
2351    #[inline]
2352    pub unsafe fn data(&self) -> *const ::std::os::raw::c_uchar {
2353        Leap_Mask_data(self)
2354    }
2355    #[inline]
2356    pub unsafe fn width(&self) -> ::std::os::raw::c_int {
2357        Leap_Mask_width(self)
2358    }
2359    #[inline]
2360    pub unsafe fn height(&self) -> ::std::os::raw::c_int {
2361        Leap_Mask_height(self)
2362    }
2363    #[inline]
2364    pub unsafe fn offsetX(&self) -> ::std::os::raw::c_int {
2365        Leap_Mask_offsetX(self)
2366    }
2367    #[inline]
2368    pub unsafe fn offsetY(&self) -> ::std::os::raw::c_int {
2369        Leap_Mask_offsetY(self)
2370    }
2371    #[inline]
2372    pub unsafe fn isValid(&self) -> bool {
2373        Leap_Mask_isValid(self)
2374    }
2375    #[inline]
2376    pub unsafe fn invalid() -> *const Leap_Mask {
2377        Leap_Mask_invalid()
2378    }
2379    #[inline]
2380    pub unsafe fn new(arg1: *mut Leap_MaskImplementation) -> Self {
2381        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
2382        Leap_Mask_Mask(__bindgen_tmp.as_mut_ptr(), arg1);
2383        __bindgen_tmp.assume_init()
2384    }
2385    #[inline]
2386    pub unsafe fn new1() -> Self {
2387        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
2388        Leap_Mask_Mask1(__bindgen_tmp.as_mut_ptr());
2389        __bindgen_tmp.assume_init()
2390    }
2391}
2392#[repr(C)]
2393#[derive(Debug, Copy, Clone)]
2394pub struct Leap_ConstListIterator<L> {
2395    pub m_list: *const L,
2396    pub m_index: ::std::os::raw::c_int,
2397    pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<L>>,
2398}
2399pub type Leap_ConstListIterator_difference_type = isize;
2400pub type Leap_ConstListIterator_value_type<T> = T;
2401pub type Leap_ConstListIterator_pointer<T> = *const T;
2402pub type Leap_ConstListIterator_reference<T> = *const T;
2403pub type Leap_ConstListIterator_iterator_category = std_forward_iterator_tag;
2404#[repr(C)]
2405#[derive(Debug)]
2406pub struct Leap_PointableList {
2407    pub _base: Leap_Interface,
2408}
2409pub type Leap_PointableList_const_iterator = Leap_ConstListIterator<Leap_PointableList>;
2410#[test]
2411fn bindgen_test_layout_Leap_PointableList() {
2412    assert_eq!(
2413        ::std::mem::size_of::<Leap_PointableList>(),
2414        16usize,
2415        concat!("Size of: ", stringify!(Leap_PointableList))
2416    );
2417    assert_eq!(
2418        ::std::mem::align_of::<Leap_PointableList>(),
2419        8usize,
2420        concat!("Alignment of ", stringify!(Leap_PointableList))
2421    );
2422}
2423extern "C" {
2424    #[link_name = "\u{1}_ZNK4Leap13PointableList5countEv"]
2425    pub fn Leap_PointableList_count(this: *const Leap_PointableList) -> ::std::os::raw::c_int;
2426}
2427extern "C" {
2428    #[link_name = "\u{1}_ZNK4Leap13PointableList7isEmptyEv"]
2429    pub fn Leap_PointableList_isEmpty(this: *const Leap_PointableList) -> bool;
2430}
2431extern "C" {
2432    #[link_name = "\u{1}_ZN4Leap13PointableList6appendERKS0_"]
2433    pub fn Leap_PointableList_append(
2434        this: *mut Leap_PointableList,
2435        other: *const Leap_PointableList,
2436    ) -> *mut Leap_PointableList;
2437}
2438extern "C" {
2439    #[link_name = "\u{1}_ZN4Leap13PointableList6appendERKNS_10FingerListE"]
2440    pub fn Leap_PointableList_append1(
2441        this: *mut Leap_PointableList,
2442        other: *const Leap_FingerList,
2443    ) -> *mut Leap_PointableList;
2444}
2445extern "C" {
2446    #[link_name = "\u{1}_ZN4Leap13PointableList6appendERKNS_8ToolListE"]
2447    pub fn Leap_PointableList_append2(
2448        this: *mut Leap_PointableList,
2449        other: *const Leap_ToolList,
2450    ) -> *mut Leap_PointableList;
2451}
2452extern "C" {
2453    #[link_name = "\u{1}_ZNK4Leap13PointableList8leftmostEv"]
2454    pub fn Leap_PointableList_leftmost(out: *mut Leap_Pointable, this: *const Leap_PointableList);
2455}
2456extern "C" {
2457    #[link_name = "\u{1}_ZNK4Leap13PointableList9rightmostEv"]
2458    pub fn Leap_PointableList_rightmost(out: *mut Leap_Pointable, this: *const Leap_PointableList);
2459}
2460extern "C" {
2461    #[link_name = "\u{1}_ZNK4Leap13PointableList9frontmostEv"]
2462    pub fn Leap_PointableList_frontmost(out: *mut Leap_Pointable, this: *const Leap_PointableList);
2463}
2464extern "C" {
2465    #[link_name = "\u{1}_ZNK4Leap13PointableList8extendedEv"]
2466    pub fn Leap_PointableList_extended(
2467        out: *mut Leap_PointableList,
2468        this: *const Leap_PointableList,
2469    );
2470}
2471extern "C" {
2472    #[link_name = "\u{1}_ZNK4Leap13PointableList5beginEv"]
2473    pub fn Leap_PointableList_begin(
2474        this: *const Leap_PointableList,
2475    ) -> Leap_PointableList_const_iterator;
2476}
2477extern "C" {
2478    #[link_name = "\u{1}_ZNK4Leap13PointableList3endEv"]
2479    pub fn Leap_PointableList_end(
2480        this: *const Leap_PointableList,
2481    ) -> Leap_PointableList_const_iterator;
2482}
2483extern "C" {
2484    #[link_name = "\u{1}_ZN4Leap13PointableListC1ERKNS_22ListBaseImplementationINS_9PointableEEE"]
2485    pub fn Leap_PointableList_PointableList(
2486        this: *mut Leap_PointableList,
2487        arg1: *const Leap_ListBaseImplementation,
2488    );
2489}
2490extern "C" {
2491    #[link_name = "\u{1}_ZN4Leap13PointableListC1Ev"]
2492    pub fn Leap_PointableList_PointableList1(this: *mut Leap_PointableList);
2493}
2494/*impl Leap_PointableList {
2495    #[inline]
2496    pub unsafe fn count(&self) -> ::std::os::raw::c_int {
2497        Leap_PointableList_count(self)
2498    }
2499    #[inline]
2500    pub unsafe fn isEmpty(&self) -> bool {
2501        Leap_PointableList_isEmpty(self)
2502    }
2503    #[inline]
2504    pub unsafe fn append(&mut self, other: *const Leap_PointableList) -> *mut Leap_PointableList {
2505        Leap_PointableList_append(self, other)
2506    }
2507    #[inline]
2508    pub unsafe fn append1(&mut self, other: *const Leap_FingerList) -> *mut Leap_PointableList {
2509        Leap_PointableList_append1(self, other)
2510    }
2511    #[inline]
2512    pub unsafe fn append2(&mut self, other: *const Leap_ToolList) -> *mut Leap_PointableList {
2513        Leap_PointableList_append2(self, other)
2514    }
2515    #[inline]
2516    pub unsafe fn leftmost(&self) -> Leap_Pointable {
2517        Leap_PointableList_leftmost(self)
2518    }
2519    #[inline]
2520    pub unsafe fn rightmost(&self) -> Leap_Pointable {
2521        Leap_PointableList_rightmost(self)
2522    }
2523    #[inline]
2524    pub unsafe fn frontmost(&self) -> Leap_Pointable {
2525        Leap_PointableList_frontmost(self)
2526    }
2527    #[inline]
2528    pub unsafe fn extended(&self) -> Leap_PointableList {
2529        Leap_PointableList_extended(self)
2530    }
2531    #[inline]
2532    pub unsafe fn begin(&self) -> Leap_PointableList_const_iterator {
2533        Leap_PointableList_begin(self)
2534    }
2535    #[inline]
2536    pub unsafe fn end(&self) -> Leap_PointableList_const_iterator {
2537        Leap_PointableList_end(self)
2538    }
2539    #[inline]
2540    pub unsafe fn new(arg1: *const Leap_ListBaseImplementation) -> Self {
2541        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
2542        Leap_PointableList_PointableList(__bindgen_tmp.as_mut_ptr(), arg1);
2543        __bindgen_tmp.assume_init()
2544    }
2545    #[inline]
2546    pub unsafe fn new1() -> Self {
2547        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
2548        Leap_PointableList_PointableList1(__bindgen_tmp.as_mut_ptr());
2549        __bindgen_tmp.assume_init()
2550    }
2551}*/
2552#[repr(C)]
2553#[derive(Debug)]
2554pub struct Leap_FingerList {
2555    pub _base: Leap_Interface,
2556}
2557pub type Leap_FingerList_const_iterator = Leap_ConstListIterator<Leap_FingerList>;
2558#[test]
2559fn bindgen_test_layout_Leap_FingerList() {
2560    assert_eq!(
2561        ::std::mem::size_of::<Leap_FingerList>(),
2562        16usize,
2563        concat!("Size of: ", stringify!(Leap_FingerList))
2564    );
2565    assert_eq!(
2566        ::std::mem::align_of::<Leap_FingerList>(),
2567        8usize,
2568        concat!("Alignment of ", stringify!(Leap_FingerList))
2569    );
2570}
2571extern "C" {
2572    #[link_name = "\u{1}_ZNK4Leap10FingerList5countEv"]
2573    pub fn Leap_FingerList_count(this: *const Leap_FingerList) -> ::std::os::raw::c_int;
2574}
2575extern "C" {
2576    #[link_name = "\u{1}_ZNK4Leap10FingerList7isEmptyEv"]
2577    pub fn Leap_FingerList_isEmpty(this: *const Leap_FingerList) -> bool;
2578}
2579extern "C" {
2580    #[link_name = "\u{1}_ZN4Leap10FingerList6appendERKS0_"]
2581    pub fn Leap_FingerList_append(
2582        this: *mut Leap_FingerList,
2583        other: *const Leap_FingerList,
2584    ) -> *mut Leap_FingerList;
2585}
2586extern "C" {
2587    #[link_name = "\u{1}_ZNK4Leap10FingerList8leftmostEv"]
2588    pub fn Leap_FingerList_leftmost(out: *mut Leap_Finger, this: *const Leap_FingerList);
2589}
2590extern "C" {
2591    #[link_name = "\u{1}_ZNK4Leap10FingerList9rightmostEv"]
2592    pub fn Leap_FingerList_rightmost(out: *mut Leap_Finger, this: *const Leap_FingerList);
2593}
2594extern "C" {
2595    #[link_name = "\u{1}_ZNK4Leap10FingerList9frontmostEv"]
2596    pub fn Leap_FingerList_frontmost(out: *mut Leap_Finger, this: *const Leap_FingerList);
2597}
2598extern "C" {
2599    #[link_name = "\u{1}_ZNK4Leap10FingerList8extendedEv"]
2600    pub fn Leap_FingerList_extended(out: *mut Leap_FingerList, this: *const Leap_FingerList);
2601}
2602extern "C" {
2603    #[link_name = "\u{1}_ZNK4Leap10FingerList10fingerTypeENS_6Finger4TypeE"]
2604    pub fn Leap_FingerList_fingerType(
2605        out: *mut Leap_FingerList,
2606        this: *const Leap_FingerList,
2607        type_: Leap_Finger_Type,
2608    );
2609}
2610extern "C" {
2611    #[link_name = "\u{1}_ZNK4Leap10FingerList5beginEv"]
2612    pub fn Leap_FingerList_begin(this: *const Leap_FingerList) -> Leap_FingerList_const_iterator;
2613}
2614extern "C" {
2615    #[link_name = "\u{1}_ZNK4Leap10FingerList3endEv"]
2616    pub fn Leap_FingerList_end(this: *const Leap_FingerList) -> Leap_FingerList_const_iterator;
2617}
2618extern "C" {
2619    #[link_name = "\u{1}_ZN4Leap10FingerListC1ERKNS_22ListBaseImplementationINS_6FingerEEE"]
2620    pub fn Leap_FingerList_FingerList(
2621        this: *mut Leap_FingerList,
2622        arg1: *const Leap_ListBaseImplementation,
2623    );
2624}
2625extern "C" {
2626    #[link_name = "\u{1}_ZN4Leap10FingerListC1Ev"]
2627    pub fn Leap_FingerList_FingerList1(this: *mut Leap_FingerList);
2628}
2629/*impl Leap_FingerList {
2630    #[inline]
2631    pub unsafe fn count(&self) -> ::std::os::raw::c_int {
2632        Leap_FingerList_count(self)
2633    }
2634    #[inline]
2635    pub unsafe fn isEmpty(&self) -> bool {
2636        Leap_FingerList_isEmpty(self)
2637    }
2638    #[inline]
2639    pub unsafe fn append(&mut self, other: *const Leap_FingerList) -> *mut Leap_FingerList {
2640        Leap_FingerList_append(self, other)
2641    }
2642    #[inline]
2643    pub unsafe fn leftmost(&self) -> Leap_Finger {
2644        Leap_FingerList_leftmost(self)
2645    }
2646    #[inline]
2647    pub unsafe fn rightmost(&self) -> Leap_Finger {
2648        Leap_FingerList_rightmost(self)
2649    }
2650    #[inline]
2651    pub unsafe fn frontmost(&self) -> Leap_Finger {
2652        Leap_FingerList_frontmost(self)
2653    }
2654    #[inline]
2655    pub unsafe fn extended(&self) -> Leap_FingerList {
2656        Leap_FingerList_extended(self)
2657    }
2658    #[inline]
2659    pub unsafe fn fingerType(&self, type_: Leap_Finger_Type) -> Leap_FingerList {
2660        Leap_FingerList_fingerType(self, type_)
2661    }
2662    #[inline]
2663    pub unsafe fn begin(&self) -> Leap_FingerList_const_iterator {
2664        Leap_FingerList_begin(self)
2665    }
2666    #[inline]
2667    pub unsafe fn end(&self) -> Leap_FingerList_const_iterator {
2668        Leap_FingerList_end(self)
2669    }
2670    #[inline]
2671    pub unsafe fn new(arg1: *const Leap_ListBaseImplementation) -> Self {
2672        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
2673        Leap_FingerList_FingerList(__bindgen_tmp.as_mut_ptr(), arg1);
2674        __bindgen_tmp.assume_init()
2675    }
2676    #[inline]
2677    pub unsafe fn new1() -> Self {
2678        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
2679        Leap_FingerList_FingerList1(__bindgen_tmp.as_mut_ptr());
2680        __bindgen_tmp.assume_init()
2681    }
2682}*/
2683#[repr(C)]
2684#[derive(Debug)]
2685pub struct Leap_ToolList {
2686    pub _base: Leap_Interface,
2687}
2688pub type Leap_ToolList_const_iterator = Leap_ConstListIterator<Leap_ToolList>;
2689#[test]
2690fn bindgen_test_layout_Leap_ToolList() {
2691    assert_eq!(
2692        ::std::mem::size_of::<Leap_ToolList>(),
2693        16usize,
2694        concat!("Size of: ", stringify!(Leap_ToolList))
2695    );
2696    assert_eq!(
2697        ::std::mem::align_of::<Leap_ToolList>(),
2698        8usize,
2699        concat!("Alignment of ", stringify!(Leap_ToolList))
2700    );
2701}
2702extern "C" {
2703    #[link_name = "\u{1}_ZNK4Leap8ToolList5countEv"]
2704    pub fn Leap_ToolList_count(this: *const Leap_ToolList) -> ::std::os::raw::c_int;
2705}
2706extern "C" {
2707    #[link_name = "\u{1}_ZNK4Leap8ToolList7isEmptyEv"]
2708    pub fn Leap_ToolList_isEmpty(this: *const Leap_ToolList) -> bool;
2709}
2710extern "C" {
2711    #[link_name = "\u{1}_ZN4Leap8ToolList6appendERKS0_"]
2712    pub fn Leap_ToolList_append(
2713        this: *mut Leap_ToolList,
2714        other: *const Leap_ToolList,
2715    ) -> *mut Leap_ToolList;
2716}
2717extern "C" {
2718    #[link_name = "\u{1}_ZNK4Leap8ToolList8leftmostEv"]
2719    pub fn Leap_ToolList_leftmost(out: *mut Leap_Tool, this: *const Leap_ToolList);
2720}
2721extern "C" {
2722    #[link_name = "\u{1}_ZNK4Leap8ToolList9rightmostEv"]
2723    pub fn Leap_ToolList_rightmost(out: *mut Leap_Tool, this: *const Leap_ToolList);
2724}
2725extern "C" {
2726    #[link_name = "\u{1}_ZNK4Leap8ToolList9frontmostEv"]
2727    pub fn Leap_ToolList_frontmost(out: *mut Leap_Tool, this: *const Leap_ToolList);
2728}
2729extern "C" {
2730    #[link_name = "\u{1}_ZNK4Leap8ToolList5beginEv"]
2731    pub fn Leap_ToolList_begin(this: *const Leap_ToolList) -> Leap_ToolList_const_iterator;
2732}
2733extern "C" {
2734    #[link_name = "\u{1}_ZNK4Leap8ToolList3endEv"]
2735    pub fn Leap_ToolList_end(this: *const Leap_ToolList) -> Leap_ToolList_const_iterator;
2736}
2737extern "C" {
2738    #[link_name = "\u{1}_ZN4Leap8ToolListC1ERKNS_22ListBaseImplementationINS_4ToolEEE"]
2739    pub fn Leap_ToolList_ToolList(
2740        this: *mut Leap_ToolList,
2741        arg1: *const Leap_ListBaseImplementation,
2742    );
2743}
2744extern "C" {
2745    #[link_name = "\u{1}_ZN4Leap8ToolListC1Ev"]
2746    pub fn Leap_ToolList_ToolList1(this: *mut Leap_ToolList);
2747}
2748/*impl Leap_ToolList {
2749    #[inline]
2750    pub unsafe fn count(&self) -> ::std::os::raw::c_int {
2751        Leap_ToolList_count(self)
2752    }
2753    #[inline]
2754    pub unsafe fn isEmpty(&self) -> bool {
2755        Leap_ToolList_isEmpty(self)
2756    }
2757    #[inline]
2758    pub unsafe fn append(&mut self, other: *const Leap_ToolList) -> *mut Leap_ToolList {
2759        Leap_ToolList_append(self, other)
2760    }
2761    #[inline]
2762    pub unsafe fn leftmost(&self) -> Leap_Tool {
2763        Leap_ToolList_leftmost(self)
2764    }
2765    #[inline]
2766    pub unsafe fn rightmost(&self) -> Leap_Tool {
2767        Leap_ToolList_rightmost(self)
2768    }
2769    #[inline]
2770    pub unsafe fn frontmost(&self) -> Leap_Tool {
2771        Leap_ToolList_frontmost(self)
2772    }
2773    #[inline]
2774    pub unsafe fn begin(&self) -> Leap_ToolList_const_iterator {
2775        Leap_ToolList_begin(self)
2776    }
2777    #[inline]
2778    pub unsafe fn end(&self) -> Leap_ToolList_const_iterator {
2779        Leap_ToolList_end(self)
2780    }
2781    #[inline]
2782    pub unsafe fn new(arg1: *const Leap_ListBaseImplementation) -> Self {
2783        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
2784        Leap_ToolList_ToolList(__bindgen_tmp.as_mut_ptr(), arg1);
2785        __bindgen_tmp.assume_init()
2786    }
2787    #[inline]
2788    pub unsafe fn new1() -> Self {
2789        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
2790        Leap_ToolList_ToolList1(__bindgen_tmp.as_mut_ptr());
2791        __bindgen_tmp.assume_init()
2792    }
2793}*/
2794#[repr(C)]
2795#[derive(Debug)]
2796pub struct Leap_HandList {
2797    pub _base: Leap_Interface,
2798}
2799pub type Leap_HandList_const_iterator = Leap_ConstListIterator<Leap_HandList>;
2800#[test]
2801fn bindgen_test_layout_Leap_HandList() {
2802    assert_eq!(
2803        ::std::mem::size_of::<Leap_HandList>(),
2804        16usize,
2805        concat!("Size of: ", stringify!(Leap_HandList))
2806    );
2807    assert_eq!(
2808        ::std::mem::align_of::<Leap_HandList>(),
2809        8usize,
2810        concat!("Alignment of ", stringify!(Leap_HandList))
2811    );
2812}
2813extern "C" {
2814    #[link_name = "\u{1}_ZNK4Leap8HandList5countEv"]
2815    pub fn Leap_HandList_count(this: *const Leap_HandList) -> ::std::os::raw::c_int;
2816}
2817extern "C" {
2818    #[link_name = "\u{1}_ZNK4Leap8HandList7isEmptyEv"]
2819    pub fn Leap_HandList_isEmpty(this: *const Leap_HandList) -> bool;
2820}
2821extern "C" {
2822    #[link_name = "\u{1}_ZN4Leap8HandList6appendERKS0_"]
2823    pub fn Leap_HandList_append(
2824        this: *mut Leap_HandList,
2825        other: *const Leap_HandList,
2826    ) -> *mut Leap_HandList;
2827}
2828extern "C" {
2829    #[link_name = "\u{1}_ZNK4Leap8HandList8leftmostEv"]
2830    pub fn Leap_HandList_leftmost(out: *mut Leap_Hand, this: *const Leap_HandList);
2831}
2832extern "C" {
2833    #[link_name = "\u{1}_ZNK4Leap8HandList9rightmostEv"]
2834    pub fn Leap_HandList_rightmost(out: *mut Leap_Hand, this: *const Leap_HandList);
2835}
2836extern "C" {
2837    #[link_name = "\u{1}_ZNK4Leap8HandList9frontmostEv"]
2838    pub fn Leap_HandList_frontmost(out: *mut Leap_Hand, this: *const Leap_HandList);
2839}
2840extern "C" {
2841    #[link_name = "\u{1}_ZNK4Leap8HandList5beginEv"]
2842    pub fn Leap_HandList_begin(this: *const Leap_HandList) -> Leap_HandList_const_iterator;
2843}
2844extern "C" {
2845    #[link_name = "\u{1}_ZNK4Leap8HandList3endEv"]
2846    pub fn Leap_HandList_end(this: *const Leap_HandList) -> Leap_HandList_const_iterator;
2847}
2848extern "C" {
2849    #[link_name = "\u{1}_ZN4Leap8HandListC1ERKNS_22ListBaseImplementationINS_4HandEEE"]
2850    pub fn Leap_HandList_HandList(
2851        this: *mut Leap_HandList,
2852        arg1: *const Leap_ListBaseImplementation,
2853    );
2854}
2855extern "C" {
2856    #[link_name = "\u{1}_ZN4Leap8HandListC1Ev"]
2857    pub fn Leap_HandList_HandList1(this: *mut Leap_HandList);
2858}
2859/*impl Leap_HandList {
2860    #[inline]
2861    pub unsafe fn count(&self) -> ::std::os::raw::c_int {
2862        Leap_HandList_count(self)
2863    }
2864    #[inline]
2865    pub unsafe fn isEmpty(&self) -> bool {
2866        Leap_HandList_isEmpty(self)
2867    }
2868    #[inline]
2869    pub unsafe fn append(&mut self, other: *const Leap_HandList) -> *mut Leap_HandList {
2870        Leap_HandList_append(self, other)
2871    }
2872    #[inline]
2873    pub unsafe fn leftmost(&self) -> Leap_Hand {
2874        Leap_HandList_leftmost(self)
2875    }
2876    #[inline]
2877    pub unsafe fn rightmost(&self) -> Leap_Hand {
2878        Leap_HandList_rightmost(self)
2879    }
2880    #[inline]
2881    pub unsafe fn frontmost(&self) -> Leap_Hand {
2882        Leap_HandList_frontmost(self)
2883    }
2884    #[inline]
2885    pub unsafe fn begin(&self) -> Leap_HandList_const_iterator {
2886        Leap_HandList_begin(self)
2887    }
2888    #[inline]
2889    pub unsafe fn end(&self) -> Leap_HandList_const_iterator {
2890        Leap_HandList_end(self)
2891    }
2892    #[inline]
2893    pub unsafe fn new(arg1: *const Leap_ListBaseImplementation) -> Self {
2894        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
2895        Leap_HandList_HandList(__bindgen_tmp.as_mut_ptr(), arg1);
2896        __bindgen_tmp.assume_init()
2897    }
2898    #[inline]
2899    pub unsafe fn new1() -> Self {
2900        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
2901        Leap_HandList_HandList1(__bindgen_tmp.as_mut_ptr());
2902        __bindgen_tmp.assume_init()
2903    }
2904}*/
2905#[repr(C)]
2906#[derive(Debug)]
2907pub struct Leap_GestureList {
2908    pub _base: Leap_Interface,
2909}
2910pub type Leap_GestureList_const_iterator = Leap_ConstListIterator<Leap_GestureList>;
2911#[test]
2912fn bindgen_test_layout_Leap_GestureList() {
2913    assert_eq!(
2914        ::std::mem::size_of::<Leap_GestureList>(),
2915        16usize,
2916        concat!("Size of: ", stringify!(Leap_GestureList))
2917    );
2918    assert_eq!(
2919        ::std::mem::align_of::<Leap_GestureList>(),
2920        8usize,
2921        concat!("Alignment of ", stringify!(Leap_GestureList))
2922    );
2923}
2924extern "C" {
2925    #[link_name = "\u{1}_ZNK4Leap11GestureList5countEv"]
2926    pub fn Leap_GestureList_count(this: *const Leap_GestureList) -> ::std::os::raw::c_int;
2927}
2928extern "C" {
2929    #[link_name = "\u{1}_ZNK4Leap11GestureList7isEmptyEv"]
2930    pub fn Leap_GestureList_isEmpty(this: *const Leap_GestureList) -> bool;
2931}
2932extern "C" {
2933    #[link_name = "\u{1}_ZN4Leap11GestureList6appendERKS0_"]
2934    pub fn Leap_GestureList_append(
2935        this: *mut Leap_GestureList,
2936        other: *const Leap_GestureList,
2937    ) -> *mut Leap_GestureList;
2938}
2939extern "C" {
2940    #[link_name = "\u{1}_ZNK4Leap11GestureList5beginEv"]
2941    pub fn Leap_GestureList_begin(this: *const Leap_GestureList)
2942        -> Leap_GestureList_const_iterator;
2943}
2944extern "C" {
2945    #[link_name = "\u{1}_ZNK4Leap11GestureList3endEv"]
2946    pub fn Leap_GestureList_end(this: *const Leap_GestureList) -> Leap_GestureList_const_iterator;
2947}
2948extern "C" {
2949    #[link_name = "\u{1}_ZN4Leap11GestureListC1ERKNS_22ListBaseImplementationINS_7GestureEEE"]
2950    pub fn Leap_GestureList_GestureList(
2951        this: *mut Leap_GestureList,
2952        arg1: *const Leap_ListBaseImplementation,
2953    );
2954}
2955extern "C" {
2956    #[link_name = "\u{1}_ZN4Leap11GestureListC1Ev"]
2957    pub fn Leap_GestureList_GestureList1(this: *mut Leap_GestureList);
2958}
2959impl Leap_GestureList {
2960    #[inline]
2961    pub unsafe fn count(&self) -> ::std::os::raw::c_int {
2962        Leap_GestureList_count(self)
2963    }
2964    #[inline]
2965    pub unsafe fn isEmpty(&self) -> bool {
2966        Leap_GestureList_isEmpty(self)
2967    }
2968    #[inline]
2969    pub unsafe fn append(&mut self, other: *const Leap_GestureList) -> *mut Leap_GestureList {
2970        Leap_GestureList_append(self, other)
2971    }
2972    #[inline]
2973    pub unsafe fn begin(&self) -> Leap_GestureList_const_iterator {
2974        Leap_GestureList_begin(self)
2975    }
2976    #[inline]
2977    pub unsafe fn end(&self) -> Leap_GestureList_const_iterator {
2978        Leap_GestureList_end(self)
2979    }
2980    #[inline]
2981    pub unsafe fn new(arg1: *const Leap_ListBaseImplementation) -> Self {
2982        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
2983        Leap_GestureList_GestureList(__bindgen_tmp.as_mut_ptr(), arg1);
2984        __bindgen_tmp.assume_init()
2985    }
2986    #[inline]
2987    pub unsafe fn new1() -> Self {
2988        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
2989        Leap_GestureList_GestureList1(__bindgen_tmp.as_mut_ptr());
2990        __bindgen_tmp.assume_init()
2991    }
2992}
2993#[repr(C)]
2994#[derive(Debug)]
2995pub struct Leap_ScreenList {
2996    pub _base: Leap_Interface,
2997}
2998pub type Leap_ScreenList_const_iterator = Leap_ConstListIterator<Leap_ScreenList>;
2999#[test]
3000fn bindgen_test_layout_Leap_ScreenList() {
3001    assert_eq!(
3002        ::std::mem::size_of::<Leap_ScreenList>(),
3003        16usize,
3004        concat!("Size of: ", stringify!(Leap_ScreenList))
3005    );
3006    assert_eq!(
3007        ::std::mem::align_of::<Leap_ScreenList>(),
3008        8usize,
3009        concat!("Alignment of ", stringify!(Leap_ScreenList))
3010    );
3011}
3012extern "C" {
3013    #[link_name = "\u{1}_ZNK4Leap10ScreenList5countEv"]
3014    pub fn Leap_ScreenList_count(this: *const Leap_ScreenList) -> ::std::os::raw::c_int;
3015}
3016extern "C" {
3017    #[link_name = "\u{1}_ZNK4Leap10ScreenList7isEmptyEv"]
3018    pub fn Leap_ScreenList_isEmpty(this: *const Leap_ScreenList) -> bool;
3019}
3020extern "C" {
3021    #[link_name = "\u{1}_ZNK4Leap10ScreenList5beginEv"]
3022    pub fn Leap_ScreenList_begin(this: *const Leap_ScreenList) -> Leap_ScreenList_const_iterator;
3023}
3024extern "C" {
3025    #[link_name = "\u{1}_ZNK4Leap10ScreenList3endEv"]
3026    pub fn Leap_ScreenList_end(this: *const Leap_ScreenList) -> Leap_ScreenList_const_iterator;
3027}
3028extern "C" {
3029    #[link_name = "\u{1}_ZNK4Leap10ScreenList16closestScreenHitERKNS_9PointableE"]
3030    pub fn Leap_ScreenList_closestScreenHit(
3031        this: *const Leap_ScreenList,
3032        pointable: *const Leap_Pointable,
3033    ) -> Leap_Screen;
3034}
3035extern "C" {
3036    #[link_name = "\u{1}_ZNK4Leap10ScreenList16closestScreenHitERKNS_6VectorES3_"]
3037    pub fn Leap_ScreenList_closestScreenHit1(
3038        this: *const Leap_ScreenList,
3039        position: *const Leap_Vector,
3040        direction: *const Leap_Vector,
3041    ) -> Leap_Screen;
3042}
3043extern "C" {
3044    #[link_name = "\u{1}_ZNK4Leap10ScreenList13closestScreenERKNS_6VectorE"]
3045    pub fn Leap_ScreenList_closestScreen(
3046        this: *const Leap_ScreenList,
3047        position: *const Leap_Vector,
3048    ) -> Leap_Screen;
3049}
3050extern "C" {
3051    #[link_name = "\u{1}_ZN4Leap10ScreenListC1ERKNS_22ListBaseImplementationINS_6ScreenEEE"]
3052    pub fn Leap_ScreenList_ScreenList(
3053        this: *mut Leap_ScreenList,
3054        arg1: *const Leap_ListBaseImplementation,
3055    );
3056}
3057extern "C" {
3058    #[link_name = "\u{1}_ZN4Leap10ScreenListC1Ev"]
3059    pub fn Leap_ScreenList_ScreenList1(this: *mut Leap_ScreenList);
3060}
3061impl Leap_ScreenList {
3062    #[inline]
3063    pub unsafe fn count(&self) -> ::std::os::raw::c_int {
3064        Leap_ScreenList_count(self)
3065    }
3066    #[inline]
3067    pub unsafe fn isEmpty(&self) -> bool {
3068        Leap_ScreenList_isEmpty(self)
3069    }
3070    #[inline]
3071    pub unsafe fn begin(&self) -> Leap_ScreenList_const_iterator {
3072        Leap_ScreenList_begin(self)
3073    }
3074    #[inline]
3075    pub unsafe fn end(&self) -> Leap_ScreenList_const_iterator {
3076        Leap_ScreenList_end(self)
3077    }
3078    #[inline]
3079    pub unsafe fn closestScreenHit(&self, pointable: *const Leap_Pointable) -> Leap_Screen {
3080        Leap_ScreenList_closestScreenHit(self, pointable)
3081    }
3082    #[inline]
3083    pub unsafe fn closestScreenHit1(
3084        &self,
3085        position: *const Leap_Vector,
3086        direction: *const Leap_Vector,
3087    ) -> Leap_Screen {
3088        Leap_ScreenList_closestScreenHit1(self, position, direction)
3089    }
3090    #[inline]
3091    pub unsafe fn closestScreen(&self, position: *const Leap_Vector) -> Leap_Screen {
3092        Leap_ScreenList_closestScreen(self, position)
3093    }
3094    #[inline]
3095    pub unsafe fn new(arg1: *const Leap_ListBaseImplementation) -> Self {
3096        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
3097        Leap_ScreenList_ScreenList(__bindgen_tmp.as_mut_ptr(), arg1);
3098        __bindgen_tmp.assume_init()
3099    }
3100    #[inline]
3101    pub unsafe fn new1() -> Self {
3102        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
3103        Leap_ScreenList_ScreenList1(__bindgen_tmp.as_mut_ptr());
3104        __bindgen_tmp.assume_init()
3105    }
3106}
3107#[repr(C)]
3108#[derive(Debug)]
3109pub struct Leap_DeviceList {
3110    pub _base: Leap_Interface,
3111}
3112pub type Leap_DeviceList_const_iterator = Leap_ConstListIterator<Leap_DeviceList>;
3113#[test]
3114fn bindgen_test_layout_Leap_DeviceList() {
3115    assert_eq!(
3116        ::std::mem::size_of::<Leap_DeviceList>(),
3117        16usize,
3118        concat!("Size of: ", stringify!(Leap_DeviceList))
3119    );
3120    assert_eq!(
3121        ::std::mem::align_of::<Leap_DeviceList>(),
3122        8usize,
3123        concat!("Alignment of ", stringify!(Leap_DeviceList))
3124    );
3125}
3126extern "C" {
3127    #[link_name = "\u{1}_ZNK4Leap10DeviceList5countEv"]
3128    pub fn Leap_DeviceList_count(this: *const Leap_DeviceList) -> ::std::os::raw::c_int;
3129}
3130extern "C" {
3131    #[link_name = "\u{1}_ZNK4Leap10DeviceList7isEmptyEv"]
3132    pub fn Leap_DeviceList_isEmpty(this: *const Leap_DeviceList) -> bool;
3133}
3134extern "C" {
3135    #[link_name = "\u{1}_ZN4Leap10DeviceList6appendERKS0_"]
3136    pub fn Leap_DeviceList_append(
3137        this: *mut Leap_DeviceList,
3138        other: *const Leap_DeviceList,
3139    ) -> *mut Leap_DeviceList;
3140}
3141extern "C" {
3142    #[link_name = "\u{1}_ZNK4Leap10DeviceList5beginEv"]
3143    pub fn Leap_DeviceList_begin(this: *const Leap_DeviceList) -> Leap_DeviceList_const_iterator;
3144}
3145extern "C" {
3146    #[link_name = "\u{1}_ZNK4Leap10DeviceList3endEv"]
3147    pub fn Leap_DeviceList_end(this: *const Leap_DeviceList) -> Leap_DeviceList_const_iterator;
3148}
3149extern "C" {
3150    #[link_name = "\u{1}_ZN4Leap10DeviceListC1ERKNS_22ListBaseImplementationINS_6DeviceEEE"]
3151    pub fn Leap_DeviceList_DeviceList(
3152        this: *mut Leap_DeviceList,
3153        arg1: *const Leap_ListBaseImplementation,
3154    );
3155}
3156extern "C" {
3157    #[link_name = "\u{1}_ZN4Leap10DeviceListC1Ev"]
3158    pub fn Leap_DeviceList_DeviceList1(this: *mut Leap_DeviceList);
3159}
3160impl Leap_DeviceList {
3161    #[inline]
3162    pub unsafe fn count(&self) -> ::std::os::raw::c_int {
3163        Leap_DeviceList_count(self)
3164    }
3165    #[inline]
3166    pub unsafe fn isEmpty(&self) -> bool {
3167        Leap_DeviceList_isEmpty(self)
3168    }
3169    #[inline]
3170    pub unsafe fn append(&mut self, other: *const Leap_DeviceList) -> *mut Leap_DeviceList {
3171        Leap_DeviceList_append(self, other)
3172    }
3173    #[inline]
3174    pub unsafe fn begin(&self) -> Leap_DeviceList_const_iterator {
3175        Leap_DeviceList_begin(self)
3176    }
3177    #[inline]
3178    pub unsafe fn end(&self) -> Leap_DeviceList_const_iterator {
3179        Leap_DeviceList_end(self)
3180    }
3181    #[inline]
3182    pub unsafe fn new(arg1: *const Leap_ListBaseImplementation) -> Self {
3183        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
3184        Leap_DeviceList_DeviceList(__bindgen_tmp.as_mut_ptr(), arg1);
3185        __bindgen_tmp.assume_init()
3186    }
3187    #[inline]
3188    pub unsafe fn new1() -> Self {
3189        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
3190        Leap_DeviceList_DeviceList1(__bindgen_tmp.as_mut_ptr());
3191        __bindgen_tmp.assume_init()
3192    }
3193}
3194#[repr(C)]
3195#[derive(Debug)]
3196pub struct Leap_ImageList {
3197    pub _base: Leap_Interface,
3198}
3199pub type Leap_ImageList_const_iterator = Leap_ConstListIterator<Leap_ImageList>;
3200#[test]
3201fn bindgen_test_layout_Leap_ImageList() {
3202    assert_eq!(
3203        ::std::mem::size_of::<Leap_ImageList>(),
3204        16usize,
3205        concat!("Size of: ", stringify!(Leap_ImageList))
3206    );
3207    assert_eq!(
3208        ::std::mem::align_of::<Leap_ImageList>(),
3209        8usize,
3210        concat!("Alignment of ", stringify!(Leap_ImageList))
3211    );
3212}
3213extern "C" {
3214    #[link_name = "\u{1}_ZNK4Leap9ImageList5countEv"]
3215    pub fn Leap_ImageList_count(this: *const Leap_ImageList) -> ::std::os::raw::c_int;
3216}
3217extern "C" {
3218    #[link_name = "\u{1}_ZNK4Leap9ImageList7isEmptyEv"]
3219    pub fn Leap_ImageList_isEmpty(this: *const Leap_ImageList) -> bool;
3220}
3221extern "C" {
3222    #[link_name = "\u{1}_ZN4Leap9ImageList6appendERKS0_"]
3223    pub fn Leap_ImageList_append(
3224        this: *mut Leap_ImageList,
3225        other: *const Leap_ImageList,
3226    ) -> *mut Leap_ImageList;
3227}
3228extern "C" {
3229    #[link_name = "\u{1}_ZNK4Leap9ImageList5beginEv"]
3230    pub fn Leap_ImageList_begin(this: *const Leap_ImageList) -> Leap_ImageList_const_iterator;
3231}
3232extern "C" {
3233    #[link_name = "\u{1}_ZNK4Leap9ImageList3endEv"]
3234    pub fn Leap_ImageList_end(this: *const Leap_ImageList) -> Leap_ImageList_const_iterator;
3235}
3236extern "C" {
3237    #[link_name = "\u{1}_ZN4Leap9ImageListC1ERKNS_22ListBaseImplementationINS_5ImageEEE"]
3238    pub fn Leap_ImageList_ImageList(
3239        this: *mut Leap_ImageList,
3240        arg1: *const Leap_ListBaseImplementation,
3241    );
3242}
3243extern "C" {
3244    #[link_name = "\u{1}_ZN4Leap9ImageListC1Ev"]
3245    pub fn Leap_ImageList_ImageList1(this: *mut Leap_ImageList);
3246}
3247impl Leap_ImageList {
3248    #[inline]
3249    pub unsafe fn count(&self) -> ::std::os::raw::c_int {
3250        Leap_ImageList_count(self)
3251    }
3252    #[inline]
3253    pub unsafe fn isEmpty(&self) -> bool {
3254        Leap_ImageList_isEmpty(self)
3255    }
3256    #[inline]
3257    pub unsafe fn append(&mut self, other: *const Leap_ImageList) -> *mut Leap_ImageList {
3258        Leap_ImageList_append(self, other)
3259    }
3260    #[inline]
3261    pub unsafe fn begin(&self) -> Leap_ImageList_const_iterator {
3262        Leap_ImageList_begin(self)
3263    }
3264    #[inline]
3265    pub unsafe fn end(&self) -> Leap_ImageList_const_iterator {
3266        Leap_ImageList_end(self)
3267    }
3268    #[inline]
3269    pub unsafe fn new(arg1: *const Leap_ListBaseImplementation) -> Self {
3270        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
3271        Leap_ImageList_ImageList(__bindgen_tmp.as_mut_ptr(), arg1);
3272        __bindgen_tmp.assume_init()
3273    }
3274    #[inline]
3275    pub unsafe fn new1() -> Self {
3276        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
3277        Leap_ImageList_ImageList1(__bindgen_tmp.as_mut_ptr());
3278        __bindgen_tmp.assume_init()
3279    }
3280}
3281#[repr(C)]
3282#[derive(Debug)]
3283pub struct Leap_TrackedQuad {
3284    pub _base: Leap_Interface,
3285}
3286#[test]
3287fn bindgen_test_layout_Leap_TrackedQuad() {
3288    assert_eq!(
3289        ::std::mem::size_of::<Leap_TrackedQuad>(),
3290        16usize,
3291        concat!("Size of: ", stringify!(Leap_TrackedQuad))
3292    );
3293    assert_eq!(
3294        ::std::mem::align_of::<Leap_TrackedQuad>(),
3295        8usize,
3296        concat!("Alignment of ", stringify!(Leap_TrackedQuad))
3297    );
3298}
3299extern "C" {
3300    #[link_name = "\u{1}_ZNK4Leap11TrackedQuad5widthEv"]
3301    pub fn Leap_TrackedQuad_width(this: *const Leap_TrackedQuad) -> f32;
3302}
3303extern "C" {
3304    #[link_name = "\u{1}_ZNK4Leap11TrackedQuad6heightEv"]
3305    pub fn Leap_TrackedQuad_height(this: *const Leap_TrackedQuad) -> f32;
3306}
3307extern "C" {
3308    #[link_name = "\u{1}_ZNK4Leap11TrackedQuad11resolutionXEv"]
3309    pub fn Leap_TrackedQuad_resolutionX(this: *const Leap_TrackedQuad) -> ::std::os::raw::c_int;
3310}
3311extern "C" {
3312    #[link_name = "\u{1}_ZNK4Leap11TrackedQuad11resolutionYEv"]
3313    pub fn Leap_TrackedQuad_resolutionY(this: *const Leap_TrackedQuad) -> ::std::os::raw::c_int;
3314}
3315extern "C" {
3316    #[link_name = "\u{1}_ZNK4Leap11TrackedQuad7visibleEv"]
3317    pub fn Leap_TrackedQuad_visible(this: *const Leap_TrackedQuad) -> bool;
3318}
3319extern "C" {
3320    #[link_name = "\u{1}_ZNK4Leap11TrackedQuad11orientationEv"]
3321    pub fn Leap_TrackedQuad_orientation(this: *const Leap_TrackedQuad) -> Leap_Matrix;
3322}
3323extern "C" {
3324    #[link_name = "\u{1}_ZNK4Leap11TrackedQuad8positionEv"]
3325    pub fn Leap_TrackedQuad_position(this: *const Leap_TrackedQuad) -> Leap_Vector;
3326}
3327extern "C" {
3328    #[link_name = "\u{1}_ZNK4Leap11TrackedQuad5masksEv"]
3329    pub fn Leap_TrackedQuad_masks(this: *const Leap_TrackedQuad) -> Leap_MaskList;
3330}
3331extern "C" {
3332    #[link_name = "\u{1}_ZNK4Leap11TrackedQuad6imagesEv"]
3333    pub fn Leap_TrackedQuad_images(this: *const Leap_TrackedQuad) -> Leap_ImageList;
3334}
3335extern "C" {
3336    #[link_name = "\u{1}_ZNK4Leap11TrackedQuad7isValidEv"]
3337    pub fn Leap_TrackedQuad_isValid(this: *const Leap_TrackedQuad) -> bool;
3338}
3339extern "C" {
3340    #[link_name = "\u{1}_ZN4Leap11TrackedQuad7invalidEv"]
3341    pub fn Leap_TrackedQuad_invalid() -> *const Leap_TrackedQuad;
3342}
3343extern "C" {
3344    #[link_name = "\u{1}_ZN4Leap11TrackedQuadC1EPNS_25TrackedQuadImplementationE"]
3345    pub fn Leap_TrackedQuad_TrackedQuad(
3346        this: *mut Leap_TrackedQuad,
3347        arg1: *mut Leap_TrackedQuadImplementation,
3348    );
3349}
3350extern "C" {
3351    #[link_name = "\u{1}_ZN4Leap11TrackedQuadC1Ev"]
3352    pub fn Leap_TrackedQuad_TrackedQuad1(this: *mut Leap_TrackedQuad);
3353}
3354impl Leap_TrackedQuad {
3355    #[inline]
3356    pub unsafe fn width(&self) -> f32 {
3357        Leap_TrackedQuad_width(self)
3358    }
3359    #[inline]
3360    pub unsafe fn height(&self) -> f32 {
3361        Leap_TrackedQuad_height(self)
3362    }
3363    #[inline]
3364    pub unsafe fn resolutionX(&self) -> ::std::os::raw::c_int {
3365        Leap_TrackedQuad_resolutionX(self)
3366    }
3367    #[inline]
3368    pub unsafe fn resolutionY(&self) -> ::std::os::raw::c_int {
3369        Leap_TrackedQuad_resolutionY(self)
3370    }
3371    #[inline]
3372    pub unsafe fn visible(&self) -> bool {
3373        Leap_TrackedQuad_visible(self)
3374    }
3375    #[inline]
3376    pub unsafe fn orientation(&self) -> Leap_Matrix {
3377        Leap_TrackedQuad_orientation(self)
3378    }
3379    #[inline]
3380    pub unsafe fn position(&self) -> Leap_Vector {
3381        Leap_TrackedQuad_position(self)
3382    }
3383    #[inline]
3384    pub unsafe fn masks(&self) -> Leap_MaskList {
3385        Leap_TrackedQuad_masks(self)
3386    }
3387    #[inline]
3388    pub unsafe fn images(&self) -> Leap_ImageList {
3389        Leap_TrackedQuad_images(self)
3390    }
3391    #[inline]
3392    pub unsafe fn isValid(&self) -> bool {
3393        Leap_TrackedQuad_isValid(self)
3394    }
3395    #[inline]
3396    pub unsafe fn invalid() -> *const Leap_TrackedQuad {
3397        Leap_TrackedQuad_invalid()
3398    }
3399    #[inline]
3400    pub unsafe fn new(arg1: *mut Leap_TrackedQuadImplementation) -> Self {
3401        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
3402        Leap_TrackedQuad_TrackedQuad(__bindgen_tmp.as_mut_ptr(), arg1);
3403        __bindgen_tmp.assume_init()
3404    }
3405    #[inline]
3406    pub unsafe fn new1() -> Self {
3407        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
3408        Leap_TrackedQuad_TrackedQuad1(__bindgen_tmp.as_mut_ptr());
3409        __bindgen_tmp.assume_init()
3410    }
3411}
3412#[repr(C)]
3413#[derive(Debug)]
3414pub struct Leap_MaskList {
3415    pub _base: Leap_Interface,
3416}
3417pub type Leap_MaskList_const_iterator = Leap_ConstListIterator<Leap_MaskList>;
3418#[test]
3419fn bindgen_test_layout_Leap_MaskList() {
3420    assert_eq!(
3421        ::std::mem::size_of::<Leap_MaskList>(),
3422        16usize,
3423        concat!("Size of: ", stringify!(Leap_MaskList))
3424    );
3425    assert_eq!(
3426        ::std::mem::align_of::<Leap_MaskList>(),
3427        8usize,
3428        concat!("Alignment of ", stringify!(Leap_MaskList))
3429    );
3430}
3431extern "C" {
3432    #[link_name = "\u{1}_ZNK4Leap8MaskList5countEv"]
3433    pub fn Leap_MaskList_count(this: *const Leap_MaskList) -> ::std::os::raw::c_int;
3434}
3435extern "C" {
3436    #[link_name = "\u{1}_ZNK4Leap8MaskList7isEmptyEv"]
3437    pub fn Leap_MaskList_isEmpty(this: *const Leap_MaskList) -> bool;
3438}
3439extern "C" {
3440    #[link_name = "\u{1}_ZN4Leap8MaskList6appendERKS0_"]
3441    pub fn Leap_MaskList_append(
3442        this: *mut Leap_MaskList,
3443        other: *const Leap_MaskList,
3444    ) -> *mut Leap_MaskList;
3445}
3446extern "C" {
3447    #[link_name = "\u{1}_ZNK4Leap8MaskList5beginEv"]
3448    pub fn Leap_MaskList_begin(this: *const Leap_MaskList) -> Leap_MaskList_const_iterator;
3449}
3450extern "C" {
3451    #[link_name = "\u{1}_ZNK4Leap8MaskList3endEv"]
3452    pub fn Leap_MaskList_end(this: *const Leap_MaskList) -> Leap_MaskList_const_iterator;
3453}
3454extern "C" {
3455    #[link_name = "\u{1}_ZN4Leap8MaskListC1ERKNS_22ListBaseImplementationINS_4MaskEEE"]
3456    pub fn Leap_MaskList_MaskList(
3457        this: *mut Leap_MaskList,
3458        arg1: *const Leap_ListBaseImplementation,
3459    );
3460}
3461extern "C" {
3462    #[link_name = "\u{1}_ZN4Leap8MaskListC1Ev"]
3463    pub fn Leap_MaskList_MaskList1(this: *mut Leap_MaskList);
3464}
3465impl Leap_MaskList {
3466    #[inline]
3467    pub unsafe fn count(&self) -> ::std::os::raw::c_int {
3468        Leap_MaskList_count(self)
3469    }
3470    #[inline]
3471    pub unsafe fn isEmpty(&self) -> bool {
3472        Leap_MaskList_isEmpty(self)
3473    }
3474    #[inline]
3475    pub unsafe fn append(&mut self, other: *const Leap_MaskList) -> *mut Leap_MaskList {
3476        Leap_MaskList_append(self, other)
3477    }
3478    #[inline]
3479    pub unsafe fn begin(&self) -> Leap_MaskList_const_iterator {
3480        Leap_MaskList_begin(self)
3481    }
3482    #[inline]
3483    pub unsafe fn end(&self) -> Leap_MaskList_const_iterator {
3484        Leap_MaskList_end(self)
3485    }
3486    #[inline]
3487    pub unsafe fn new(arg1: *const Leap_ListBaseImplementation) -> Self {
3488        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
3489        Leap_MaskList_MaskList(__bindgen_tmp.as_mut_ptr(), arg1);
3490        __bindgen_tmp.assume_init()
3491    }
3492    #[inline]
3493    pub unsafe fn new1() -> Self {
3494        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
3495        Leap_MaskList_MaskList1(__bindgen_tmp.as_mut_ptr());
3496        __bindgen_tmp.assume_init()
3497    }
3498}
3499#[repr(C)]
3500#[derive(Debug)]
3501pub struct Leap_InteractionBox {
3502    pub _base: Leap_Interface,
3503}
3504#[test]
3505fn bindgen_test_layout_Leap_InteractionBox() {
3506    assert_eq!(
3507        ::std::mem::size_of::<Leap_InteractionBox>(),
3508        16usize,
3509        concat!("Size of: ", stringify!(Leap_InteractionBox))
3510    );
3511    assert_eq!(
3512        ::std::mem::align_of::<Leap_InteractionBox>(),
3513        8usize,
3514        concat!("Alignment of ", stringify!(Leap_InteractionBox))
3515    );
3516}
3517extern "C" {
3518    #[link_name = "\u{1}_ZNK4Leap14InteractionBox14normalizePointERKNS_6VectorEb"]
3519    pub fn Leap_InteractionBox_normalizePoint(
3520        this: *const Leap_InteractionBox,
3521        position: *const Leap_Vector,
3522        clamp: bool,
3523    ) -> Leap_Vector;
3524}
3525extern "C" {
3526    #[link_name = "\u{1}_ZNK4Leap14InteractionBox16denormalizePointERKNS_6VectorE"]
3527    pub fn Leap_InteractionBox_denormalizePoint(
3528        this: *const Leap_InteractionBox,
3529        normalizedPosition: *const Leap_Vector,
3530    ) -> Leap_Vector;
3531}
3532extern "C" {
3533    #[link_name = "\u{1}_ZNK4Leap14InteractionBox6centerEv"]
3534    pub fn Leap_InteractionBox_center(this: *const Leap_InteractionBox) -> Leap_Vector;
3535}
3536extern "C" {
3537    #[link_name = "\u{1}_ZNK4Leap14InteractionBox5widthEv"]
3538    pub fn Leap_InteractionBox_width(this: *const Leap_InteractionBox) -> f32;
3539}
3540extern "C" {
3541    #[link_name = "\u{1}_ZNK4Leap14InteractionBox6heightEv"]
3542    pub fn Leap_InteractionBox_height(this: *const Leap_InteractionBox) -> f32;
3543}
3544extern "C" {
3545    #[link_name = "\u{1}_ZNK4Leap14InteractionBox5depthEv"]
3546    pub fn Leap_InteractionBox_depth(this: *const Leap_InteractionBox) -> f32;
3547}
3548extern "C" {
3549    #[link_name = "\u{1}_ZNK4Leap14InteractionBox7isValidEv"]
3550    pub fn Leap_InteractionBox_isValid(this: *const Leap_InteractionBox) -> bool;
3551}
3552extern "C" {
3553    #[link_name = "\u{1}_ZN4Leap14InteractionBox7invalidEv"]
3554    pub fn Leap_InteractionBox_invalid() -> *const Leap_InteractionBox;
3555}
3556extern "C" {
3557    #[link_name = "\u{1}_ZN4Leap14InteractionBoxC1EPNS_28InteractionBoxImplementationE"]
3558    pub fn Leap_InteractionBox_InteractionBox(
3559        this: *mut Leap_InteractionBox,
3560        arg1: *mut Leap_InteractionBoxImplementation,
3561    );
3562}
3563extern "C" {
3564    #[link_name = "\u{1}_ZN4Leap14InteractionBoxC1Ev"]
3565    pub fn Leap_InteractionBox_InteractionBox1(this: *mut Leap_InteractionBox);
3566}
3567impl Leap_InteractionBox {
3568    #[inline]
3569    pub unsafe fn normalizePoint(&self, position: *const Leap_Vector, clamp: bool) -> Leap_Vector {
3570        Leap_InteractionBox_normalizePoint(self, position, clamp)
3571    }
3572    #[inline]
3573    pub unsafe fn denormalizePoint(&self, normalizedPosition: *const Leap_Vector) -> Leap_Vector {
3574        Leap_InteractionBox_denormalizePoint(self, normalizedPosition)
3575    }
3576    #[inline]
3577    pub unsafe fn center(&self) -> Leap_Vector {
3578        Leap_InteractionBox_center(self)
3579    }
3580    #[inline]
3581    pub unsafe fn width(&self) -> f32 {
3582        Leap_InteractionBox_width(self)
3583    }
3584    #[inline]
3585    pub unsafe fn height(&self) -> f32 {
3586        Leap_InteractionBox_height(self)
3587    }
3588    #[inline]
3589    pub unsafe fn depth(&self) -> f32 {
3590        Leap_InteractionBox_depth(self)
3591    }
3592    #[inline]
3593    pub unsafe fn isValid(&self) -> bool {
3594        Leap_InteractionBox_isValid(self)
3595    }
3596    #[inline]
3597    pub unsafe fn invalid() -> *const Leap_InteractionBox {
3598        Leap_InteractionBox_invalid()
3599    }
3600    #[inline]
3601    pub unsafe fn new(arg1: *mut Leap_InteractionBoxImplementation) -> Self {
3602        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
3603        Leap_InteractionBox_InteractionBox(__bindgen_tmp.as_mut_ptr(), arg1);
3604        __bindgen_tmp.assume_init()
3605    }
3606    #[inline]
3607    pub unsafe fn new1() -> Self {
3608        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
3609        Leap_InteractionBox_InteractionBox1(__bindgen_tmp.as_mut_ptr());
3610        __bindgen_tmp.assume_init()
3611    }
3612}
3613#[repr(C)]
3614#[derive(Debug)]
3615pub struct Leap_Frame {
3616    pub _base: Leap_Interface,
3617}
3618#[test]
3619fn bindgen_test_layout_Leap_Frame() {
3620    assert_eq!(
3621        ::std::mem::size_of::<Leap_Frame>(),
3622        16usize,
3623        concat!("Size of: ", stringify!(Leap_Frame))
3624    );
3625    assert_eq!(
3626        ::std::mem::align_of::<Leap_Frame>(),
3627        8usize,
3628        concat!("Alignment of ", stringify!(Leap_Frame))
3629    );
3630}
3631extern "C" {
3632    #[link_name = "\u{1}_ZNK4Leap5Frame2idEv"]
3633    pub fn Leap_Frame_id(this: *const Leap_Frame) -> i64;
3634}
3635extern "C" {
3636    #[link_name = "\u{1}_ZNK4Leap5Frame9timestampEv"]
3637    pub fn Leap_Frame_timestamp(this: *const Leap_Frame) -> i64;
3638}
3639extern "C" {
3640    #[link_name = "\u{1}_ZNK4Leap5Frame5handsEv"]
3641    pub fn Leap_Frame_hands(out: *mut Leap_HandList, this: *const Leap_Frame);
3642}
3643extern "C" {
3644    #[link_name = "\u{1}_ZNK4Leap5Frame4handEi"]
3645    pub fn Leap_Frame_hand(out: *mut Leap_Hand, this: *const Leap_Frame, id: i32);
3646}
3647extern "C" {
3648    #[link_name = "\u{1}_ZNK4Leap5Frame10pointablesEv"]
3649    pub fn Leap_Frame_pointables(out: *mut Leap_PointableList, this: *const Leap_Frame);
3650}
3651extern "C" {
3652    #[link_name = "\u{1}_ZNK4Leap5Frame9pointableEi"]
3653    pub fn Leap_Frame_pointable(out: *mut Leap_Pointable, this: *const Leap_Frame, id: i32);
3654}
3655extern "C" {
3656    #[link_name = "\u{1}_ZNK4Leap5Frame7fingersEv"]
3657    pub fn Leap_Frame_fingers(out: *mut Leap_FingerList, this: *const Leap_Frame);
3658}
3659extern "C" {
3660    #[link_name = "\u{1}_ZNK4Leap5Frame6fingerEi"]
3661    pub fn Leap_Frame_finger(out: *mut Leap_Finger, this: *const Leap_Frame, id: i32);
3662}
3663extern "C" {
3664    #[link_name = "\u{1}_ZNK4Leap5Frame5toolsEv"]
3665    pub fn Leap_Frame_tools(out: *mut Leap_ToolList, this: *const Leap_Frame);
3666}
3667extern "C" {
3668    #[link_name = "\u{1}_ZNK4Leap5Frame4toolEi"]
3669    pub fn Leap_Frame_tool(out: *mut Leap_Tool, this: *const Leap_Frame, id: i32);
3670}
3671extern "C" {
3672    #[link_name = "\u{1}_ZNK4Leap5Frame7gestureEi"]
3673    pub fn Leap_Frame_gesture(out: *mut Leap_Gesture, this: *const Leap_Frame, id: i32);
3674}
3675extern "C" {
3676    #[link_name = "\u{1}_ZNK4Leap5Frame8gesturesEv"]
3677    pub fn Leap_Frame_gestures(out: *mut Leap_GestureList, this: *const Leap_Frame);
3678}
3679extern "C" {
3680    #[link_name = "\u{1}_ZNK4Leap5Frame8gesturesERKS0_"]
3681    pub fn Leap_Frame_gestures1(
3682        out: *mut Leap_GestureList,
3683        this: *const Leap_Frame,
3684        sinceFrame: *const Leap_Frame,
3685    );
3686}
3687extern "C" {
3688    #[link_name = "\u{1}_ZNK4Leap5Frame6imagesEv"]
3689    pub fn Leap_Frame_images(out: *mut Leap_ImageList, this: *const Leap_Frame);
3690}
3691extern "C" {
3692    #[link_name = "\u{1}_ZNK4Leap5Frame11translationERKS0_"]
3693    pub fn Leap_Frame_translation(
3694        this: *const Leap_Frame,
3695        sinceFrame: *const Leap_Frame,
3696    ) -> Leap_Vector;
3697}
3698extern "C" {
3699    #[link_name = "\u{1}_ZNK4Leap5Frame22translationProbabilityERKS0_"]
3700    pub fn Leap_Frame_translationProbability(
3701        this: *const Leap_Frame,
3702        sinceFrame: *const Leap_Frame,
3703    ) -> f32;
3704}
3705extern "C" {
3706    #[link_name = "\u{1}_ZNK4Leap5Frame12rotationAxisERKS0_"]
3707    pub fn Leap_Frame_rotationAxis(
3708        this: *const Leap_Frame,
3709        sinceFrame: *const Leap_Frame,
3710    ) -> Leap_Vector;
3711}
3712extern "C" {
3713    #[link_name = "\u{1}_ZNK4Leap5Frame13rotationAngleERKS0_"]
3714    pub fn Leap_Frame_rotationAngle(this: *const Leap_Frame, sinceFrame: *const Leap_Frame) -> f32;
3715}
3716extern "C" {
3717    #[link_name = "\u{1}_ZNK4Leap5Frame13rotationAngleERKS0_RKNS_6VectorE"]
3718    pub fn Leap_Frame_rotationAngle1(
3719        this: *const Leap_Frame,
3720        sinceFrame: *const Leap_Frame,
3721        axis: *const Leap_Vector,
3722    ) -> f32;
3723}
3724extern "C" {
3725    #[link_name = "\u{1}_ZNK4Leap5Frame14rotationMatrixERKS0_"]
3726    pub fn Leap_Frame_rotationMatrix(
3727        this: *const Leap_Frame,
3728        sinceFrame: *const Leap_Frame,
3729    ) -> Leap_Matrix;
3730}
3731extern "C" {
3732    #[link_name = "\u{1}_ZNK4Leap5Frame19rotationProbabilityERKS0_"]
3733    pub fn Leap_Frame_rotationProbability(
3734        this: *const Leap_Frame,
3735        sinceFrame: *const Leap_Frame,
3736    ) -> f32;
3737}
3738extern "C" {
3739    #[link_name = "\u{1}_ZNK4Leap5Frame11scaleFactorERKS0_"]
3740    pub fn Leap_Frame_scaleFactor(this: *const Leap_Frame, sinceFrame: *const Leap_Frame) -> f32;
3741}
3742extern "C" {
3743    #[link_name = "\u{1}_ZNK4Leap5Frame16scaleProbabilityERKS0_"]
3744    pub fn Leap_Frame_scaleProbability(
3745        this: *const Leap_Frame,
3746        sinceFrame: *const Leap_Frame,
3747    ) -> f32;
3748}
3749extern "C" {
3750    #[link_name = "\u{1}_ZNK4Leap5Frame14interactionBoxEv"]
3751    pub fn Leap_Frame_interactionBox(out: *mut Leap_InteractionBox, this: *const Leap_Frame);
3752}
3753extern "C" {
3754    #[link_name = "\u{1}_ZNK4Leap5Frame22currentFramesPerSecondEv"]
3755    pub fn Leap_Frame_currentFramesPerSecond(this: *const Leap_Frame) -> f32;
3756}
3757extern "C" {
3758    #[link_name = "\u{1}_ZNK4Leap5Frame7isValidEv"]
3759    pub fn Leap_Frame_isValid(this: *const Leap_Frame) -> bool;
3760}
3761extern "C" {
3762    #[link_name = "\u{1}_ZN4Leap5Frame7invalidEv"]
3763    pub fn Leap_Frame_invalid() -> *const Leap_Frame;
3764}
3765extern "C" {
3766    #[link_name = "\u{1}_ZNK4Leap5Frame11trackedQuadEv"]
3767    pub fn Leap_Frame_trackedQuad(this: *const Leap_Frame) -> Leap_TrackedQuad;
3768}
3769extern "C" {
3770    #[link_name = "\u{1}_ZN4Leap5FrameC1EPNS_19FrameImplementationE"]
3771    pub fn Leap_Frame_Frame(this: *mut Leap_Frame, arg1: *mut Leap_FrameImplementation);
3772}
3773extern "C" {
3774    #[link_name = "\u{1}_ZN4Leap5FrameC1Ev"]
3775    pub fn Leap_Frame_Frame1(this: *mut Leap_Frame);
3776}
3777/*impl Leap_Frame {
3778    #[inline]
3779    pub unsafe fn id(&self) -> i64 {
3780        Leap_Frame_id(self)
3781    }
3782    #[inline]
3783    pub unsafe fn timestamp(&self) -> i64 {
3784        Leap_Frame_timestamp(self)
3785    }
3786    #[inline]
3787    pub unsafe fn hands(&self) -> Leap_HandList {
3788        Leap_Frame_hands(self)
3789    }
3790    #[inline]
3791    pub unsafe fn hand(&self, id: i32) -> Leap_Hand {
3792        Leap_Frame_hand(self, id)
3793    }
3794    #[inline]
3795    pub unsafe fn pointables(&self) -> Leap_PointableList {
3796        Leap_Frame_pointables(self)
3797    }
3798    #[inline]
3799    pub unsafe fn pointable(&self, id: i32) -> Leap_Pointable {
3800        Leap_Frame_pointable(self, id)
3801    }
3802    #[inline]
3803    pub unsafe fn fingers(&self) -> Leap_FingerList {
3804        Leap_Frame_fingers(self)
3805    }
3806    #[inline]
3807    pub unsafe fn finger(&self, id: i32) -> Leap_Finger {
3808        Leap_Frame_finger(self, id)
3809    }
3810    #[inline]
3811    pub unsafe fn tools(&self) -> Leap_ToolList {
3812        Leap_Frame_tools(self)
3813    }
3814    #[inline]
3815    pub unsafe fn tool(&self, id: i32) -> Leap_Tool {
3816        Leap_Frame_tool(self, id)
3817    }
3818    #[inline]
3819    pub unsafe fn gesture(&self, id: i32) -> Leap_Gesture {
3820        Leap_Frame_gesture(self, id)
3821    }
3822    #[inline]
3823    pub unsafe fn gestures(&self) -> Leap_GestureList {
3824        Leap_Frame_gestures(self)
3825    }
3826    #[inline]
3827    pub unsafe fn gestures1(&self, sinceFrame: *const Leap_Frame) -> Leap_GestureList {
3828        Leap_Frame_gestures1(self, sinceFrame)
3829    }
3830    #[inline]
3831    pub unsafe fn images(&self) -> Leap_ImageList {
3832        Leap_Frame_images(self)
3833    }
3834    #[inline]
3835    pub unsafe fn translation(&self, sinceFrame: *const Leap_Frame) -> Leap_Vector {
3836        Leap_Frame_translation(self, sinceFrame)
3837    }
3838    #[inline]
3839    pub unsafe fn translationProbability(&self, sinceFrame: *const Leap_Frame) -> f32 {
3840        Leap_Frame_translationProbability(self, sinceFrame)
3841    }
3842    #[inline]
3843    pub unsafe fn rotationAxis(&self, sinceFrame: *const Leap_Frame) -> Leap_Vector {
3844        Leap_Frame_rotationAxis(self, sinceFrame)
3845    }
3846    #[inline]
3847    pub unsafe fn rotationAngle(&self, sinceFrame: *const Leap_Frame) -> f32 {
3848        Leap_Frame_rotationAngle(self, sinceFrame)
3849    }
3850    #[inline]
3851    pub unsafe fn rotationAngle1(
3852        &self,
3853        sinceFrame: *const Leap_Frame,
3854        axis: *const Leap_Vector,
3855    ) -> f32 {
3856        Leap_Frame_rotationAngle1(self, sinceFrame, axis)
3857    }
3858    #[inline]
3859    pub unsafe fn rotationMatrix(&self, sinceFrame: *const Leap_Frame) -> Leap_Matrix {
3860        Leap_Frame_rotationMatrix(self, sinceFrame)
3861    }
3862    #[inline]
3863    pub unsafe fn rotationProbability(&self, sinceFrame: *const Leap_Frame) -> f32 {
3864        Leap_Frame_rotationProbability(self, sinceFrame)
3865    }
3866    #[inline]
3867    pub unsafe fn scaleFactor(&self, sinceFrame: *const Leap_Frame) -> f32 {
3868        Leap_Frame_scaleFactor(self, sinceFrame)
3869    }
3870    #[inline]
3871    pub unsafe fn scaleProbability(&self, sinceFrame: *const Leap_Frame) -> f32 {
3872        Leap_Frame_scaleProbability(self, sinceFrame)
3873    }
3874    #[inline]
3875    pub unsafe fn interactionBox(&self) -> Leap_InteractionBox {
3876        Leap_Frame_interactionBox(self)
3877    }
3878    #[inline]
3879    pub unsafe fn currentFramesPerSecond(&self) -> f32 {
3880        Leap_Frame_currentFramesPerSecond(self)
3881    }
3882    #[inline]
3883    pub unsafe fn isValid(&self) -> bool {
3884        Leap_Frame_isValid(self)
3885    }
3886    #[inline]
3887    pub unsafe fn invalid() -> *const Leap_Frame {
3888        Leap_Frame_invalid()
3889    }
3890    #[inline]
3891    pub unsafe fn trackedQuad(&self) -> Leap_TrackedQuad {
3892        Leap_Frame_trackedQuad(self)
3893    }
3894    #[inline]
3895    pub unsafe fn new(arg1: *mut Leap_FrameImplementation) -> Self {
3896        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
3897        Leap_Frame_Frame(__bindgen_tmp.as_mut_ptr(), arg1);
3898        __bindgen_tmp.assume_init()
3899    }
3900    #[inline]
3901    pub unsafe fn new1() -> Self {
3902        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
3903        Leap_Frame_Frame1(__bindgen_tmp.as_mut_ptr());
3904        __bindgen_tmp.assume_init()
3905    }
3906}*/
3907#[repr(C)]
3908#[derive(Debug)]
3909pub struct Leap_BugReport {
3910    pub _base: Leap_Interface,
3911}
3912#[test]
3913fn bindgen_test_layout_Leap_BugReport() {
3914    assert_eq!(
3915        ::std::mem::size_of::<Leap_BugReport>(),
3916        16usize,
3917        concat!("Size of: ", stringify!(Leap_BugReport))
3918    );
3919    assert_eq!(
3920        ::std::mem::align_of::<Leap_BugReport>(),
3921        8usize,
3922        concat!("Alignment of ", stringify!(Leap_BugReport))
3923    );
3924}
3925extern "C" {
3926    #[link_name = "\u{1}_ZN4Leap9BugReport14beginRecordingEv"]
3927    pub fn Leap_BugReport_beginRecording(this: *mut Leap_BugReport) -> bool;
3928}
3929extern "C" {
3930    #[link_name = "\u{1}_ZN4Leap9BugReport12endRecordingEv"]
3931    pub fn Leap_BugReport_endRecording(this: *mut Leap_BugReport);
3932}
3933extern "C" {
3934    #[link_name = "\u{1}_ZNK4Leap9BugReport8isActiveEv"]
3935    pub fn Leap_BugReport_isActive(this: *const Leap_BugReport) -> bool;
3936}
3937extern "C" {
3938    #[link_name = "\u{1}_ZNK4Leap9BugReport8progressEv"]
3939    pub fn Leap_BugReport_progress(this: *const Leap_BugReport) -> f32;
3940}
3941extern "C" {
3942    #[link_name = "\u{1}_ZNK4Leap9BugReport8durationEv"]
3943    pub fn Leap_BugReport_duration(this: *const Leap_BugReport) -> f32;
3944}
3945extern "C" {
3946    #[link_name = "\u{1}_ZN4Leap9BugReportC1EPNS_23BugReportImplementationE"]
3947    pub fn Leap_BugReport_BugReport(
3948        this: *mut Leap_BugReport,
3949        arg1: *mut Leap_BugReportImplementation,
3950    );
3951}
3952extern "C" {
3953    #[link_name = "\u{1}_ZN4Leap9BugReportC1Ev"]
3954    pub fn Leap_BugReport_BugReport1(this: *mut Leap_BugReport);
3955}
3956impl Leap_BugReport {
3957    #[inline]
3958    pub unsafe fn beginRecording(&mut self) -> bool {
3959        Leap_BugReport_beginRecording(self)
3960    }
3961    #[inline]
3962    pub unsafe fn endRecording(&mut self) {
3963        Leap_BugReport_endRecording(self)
3964    }
3965    #[inline]
3966    pub unsafe fn isActive(&self) -> bool {
3967        Leap_BugReport_isActive(self)
3968    }
3969    #[inline]
3970    pub unsafe fn progress(&self) -> f32 {
3971        Leap_BugReport_progress(self)
3972    }
3973    #[inline]
3974    pub unsafe fn duration(&self) -> f32 {
3975        Leap_BugReport_duration(self)
3976    }
3977    #[inline]
3978    pub unsafe fn new(arg1: *mut Leap_BugReportImplementation) -> Self {
3979        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
3980        Leap_BugReport_BugReport(__bindgen_tmp.as_mut_ptr(), arg1);
3981        __bindgen_tmp.assume_init()
3982    }
3983    #[inline]
3984    pub unsafe fn new1() -> Self {
3985        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
3986        Leap_BugReport_BugReport1(__bindgen_tmp.as_mut_ptr());
3987        __bindgen_tmp.assume_init()
3988    }
3989}
3990#[repr(C)]
3991#[derive(Debug)]
3992pub struct Leap_Config {
3993    pub _base: Leap_Interface,
3994}
3995pub const Leap_Config_ValueType_TYPE_UNKNOWN: Leap_Config_ValueType = 0;
3996pub const Leap_Config_ValueType_TYPE_BOOLEAN: Leap_Config_ValueType = 1;
3997pub const Leap_Config_ValueType_TYPE_INT32: Leap_Config_ValueType = 2;
3998pub const Leap_Config_ValueType_TYPE_FLOAT: Leap_Config_ValueType = 6;
3999pub const Leap_Config_ValueType_TYPE_STRING: Leap_Config_ValueType = 8;
4000pub type Leap_Config_ValueType = ::std::os::raw::c_uint;
4001#[test]
4002fn bindgen_test_layout_Leap_Config() {
4003    assert_eq!(
4004        ::std::mem::size_of::<Leap_Config>(),
4005        16usize,
4006        concat!("Size of: ", stringify!(Leap_Config))
4007    );
4008    assert_eq!(
4009        ::std::mem::align_of::<Leap_Config>(),
4010        8usize,
4011        concat!("Alignment of ", stringify!(Leap_Config))
4012    );
4013}
4014extern "C" {
4015    #[link_name = "\u{1}_ZN4Leap6Config4saveEv"]
4016    pub fn Leap_Config_save(this: *mut Leap_Config) -> bool;
4017}
4018extern "C" {
4019    #[link_name = "\u{1}_ZN4Leap6ConfigC1Ev"]
4020    pub fn Leap_Config_Config(this: *mut Leap_Config);
4021}
4022impl Leap_Config {
4023    #[inline]
4024    pub unsafe fn save(&mut self) -> bool {
4025        Leap_Config_save(self)
4026    }
4027    #[inline]
4028    pub unsafe fn new() -> Self {
4029        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
4030        Leap_Config_Config(__bindgen_tmp.as_mut_ptr());
4031        __bindgen_tmp.assume_init()
4032    }
4033}
4034#[repr(C)]
4035#[derive(Debug)]
4036pub struct Leap_Controller {
4037    pub _base: Leap_Interface,
4038}
4039pub const Leap_Controller_PolicyFlag_POLICY_DEFAULT: Leap_Controller_PolicyFlag = 0;
4040pub const Leap_Controller_PolicyFlag_POLICY_BACKGROUND_FRAMES: Leap_Controller_PolicyFlag = 1;
4041pub const Leap_Controller_PolicyFlag_POLICY_IMAGES: Leap_Controller_PolicyFlag = 2;
4042pub const Leap_Controller_PolicyFlag_POLICY_OPTIMIZE_HMD: Leap_Controller_PolicyFlag = 4;
4043pub type Leap_Controller_PolicyFlag = ::std::os::raw::c_uint;
4044#[test]
4045fn bindgen_test_layout_Leap_Controller() {
4046    assert_eq!(
4047        ::std::mem::size_of::<Leap_Controller>(),
4048        16usize,
4049        concat!("Size of: ", stringify!(Leap_Controller))
4050    );
4051    assert_eq!(
4052        ::std::mem::align_of::<Leap_Controller>(),
4053        8usize,
4054        concat!("Alignment of ", stringify!(Leap_Controller))
4055    );
4056}
4057extern "C" {
4058    #[link_name = "\u{1}_ZNK4Leap10Controller11isConnectedEv"]
4059    pub fn Leap_Controller_isConnected(this: *const Leap_Controller) -> bool;
4060}
4061extern "C" {
4062    #[link_name = "\u{1}_ZNK4Leap10Controller18isServiceConnectedEv"]
4063    pub fn Leap_Controller_isServiceConnected(this: *const Leap_Controller) -> bool;
4064}
4065extern "C" {
4066    #[link_name = "\u{1}_ZNK4Leap10Controller8hasFocusEv"]
4067    pub fn Leap_Controller_hasFocus(this: *const Leap_Controller) -> bool;
4068}
4069extern "C" {
4070    #[link_name = "\u{1}_ZNK4Leap10Controller11policyFlagsEv"]
4071    pub fn Leap_Controller_policyFlags(this: *const Leap_Controller) -> Leap_Controller_PolicyFlag;
4072}
4073extern "C" {
4074    #[link_name = "\u{1}_ZNK4Leap10Controller14setPolicyFlagsENS0_10PolicyFlagE"]
4075    pub fn Leap_Controller_setPolicyFlags(
4076        this: *const Leap_Controller,
4077        flags: Leap_Controller_PolicyFlag,
4078    );
4079}
4080extern "C" {
4081    #[link_name = "\u{1}_ZNK4Leap10Controller9setPolicyENS0_10PolicyFlagE"]
4082    pub fn Leap_Controller_setPolicy(
4083        this: *const Leap_Controller,
4084        policy: Leap_Controller_PolicyFlag,
4085    );
4086}
4087extern "C" {
4088    #[link_name = "\u{1}_ZNK4Leap10Controller11clearPolicyENS0_10PolicyFlagE"]
4089    pub fn Leap_Controller_clearPolicy(
4090        this: *const Leap_Controller,
4091        policy: Leap_Controller_PolicyFlag,
4092    );
4093}
4094extern "C" {
4095    #[link_name = "\u{1}_ZNK4Leap10Controller11isPolicySetENS0_10PolicyFlagE"]
4096    pub fn Leap_Controller_isPolicySet(
4097        this: *const Leap_Controller,
4098        policy: Leap_Controller_PolicyFlag,
4099    ) -> bool;
4100}
4101extern "C" {
4102    #[link_name = "\u{1}_ZN4Leap10Controller11addListenerERNS_8ListenerE"]
4103    pub fn Leap_Controller_addListener(
4104        this: *mut Leap_Controller,
4105        listener: *mut Leap_Listener,
4106    ) -> bool;
4107}
4108extern "C" {
4109    #[link_name = "\u{1}_ZN4Leap10Controller14removeListenerERNS_8ListenerE"]
4110    pub fn Leap_Controller_removeListener(
4111        this: *mut Leap_Controller,
4112        listener: *mut Leap_Listener,
4113    ) -> bool;
4114}
4115extern "C" {
4116    #[link_name = "\u{1}_ZNK4Leap10Controller5frameEi"]
4117    pub fn Leap_Controller_frame(
4118        out: *mut Leap_Frame,
4119        this: *const Leap_Controller,
4120        history: ::std::os::raw::c_int,
4121    );
4122}
4123extern "C" {
4124    #[link_name = "\u{1}_ZNK4Leap10Controller6imagesEv"]
4125    pub fn Leap_Controller_images(out: *mut Leap_ImageList, this: *const Leap_Controller);
4126}
4127extern "C" {
4128    #[link_name = "\u{1}_ZNK4Leap10Controller6configEv"]
4129    pub fn Leap_Controller_config(out: *mut Leap_Config, this: *const Leap_Controller);
4130}
4131extern "C" {
4132    #[link_name = "\u{1}_ZNK4Leap10Controller7devicesEv"]
4133    pub fn Leap_Controller_devices(out: *mut Leap_DeviceList, this: *const Leap_Controller);
4134}
4135extern "C" {
4136    #[link_name = "\u{1}_ZNK4Leap10Controller14locatedScreensEv"]
4137    pub fn Leap_Controller_locatedScreens(out: *mut Leap_ScreenList, this: *const Leap_Controller);
4138}
4139extern "C" {
4140    #[link_name = "\u{1}_ZNK4Leap10Controller9bugReportEv"]
4141    pub fn Leap_Controller_bugReport(this: *const Leap_Controller) -> Leap_BugReport;
4142}
4143extern "C" {
4144    #[link_name = "\u{1}_ZNK4Leap10Controller13enableGestureENS_7Gesture4TypeEb"]
4145    pub fn Leap_Controller_enableGesture(
4146        this: *const Leap_Controller,
4147        type_: Leap_Gesture_Type,
4148        enable: bool,
4149    );
4150}
4151extern "C" {
4152    #[link_name = "\u{1}_ZNK4Leap10Controller16isGestureEnabledENS_7Gesture4TypeE"]
4153    pub fn Leap_Controller_isGestureEnabled(
4154        this: *const Leap_Controller,
4155        type_: Leap_Gesture_Type,
4156    ) -> bool;
4157}
4158extern "C" {
4159    #[link_name = "\u{1}_ZNK4Leap10Controller11trackedQuadEv"]
4160    pub fn Leap_Controller_trackedQuad(this: *const Leap_Controller) -> Leap_TrackedQuad;
4161}
4162extern "C" {
4163    #[link_name = "\u{1}_ZNK4Leap10Controller3nowEv"]
4164    pub fn Leap_Controller_now(this: *const Leap_Controller) -> i64;
4165}
4166extern "C" {
4167    #[link_name = "\u{1}_ZN4Leap10ControllerC1EPNS_24ControllerImplementationE"]
4168    pub fn Leap_Controller_Controller(
4169        this: *mut Leap_Controller,
4170        arg1: *mut Leap_ControllerImplementation,
4171    );
4172}
4173extern "C" {
4174    #[link_name = "\u{1}_ZN4Leap10ControllerC1Ev"]
4175    pub fn Leap_Controller_Controller1(this: *mut Leap_Controller);
4176}
4177extern "C" {
4178    #[link_name = "\u{1}_ZN4Leap10ControllerC1ERNS_8ListenerE"]
4179    pub fn Leap_Controller_Controller2(this: *mut Leap_Controller, listener: *mut Leap_Listener);
4180}
4181/*impl Leap_Controller {
4182    #[inline]
4183    pub unsafe fn isConnected(&self) -> bool {
4184        Leap_Controller_isConnected(self)
4185    }
4186    #[inline]
4187    pub unsafe fn isServiceConnected(&self) -> bool {
4188        Leap_Controller_isServiceConnected(self)
4189    }
4190    #[inline]
4191    pub unsafe fn hasFocus(&self) -> bool {
4192        Leap_Controller_hasFocus(self)
4193    }
4194    #[inline]
4195    pub unsafe fn policyFlags(&self) -> Leap_Controller_PolicyFlag {
4196        Leap_Controller_policyFlags(self)
4197    }
4198    #[inline]
4199    pub unsafe fn setPolicyFlags(&self, flags: Leap_Controller_PolicyFlag) {
4200        Leap_Controller_setPolicyFlags(self, flags)
4201    }
4202    #[inline]
4203    pub unsafe fn setPolicy(&self, policy: Leap_Controller_PolicyFlag) {
4204        Leap_Controller_setPolicy(self, policy)
4205    }
4206    #[inline]
4207    pub unsafe fn clearPolicy(&self, policy: Leap_Controller_PolicyFlag) {
4208        Leap_Controller_clearPolicy(self, policy)
4209    }
4210    #[inline]
4211    pub unsafe fn isPolicySet(&self, policy: Leap_Controller_PolicyFlag) -> bool {
4212        Leap_Controller_isPolicySet(self, policy)
4213    }
4214    #[inline]
4215    pub unsafe fn addListener(&mut self, listener: *mut Leap_Listener) -> bool {
4216        Leap_Controller_addListener(self, listener)
4217    }
4218    #[inline]
4219    pub unsafe fn removeListener(&mut self, listener: *mut Leap_Listener) -> bool {
4220        Leap_Controller_removeListener(self, listener)
4221    }
4222    #[inline]
4223    pub unsafe fn frame(&self, history: ::std::os::raw::c_int) -> Leap_Frame {
4224        Leap_Controller_frame(self, history)
4225    }
4226    #[inline]
4227    pub unsafe fn images(&self) -> Leap_ImageList {
4228        Leap_Controller_images(self)
4229    }
4230    #[inline]
4231    pub unsafe fn config(&self) -> Leap_Config {
4232        Leap_Controller_config(self)
4233    }
4234    #[inline]
4235    pub unsafe fn devices(&self) -> Leap_DeviceList {
4236        Leap_Controller_devices(self)
4237    }
4238    #[inline]
4239    pub unsafe fn locatedScreens(&self) -> Leap_ScreenList {
4240        Leap_Controller_locatedScreens(self)
4241    }
4242    #[inline]
4243    pub unsafe fn bugReport(&self) -> Leap_BugReport {
4244        Leap_Controller_bugReport(self)
4245    }
4246    #[inline]
4247    pub unsafe fn enableGesture(&self, type_: Leap_Gesture_Type, enable: bool) {
4248        Leap_Controller_enableGesture(self, type_, enable)
4249    }
4250    #[inline]
4251    pub unsafe fn isGestureEnabled(&self, type_: Leap_Gesture_Type) -> bool {
4252        Leap_Controller_isGestureEnabled(self, type_)
4253    }
4254    #[inline]
4255    pub unsafe fn trackedQuad(&self) -> Leap_TrackedQuad {
4256        Leap_Controller_trackedQuad(self)
4257    }
4258    #[inline]
4259    pub unsafe fn now(&self) -> i64 {
4260        Leap_Controller_now(self)
4261    }
4262    #[inline]
4263    pub unsafe fn new(arg1: *mut Leap_ControllerImplementation) -> Self {
4264        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
4265        Leap_Controller_Controller(__bindgen_tmp.as_mut_ptr(), arg1);
4266        __bindgen_tmp.assume_init()
4267    }
4268    #[inline]
4269    pub unsafe fn new1() -> Self {
4270        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
4271        Leap_Controller_Controller1(__bindgen_tmp.as_mut_ptr());
4272        __bindgen_tmp.assume_init()
4273    }
4274    #[inline]
4275    pub unsafe fn new2(listener: *mut Leap_Listener) -> Self {
4276        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
4277        Leap_Controller_Controller2(__bindgen_tmp.as_mut_ptr(), listener);
4278        __bindgen_tmp.assume_init()
4279    }
4280}*/
4281extern "C" {
4282    #[link_name = "\u{1}_ZN4Leap10ControllerD1Ev"]
4283    pub fn Leap_Controller_Controller_destructor(this: *mut Leap_Controller);
4284}
4285#[repr(C)]
4286pub struct Leap_Listener__bindgen_vtable(::std::os::raw::c_void);
4287#[repr(C)]
4288#[derive(Debug)]
4289pub struct Leap_Listener {
4290    pub vtable_: *const Leap_Listener__bindgen_vtable,
4291}
4292#[test]
4293fn bindgen_test_layout_Leap_Listener() {
4294    assert_eq!(
4295        ::std::mem::size_of::<Leap_Listener>(),
4296        8usize,
4297        concat!("Size of: ", stringify!(Leap_Listener))
4298    );
4299    assert_eq!(
4300        ::std::mem::align_of::<Leap_Listener>(),
4301        8usize,
4302        concat!("Alignment of ", stringify!(Leap_Listener))
4303    );
4304}
4305#[repr(C)]
4306#[derive(Debug, Copy, Clone)]
4307pub struct Leap_RustListenerCallbacks {
4308    pub onInit: ::std::option::Option<
4309        unsafe extern "C" fn(userdata: *mut ::std::os::raw::c_void, arg1: *const Leap_Controller),
4310    >,
4311    pub onConnect: ::std::option::Option<
4312        unsafe extern "C" fn(userdata: *mut ::std::os::raw::c_void, arg1: *const Leap_Controller),
4313    >,
4314    pub onDisconnect: ::std::option::Option<
4315        unsafe extern "C" fn(userdata: *mut ::std::os::raw::c_void, arg1: *const Leap_Controller),
4316    >,
4317    pub onExit: ::std::option::Option<
4318        unsafe extern "C" fn(userdata: *mut ::std::os::raw::c_void, arg1: *const Leap_Controller),
4319    >,
4320    pub onFrame: ::std::option::Option<
4321        unsafe extern "C" fn(userdata: *mut ::std::os::raw::c_void, arg1: *const Leap_Controller),
4322    >,
4323    pub onFocusGained: ::std::option::Option<
4324        unsafe extern "C" fn(userdata: *mut ::std::os::raw::c_void, arg1: *const Leap_Controller),
4325    >,
4326    pub onFocusLost: ::std::option::Option<
4327        unsafe extern "C" fn(userdata: *mut ::std::os::raw::c_void, arg1: *const Leap_Controller),
4328    >,
4329    pub onServiceConnect: ::std::option::Option<
4330        unsafe extern "C" fn(userdata: *mut ::std::os::raw::c_void, arg1: *const Leap_Controller),
4331    >,
4332    pub onServiceDisconnect: ::std::option::Option<
4333        unsafe extern "C" fn(userdata: *mut ::std::os::raw::c_void, arg1: *const Leap_Controller),
4334    >,
4335    pub onDeviceChange: ::std::option::Option<
4336        unsafe extern "C" fn(userdata: *mut ::std::os::raw::c_void, arg1: *const Leap_Controller),
4337    >,
4338    pub onImages: ::std::option::Option<
4339        unsafe extern "C" fn(userdata: *mut ::std::os::raw::c_void, arg1: *const Leap_Controller),
4340    >,
4341    pub userdata: *mut ::std::os::raw::c_void,
4342}
4343#[test]
4344fn bindgen_test_layout_Leap_RustListenerCallbacks() {
4345    assert_eq!(
4346        ::std::mem::size_of::<Leap_RustListenerCallbacks>(),
4347        96usize,
4348        concat!("Size of: ", stringify!(Leap_RustListenerCallbacks))
4349    );
4350    assert_eq!(
4351        ::std::mem::align_of::<Leap_RustListenerCallbacks>(),
4352        8usize,
4353        concat!("Alignment of ", stringify!(Leap_RustListenerCallbacks))
4354    );
4355    assert_eq!(
4356        unsafe {
4357            &(*(::std::ptr::null::<Leap_RustListenerCallbacks>())).onInit as *const _ as usize
4358        },
4359        0usize,
4360        concat!(
4361            "Offset of field: ",
4362            stringify!(Leap_RustListenerCallbacks),
4363            "::",
4364            stringify!(onInit)
4365        )
4366    );
4367    assert_eq!(
4368        unsafe {
4369            &(*(::std::ptr::null::<Leap_RustListenerCallbacks>())).onConnect as *const _ as usize
4370        },
4371        8usize,
4372        concat!(
4373            "Offset of field: ",
4374            stringify!(Leap_RustListenerCallbacks),
4375            "::",
4376            stringify!(onConnect)
4377        )
4378    );
4379    assert_eq!(
4380        unsafe {
4381            &(*(::std::ptr::null::<Leap_RustListenerCallbacks>())).onDisconnect as *const _ as usize
4382        },
4383        16usize,
4384        concat!(
4385            "Offset of field: ",
4386            stringify!(Leap_RustListenerCallbacks),
4387            "::",
4388            stringify!(onDisconnect)
4389        )
4390    );
4391    assert_eq!(
4392        unsafe {
4393            &(*(::std::ptr::null::<Leap_RustListenerCallbacks>())).onExit as *const _ as usize
4394        },
4395        24usize,
4396        concat!(
4397            "Offset of field: ",
4398            stringify!(Leap_RustListenerCallbacks),
4399            "::",
4400            stringify!(onExit)
4401        )
4402    );
4403    assert_eq!(
4404        unsafe {
4405            &(*(::std::ptr::null::<Leap_RustListenerCallbacks>())).onFrame as *const _ as usize
4406        },
4407        32usize,
4408        concat!(
4409            "Offset of field: ",
4410            stringify!(Leap_RustListenerCallbacks),
4411            "::",
4412            stringify!(onFrame)
4413        )
4414    );
4415    assert_eq!(
4416        unsafe {
4417            &(*(::std::ptr::null::<Leap_RustListenerCallbacks>())).onFocusGained as *const _
4418                as usize
4419        },
4420        40usize,
4421        concat!(
4422            "Offset of field: ",
4423            stringify!(Leap_RustListenerCallbacks),
4424            "::",
4425            stringify!(onFocusGained)
4426        )
4427    );
4428    assert_eq!(
4429        unsafe {
4430            &(*(::std::ptr::null::<Leap_RustListenerCallbacks>())).onFocusLost as *const _ as usize
4431        },
4432        48usize,
4433        concat!(
4434            "Offset of field: ",
4435            stringify!(Leap_RustListenerCallbacks),
4436            "::",
4437            stringify!(onFocusLost)
4438        )
4439    );
4440    assert_eq!(
4441        unsafe {
4442            &(*(::std::ptr::null::<Leap_RustListenerCallbacks>())).onServiceConnect as *const _
4443                as usize
4444        },
4445        56usize,
4446        concat!(
4447            "Offset of field: ",
4448            stringify!(Leap_RustListenerCallbacks),
4449            "::",
4450            stringify!(onServiceConnect)
4451        )
4452    );
4453    assert_eq!(
4454        unsafe {
4455            &(*(::std::ptr::null::<Leap_RustListenerCallbacks>())).onServiceDisconnect as *const _
4456                as usize
4457        },
4458        64usize,
4459        concat!(
4460            "Offset of field: ",
4461            stringify!(Leap_RustListenerCallbacks),
4462            "::",
4463            stringify!(onServiceDisconnect)
4464        )
4465    );
4466    assert_eq!(
4467        unsafe {
4468            &(*(::std::ptr::null::<Leap_RustListenerCallbacks>())).onDeviceChange as *const _
4469                as usize
4470        },
4471        72usize,
4472        concat!(
4473            "Offset of field: ",
4474            stringify!(Leap_RustListenerCallbacks),
4475            "::",
4476            stringify!(onDeviceChange)
4477        )
4478    );
4479    assert_eq!(
4480        unsafe {
4481            &(*(::std::ptr::null::<Leap_RustListenerCallbacks>())).onImages as *const _ as usize
4482        },
4483        80usize,
4484        concat!(
4485            "Offset of field: ",
4486            stringify!(Leap_RustListenerCallbacks),
4487            "::",
4488            stringify!(onImages)
4489        )
4490    );
4491    assert_eq!(
4492        unsafe {
4493            &(*(::std::ptr::null::<Leap_RustListenerCallbacks>())).userdata as *const _ as usize
4494        },
4495        88usize,
4496        concat!(
4497            "Offset of field: ",
4498            stringify!(Leap_RustListenerCallbacks),
4499            "::",
4500            stringify!(userdata)
4501        )
4502    );
4503}
4504#[repr(C)]
4505#[derive(Debug)]
4506pub struct Leap_RustListener {
4507    pub _base: Leap_Listener,
4508    pub m_callbacks: Leap_RustListenerCallbacks,
4509}
4510#[test]
4511fn bindgen_test_layout_Leap_RustListener() {
4512    assert_eq!(
4513        ::std::mem::size_of::<Leap_RustListener>(),
4514        104usize,
4515        concat!("Size of: ", stringify!(Leap_RustListener))
4516    );
4517    assert_eq!(
4518        ::std::mem::align_of::<Leap_RustListener>(),
4519        8usize,
4520        concat!("Alignment of ", stringify!(Leap_RustListener))
4521    );
4522    assert_eq!(
4523        unsafe { &(*(::std::ptr::null::<Leap_RustListener>())).m_callbacks as *const _ as usize },
4524        8usize,
4525        concat!(
4526            "Offset of field: ",
4527            stringify!(Leap_RustListener),
4528            "::",
4529            stringify!(m_callbacks)
4530        )
4531    );
4532}
4533extern "C" {
4534    #[link_name = "\u{1}_ZN4Leap12RustListenerC1ENS_21RustListenerCallbacksE"]
4535    pub fn Leap_RustListener_RustListener(
4536        this: *mut Leap_RustListener,
4537        callbacks: Leap_RustListenerCallbacks,
4538    );
4539}
4540impl Leap_RustListener {
4541    #[inline]
4542    pub unsafe fn new(callbacks: Leap_RustListenerCallbacks) -> Self {
4543        let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
4544        Leap_RustListener_RustListener(__bindgen_tmp.as_mut_ptr(), callbacks);
4545        __bindgen_tmp.assume_init()
4546    }
4547}
4548extern "C" {
4549    #[link_name = "\u{1}_ZN4Leap12RustListener6onInitERKNS_10ControllerE"]
4550    pub fn Leap_RustListener_onInit(this: *mut ::std::os::raw::c_void, c: *const Leap_Controller);
4551}
4552extern "C" {
4553    #[link_name = "\u{1}_ZN4Leap12RustListener9onConnectERKNS_10ControllerE"]
4554    pub fn Leap_RustListener_onConnect(
4555        this: *mut ::std::os::raw::c_void,
4556        c: *const Leap_Controller,
4557    );
4558}
4559extern "C" {
4560    #[link_name = "\u{1}_ZN4Leap12RustListener12onDisconnectERKNS_10ControllerE"]
4561    pub fn Leap_RustListener_onDisconnect(
4562        this: *mut ::std::os::raw::c_void,
4563        c: *const Leap_Controller,
4564    );
4565}
4566extern "C" {
4567    #[link_name = "\u{1}_ZN4Leap12RustListener6onExitERKNS_10ControllerE"]
4568    pub fn Leap_RustListener_onExit(this: *mut ::std::os::raw::c_void, c: *const Leap_Controller);
4569}
4570extern "C" {
4571    #[link_name = "\u{1}_ZN4Leap12RustListener7onFrameERKNS_10ControllerE"]
4572    pub fn Leap_RustListener_onFrame(this: *mut ::std::os::raw::c_void, c: *const Leap_Controller);
4573}
4574extern "C" {
4575    #[link_name = "\u{1}_ZN4Leap12RustListener13onFocusGainedERKNS_10ControllerE"]
4576    pub fn Leap_RustListener_onFocusGained(
4577        this: *mut ::std::os::raw::c_void,
4578        c: *const Leap_Controller,
4579    );
4580}
4581extern "C" {
4582    #[link_name = "\u{1}_ZN4Leap12RustListener11onFocusLostERKNS_10ControllerE"]
4583    pub fn Leap_RustListener_onFocusLost(
4584        this: *mut ::std::os::raw::c_void,
4585        c: *const Leap_Controller,
4586    );
4587}
4588extern "C" {
4589    #[link_name = "\u{1}_ZN4Leap12RustListener16onServiceConnectERKNS_10ControllerE"]
4590    pub fn Leap_RustListener_onServiceConnect(
4591        this: *mut ::std::os::raw::c_void,
4592        c: *const Leap_Controller,
4593    );
4594}
4595extern "C" {
4596    #[link_name = "\u{1}_ZN4Leap12RustListener19onServiceDisconnectERKNS_10ControllerE"]
4597    pub fn Leap_RustListener_onServiceDisconnect(
4598        this: *mut ::std::os::raw::c_void,
4599        c: *const Leap_Controller,
4600    );
4601}
4602extern "C" {
4603    #[link_name = "\u{1}_ZN4Leap12RustListener14onDeviceChangeERKNS_10ControllerE"]
4604    pub fn Leap_RustListener_onDeviceChange(
4605        this: *mut ::std::os::raw::c_void,
4606        c: *const Leap_Controller,
4607    );
4608}
4609extern "C" {
4610    #[link_name = "\u{1}_ZN4Leap12RustListener8onImagesERKNS_10ControllerE"]
4611    pub fn Leap_RustListener_onImages(this: *mut ::std::os::raw::c_void, c: *const Leap_Controller);
4612}
4613extern "C" {
4614    #[link_name = "\u{1}_ZN4Leap12RustGetImageERKNS_9ImageListEi"]
4615    pub fn Leap_RustGetImage(
4616        out: *mut Leap_Image,
4617        list: *const Leap_ImageList,
4618        index: ::std::os::raw::c_int,
4619    );
4620}
4621#[repr(C)]
4622#[derive(Debug, Copy, Clone)]
4623pub struct SharedObject {
4624    _unused: [u8; 0],
4625}