pub const XPLM_NO_PLUGIN_ID: i32 = -1;
pub const XPLM_PLUGIN_XPLANE: u32 = 0;
pub const kXPLM_Version: u32 = 400;
pub const XPLM_KEY_RETURN: u32 = 13;
pub const XPLM_KEY_ESCAPE: u32 = 27;
pub const XPLM_KEY_TAB: u32 = 9;
pub const XPLM_KEY_DELETE: u32 = 8;
pub const XPLM_KEY_LEFT: u32 = 28;
pub const XPLM_KEY_RIGHT: u32 = 29;
pub const XPLM_KEY_UP: u32 = 30;
pub const XPLM_KEY_DOWN: u32 = 31;
pub const XPLM_KEY_0: u32 = 48;
pub const XPLM_KEY_1: u32 = 49;
pub const XPLM_KEY_2: u32 = 50;
pub const XPLM_KEY_3: u32 = 51;
pub const XPLM_KEY_4: u32 = 52;
pub const XPLM_KEY_5: u32 = 53;
pub const XPLM_KEY_6: u32 = 54;
pub const XPLM_KEY_7: u32 = 55;
pub const XPLM_KEY_8: u32 = 56;
pub const XPLM_KEY_9: u32 = 57;
pub const XPLM_KEY_DECIMAL: u32 = 46;
pub const XPLM_VK_BACK: u32 = 8;
pub const XPLM_VK_TAB: u32 = 9;
pub const XPLM_VK_CLEAR: u32 = 12;
pub const XPLM_VK_RETURN: u32 = 13;
pub const XPLM_VK_ESCAPE: u32 = 27;
pub const XPLM_VK_SPACE: u32 = 32;
pub const XPLM_VK_PRIOR: u32 = 33;
pub const XPLM_VK_NEXT: u32 = 34;
pub const XPLM_VK_END: u32 = 35;
pub const XPLM_VK_HOME: u32 = 36;
pub const XPLM_VK_LEFT: u32 = 37;
pub const XPLM_VK_UP: u32 = 38;
pub const XPLM_VK_RIGHT: u32 = 39;
pub const XPLM_VK_DOWN: u32 = 40;
pub const XPLM_VK_SELECT: u32 = 41;
pub const XPLM_VK_PRINT: u32 = 42;
pub const XPLM_VK_EXECUTE: u32 = 43;
pub const XPLM_VK_SNAPSHOT: u32 = 44;
pub const XPLM_VK_INSERT: u32 = 45;
pub const XPLM_VK_DELETE: u32 = 46;
pub const XPLM_VK_HELP: u32 = 47;
pub const XPLM_VK_0: u32 = 48;
pub const XPLM_VK_1: u32 = 49;
pub const XPLM_VK_2: u32 = 50;
pub const XPLM_VK_3: u32 = 51;
pub const XPLM_VK_4: u32 = 52;
pub const XPLM_VK_5: u32 = 53;
pub const XPLM_VK_6: u32 = 54;
pub const XPLM_VK_7: u32 = 55;
pub const XPLM_VK_8: u32 = 56;
pub const XPLM_VK_9: u32 = 57;
pub const XPLM_VK_A: u32 = 65;
pub const XPLM_VK_B: u32 = 66;
pub const XPLM_VK_C: u32 = 67;
pub const XPLM_VK_D: u32 = 68;
pub const XPLM_VK_E: u32 = 69;
pub const XPLM_VK_F: u32 = 70;
pub const XPLM_VK_G: u32 = 71;
pub const XPLM_VK_H: u32 = 72;
pub const XPLM_VK_I: u32 = 73;
pub const XPLM_VK_J: u32 = 74;
pub const XPLM_VK_K: u32 = 75;
pub const XPLM_VK_L: u32 = 76;
pub const XPLM_VK_M: u32 = 77;
pub const XPLM_VK_N: u32 = 78;
pub const XPLM_VK_O: u32 = 79;
pub const XPLM_VK_P: u32 = 80;
pub const XPLM_VK_Q: u32 = 81;
pub const XPLM_VK_R: u32 = 82;
pub const XPLM_VK_S: u32 = 83;
pub const XPLM_VK_T: u32 = 84;
pub const XPLM_VK_U: u32 = 85;
pub const XPLM_VK_V: u32 = 86;
pub const XPLM_VK_W: u32 = 87;
pub const XPLM_VK_X: u32 = 88;
pub const XPLM_VK_Y: u32 = 89;
pub const XPLM_VK_Z: u32 = 90;
pub const XPLM_VK_NUMPAD0: u32 = 96;
pub const XPLM_VK_NUMPAD1: u32 = 97;
pub const XPLM_VK_NUMPAD2: u32 = 98;
pub const XPLM_VK_NUMPAD3: u32 = 99;
pub const XPLM_VK_NUMPAD4: u32 = 100;
pub const XPLM_VK_NUMPAD5: u32 = 101;
pub const XPLM_VK_NUMPAD6: u32 = 102;
pub const XPLM_VK_NUMPAD7: u32 = 103;
pub const XPLM_VK_NUMPAD8: u32 = 104;
pub const XPLM_VK_NUMPAD9: u32 = 105;
pub const XPLM_VK_MULTIPLY: u32 = 106;
pub const XPLM_VK_ADD: u32 = 107;
pub const XPLM_VK_SEPARATOR: u32 = 108;
pub const XPLM_VK_SUBTRACT: u32 = 109;
pub const XPLM_VK_DECIMAL: u32 = 110;
pub const XPLM_VK_DIVIDE: u32 = 111;
pub const XPLM_VK_F1: u32 = 112;
pub const XPLM_VK_F2: u32 = 113;
pub const XPLM_VK_F3: u32 = 114;
pub const XPLM_VK_F4: u32 = 115;
pub const XPLM_VK_F5: u32 = 116;
pub const XPLM_VK_F6: u32 = 117;
pub const XPLM_VK_F7: u32 = 118;
pub const XPLM_VK_F8: u32 = 119;
pub const XPLM_VK_F9: u32 = 120;
pub const XPLM_VK_F10: u32 = 121;
pub const XPLM_VK_F11: u32 = 122;
pub const XPLM_VK_F12: u32 = 123;
pub const XPLM_VK_F13: u32 = 124;
pub const XPLM_VK_F14: u32 = 125;
pub const XPLM_VK_F15: u32 = 126;
pub const XPLM_VK_F16: u32 = 127;
pub const XPLM_VK_F17: u32 = 128;
pub const XPLM_VK_F18: u32 = 129;
pub const XPLM_VK_F19: u32 = 130;
pub const XPLM_VK_F20: u32 = 131;
pub const XPLM_VK_F21: u32 = 132;
pub const XPLM_VK_F22: u32 = 133;
pub const XPLM_VK_F23: u32 = 134;
pub const XPLM_VK_F24: u32 = 135;
pub const XPLM_VK_EQUAL: u32 = 176;
pub const XPLM_VK_MINUS: u32 = 177;
pub const XPLM_VK_RBRACE: u32 = 178;
pub const XPLM_VK_LBRACE: u32 = 179;
pub const XPLM_VK_QUOTE: u32 = 180;
pub const XPLM_VK_SEMICOLON: u32 = 181;
pub const XPLM_VK_BACKSLASH: u32 = 182;
pub const XPLM_VK_COMMA: u32 = 183;
pub const XPLM_VK_SLASH: u32 = 184;
pub const XPLM_VK_PERIOD: u32 = 185;
pub const XPLM_VK_BACKQUOTE: u32 = 186;
pub const XPLM_VK_ENTER: u32 = 187;
pub const XPLM_VK_NUMPAD_ENT: u32 = 188;
pub const XPLM_VK_NUMPAD_EQ: u32 = 189;
pub const xpWidgetClass_None: u32 = 0;
pub const xpWidgetClass_MainWindow: u32 = 1;
pub const xpWidgetClass_SubWindow: u32 = 2;
pub const xpWidgetClass_Button: u32 = 3;
pub const xpWidgetClass_TextField: u32 = 4;
pub const xpWidgetClass_ScrollBar: u32 = 5;
pub const xpWidgetClass_Caption: u32 = 6;
pub const xpWidgetClass_GeneralGraphics: u32 = 7;
pub const xpWidgetClass_Progress: u32 = 8;
pub const NO_PARENT: i32 = -1;
pub const PARAM_PARENT: i32 = -2;
pub const XPLM_MAP_USER_INTERFACE: &[u8; 24] = b"XPLM_MAP_USER_INTERFACE\0";
pub const XPLM_MAP_IOS: &[u8; 13] = b"XPLM_MAP_IOS\0";
pub const XPLM_NAV_NOT_FOUND: i32 = -1;
pub const XPLM_USER_AIRCRAFT: u32 = 0;
pub const XPLM_MSG_PLANE_CRASHED: u32 = 101;
pub const XPLM_MSG_PLANE_LOADED: u32 = 102;
pub const XPLM_MSG_AIRPORT_LOADED: u32 = 103;
pub const XPLM_MSG_SCENERY_LOADED: u32 = 104;
pub const XPLM_MSG_AIRPLANE_COUNT_CHANGED: u32 = 105;
pub const XPLM_MSG_PLANE_UNLOADED: u32 = 106;
pub const XPLM_MSG_WILL_WRITE_PREFS: u32 = 107;
pub const XPLM_MSG_LIVERY_LOADED: u32 = 108;
pub const XPLM_MSG_ENTERED_VR: u32 = 109;
pub const XPLM_MSG_EXITING_VR: u32 = 110;
pub const XPLM_MSG_RELEASE_PLANES: u32 = 111;
pub const XPLM_MSG_FMOD_BANK_LOADED: u32 = 112;
pub const XPLM_MSG_FMOD_BANK_UNLOADING: u32 = 113;
pub const XPLM_MSG_DATAREFS_ADDED: u32 = 114;
pub type int_least64_t = i64;
pub type uint_least64_t = u64;
pub type int_fast64_t = i64;
pub type uint_fast64_t = u64;
pub type int_least32_t = i32;
pub type uint_least32_t = u32;
pub type int_fast32_t = i32;
pub type uint_fast32_t = u32;
pub type int_least16_t = i16;
pub type uint_least16_t = u16;
pub type int_fast16_t = i16;
pub type uint_fast16_t = u16;
pub type int_least8_t = i8;
pub type uint_least8_t = u8;
pub type int_fast8_t = i8;
pub type uint_fast8_t = u8;
pub type intmax_t = ::std::os::raw::c_longlong;
pub type uintmax_t = ::std::os::raw::c_ulonglong;
#[doc = " GLOBAL DEFINITIONS"]
pub type XPLMPluginID = ::std::os::raw::c_int;
pub const xplm_ShiftFlag: _bindgen_ty_1 = 1;
pub const xplm_OptionAltFlag: _bindgen_ty_1 = 2;
pub const xplm_ControlFlag: _bindgen_ty_1 = 4;
pub const xplm_DownFlag: _bindgen_ty_1 = 8;
pub const xplm_UpFlag: _bindgen_ty_1 = 16;
pub type _bindgen_ty_1 = ::std::os::raw::c_int;
pub type XPLMKeyFlags = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XPLMFixedString150_t {
pub buffer: [::std::os::raw::c_char; 150usize],
}
#[doc = " WIDGET DEFINITIONS"]
pub type XPWidgetID = *mut ::std::os::raw::c_void;
pub const xpProperty_Refcon: _bindgen_ty_2 = 0;
pub const xpProperty_Dragging: _bindgen_ty_2 = 1;
pub const xpProperty_DragXOff: _bindgen_ty_2 = 2;
pub const xpProperty_DragYOff: _bindgen_ty_2 = 3;
pub const xpProperty_Hilited: _bindgen_ty_2 = 4;
pub const xpProperty_Object: _bindgen_ty_2 = 5;
pub const xpProperty_Clip: _bindgen_ty_2 = 6;
pub const xpProperty_Enabled: _bindgen_ty_2 = 7;
pub const xpProperty_UserStart: _bindgen_ty_2 = 10000;
pub type _bindgen_ty_2 = ::std::os::raw::c_int;
pub type XPWidgetPropertyID = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XPMouseState_t {
pub x: ::std::os::raw::c_int,
pub y: ::std::os::raw::c_int,
pub button: ::std::os::raw::c_int,
pub delta: ::std::os::raw::c_int,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XPKeyState_t {
pub key: ::std::os::raw::c_char,
pub flags: XPLMKeyFlags,
pub vkey: ::std::os::raw::c_char,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XPWidgetGeometryChange_t {
pub dx: ::std::os::raw::c_int,
pub dy: ::std::os::raw::c_int,
pub dwidth: ::std::os::raw::c_int,
pub dheight: ::std::os::raw::c_int,
}
pub const xpMode_Direct: _bindgen_ty_3 = 0;
pub const xpMode_UpChain: _bindgen_ty_3 = 1;
pub const xpMode_Recursive: _bindgen_ty_3 = 2;
pub const xpMode_DirectAllCallbacks: _bindgen_ty_3 = 3;
pub const xpMode_Once: _bindgen_ty_3 = 4;
pub type _bindgen_ty_3 = ::std::os::raw::c_int;
pub type XPDispatchMode = ::std::os::raw::c_int;
pub type XPWidgetClass = ::std::os::raw::c_int;
pub const xpMsg_None: _bindgen_ty_4 = 0;
pub const xpMsg_Create: _bindgen_ty_4 = 1;
pub const xpMsg_Destroy: _bindgen_ty_4 = 2;
pub const xpMsg_Paint: _bindgen_ty_4 = 3;
pub const xpMsg_Draw: _bindgen_ty_4 = 4;
pub const xpMsg_KeyPress: _bindgen_ty_4 = 5;
pub const xpMsg_KeyTakeFocus: _bindgen_ty_4 = 6;
pub const xpMsg_KeyLoseFocus: _bindgen_ty_4 = 7;
pub const xpMsg_MouseDown: _bindgen_ty_4 = 8;
pub const xpMsg_MouseDrag: _bindgen_ty_4 = 9;
pub const xpMsg_MouseUp: _bindgen_ty_4 = 10;
pub const xpMsg_Reshape: _bindgen_ty_4 = 11;
pub const xpMsg_ExposedChanged: _bindgen_ty_4 = 12;
pub const xpMsg_AcceptChild: _bindgen_ty_4 = 13;
pub const xpMsg_LoseChild: _bindgen_ty_4 = 14;
pub const xpMsg_AcceptParent: _bindgen_ty_4 = 15;
pub const xpMsg_Shown: _bindgen_ty_4 = 16;
pub const xpMsg_Hidden: _bindgen_ty_4 = 17;
pub const xpMsg_DescriptorChanged: _bindgen_ty_4 = 18;
pub const xpMsg_PropertyChanged: _bindgen_ty_4 = 19;
pub const xpMsg_MouseWheel: _bindgen_ty_4 = 20;
pub const xpMsg_CursorAdjust: _bindgen_ty_4 = 21;
pub const xpMsg_UserStart: _bindgen_ty_4 = 10000;
#[doc = " WIDGET MESSAGES"]
pub type _bindgen_ty_4 = ::std::os::raw::c_int;
pub type XPWidgetMessage = ::std::os::raw::c_int;
#[doc = " WIDGET CALLBACK FUNCTION"]
pub type XPWidgetFunc_t = ::std::option::Option<
unsafe extern "C" fn(
inMessage: XPWidgetMessage,
inWidget: XPWidgetID,
inParam1: isize,
inParam2: isize,
) -> ::std::os::raw::c_int,
>;
pub const xpMainWindowStyle_MainWindow: _bindgen_ty_5 = 0;
pub const xpMainWindowStyle_Translucent: _bindgen_ty_5 = 1;
pub type _bindgen_ty_5 = ::std::os::raw::c_int;
pub const xpProperty_MainWindowType: _bindgen_ty_6 = 1100;
pub const xpProperty_MainWindowHasCloseBoxes: _bindgen_ty_6 = 1200;
pub type _bindgen_ty_6 = ::std::os::raw::c_int;
pub const xpMessage_CloseButtonPushed: _bindgen_ty_7 = 1200;
pub type _bindgen_ty_7 = ::std::os::raw::c_int;
pub const xpSubWindowStyle_SubWindow: _bindgen_ty_8 = 0;
pub const xpSubWindowStyle_Screen: _bindgen_ty_8 = 2;
pub const xpSubWindowStyle_ListView: _bindgen_ty_8 = 3;
pub type _bindgen_ty_8 = ::std::os::raw::c_int;
pub const xpProperty_SubWindowType: _bindgen_ty_9 = 1200;
pub type _bindgen_ty_9 = ::std::os::raw::c_int;
pub const xpPushButton: _bindgen_ty_10 = 0;
pub const xpRadioButton: _bindgen_ty_10 = 1;
pub const xpWindowCloseBox: _bindgen_ty_10 = 3;
pub const xpLittleDownArrow: _bindgen_ty_10 = 5;
pub const xpLittleUpArrow: _bindgen_ty_10 = 6;
pub type _bindgen_ty_10 = ::std::os::raw::c_int;
pub const xpButtonBehaviorPushButton: _bindgen_ty_11 = 0;
pub const xpButtonBehaviorCheckBox: _bindgen_ty_11 = 1;
pub const xpButtonBehaviorRadioButton: _bindgen_ty_11 = 2;
pub type _bindgen_ty_11 = ::std::os::raw::c_int;
pub const xpProperty_ButtonType: _bindgen_ty_12 = 1300;
pub const xpProperty_ButtonBehavior: _bindgen_ty_12 = 1301;
pub const xpProperty_ButtonState: _bindgen_ty_12 = 1302;
pub type _bindgen_ty_12 = ::std::os::raw::c_int;
pub const xpMsg_PushButtonPressed: _bindgen_ty_13 = 1300;
pub const xpMsg_ButtonStateChanged: _bindgen_ty_13 = 1301;
pub type _bindgen_ty_13 = ::std::os::raw::c_int;
pub const xpTextEntryField: _bindgen_ty_14 = 0;
pub const xpTextTransparent: _bindgen_ty_14 = 3;
pub const xpTextTranslucent: _bindgen_ty_14 = 4;
pub type _bindgen_ty_14 = ::std::os::raw::c_int;
pub const xpProperty_EditFieldSelStart: _bindgen_ty_15 = 1400;
pub const xpProperty_EditFieldSelEnd: _bindgen_ty_15 = 1401;
pub const xpProperty_EditFieldSelDragStart: _bindgen_ty_15 = 1402;
pub const xpProperty_TextFieldType: _bindgen_ty_15 = 1403;
pub const xpProperty_PasswordMode: _bindgen_ty_15 = 1404;
pub const xpProperty_MaxCharacters: _bindgen_ty_15 = 1405;
pub const xpProperty_ScrollPosition: _bindgen_ty_15 = 1406;
pub const xpProperty_Font: _bindgen_ty_15 = 1407;
pub const xpProperty_ActiveEditSide: _bindgen_ty_15 = 1408;
pub type _bindgen_ty_15 = ::std::os::raw::c_int;
pub const xpMsg_TextFieldChanged: _bindgen_ty_16 = 1400;
pub type _bindgen_ty_16 = ::std::os::raw::c_int;
pub const xpScrollBarTypeScrollBar: _bindgen_ty_17 = 0;
pub const xpScrollBarTypeSlider: _bindgen_ty_17 = 1;
pub type _bindgen_ty_17 = ::std::os::raw::c_int;
pub const xpProperty_ScrollBarSliderPosition: _bindgen_ty_18 = 1500;
pub const xpProperty_ScrollBarMin: _bindgen_ty_18 = 1501;
pub const xpProperty_ScrollBarMax: _bindgen_ty_18 = 1502;
pub const xpProperty_ScrollBarPageAmount: _bindgen_ty_18 = 1503;
pub const xpProperty_ScrollBarType: _bindgen_ty_18 = 1504;
pub const xpProperty_ScrollBarSlop: _bindgen_ty_18 = 1505;
pub type _bindgen_ty_18 = ::std::os::raw::c_int;
pub const xpMsg_ScrollBarSliderPositionChanged: _bindgen_ty_19 = 1500;
pub type _bindgen_ty_19 = ::std::os::raw::c_int;
pub const xpProperty_CaptionLit: _bindgen_ty_20 = 1600;
pub type _bindgen_ty_20 = ::std::os::raw::c_int;
pub const xpShip: _bindgen_ty_21 = 4;
pub const xpILSGlideScope: _bindgen_ty_21 = 5;
pub const xpMarkerLeft: _bindgen_ty_21 = 6;
pub const xp_Airport: _bindgen_ty_21 = 7;
pub const xpNDB: _bindgen_ty_21 = 8;
pub const xpVOR: _bindgen_ty_21 = 9;
pub const xpRadioTower: _bindgen_ty_21 = 10;
pub const xpAircraftCarrier: _bindgen_ty_21 = 11;
pub const xpFire: _bindgen_ty_21 = 12;
pub const xpMarkerRight: _bindgen_ty_21 = 13;
pub const xpCustomObject: _bindgen_ty_21 = 14;
pub const xpCoolingTower: _bindgen_ty_21 = 15;
pub const xpSmokeStack: _bindgen_ty_21 = 16;
pub const xpBuilding: _bindgen_ty_21 = 17;
pub const xpPowerLine: _bindgen_ty_21 = 18;
pub const xpVORWithCompassRose: _bindgen_ty_21 = 19;
pub const xpOilPlatform: _bindgen_ty_21 = 21;
pub const xpOilPlatformSmall: _bindgen_ty_21 = 22;
pub const xpWayPoint: _bindgen_ty_21 = 23;
pub type _bindgen_ty_21 = ::std::os::raw::c_int;
pub const xpProperty_GeneralGraphicsType: _bindgen_ty_22 = 1700;
pub type _bindgen_ty_22 = ::std::os::raw::c_int;
pub const xpProperty_ProgressPosition: _bindgen_ty_23 = 1800;
pub const xpProperty_ProgressMin: _bindgen_ty_23 = 1801;
pub const xpProperty_ProgressMax: _bindgen_ty_23 = 1802;
pub type _bindgen_ty_23 = ::std::os::raw::c_int;
pub const xpWindow_Help: _bindgen_ty_24 = 0;
pub const xpWindow_MainWindow: _bindgen_ty_24 = 1;
pub const xpWindow_SubWindow: _bindgen_ty_24 = 2;
pub const xpWindow_Screen: _bindgen_ty_24 = 4;
pub const xpWindow_ListView: _bindgen_ty_24 = 5;
pub type _bindgen_ty_24 = ::std::os::raw::c_int;
pub type XPWindowStyle = ::std::os::raw::c_int;
extern "C" {
pub fn XPDrawWindow(
inX1: ::std::os::raw::c_int,
inY1: ::std::os::raw::c_int,
inX2: ::std::os::raw::c_int,
inY2: ::std::os::raw::c_int,
inStyle: XPWindowStyle,
);
}
extern "C" {
pub fn XPGetWindowDefaultDimensions(
inStyle: XPWindowStyle,
outWidth: *mut ::std::os::raw::c_int,
outHeight: *mut ::std::os::raw::c_int,
);
}
pub const xpElement_TextField: _bindgen_ty_25 = 6;
pub const xpElement_CheckBox: _bindgen_ty_25 = 9;
pub const xpElement_CheckBoxLit: _bindgen_ty_25 = 10;
pub const xpElement_WindowCloseBox: _bindgen_ty_25 = 14;
pub const xpElement_WindowCloseBoxPressed: _bindgen_ty_25 = 15;
pub const xpElement_PushButton: _bindgen_ty_25 = 16;
pub const xpElement_PushButtonLit: _bindgen_ty_25 = 17;
pub const xpElement_OilPlatform: _bindgen_ty_25 = 24;
pub const xpElement_OilPlatformSmall: _bindgen_ty_25 = 25;
pub const xpElement_Ship: _bindgen_ty_25 = 26;
pub const xpElement_ILSGlideScope: _bindgen_ty_25 = 27;
pub const xpElement_MarkerLeft: _bindgen_ty_25 = 28;
pub const xpElement_Airport: _bindgen_ty_25 = 29;
pub const xpElement_Waypoint: _bindgen_ty_25 = 30;
pub const xpElement_NDB: _bindgen_ty_25 = 31;
pub const xpElement_VOR: _bindgen_ty_25 = 32;
pub const xpElement_RadioTower: _bindgen_ty_25 = 33;
pub const xpElement_AircraftCarrier: _bindgen_ty_25 = 34;
pub const xpElement_Fire: _bindgen_ty_25 = 35;
pub const xpElement_MarkerRight: _bindgen_ty_25 = 36;
pub const xpElement_CustomObject: _bindgen_ty_25 = 37;
pub const xpElement_CoolingTower: _bindgen_ty_25 = 38;
pub const xpElement_SmokeStack: _bindgen_ty_25 = 39;
pub const xpElement_Building: _bindgen_ty_25 = 40;
pub const xpElement_PowerLine: _bindgen_ty_25 = 41;
pub const xpElement_CopyButtons: _bindgen_ty_25 = 45;
pub const xpElement_CopyButtonsWithEditingGrid: _bindgen_ty_25 = 46;
pub const xpElement_EditingGrid: _bindgen_ty_25 = 47;
pub const xpElement_ScrollBar: _bindgen_ty_25 = 48;
pub const xpElement_VORWithCompassRose: _bindgen_ty_25 = 49;
pub const xpElement_Zoomer: _bindgen_ty_25 = 51;
pub const xpElement_TextFieldMiddle: _bindgen_ty_25 = 52;
pub const xpElement_LittleDownArrow: _bindgen_ty_25 = 53;
pub const xpElement_LittleUpArrow: _bindgen_ty_25 = 54;
pub const xpElement_WindowDragBar: _bindgen_ty_25 = 61;
pub const xpElement_WindowDragBarSmooth: _bindgen_ty_25 = 62;
pub type _bindgen_ty_25 = ::std::os::raw::c_int;
pub type XPElementStyle = ::std::os::raw::c_int;
extern "C" {
pub fn XPDrawElement(
inX1: ::std::os::raw::c_int,
inY1: ::std::os::raw::c_int,
inX2: ::std::os::raw::c_int,
inY2: ::std::os::raw::c_int,
inStyle: XPElementStyle,
inLit: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn XPGetElementDefaultDimensions(
inStyle: XPElementStyle,
outWidth: *mut ::std::os::raw::c_int,
outHeight: *mut ::std::os::raw::c_int,
outCanBeLit: *mut ::std::os::raw::c_int,
);
}
pub const xpTrack_ScrollBar: _bindgen_ty_26 = 0;
pub const xpTrack_Slider: _bindgen_ty_26 = 1;
pub const xpTrack_Progress: _bindgen_ty_26 = 2;
pub type _bindgen_ty_26 = ::std::os::raw::c_int;
pub type XPTrackStyle = ::std::os::raw::c_int;
extern "C" {
pub fn XPDrawTrack(
inX1: ::std::os::raw::c_int,
inY1: ::std::os::raw::c_int,
inX2: ::std::os::raw::c_int,
inY2: ::std::os::raw::c_int,
inMin: ::std::os::raw::c_int,
inMax: ::std::os::raw::c_int,
inValue: ::std::os::raw::c_int,
inTrackStyle: XPTrackStyle,
inLit: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn XPGetTrackDefaultDimensions(
inStyle: XPTrackStyle,
outWidth: *mut ::std::os::raw::c_int,
outCanBeLit: *mut ::std::os::raw::c_int,
);
}
extern "C" {
pub fn XPGetTrackMetrics(
inX1: ::std::os::raw::c_int,
inY1: ::std::os::raw::c_int,
inX2: ::std::os::raw::c_int,
inY2: ::std::os::raw::c_int,
inMin: ::std::os::raw::c_int,
inMax: ::std::os::raw::c_int,
inValue: ::std::os::raw::c_int,
inTrackStyle: XPTrackStyle,
outIsVertical: *mut ::std::os::raw::c_int,
outDownBtnSize: *mut ::std::os::raw::c_int,
outDownPageSize: *mut ::std::os::raw::c_int,
outThumbSize: *mut ::std::os::raw::c_int,
outUpPageSize: *mut ::std::os::raw::c_int,
outUpBtnSize: *mut ::std::os::raw::c_int,
);
}
pub const xplm_Phase_FirstCockpit: _bindgen_ty_27 = 35;
pub const xplm_Phase_Panel: _bindgen_ty_27 = 40;
pub const xplm_Phase_Gauges: _bindgen_ty_27 = 45;
pub const xplm_Phase_Window: _bindgen_ty_27 = 50;
pub const xplm_Phase_LastCockpit: _bindgen_ty_27 = 55;
pub const xplm_Phase_LocalMap3D: _bindgen_ty_27 = 100;
pub const xplm_Phase_LocalMap2D: _bindgen_ty_27 = 101;
pub const xplm_Phase_LocalMapProfile: _bindgen_ty_27 = 102;
pub type _bindgen_ty_27 = ::std::os::raw::c_int;
pub type XPLMDrawingPhase = ::std::os::raw::c_int;
pub type XPLMDrawCallback_f = ::std::option::Option<
unsafe extern "C" fn(
inPhase: XPLMDrawingPhase,
inIsBefore: ::std::os::raw::c_int,
inRefcon: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
extern "C" {
pub fn XPLMRegisterDrawCallback(
inCallback: XPLMDrawCallback_f,
inPhase: XPLMDrawingPhase,
inWantsBefore: ::std::os::raw::c_int,
inRefcon: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMUnregisterDrawCallback(
inCallback: XPLMDrawCallback_f,
inPhase: XPLMDrawingPhase,
inWantsBefore: ::std::os::raw::c_int,
inRefcon: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
pub const xplm_device_GNS430_1: _bindgen_ty_28 = 0;
pub const xplm_device_GNS430_2: _bindgen_ty_28 = 1;
pub const xplm_device_GNS530_1: _bindgen_ty_28 = 2;
pub const xplm_device_GNS530_2: _bindgen_ty_28 = 3;
pub const xplm_device_CDU739_1: _bindgen_ty_28 = 4;
pub const xplm_device_CDU739_2: _bindgen_ty_28 = 5;
pub const xplm_device_G1000_PFD_1: _bindgen_ty_28 = 6;
pub const xplm_device_G1000_MFD: _bindgen_ty_28 = 7;
pub const xplm_device_G1000_PFD_2: _bindgen_ty_28 = 8;
pub const xplm_device_CDU815_1: _bindgen_ty_28 = 9;
pub const xplm_device_CDU815_2: _bindgen_ty_28 = 10;
pub const xplm_device_Primus_PFD_1: _bindgen_ty_28 = 11;
pub const xplm_device_Primus_PFD_2: _bindgen_ty_28 = 12;
pub const xplm_device_Primus_MFD_1: _bindgen_ty_28 = 13;
pub const xplm_device_Primus_MFD_2: _bindgen_ty_28 = 14;
pub const xplm_device_Primus_MFD_3: _bindgen_ty_28 = 15;
pub const xplm_device_Primus_RMU_1: _bindgen_ty_28 = 16;
pub const xplm_device_Primus_RMU_2: _bindgen_ty_28 = 17;
#[doc = " AVIONICS API"]
pub type _bindgen_ty_28 = ::std::os::raw::c_int;
pub type XPLMDeviceID = ::std::os::raw::c_int;
pub type XPLMAvionicsCallback_f = ::std::option::Option<
unsafe extern "C" fn(
inDeviceID: XPLMDeviceID,
inIsBefore: ::std::os::raw::c_int,
inRefcon: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub type XPLMAvionicsID = *mut ::std::os::raw::c_void;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XPLMCustomizeAvionics_t {
pub structSize: ::std::os::raw::c_int,
pub deviceId: XPLMDeviceID,
pub drawCallbackBefore: XPLMAvionicsCallback_f,
pub drawCallbackAfter: XPLMAvionicsCallback_f,
pub refcon: *mut ::std::os::raw::c_void,
}
extern "C" {
pub fn XPLMRegisterAvionicsCallbacksEx(
inParams: *mut XPLMCustomizeAvionics_t,
) -> XPLMAvionicsID;
}
extern "C" {
pub fn XPLMUnregisterAvionicsCallbacks(inAvionicsId: XPLMAvionicsID);
}
#[doc = " WINDOW API"]
pub type XPLMWindowID = *mut ::std::os::raw::c_void;
pub type XPLMDrawWindow_f = ::std::option::Option<
unsafe extern "C" fn(inWindowID: XPLMWindowID, inRefcon: *mut ::std::os::raw::c_void),
>;
pub type XPLMHandleKey_f = ::std::option::Option<
unsafe extern "C" fn(
inWindowID: XPLMWindowID,
inKey: ::std::os::raw::c_char,
inFlags: XPLMKeyFlags,
inVirtualKey: ::std::os::raw::c_char,
inRefcon: *mut ::std::os::raw::c_void,
losingFocus: ::std::os::raw::c_int,
),
>;
pub const xplm_MouseDown: _bindgen_ty_29 = 1;
pub const xplm_MouseDrag: _bindgen_ty_29 = 2;
pub const xplm_MouseUp: _bindgen_ty_29 = 3;
pub type _bindgen_ty_29 = ::std::os::raw::c_int;
pub type XPLMMouseStatus = ::std::os::raw::c_int;
pub type XPLMHandleMouseClick_f = ::std::option::Option<
unsafe extern "C" fn(
inWindowID: XPLMWindowID,
x: ::std::os::raw::c_int,
y: ::std::os::raw::c_int,
inMouse: XPLMMouseStatus,
inRefcon: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub const xplm_CursorDefault: _bindgen_ty_30 = 0;
pub const xplm_CursorHidden: _bindgen_ty_30 = 1;
pub const xplm_CursorArrow: _bindgen_ty_30 = 2;
pub const xplm_CursorCustom: _bindgen_ty_30 = 3;
pub type _bindgen_ty_30 = ::std::os::raw::c_int;
pub type XPLMCursorStatus = ::std::os::raw::c_int;
pub type XPLMHandleCursor_f = ::std::option::Option<
unsafe extern "C" fn(
inWindowID: XPLMWindowID,
x: ::std::os::raw::c_int,
y: ::std::os::raw::c_int,
inRefcon: *mut ::std::os::raw::c_void,
) -> XPLMCursorStatus,
>;
pub type XPLMHandleMouseWheel_f = ::std::option::Option<
unsafe extern "C" fn(
inWindowID: XPLMWindowID,
x: ::std::os::raw::c_int,
y: ::std::os::raw::c_int,
wheel: ::std::os::raw::c_int,
clicks: ::std::os::raw::c_int,
inRefcon: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
pub const xplm_WindowLayerFlightOverlay: _bindgen_ty_31 = 0;
pub const xplm_WindowLayerFloatingWindows: _bindgen_ty_31 = 1;
pub const xplm_WindowLayerModal: _bindgen_ty_31 = 2;
pub const xplm_WindowLayerGrowlNotifications: _bindgen_ty_31 = 3;
pub type _bindgen_ty_31 = ::std::os::raw::c_int;
pub type XPLMWindowLayer = ::std::os::raw::c_int;
pub const xplm_WindowDecorationNone: _bindgen_ty_32 = 0;
pub const xplm_WindowDecorationRoundRectangle: _bindgen_ty_32 = 1;
pub const xplm_WindowDecorationSelfDecorated: _bindgen_ty_32 = 2;
pub const xplm_WindowDecorationSelfDecoratedResizable: _bindgen_ty_32 = 3;
pub type _bindgen_ty_32 = ::std::os::raw::c_int;
pub type XPLMWindowDecoration = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XPLMCreateWindow_t {
pub structSize: ::std::os::raw::c_int,
pub left: ::std::os::raw::c_int,
pub top: ::std::os::raw::c_int,
pub right: ::std::os::raw::c_int,
pub bottom: ::std::os::raw::c_int,
pub visible: ::std::os::raw::c_int,
pub drawWindowFunc: XPLMDrawWindow_f,
pub handleMouseClickFunc: XPLMHandleMouseClick_f,
pub handleKeyFunc: XPLMHandleKey_f,
pub handleCursorFunc: XPLMHandleCursor_f,
pub handleMouseWheelFunc: XPLMHandleMouseWheel_f,
pub refcon: *mut ::std::os::raw::c_void,
pub decorateAsFloatingWindow: XPLMWindowDecoration,
pub layer: XPLMWindowLayer,
pub handleRightClickFunc: XPLMHandleMouseClick_f,
}
extern "C" {
pub fn XPLMCreateWindowEx(inParams: *mut XPLMCreateWindow_t) -> XPLMWindowID;
}
extern "C" {
pub fn XPLMCreateWindow(
inLeft: ::std::os::raw::c_int,
inTop: ::std::os::raw::c_int,
inRight: ::std::os::raw::c_int,
inBottom: ::std::os::raw::c_int,
inIsVisible: ::std::os::raw::c_int,
inDrawCallback: XPLMDrawWindow_f,
inKeyCallback: XPLMHandleKey_f,
inMouseCallback: XPLMHandleMouseClick_f,
inRefcon: *mut ::std::os::raw::c_void,
) -> XPLMWindowID;
}
extern "C" {
pub fn XPLMDestroyWindow(inWindowID: XPLMWindowID);
}
extern "C" {
pub fn XPLMGetScreenSize(
outWidth: *mut ::std::os::raw::c_int,
outHeight: *mut ::std::os::raw::c_int,
);
}
extern "C" {
pub fn XPLMGetScreenBoundsGlobal(
outLeft: *mut ::std::os::raw::c_int,
outTop: *mut ::std::os::raw::c_int,
outRight: *mut ::std::os::raw::c_int,
outBottom: *mut ::std::os::raw::c_int,
);
}
pub type XPLMReceiveMonitorBoundsGlobal_f = ::std::option::Option<
unsafe extern "C" fn(
inMonitorIndex: ::std::os::raw::c_int,
inLeftBx: ::std::os::raw::c_int,
inTopBx: ::std::os::raw::c_int,
inRightBx: ::std::os::raw::c_int,
inBottomBx: ::std::os::raw::c_int,
inRefcon: *mut ::std::os::raw::c_void,
),
>;
extern "C" {
pub fn XPLMGetAllMonitorBoundsGlobal(
inMonitorBoundsCallback: XPLMReceiveMonitorBoundsGlobal_f,
inRefcon: *mut ::std::os::raw::c_void,
);
}
pub type XPLMReceiveMonitorBoundsOS_f = ::std::option::Option<
unsafe extern "C" fn(
inMonitorIndex: ::std::os::raw::c_int,
inLeftPx: ::std::os::raw::c_int,
inTopPx: ::std::os::raw::c_int,
inRightPx: ::std::os::raw::c_int,
inBottomPx: ::std::os::raw::c_int,
inRefcon: *mut ::std::os::raw::c_void,
),
>;
extern "C" {
pub fn XPLMGetAllMonitorBoundsOS(
inMonitorBoundsCallback: XPLMReceiveMonitorBoundsOS_f,
inRefcon: *mut ::std::os::raw::c_void,
);
}
extern "C" {
pub fn XPLMGetMouseLocation(outX: *mut ::std::os::raw::c_int, outY: *mut ::std::os::raw::c_int);
}
extern "C" {
pub fn XPLMGetMouseLocationGlobal(
outX: *mut ::std::os::raw::c_int,
outY: *mut ::std::os::raw::c_int,
);
}
extern "C" {
pub fn XPLMGetWindowGeometry(
inWindowID: XPLMWindowID,
outLeft: *mut ::std::os::raw::c_int,
outTop: *mut ::std::os::raw::c_int,
outRight: *mut ::std::os::raw::c_int,
outBottom: *mut ::std::os::raw::c_int,
);
}
extern "C" {
pub fn XPLMSetWindowGeometry(
inWindowID: XPLMWindowID,
inLeft: ::std::os::raw::c_int,
inTop: ::std::os::raw::c_int,
inRight: ::std::os::raw::c_int,
inBottom: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn XPLMGetWindowGeometryOS(
inWindowID: XPLMWindowID,
outLeft: *mut ::std::os::raw::c_int,
outTop: *mut ::std::os::raw::c_int,
outRight: *mut ::std::os::raw::c_int,
outBottom: *mut ::std::os::raw::c_int,
);
}
extern "C" {
pub fn XPLMSetWindowGeometryOS(
inWindowID: XPLMWindowID,
inLeft: ::std::os::raw::c_int,
inTop: ::std::os::raw::c_int,
inRight: ::std::os::raw::c_int,
inBottom: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn XPLMGetWindowGeometryVR(
inWindowID: XPLMWindowID,
outWidthBoxels: *mut ::std::os::raw::c_int,
outHeightBoxels: *mut ::std::os::raw::c_int,
);
}
extern "C" {
pub fn XPLMSetWindowGeometryVR(
inWindowID: XPLMWindowID,
widthBoxels: ::std::os::raw::c_int,
heightBoxels: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn XPLMGetWindowIsVisible(inWindowID: XPLMWindowID) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMSetWindowIsVisible(inWindowID: XPLMWindowID, inIsVisible: ::std::os::raw::c_int);
}
extern "C" {
pub fn XPLMWindowIsPoppedOut(inWindowID: XPLMWindowID) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMWindowIsInVR(inWindowID: XPLMWindowID) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMSetWindowGravity(
inWindowID: XPLMWindowID,
inLeftGravity: f32,
inTopGravity: f32,
inRightGravity: f32,
inBottomGravity: f32,
);
}
extern "C" {
pub fn XPLMSetWindowResizingLimits(
inWindowID: XPLMWindowID,
inMinWidthBoxels: ::std::os::raw::c_int,
inMinHeightBoxels: ::std::os::raw::c_int,
inMaxWidthBoxels: ::std::os::raw::c_int,
inMaxHeightBoxels: ::std::os::raw::c_int,
);
}
pub const xplm_WindowPositionFree: _bindgen_ty_33 = 0;
pub const xplm_WindowCenterOnMonitor: _bindgen_ty_33 = 1;
pub const xplm_WindowFullScreenOnMonitor: _bindgen_ty_33 = 2;
pub const xplm_WindowFullScreenOnAllMonitors: _bindgen_ty_33 = 3;
pub const xplm_WindowPopOut: _bindgen_ty_33 = 4;
pub const xplm_WindowVR: _bindgen_ty_33 = 5;
pub type _bindgen_ty_33 = ::std::os::raw::c_int;
pub type XPLMWindowPositioningMode = ::std::os::raw::c_int;
extern "C" {
pub fn XPLMSetWindowPositioningMode(
inWindowID: XPLMWindowID,
inPositioningMode: XPLMWindowPositioningMode,
inMonitorIndex: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn XPLMSetWindowTitle(
inWindowID: XPLMWindowID,
inWindowTitle: *const ::std::os::raw::c_char,
);
}
extern "C" {
pub fn XPLMGetWindowRefCon(inWindowID: XPLMWindowID) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn XPLMSetWindowRefCon(inWindowID: XPLMWindowID, inRefcon: *mut ::std::os::raw::c_void);
}
extern "C" {
pub fn XPLMTakeKeyboardFocus(inWindow: XPLMWindowID);
}
extern "C" {
pub fn XPLMHasKeyboardFocus(inWindow: XPLMWindowID) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMBringWindowToFront(inWindow: XPLMWindowID);
}
extern "C" {
pub fn XPLMIsWindowInFront(inWindow: XPLMWindowID) -> ::std::os::raw::c_int;
}
pub type XPLMKeySniffer_f = ::std::option::Option<
unsafe extern "C" fn(
inChar: ::std::os::raw::c_char,
inFlags: XPLMKeyFlags,
inVirtualKey: ::std::os::raw::c_char,
inRefcon: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
extern "C" {
pub fn XPLMRegisterKeySniffer(
inCallback: XPLMKeySniffer_f,
inBeforeWindows: ::std::os::raw::c_int,
inRefcon: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMUnregisterKeySniffer(
inCallback: XPLMKeySniffer_f,
inBeforeWindows: ::std::os::raw::c_int,
inRefcon: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
#[doc = " HOT KEYS"]
pub type XPLMHotKey_f =
::std::option::Option<unsafe extern "C" fn(inRefcon: *mut ::std::os::raw::c_void)>;
pub type XPLMHotKeyID = *mut ::std::os::raw::c_void;
extern "C" {
pub fn XPLMRegisterHotKey(
inVirtualKey: ::std::os::raw::c_char,
inFlags: XPLMKeyFlags,
inDescription: *const ::std::os::raw::c_char,
inCallback: XPLMHotKey_f,
inRefcon: *mut ::std::os::raw::c_void,
) -> XPLMHotKeyID;
}
extern "C" {
pub fn XPLMUnregisterHotKey(inHotKey: XPLMHotKeyID);
}
extern "C" {
pub fn XPLMCountHotKeys() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMGetNthHotKey(inIndex: ::std::os::raw::c_int) -> XPLMHotKeyID;
}
extern "C" {
pub fn XPLMGetHotKeyInfo(
inHotKey: XPLMHotKeyID,
outVirtualKey: *mut ::std::os::raw::c_char,
outFlags: *mut XPLMKeyFlags,
outDescription: *mut ::std::os::raw::c_char,
outPlugin: *mut XPLMPluginID,
);
}
extern "C" {
pub fn XPLMSetHotKeyCombination(
inHotKey: XPLMHotKeyID,
inVirtualKey: ::std::os::raw::c_char,
inFlags: XPLMKeyFlags,
);
}
extern "C" {
pub fn XPCreateWidget(
inLeft: ::std::os::raw::c_int,
inTop: ::std::os::raw::c_int,
inRight: ::std::os::raw::c_int,
inBottom: ::std::os::raw::c_int,
inVisible: ::std::os::raw::c_int,
inDescriptor: *const ::std::os::raw::c_char,
inIsRoot: ::std::os::raw::c_int,
inContainer: XPWidgetID,
inClass: XPWidgetClass,
) -> XPWidgetID;
}
extern "C" {
pub fn XPCreateCustomWidget(
inLeft: ::std::os::raw::c_int,
inTop: ::std::os::raw::c_int,
inRight: ::std::os::raw::c_int,
inBottom: ::std::os::raw::c_int,
inVisible: ::std::os::raw::c_int,
inDescriptor: *const ::std::os::raw::c_char,
inIsRoot: ::std::os::raw::c_int,
inContainer: XPWidgetID,
inCallback: XPWidgetFunc_t,
) -> XPWidgetID;
}
extern "C" {
pub fn XPDestroyWidget(inWidget: XPWidgetID, inDestroyChildren: ::std::os::raw::c_int);
}
extern "C" {
pub fn XPSendMessageToWidget(
inWidget: XPWidgetID,
inMessage: XPWidgetMessage,
inMode: XPDispatchMode,
inParam1: isize,
inParam2: isize,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " WIDGET POSITIONING AND VISIBILITY"]
pub fn XPPlaceWidgetWithin(inSubWidget: XPWidgetID, inContainer: XPWidgetID);
}
extern "C" {
pub fn XPCountChildWidgets(inWidget: XPWidgetID) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPGetNthChildWidget(inWidget: XPWidgetID, inIndex: ::std::os::raw::c_int) -> XPWidgetID;
}
extern "C" {
pub fn XPGetParentWidget(inWidget: XPWidgetID) -> XPWidgetID;
}
extern "C" {
pub fn XPShowWidget(inWidget: XPWidgetID);
}
extern "C" {
pub fn XPHideWidget(inWidget: XPWidgetID);
}
extern "C" {
pub fn XPIsWidgetVisible(inWidget: XPWidgetID) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPFindRootWidget(inWidget: XPWidgetID) -> XPWidgetID;
}
extern "C" {
pub fn XPBringRootWidgetToFront(inWidget: XPWidgetID);
}
extern "C" {
pub fn XPIsWidgetInFront(inWidget: XPWidgetID) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPGetWidgetGeometry(
inWidget: XPWidgetID,
outLeft: *mut ::std::os::raw::c_int,
outTop: *mut ::std::os::raw::c_int,
outRight: *mut ::std::os::raw::c_int,
outBottom: *mut ::std::os::raw::c_int,
);
}
extern "C" {
pub fn XPSetWidgetGeometry(
inWidget: XPWidgetID,
inLeft: ::std::os::raw::c_int,
inTop: ::std::os::raw::c_int,
inRight: ::std::os::raw::c_int,
inBottom: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn XPGetWidgetForLocation(
inContainer: XPWidgetID,
inXOffset: ::std::os::raw::c_int,
inYOffset: ::std::os::raw::c_int,
inRecursive: ::std::os::raw::c_int,
inVisibleOnly: ::std::os::raw::c_int,
) -> XPWidgetID;
}
extern "C" {
pub fn XPGetWidgetExposedGeometry(
inWidgetID: XPWidgetID,
outLeft: *mut ::std::os::raw::c_int,
outTop: *mut ::std::os::raw::c_int,
outRight: *mut ::std::os::raw::c_int,
outBottom: *mut ::std::os::raw::c_int,
);
}
extern "C" {
pub fn XPSetWidgetDescriptor(inWidget: XPWidgetID, inDescriptor: *const ::std::os::raw::c_char);
}
extern "C" {
pub fn XPGetWidgetDescriptor(
inWidget: XPWidgetID,
outDescriptor: *mut ::std::os::raw::c_char,
inMaxDescLength: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPGetWidgetUnderlyingWindow(inWidget: XPWidgetID) -> XPLMWindowID;
}
extern "C" {
pub fn XPSetWidgetProperty(
inWidget: XPWidgetID,
inProperty: XPWidgetPropertyID,
inValue: isize,
);
}
extern "C" {
pub fn XPGetWidgetProperty(
inWidget: XPWidgetID,
inProperty: XPWidgetPropertyID,
inExists: *mut ::std::os::raw::c_int,
) -> isize;
}
extern "C" {
#[doc = " KEYBOARD MANAGEMENT"]
pub fn XPSetKeyboardFocus(inWidget: XPWidgetID) -> XPWidgetID;
}
extern "C" {
pub fn XPLoseKeyboardFocus(inWidget: XPWidgetID);
}
extern "C" {
pub fn XPGetWidgetWithFocus() -> XPWidgetID;
}
extern "C" {
pub fn XPAddWidgetCallback(inWidget: XPWidgetID, inNewCallback: XPWidgetFunc_t);
}
extern "C" {
pub fn XPGetWidgetClassFunc(inWidgetClass: XPWidgetClass) -> XPWidgetFunc_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XPWidgetCreate_t {
pub left: ::std::os::raw::c_int,
pub top: ::std::os::raw::c_int,
pub right: ::std::os::raw::c_int,
pub bottom: ::std::os::raw::c_int,
pub visible: ::std::os::raw::c_int,
pub descriptor: *const ::std::os::raw::c_char,
pub isRoot: ::std::os::raw::c_int,
pub containerIndex: ::std::os::raw::c_int,
pub widgetClass: XPWidgetClass,
}
extern "C" {
pub fn XPUCreateWidgets(
inWidgetDefs: *const XPWidgetCreate_t,
inCount: ::std::os::raw::c_int,
inParamParent: XPWidgetID,
ioWidgets: *mut XPWidgetID,
);
}
extern "C" {
pub fn XPUMoveWidgetBy(
inWidget: XPWidgetID,
inDeltaX: ::std::os::raw::c_int,
inDeltaY: ::std::os::raw::c_int,
);
}
extern "C" {
#[doc = " LAYOUT MANAGERS"]
pub fn XPUFixedLayout(
inMessage: XPWidgetMessage,
inWidget: XPWidgetID,
inParam1: isize,
inParam2: isize,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPUSelectIfNeeded(
inMessage: XPWidgetMessage,
inWidget: XPWidgetID,
inParam1: isize,
inParam2: isize,
inEatClick: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPUDefocusKeyboard(
inMessage: XPWidgetMessage,
inWidget: XPWidgetID,
inParam1: isize,
inParam2: isize,
inEatClick: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPUDragWidget(
inMessage: XPWidgetMessage,
inWidget: XPWidgetID,
inParam1: isize,
inParam2: isize,
inLeft: ::std::os::raw::c_int,
inTop: ::std::os::raw::c_int,
inRight: ::std::os::raw::c_int,
inBottom: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
pub const xplm_ControlCameraUntilViewChanges: _bindgen_ty_34 = 1;
pub const xplm_ControlCameraForever: _bindgen_ty_34 = 2;
#[doc = " CAMERA CONTROL"]
pub type _bindgen_ty_34 = ::std::os::raw::c_int;
pub type XPLMCameraControlDuration = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XPLMCameraPosition_t {
pub x: f32,
pub y: f32,
pub z: f32,
pub pitch: f32,
pub heading: f32,
pub roll: f32,
pub zoom: f32,
}
pub type XPLMCameraControl_f = ::std::option::Option<
unsafe extern "C" fn(
outCameraPosition: *mut XPLMCameraPosition_t,
inIsLosingControl: ::std::os::raw::c_int,
inRefcon: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
extern "C" {
pub fn XPLMControlCamera(
inHowLong: XPLMCameraControlDuration,
inControlFunc: XPLMCameraControl_f,
inRefcon: *mut ::std::os::raw::c_void,
);
}
extern "C" {
pub fn XPLMDontControlCamera();
}
extern "C" {
pub fn XPLMIsCameraBeingControlled(
outCameraControlDuration: *mut XPLMCameraControlDuration,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMReadCameraPosition(outCameraPosition: *mut XPLMCameraPosition_t);
}
pub type XPLMDataRef = *mut ::std::os::raw::c_void;
pub const xplmType_Unknown: _bindgen_ty_35 = 0;
pub const xplmType_Int: _bindgen_ty_35 = 1;
pub const xplmType_Float: _bindgen_ty_35 = 2;
pub const xplmType_Double: _bindgen_ty_35 = 4;
pub const xplmType_FloatArray: _bindgen_ty_35 = 8;
pub const xplmType_IntArray: _bindgen_ty_35 = 16;
pub const xplmType_Data: _bindgen_ty_35 = 32;
pub type _bindgen_ty_35 = ::std::os::raw::c_int;
pub type XPLMDataTypeID = ::std::os::raw::c_int;
extern "C" {
pub fn XPLMCountDataRefs() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMGetDataRefsByIndex(
offset: ::std::os::raw::c_int,
count: ::std::os::raw::c_int,
outDataRefs: *mut XPLMDataRef,
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XPLMDataRefInfo_t {
pub structSize: ::std::os::raw::c_int,
pub name: *const ::std::os::raw::c_char,
pub type_: XPLMDataTypeID,
pub writable: ::std::os::raw::c_int,
pub owner: XPLMPluginID,
}
extern "C" {
pub fn XPLMGetDataRefInfo(inDataRef: XPLMDataRef, outInfo: *mut XPLMDataRefInfo_t);
}
extern "C" {
pub fn XPLMFindDataRef(inDataRefName: *const ::std::os::raw::c_char) -> XPLMDataRef;
}
extern "C" {
pub fn XPLMCanWriteDataRef(inDataRef: XPLMDataRef) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMIsDataRefGood(inDataRef: XPLMDataRef) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMGetDataRefTypes(inDataRef: XPLMDataRef) -> XPLMDataTypeID;
}
extern "C" {
pub fn XPLMGetDatai(inDataRef: XPLMDataRef) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMSetDatai(inDataRef: XPLMDataRef, inValue: ::std::os::raw::c_int);
}
extern "C" {
pub fn XPLMGetDataf(inDataRef: XPLMDataRef) -> f32;
}
extern "C" {
pub fn XPLMSetDataf(inDataRef: XPLMDataRef, inValue: f32);
}
extern "C" {
pub fn XPLMGetDatad(inDataRef: XPLMDataRef) -> f64;
}
extern "C" {
pub fn XPLMSetDatad(inDataRef: XPLMDataRef, inValue: f64);
}
extern "C" {
pub fn XPLMGetDatavi(
inDataRef: XPLMDataRef,
outValues: *mut ::std::os::raw::c_int,
inOffset: ::std::os::raw::c_int,
inMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMSetDatavi(
inDataRef: XPLMDataRef,
inValues: *mut ::std::os::raw::c_int,
inoffset: ::std::os::raw::c_int,
inCount: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn XPLMGetDatavf(
inDataRef: XPLMDataRef,
outValues: *mut f32,
inOffset: ::std::os::raw::c_int,
inMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMSetDatavf(
inDataRef: XPLMDataRef,
inValues: *mut f32,
inoffset: ::std::os::raw::c_int,
inCount: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn XPLMGetDatab(
inDataRef: XPLMDataRef,
outValue: *mut ::std::os::raw::c_void,
inOffset: ::std::os::raw::c_int,
inMaxBytes: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMSetDatab(
inDataRef: XPLMDataRef,
inValue: *mut ::std::os::raw::c_void,
inOffset: ::std::os::raw::c_int,
inLength: ::std::os::raw::c_int,
);
}
pub type XPLMGetDatai_f = ::std::option::Option<
unsafe extern "C" fn(inRefcon: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
>;
pub type XPLMSetDatai_f = ::std::option::Option<
unsafe extern "C" fn(inRefcon: *mut ::std::os::raw::c_void, inValue: ::std::os::raw::c_int),
>;
pub type XPLMGetDataf_f =
::std::option::Option<unsafe extern "C" fn(inRefcon: *mut ::std::os::raw::c_void) -> f32>;
pub type XPLMSetDataf_f = ::std::option::Option<
unsafe extern "C" fn(inRefcon: *mut ::std::os::raw::c_void, inValue: f32),
>;
pub type XPLMGetDatad_f =
::std::option::Option<unsafe extern "C" fn(inRefcon: *mut ::std::os::raw::c_void) -> f64>;
pub type XPLMSetDatad_f = ::std::option::Option<
unsafe extern "C" fn(inRefcon: *mut ::std::os::raw::c_void, inValue: f64),
>;
pub type XPLMGetDatavi_f = ::std::option::Option<
unsafe extern "C" fn(
inRefcon: *mut ::std::os::raw::c_void,
outValues: *mut ::std::os::raw::c_int,
inOffset: ::std::os::raw::c_int,
inMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>;
pub type XPLMSetDatavi_f = ::std::option::Option<
unsafe extern "C" fn(
inRefcon: *mut ::std::os::raw::c_void,
inValues: *mut ::std::os::raw::c_int,
inOffset: ::std::os::raw::c_int,
inCount: ::std::os::raw::c_int,
),
>;
pub type XPLMGetDatavf_f = ::std::option::Option<
unsafe extern "C" fn(
inRefcon: *mut ::std::os::raw::c_void,
outValues: *mut f32,
inOffset: ::std::os::raw::c_int,
inMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>;
pub type XPLMSetDatavf_f = ::std::option::Option<
unsafe extern "C" fn(
inRefcon: *mut ::std::os::raw::c_void,
inValues: *mut f32,
inOffset: ::std::os::raw::c_int,
inCount: ::std::os::raw::c_int,
),
>;
pub type XPLMGetDatab_f = ::std::option::Option<
unsafe extern "C" fn(
inRefcon: *mut ::std::os::raw::c_void,
outValue: *mut ::std::os::raw::c_void,
inOffset: ::std::os::raw::c_int,
inMaxLength: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>;
pub type XPLMSetDatab_f = ::std::option::Option<
unsafe extern "C" fn(
inRefcon: *mut ::std::os::raw::c_void,
inValue: *mut ::std::os::raw::c_void,
inOffset: ::std::os::raw::c_int,
inLength: ::std::os::raw::c_int,
),
>;
extern "C" {
pub fn XPLMRegisterDataAccessor(
inDataName: *const ::std::os::raw::c_char,
inDataType: XPLMDataTypeID,
inIsWritable: ::std::os::raw::c_int,
inReadInt: XPLMGetDatai_f,
inWriteInt: XPLMSetDatai_f,
inReadFloat: XPLMGetDataf_f,
inWriteFloat: XPLMSetDataf_f,
inReadDouble: XPLMGetDatad_f,
inWriteDouble: XPLMSetDatad_f,
inReadIntArray: XPLMGetDatavi_f,
inWriteIntArray: XPLMSetDatavi_f,
inReadFloatArray: XPLMGetDatavf_f,
inWriteFloatArray: XPLMSetDatavf_f,
inReadData: XPLMGetDatab_f,
inWriteData: XPLMSetDatab_f,
inReadRefcon: *mut ::std::os::raw::c_void,
inWriteRefcon: *mut ::std::os::raw::c_void,
) -> XPLMDataRef;
}
extern "C" {
pub fn XPLMUnregisterDataAccessor(inDataRef: XPLMDataRef);
}
pub type XPLMDataChanged_f =
::std::option::Option<unsafe extern "C" fn(inRefcon: *mut ::std::os::raw::c_void)>;
extern "C" {
pub fn XPLMShareData(
inDataName: *const ::std::os::raw::c_char,
inDataType: XPLMDataTypeID,
inNotificationFunc: XPLMDataChanged_f,
inNotificationRefcon: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMUnshareData(
inDataName: *const ::std::os::raw::c_char,
inDataType: XPLMDataTypeID,
inNotificationFunc: XPLMDataChanged_f,
inNotificationRefcon: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
pub const xplm_Tex_GeneralInterface: _bindgen_ty_36 = 0;
pub type _bindgen_ty_36 = ::std::os::raw::c_int;
pub type XPLMTextureID = ::std::os::raw::c_int;
extern "C" {
pub fn XPLMSetGraphicsState(
inEnableFog: ::std::os::raw::c_int,
inNumberTexUnits: ::std::os::raw::c_int,
inEnableLighting: ::std::os::raw::c_int,
inEnableAlphaTesting: ::std::os::raw::c_int,
inEnableAlphaBlending: ::std::os::raw::c_int,
inEnableDepthTesting: ::std::os::raw::c_int,
inEnableDepthWriting: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn XPLMBindTexture2d(
inTextureNum: ::std::os::raw::c_int,
inTextureUnit: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn XPLMGenerateTextureNumbers(
outTextureIDs: *mut ::std::os::raw::c_int,
inCount: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn XPLMWorldToLocal(
inLatitude: f64,
inLongitude: f64,
inAltitude: f64,
outX: *mut f64,
outY: *mut f64,
outZ: *mut f64,
);
}
extern "C" {
pub fn XPLMLocalToWorld(
inX: f64,
inY: f64,
inZ: f64,
outLatitude: *mut f64,
outLongitude: *mut f64,
outAltitude: *mut f64,
);
}
extern "C" {
pub fn XPLMDrawTranslucentDarkBox(
inLeft: ::std::os::raw::c_int,
inTop: ::std::os::raw::c_int,
inRight: ::std::os::raw::c_int,
inBottom: ::std::os::raw::c_int,
);
}
pub const xplmFont_Basic: _bindgen_ty_37 = 0;
pub const xplmFont_Proportional: _bindgen_ty_37 = 18;
#[doc = " X-PLANE TEXT"]
pub type _bindgen_ty_37 = ::std::os::raw::c_int;
pub type XPLMFontID = ::std::os::raw::c_int;
extern "C" {
pub fn XPLMDrawString(
inColorRGB: *mut f32,
inXOffset: ::std::os::raw::c_int,
inYOffset: ::std::os::raw::c_int,
inChar: *mut ::std::os::raw::c_char,
inWordWrapWidth: *mut ::std::os::raw::c_int,
inFontID: XPLMFontID,
);
}
extern "C" {
pub fn XPLMDrawNumber(
inColorRGB: *mut f32,
inXOffset: ::std::os::raw::c_int,
inYOffset: ::std::os::raw::c_int,
inValue: f64,
inDigits: ::std::os::raw::c_int,
inDecimals: ::std::os::raw::c_int,
inShowSign: ::std::os::raw::c_int,
inFontID: XPLMFontID,
);
}
extern "C" {
pub fn XPLMGetFontDimensions(
inFontID: XPLMFontID,
outCharWidth: *mut ::std::os::raw::c_int,
outCharHeight: *mut ::std::os::raw::c_int,
outDigitsOnly: *mut ::std::os::raw::c_int,
);
}
extern "C" {
pub fn XPLMMeasureString(
inFontID: XPLMFontID,
inChar: *const ::std::os::raw::c_char,
inNumChars: ::std::os::raw::c_int,
) -> f32;
}
pub const xplm_ProbeY: _bindgen_ty_38 = 0;
#[doc = " Terrain Y-Testing"]
pub type _bindgen_ty_38 = ::std::os::raw::c_int;
pub type XPLMProbeType = ::std::os::raw::c_int;
pub const xplm_ProbeHitTerrain: _bindgen_ty_39 = 0;
pub const xplm_ProbeError: _bindgen_ty_39 = 1;
pub const xplm_ProbeMissed: _bindgen_ty_39 = 2;
pub type _bindgen_ty_39 = ::std::os::raw::c_int;
pub type XPLMProbeResult = ::std::os::raw::c_int;
pub type XPLMProbeRef = *mut ::std::os::raw::c_void;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XPLMProbeInfo_t {
pub structSize: ::std::os::raw::c_int,
pub locationX: f32,
pub locationY: f32,
pub locationZ: f32,
pub normalX: f32,
pub normalY: f32,
pub normalZ: f32,
pub velocityX: f32,
pub velocityY: f32,
pub velocityZ: f32,
pub is_wet: ::std::os::raw::c_int,
}
extern "C" {
pub fn XPLMCreateProbe(inProbeType: XPLMProbeType) -> XPLMProbeRef;
}
extern "C" {
pub fn XPLMDestroyProbe(inProbe: XPLMProbeRef);
}
extern "C" {
pub fn XPLMProbeTerrainXYZ(
inProbe: XPLMProbeRef,
inX: f32,
inY: f32,
inZ: f32,
outInfo: *mut XPLMProbeInfo_t,
) -> XPLMProbeResult;
}
extern "C" {
#[doc = " Magnetic Variation"]
pub fn XPLMGetMagneticVariation(latitude: f64, longitude: f64) -> f32;
}
extern "C" {
pub fn XPLMDegTrueToDegMagnetic(headingDegreesTrue: f32) -> f32;
}
extern "C" {
pub fn XPLMDegMagneticToDegTrue(headingDegreesMagnetic: f32) -> f32;
}
pub type XPLMObjectRef = *mut ::std::os::raw::c_void;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XPLMDrawInfo_t {
pub structSize: ::std::os::raw::c_int,
pub x: f32,
pub y: f32,
pub z: f32,
pub pitch: f32,
pub heading: f32,
pub roll: f32,
}
pub type XPLMObjectLoaded_f = ::std::option::Option<
unsafe extern "C" fn(inObject: XPLMObjectRef, inRefcon: *mut ::std::os::raw::c_void),
>;
extern "C" {
pub fn XPLMLoadObject(inPath: *const ::std::os::raw::c_char) -> XPLMObjectRef;
}
extern "C" {
pub fn XPLMLoadObjectAsync(
inPath: *const ::std::os::raw::c_char,
inCallback: XPLMObjectLoaded_f,
inRefcon: *mut ::std::os::raw::c_void,
);
}
extern "C" {
pub fn XPLMUnloadObject(inObject: XPLMObjectRef);
}
#[doc = " Library Access"]
pub type XPLMLibraryEnumerator_f = ::std::option::Option<
unsafe extern "C" fn(
inFilePath: *const ::std::os::raw::c_char,
inRef: *mut ::std::os::raw::c_void,
),
>;
extern "C" {
pub fn XPLMLookupObjects(
inPath: *const ::std::os::raw::c_char,
inLatitude: f32,
inLongitude: f32,
enumerator: XPLMLibraryEnumerator_f,
ref_: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
#[doc = " Instance Creation and Destruction"]
pub type XPLMInstanceRef = *mut ::std::os::raw::c_void;
extern "C" {
pub fn XPLMCreateInstance(
obj: XPLMObjectRef,
datarefs: *mut *const ::std::os::raw::c_char,
) -> XPLMInstanceRef;
}
extern "C" {
pub fn XPLMDestroyInstance(instance: XPLMInstanceRef);
}
extern "C" {
pub fn XPLMInstanceSetPosition(
instance: XPLMInstanceRef,
new_position: *const XPLMDrawInfo_t,
data: *const f32,
);
}
#[doc = " DRAWING CALLBACKS"]
pub type XPLMMapLayerID = *mut ::std::os::raw::c_void;
pub type XPLMMapProjectionID = *mut ::std::os::raw::c_void;
pub const xplm_MapStyle_VFR_Sectional: _bindgen_ty_40 = 0;
pub const xplm_MapStyle_IFR_LowEnroute: _bindgen_ty_40 = 1;
pub const xplm_MapStyle_IFR_HighEnroute: _bindgen_ty_40 = 2;
pub type _bindgen_ty_40 = ::std::os::raw::c_int;
pub type XPLMMapStyle = ::std::os::raw::c_int;
pub type XPLMMapDrawingCallback_f = ::std::option::Option<
unsafe extern "C" fn(
inLayer: XPLMMapLayerID,
inMapBoundsLeftTopRightBottom: *const f32,
zoomRatio: f32,
mapUnitsPerUserInterfaceUnit: f32,
mapStyle: XPLMMapStyle,
projection: XPLMMapProjectionID,
inRefcon: *mut ::std::os::raw::c_void,
),
>;
pub type XPLMMapIconDrawingCallback_f = ::std::option::Option<
unsafe extern "C" fn(
inLayer: XPLMMapLayerID,
inMapBoundsLeftTopRightBottom: *const f32,
zoomRatio: f32,
mapUnitsPerUserInterfaceUnit: f32,
mapStyle: XPLMMapStyle,
projection: XPLMMapProjectionID,
inRefcon: *mut ::std::os::raw::c_void,
),
>;
pub type XPLMMapLabelDrawingCallback_f = ::std::option::Option<
unsafe extern "C" fn(
inLayer: XPLMMapLayerID,
inMapBoundsLeftTopRightBottom: *const f32,
zoomRatio: f32,
mapUnitsPerUserInterfaceUnit: f32,
mapStyle: XPLMMapStyle,
projection: XPLMMapProjectionID,
inRefcon: *mut ::std::os::raw::c_void,
),
>;
#[doc = " LAYER MANAGEMENT CALLBACKS"]
pub type XPLMMapPrepareCacheCallback_f = ::std::option::Option<
unsafe extern "C" fn(
inLayer: XPLMMapLayerID,
inTotalMapBoundsLeftTopRightBottom: *const f32,
projection: XPLMMapProjectionID,
inRefcon: *mut ::std::os::raw::c_void,
),
>;
pub type XPLMMapWillBeDeletedCallback_f = ::std::option::Option<
unsafe extern "C" fn(inLayer: XPLMMapLayerID, inRefcon: *mut ::std::os::raw::c_void),
>;
pub const xplm_MapLayer_Fill: _bindgen_ty_41 = 0;
pub const xplm_MapLayer_Markings: _bindgen_ty_41 = 1;
#[doc = " MAP LAYER CREATION AND DESTRUCTION"]
pub type _bindgen_ty_41 = ::std::os::raw::c_int;
pub type XPLMMapLayerType = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XPLMCreateMapLayer_t {
pub structSize: ::std::os::raw::c_int,
pub mapToCreateLayerIn: *const ::std::os::raw::c_char,
pub layerType: XPLMMapLayerType,
pub willBeDeletedCallback: XPLMMapWillBeDeletedCallback_f,
pub prepCacheCallback: XPLMMapPrepareCacheCallback_f,
pub drawCallback: XPLMMapDrawingCallback_f,
pub iconCallback: XPLMMapIconDrawingCallback_f,
pub labelCallback: XPLMMapLabelDrawingCallback_f,
pub showUiToggle: ::std::os::raw::c_int,
pub layerName: *const ::std::os::raw::c_char,
pub refcon: *mut ::std::os::raw::c_void,
}
extern "C" {
pub fn XPLMCreateMapLayer(inParams: *mut XPLMCreateMapLayer_t) -> XPLMMapLayerID;
}
extern "C" {
pub fn XPLMDestroyMapLayer(inLayer: XPLMMapLayerID) -> ::std::os::raw::c_int;
}
pub type XPLMMapCreatedCallback_f = ::std::option::Option<
unsafe extern "C" fn(
mapIdentifier: *const ::std::os::raw::c_char,
refcon: *mut ::std::os::raw::c_void,
),
>;
extern "C" {
pub fn XPLMRegisterMapCreationHook(
callback: XPLMMapCreatedCallback_f,
refcon: *mut ::std::os::raw::c_void,
);
}
extern "C" {
pub fn XPLMMapExists(mapIdentifier: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
pub const xplm_MapOrientation_Map: _bindgen_ty_42 = 0;
pub const xplm_MapOrientation_UI: _bindgen_ty_42 = 1;
#[doc = " MAP DRAWING"]
pub type _bindgen_ty_42 = ::std::os::raw::c_int;
pub type XPLMMapOrientation = ::std::os::raw::c_int;
extern "C" {
pub fn XPLMDrawMapIconFromSheet(
layer: XPLMMapLayerID,
inPngPath: *const ::std::os::raw::c_char,
s: ::std::os::raw::c_int,
t: ::std::os::raw::c_int,
ds: ::std::os::raw::c_int,
dt: ::std::os::raw::c_int,
mapX: f32,
mapY: f32,
orientation: XPLMMapOrientation,
rotationDegrees: f32,
mapWidth: f32,
);
}
extern "C" {
pub fn XPLMDrawMapLabel(
layer: XPLMMapLayerID,
inText: *const ::std::os::raw::c_char,
mapX: f32,
mapY: f32,
orientation: XPLMMapOrientation,
rotationDegrees: f32,
);
}
extern "C" {
#[doc = " MAP PROJECTIONS"]
pub fn XPLMMapProject(
projection: XPLMMapProjectionID,
latitude: f64,
longitude: f64,
outX: *mut f32,
outY: *mut f32,
);
}
extern "C" {
pub fn XPLMMapUnproject(
projection: XPLMMapProjectionID,
mapX: f32,
mapY: f32,
outLatitude: *mut f64,
outLongitude: *mut f64,
);
}
extern "C" {
pub fn XPLMMapScaleMeter(projection: XPLMMapProjectionID, mapX: f32, mapY: f32) -> f32;
}
extern "C" {
pub fn XPLMMapGetNorthHeading(projection: XPLMMapProjectionID, mapX: f32, mapY: f32) -> f32;
}
pub const xplm_DataFile_Situation: _bindgen_ty_43 = 1;
pub const xplm_DataFile_ReplayMovie: _bindgen_ty_43 = 2;
pub type _bindgen_ty_43 = ::std::os::raw::c_int;
pub type XPLMDataFileType = ::std::os::raw::c_int;
extern "C" {
pub fn XPLMGetSystemPath(outSystemPath: *mut ::std::os::raw::c_char);
}
extern "C" {
pub fn XPLMGetPrefsPath(outPrefsPath: *mut ::std::os::raw::c_char);
}
extern "C" {
pub fn XPLMGetDirectorySeparator() -> *const ::std::os::raw::c_char;
}
extern "C" {
pub fn XPLMExtractFileAndPath(
inFullPath: *mut ::std::os::raw::c_char,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn XPLMGetDirectoryContents(
inDirectoryPath: *const ::std::os::raw::c_char,
inFirstReturn: ::std::os::raw::c_int,
outFileNames: *mut ::std::os::raw::c_char,
inFileNameBufSize: ::std::os::raw::c_int,
outIndices: *mut *mut ::std::os::raw::c_char,
inIndexCount: ::std::os::raw::c_int,
outTotalFiles: *mut ::std::os::raw::c_int,
outReturnedFiles: *mut ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMLoadDataFile(
inFileType: XPLMDataFileType,
inFilePath: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMSaveDataFile(
inFileType: XPLMDataFileType,
inFilePath: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
pub const xplm_Host_Unknown: _bindgen_ty_44 = 0;
pub const xplm_Host_XPlane: _bindgen_ty_44 = 1;
pub type _bindgen_ty_44 = ::std::os::raw::c_int;
pub type XPLMHostApplicationID = ::std::os::raw::c_int;
pub const xplm_Language_Unknown: _bindgen_ty_45 = 0;
pub const xplm_Language_English: _bindgen_ty_45 = 1;
pub const xplm_Language_French: _bindgen_ty_45 = 2;
pub const xplm_Language_German: _bindgen_ty_45 = 3;
pub const xplm_Language_Italian: _bindgen_ty_45 = 4;
pub const xplm_Language_Spanish: _bindgen_ty_45 = 5;
pub const xplm_Language_Korean: _bindgen_ty_45 = 6;
pub const xplm_Language_Russian: _bindgen_ty_45 = 7;
pub const xplm_Language_Greek: _bindgen_ty_45 = 8;
pub const xplm_Language_Japanese: _bindgen_ty_45 = 9;
pub const xplm_Language_Chinese: _bindgen_ty_45 = 10;
pub type _bindgen_ty_45 = ::std::os::raw::c_int;
pub type XPLMLanguageCode = ::std::os::raw::c_int;
pub type XPLMError_f =
::std::option::Option<unsafe extern "C" fn(inMessage: *const ::std::os::raw::c_char)>;
extern "C" {
pub fn XPLMGetVersions(
outXPlaneVersion: *mut ::std::os::raw::c_int,
outXPLMVersion: *mut ::std::os::raw::c_int,
outHostID: *mut XPLMHostApplicationID,
);
}
extern "C" {
pub fn XPLMGetLanguage() -> XPLMLanguageCode;
}
extern "C" {
pub fn XPLMFindSymbol(inString: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_void;
}
extern "C" {
pub fn XPLMSetErrorCallback(inCallback: XPLMError_f);
}
extern "C" {
pub fn XPLMDebugString(inString: *const ::std::os::raw::c_char);
}
extern "C" {
pub fn XPLMSpeakString(inString: *const ::std::os::raw::c_char);
}
extern "C" {
pub fn XPLMGetVirtualKeyDescription(
inVirtualKey: ::std::os::raw::c_char,
) -> *const ::std::os::raw::c_char;
}
extern "C" {
pub fn XPLMReloadScenery();
}
pub const xplm_CommandBegin: _bindgen_ty_46 = 0;
pub const xplm_CommandContinue: _bindgen_ty_46 = 1;
pub const xplm_CommandEnd: _bindgen_ty_46 = 2;
pub type _bindgen_ty_46 = ::std::os::raw::c_int;
pub type XPLMCommandPhase = ::std::os::raw::c_int;
pub type XPLMCommandRef = *mut ::std::os::raw::c_void;
pub type XPLMCommandCallback_f = ::std::option::Option<
unsafe extern "C" fn(
inCommand: XPLMCommandRef,
inPhase: XPLMCommandPhase,
inRefcon: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>;
extern "C" {
pub fn XPLMFindCommand(inName: *const ::std::os::raw::c_char) -> XPLMCommandRef;
}
extern "C" {
pub fn XPLMCommandBegin(inCommand: XPLMCommandRef);
}
extern "C" {
pub fn XPLMCommandEnd(inCommand: XPLMCommandRef);
}
extern "C" {
pub fn XPLMCommandOnce(inCommand: XPLMCommandRef);
}
extern "C" {
pub fn XPLMCreateCommand(
inName: *const ::std::os::raw::c_char,
inDescription: *const ::std::os::raw::c_char,
) -> XPLMCommandRef;
}
extern "C" {
pub fn XPLMRegisterCommandHandler(
inComand: XPLMCommandRef,
inHandler: XPLMCommandCallback_f,
inBefore: ::std::os::raw::c_int,
inRefcon: *mut ::std::os::raw::c_void,
);
}
extern "C" {
pub fn XPLMUnregisterCommandHandler(
inComand: XPLMCommandRef,
inHandler: XPLMCommandCallback_f,
inBefore: ::std::os::raw::c_int,
inRefcon: *mut ::std::os::raw::c_void,
);
}
pub const xplm_Menu_NoCheck: _bindgen_ty_47 = 0;
pub const xplm_Menu_Unchecked: _bindgen_ty_47 = 1;
pub const xplm_Menu_Checked: _bindgen_ty_47 = 2;
#[doc = " XPLM MENUS"]
pub type _bindgen_ty_47 = ::std::os::raw::c_int;
pub type XPLMMenuCheck = ::std::os::raw::c_int;
pub type XPLMMenuID = *mut ::std::os::raw::c_void;
pub type XPLMMenuHandler_f = ::std::option::Option<
unsafe extern "C" fn(
inMenuRef: *mut ::std::os::raw::c_void,
inItemRef: *mut ::std::os::raw::c_void,
),
>;
extern "C" {
pub fn XPLMFindPluginsMenu() -> XPLMMenuID;
}
extern "C" {
pub fn XPLMFindAircraftMenu() -> XPLMMenuID;
}
extern "C" {
pub fn XPLMCreateMenu(
inName: *const ::std::os::raw::c_char,
inParentMenu: XPLMMenuID,
inParentItem: ::std::os::raw::c_int,
inHandler: XPLMMenuHandler_f,
inMenuRef: *mut ::std::os::raw::c_void,
) -> XPLMMenuID;
}
extern "C" {
pub fn XPLMDestroyMenu(inMenuID: XPLMMenuID);
}
extern "C" {
pub fn XPLMClearAllMenuItems(inMenuID: XPLMMenuID);
}
extern "C" {
pub fn XPLMAppendMenuItem(
inMenu: XPLMMenuID,
inItemName: *const ::std::os::raw::c_char,
inItemRef: *mut ::std::os::raw::c_void,
inDeprecatedAndIgnored: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMAppendMenuItemWithCommand(
inMenu: XPLMMenuID,
inItemName: *const ::std::os::raw::c_char,
inCommandToExecute: XPLMCommandRef,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMAppendMenuSeparator(inMenu: XPLMMenuID);
}
extern "C" {
pub fn XPLMSetMenuItemName(
inMenu: XPLMMenuID,
inIndex: ::std::os::raw::c_int,
inItemName: *const ::std::os::raw::c_char,
inDeprecatedAndIgnored: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn XPLMCheckMenuItem(
inMenu: XPLMMenuID,
index: ::std::os::raw::c_int,
inCheck: XPLMMenuCheck,
);
}
extern "C" {
pub fn XPLMCheckMenuItemState(
inMenu: XPLMMenuID,
index: ::std::os::raw::c_int,
outCheck: *mut XPLMMenuCheck,
);
}
extern "C" {
pub fn XPLMEnableMenuItem(
inMenu: XPLMMenuID,
index: ::std::os::raw::c_int,
enabled: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn XPLMRemoveMenuItem(inMenu: XPLMMenuID, inIndex: ::std::os::raw::c_int);
}
pub const xplm_Nav_Unknown: _bindgen_ty_48 = 0;
pub const xplm_Nav_Airport: _bindgen_ty_48 = 1;
pub const xplm_Nav_NDB: _bindgen_ty_48 = 2;
pub const xplm_Nav_VOR: _bindgen_ty_48 = 4;
pub const xplm_Nav_ILS: _bindgen_ty_48 = 8;
pub const xplm_Nav_Localizer: _bindgen_ty_48 = 16;
pub const xplm_Nav_GlideSlope: _bindgen_ty_48 = 32;
pub const xplm_Nav_OuterMarker: _bindgen_ty_48 = 64;
pub const xplm_Nav_MiddleMarker: _bindgen_ty_48 = 128;
pub const xplm_Nav_InnerMarker: _bindgen_ty_48 = 256;
pub const xplm_Nav_Fix: _bindgen_ty_48 = 512;
pub const xplm_Nav_DME: _bindgen_ty_48 = 1024;
pub const xplm_Nav_LatLon: _bindgen_ty_48 = 2048;
#[doc = " NAVIGATION DATABASE ACCESS"]
pub type _bindgen_ty_48 = ::std::os::raw::c_int;
pub type XPLMNavType = ::std::os::raw::c_int;
pub type XPLMNavRef = ::std::os::raw::c_int;
extern "C" {
pub fn XPLMGetFirstNavAid() -> XPLMNavRef;
}
extern "C" {
pub fn XPLMGetNextNavAid(inNavAidRef: XPLMNavRef) -> XPLMNavRef;
}
extern "C" {
pub fn XPLMFindFirstNavAidOfType(inType: XPLMNavType) -> XPLMNavRef;
}
extern "C" {
pub fn XPLMFindLastNavAidOfType(inType: XPLMNavType) -> XPLMNavRef;
}
extern "C" {
pub fn XPLMFindNavAid(
inNameFragment: *const ::std::os::raw::c_char,
inIDFragment: *const ::std::os::raw::c_char,
inLat: *mut f32,
inLon: *mut f32,
inFrequency: *mut ::std::os::raw::c_int,
inType: XPLMNavType,
) -> XPLMNavRef;
}
extern "C" {
pub fn XPLMGetNavAidInfo(
inRef: XPLMNavRef,
outType: *mut XPLMNavType,
outLatitude: *mut f32,
outLongitude: *mut f32,
outHeight: *mut f32,
outFrequency: *mut ::std::os::raw::c_int,
outHeading: *mut f32,
outID: *mut ::std::os::raw::c_char,
outName: *mut ::std::os::raw::c_char,
outReg: *mut ::std::os::raw::c_char,
);
}
extern "C" {
#[doc = " FLIGHT MANAGEMENT COMPUTER"]
pub fn XPLMCountFMSEntries() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMGetDisplayedFMSEntry() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMGetDestinationFMSEntry() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMSetDisplayedFMSEntry(inIndex: ::std::os::raw::c_int);
}
extern "C" {
pub fn XPLMSetDestinationFMSEntry(inIndex: ::std::os::raw::c_int);
}
extern "C" {
pub fn XPLMGetFMSEntryInfo(
inIndex: ::std::os::raw::c_int,
outType: *mut XPLMNavType,
outID: *mut ::std::os::raw::c_char,
outRef: *mut XPLMNavRef,
outAltitude: *mut ::std::os::raw::c_int,
outLat: *mut f32,
outLon: *mut f32,
);
}
extern "C" {
pub fn XPLMSetFMSEntryInfo(
inIndex: ::std::os::raw::c_int,
inRef: XPLMNavRef,
inAltitude: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn XPLMSetFMSEntryLatLon(
inIndex: ::std::os::raw::c_int,
inLat: f32,
inLon: f32,
inAltitude: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn XPLMClearFMSEntry(inIndex: ::std::os::raw::c_int);
}
extern "C" {
#[doc = " GPS RECEIVER"]
pub fn XPLMGetGPSDestinationType() -> XPLMNavType;
}
extern "C" {
pub fn XPLMGetGPSDestination() -> XPLMNavRef;
}
extern "C" {
#[doc = " USER AIRCRAFT ACCESS"]
pub fn XPLMSetUsersAircraft(inAircraftPath: *const ::std::os::raw::c_char);
}
extern "C" {
pub fn XPLMPlaceUserAtAirport(inAirportCode: *const ::std::os::raw::c_char);
}
extern "C" {
pub fn XPLMPlaceUserAtLocation(
latitudeDegrees: f64,
longitudeDegrees: f64,
elevationMetersMSL: f32,
headingDegreesTrue: f32,
speedMetersPerSecond: f32,
);
}
extern "C" {
pub fn XPLMCountAircraft(
outTotalAircraft: *mut ::std::os::raw::c_int,
outActiveAircraft: *mut ::std::os::raw::c_int,
outController: *mut XPLMPluginID,
);
}
extern "C" {
pub fn XPLMGetNthAircraftModel(
inIndex: ::std::os::raw::c_int,
outFileName: *mut ::std::os::raw::c_char,
outPath: *mut ::std::os::raw::c_char,
);
}
#[doc = " EXCLUSIVE AIRCRAFT ACCESS"]
pub type XPLMPlanesAvailable_f =
::std::option::Option<unsafe extern "C" fn(inRefcon: *mut ::std::os::raw::c_void)>;
extern "C" {
pub fn XPLMAcquirePlanes(
inAircraft: *mut *mut ::std::os::raw::c_char,
inCallback: XPLMPlanesAvailable_f,
inRefcon: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMReleasePlanes();
}
extern "C" {
pub fn XPLMSetActiveAircraftCount(inCount: ::std::os::raw::c_int);
}
extern "C" {
pub fn XPLMSetAircraftModel(
inIndex: ::std::os::raw::c_int,
inAircraftPath: *const ::std::os::raw::c_char,
);
}
extern "C" {
pub fn XPLMDisableAIForPlane(inPlaneIndex: ::std::os::raw::c_int);
}
extern "C" {
#[doc = " FINDING PLUGINS"]
pub fn XPLMGetMyID() -> XPLMPluginID;
}
extern "C" {
pub fn XPLMCountPlugins() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMGetNthPlugin(inIndex: ::std::os::raw::c_int) -> XPLMPluginID;
}
extern "C" {
pub fn XPLMFindPluginByPath(inPath: *const ::std::os::raw::c_char) -> XPLMPluginID;
}
extern "C" {
pub fn XPLMFindPluginBySignature(inSignature: *const ::std::os::raw::c_char) -> XPLMPluginID;
}
extern "C" {
pub fn XPLMGetPluginInfo(
inPlugin: XPLMPluginID,
outName: *mut ::std::os::raw::c_char,
outFilePath: *mut ::std::os::raw::c_char,
outSignature: *mut ::std::os::raw::c_char,
outDescription: *mut ::std::os::raw::c_char,
);
}
extern "C" {
#[doc = " ENABLING/DISABLING PLUG-INS"]
pub fn XPLMIsPluginEnabled(inPluginID: XPLMPluginID) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMEnablePlugin(inPluginID: XPLMPluginID) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMDisablePlugin(inPluginID: XPLMPluginID);
}
extern "C" {
pub fn XPLMReloadPlugins();
}
extern "C" {
pub fn XPLMSendMessageToPlugin(
inPlugin: XPLMPluginID,
inMessage: ::std::os::raw::c_int,
inParam: *mut ::std::os::raw::c_void,
);
}
pub type XPLMFeatureEnumerator_f = ::std::option::Option<
unsafe extern "C" fn(
inFeature: *const ::std::os::raw::c_char,
inRef: *mut ::std::os::raw::c_void,
),
>;
extern "C" {
pub fn XPLMHasFeature(inFeature: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMIsFeatureEnabled(inFeature: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMEnableFeature(
inFeature: *const ::std::os::raw::c_char,
inEnable: ::std::os::raw::c_int,
);
}
extern "C" {
pub fn XPLMEnumerateFeatures(
inEnumerator: XPLMFeatureEnumerator_f,
inRef: *mut ::std::os::raw::c_void,
);
}
pub const xplm_FlightLoop_Phase_BeforeFlightModel: _bindgen_ty_49 = 0;
pub const xplm_FlightLoop_Phase_AfterFlightModel: _bindgen_ty_49 = 1;
pub type _bindgen_ty_49 = ::std::os::raw::c_int;
pub type XPLMFlightLoopPhaseType = ::std::os::raw::c_int;
pub type XPLMFlightLoopID = *mut ::std::os::raw::c_void;
pub type XPLMFlightLoop_f = ::std::option::Option<
unsafe extern "C" fn(
inElapsedSinceLastCall: f32,
inElapsedTimeSinceLastFlightLoop: f32,
inCounter: ::std::os::raw::c_int,
inRefcon: *mut ::std::os::raw::c_void,
) -> f32,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XPLMCreateFlightLoop_t {
pub structSize: ::std::os::raw::c_int,
pub phase: XPLMFlightLoopPhaseType,
pub callbackFunc: XPLMFlightLoop_f,
pub refcon: *mut ::std::os::raw::c_void,
}
extern "C" {
pub fn XPLMGetElapsedTime() -> f32;
}
extern "C" {
pub fn XPLMGetCycleNumber() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn XPLMRegisterFlightLoopCallback(
inFlightLoop: XPLMFlightLoop_f,
inInterval: f32,
inRefcon: *mut ::std::os::raw::c_void,
);
}
extern "C" {
pub fn XPLMUnregisterFlightLoopCallback(
inFlightLoop: XPLMFlightLoop_f,
inRefcon: *mut ::std::os::raw::c_void,
);
}
extern "C" {
pub fn XPLMSetFlightLoopCallbackInterval(
inFlightLoop: XPLMFlightLoop_f,
inInterval: f32,
inRelativeToNow: ::std::os::raw::c_int,
inRefcon: *mut ::std::os::raw::c_void,
);
}
extern "C" {
pub fn XPLMCreateFlightLoop(inParams: *mut XPLMCreateFlightLoop_t) -> XPLMFlightLoopID;
}
extern "C" {
pub fn XPLMDestroyFlightLoop(inFlightLoopID: XPLMFlightLoopID);
}
extern "C" {
pub fn XPLMScheduleFlightLoop(
inFlightLoopID: XPLMFlightLoopID,
inInterval: f32,
inRelativeToNow: ::std::os::raw::c_int,
);
}
pub const xplm_AudioRadioCom1: _bindgen_ty_50 = 0;
pub const xplm_AudioRadioCom2: _bindgen_ty_50 = 1;
pub const xplm_AudioRadioPilot: _bindgen_ty_50 = 2;
pub const xplm_AudioRadioCopilot: _bindgen_ty_50 = 3;
pub const xplm_AudioExteriorAircraft: _bindgen_ty_50 = 4;
pub const xplm_AudioExteriorEnvironment: _bindgen_ty_50 = 5;
pub const xplm_AudioExteriorUnprocessed: _bindgen_ty_50 = 6;
pub const xplm_AudioInterior: _bindgen_ty_50 = 7;
pub const xplm_AudioUI: _bindgen_ty_50 = 8;
pub const xplm_AudioGround: _bindgen_ty_50 = 9;
pub const xplm_Master: _bindgen_ty_50 = 10;
#[doc = " FMOD ACCESS"]
pub type _bindgen_ty_50 = ::std::os::raw::c_int;
pub type XPLMAudioBus = ::std::os::raw::c_int;
pub const xplm_MasterBank: _bindgen_ty_51 = 0;
pub const xplm_RadioBank: _bindgen_ty_51 = 1;
pub type _bindgen_ty_51 = ::std::os::raw::c_int;
pub type XPLMBankID = ::std::os::raw::c_int;
pub const FMOD_RESULT_FMOD_OK: FMOD_RESULT = 0;
pub type FMOD_RESULT = ::std::os::raw::c_int;
pub const FMOD_SOUND_FORMAT_FMOD_SOUND_FORMAT_PCM16: FMOD_SOUND_FORMAT = 2;
pub type FMOD_SOUND_FORMAT = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FMOD_VECTOR {
pub x: f32,
pub y: f32,
pub z: f32,
}
pub type FMOD_CHANNEL = ::std::os::raw::c_void;
pub type XPLMPCMComplete_f = ::std::option::Option<
unsafe extern "C" fn(inRefcon: *mut ::std::os::raw::c_void, status: FMOD_RESULT),
>;
extern "C" {
pub fn XPLMPlayPCMOnBus(
audioBuffer: *mut ::std::os::raw::c_void,
bufferSize: u32,
soundFormat: FMOD_SOUND_FORMAT,
freqHz: ::std::os::raw::c_int,
numChannels: ::std::os::raw::c_int,
loop_: ::std::os::raw::c_int,
audioType: XPLMAudioBus,
inCallback: XPLMPCMComplete_f,
inRefcon: *mut ::std::os::raw::c_void,
) -> *mut FMOD_CHANNEL;
}
extern "C" {
pub fn XPLMStopAudio(fmod_channel: *mut FMOD_CHANNEL) -> FMOD_RESULT;
}
extern "C" {
pub fn XPLMSetAudioPosition(
fmod_channel: *mut FMOD_CHANNEL,
position: *mut FMOD_VECTOR,
velocity: *mut FMOD_VECTOR,
) -> FMOD_RESULT;
}
extern "C" {
pub fn XPLMSetAudioFadeDistance(
fmod_channel: *mut FMOD_CHANNEL,
min_fade_distance: f32,
max_fade_distance: f32,
) -> FMOD_RESULT;
}
extern "C" {
pub fn XPLMSetAudioVolume(fmod_channel: *mut FMOD_CHANNEL, source_volume: f32) -> FMOD_RESULT;
}
extern "C" {
pub fn XPLMSetAudioPitch(fmod_channel: *mut FMOD_CHANNEL, audio_pitch_hz: f32) -> FMOD_RESULT;
}
extern "C" {
pub fn XPLMSetAudioCone(
fmod_channel: *mut FMOD_CHANNEL,
inside_angle: f32,
outside_angle: f32,
outside_volume: f32,
orientation: *mut FMOD_VECTOR,
) -> FMOD_RESULT;
}
#[doc = " WEATHER ACCESS"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XPLMWeatherInfoWinds_t {
pub alt_msl: f32,
pub speed: f32,
pub direction: f32,
pub gust_speed: f32,
pub shear: f32,
pub turbulence: f32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XPLMWeatherInfoClouds_t {
pub cloud_type: f32,
pub coverage: f32,
pub alt_top: f32,
pub alt_base: f32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XPLMWeatherInfo_t {
pub structSize: ::std::os::raw::c_int,
pub temperature_alt: f32,
pub dewpoint_alt: f32,
pub pressure_alt: f32,
pub precip_rate_alt: f32,
pub wind_dir_alt: f32,
pub wind_spd_alt: f32,
pub turbulence_alt: f32,
pub wave_height: f32,
pub wave_length: f32,
pub wave_dir: ::std::os::raw::c_int,
pub wave_speed: f32,
pub visibility: f32,
pub precip_rate: f32,
pub thermal_climb: f32,
pub pressure_sl: f32,
pub wind_layers: [XPLMWeatherInfoWinds_t; 13usize],
pub cloud_layers: [XPLMWeatherInfoClouds_t; 3usize],
}
extern "C" {
pub fn XPLMGetMETARForAirport(
airport_id: *const ::std::os::raw::c_char,
outMETAR: *mut XPLMFixedString150_t,
);
}
extern "C" {
pub fn XPLMGetWeatherAtLocation(
latitude: f64,
longitude: f64,
altitude_m: f64,
out_info: *mut XPLMWeatherInfo_t,
) -> ::std::os::raw::c_int;
}