Crate xplane_sdk_sys
source ·Expand description
§Rust bindings for the X-Plane SDK
Low level Rust bindings for the X-Plane SDK.
§Features
- Includes pre-built bindings for version
XPLM400
(X-Plane 12.04 and newer) - Option to generate bindings at compile-time, using your own SDK version
- Allows for precise version specification when using compile-time generated bindings
§Generate your own bindings
To generate your own bindings instead of using the pre-built ones, activate the generate-bindings
feature by adding
the following to your Cargo.toml
:
xplane-sdk-sys = { version = "*", features = ["generate-bindings"] }
This will invoke bindgen
at compile-time in a build script to generate the bindings for you. You must specify the
location of the SDK in your filesystem by setting the XPLANE_SDK_PATH
environment variable.
§Requirements
xplane-sdk-sys
inherits the bindgen
requirements. They are
documented here.
§SDK version selection
When generating bindings yourself you can specify what XPLM versions you would like to use. This not only enables you to target earlier X-Plane versions but also ensures that the library is compatible with future versions.
To achieve this, you need to set the XPLANE_SDK_VERSIONS
environment variable. It expects a semicolon-separated list
of SDK versions. Defining at as XPLM303;XPLM400
, for example, will result in the generation of bindings for SDK
versions 3.0.3
and 4.0.0
respectively.
Please note that SDK versions do not automatically imply older versions. To ensure that the latest version with all features is targeted, it is necessary to specify every version individually.
If you leave the XPLANE_SDK_VERSIONS
environment variable unspecified, the default set of versions used for generating
the pre-built binding will be applied.
§Changelog
§Version 0.3
- Include XPLM400 in pre-built bindings
- Update SDK version to 4.0.1
§Version 0.2
- Update SDK version to 4.0.0
- Switch from cargo feature based version selection to environment variable definitions
§Version 0.1
- Initial release with pre-built or compile time generated bindings
Structs§
- XPKeyState_t
- XPLMCameraPosition_t
- XPLMCreateFlightLoop_t
- XPLMCreateMapLayer_t
- XPLMCreateWindow_t
- XPLMCustomizeAvionics_t
- XPLMDataRefInfo_t
- XPLMDrawInfo_t
- XPLMFixedString150_t
- XPLMProbeInfo_t
- XPLMWeatherInfoClouds_t
- XPLMWeatherInfoWinds_t
- XPLMWeatherInfo_t
- XPMouseState_t
- XPWidgetCreate_t
- XPWidgetGeometryChange_t
Constants§
- Check box behavior. The button immediately toggles its value when the mouse* is clicked and sends out a xpMsg_ButtonStateChanged message.
- Standard push button behavior. The button highlights while the mouse is * clicked over it and unhighlights when the mouse is moved outside of it or * released. If the mouse is released over the button, the * xpMsg_PushButtonPressed message is sent.
- Radio button behavior. The button immediately sets its state to one and * sends out a xpMsg_ButtonStateChanged message if it was not already set to * one. You must turn off other radio buttons in a group in your code.
- none any
- none any
- none any
- none metal
- none metal
- none any
- none metal
- none metal
- none any
- x, y metal
- none any
- none any
- none metal
- none metal
- none any
- none any
- none any
- none any
- none any
- none any
- x metal
- x metal
- none any
- THIS CAN PROBABLY BE REMOVED
- none any
- none any
- x metal
- x, y metal
- none any
- none any
- none any
- none window header
- none window header
- none metal
- none metal
- none metal
- A small down arrow.
- A small up arrow.
- The standard main window; pin stripes on XP7, metal frame on XP 6.
- A translucent dark gray window.
- This message is sent when the close buttons for your window are pressed.
- The message will only be sent to the target widget.
- The message is sent just to the target, but goes to every callback, even if* it is handled.
- The message is only sent to the very first handler even if it is not * accepted. (This is really only useful for some internal widget library * functions.)
- The message is sent to the target widget and then all of its children * recursively depth-first.
- The message is sent to the target widget, then up the chain of parents * until the message is handled or a parentless widget is reached.
- A child has been added to you. The child’s ID is passed in parameter one. * * Dispatching: Direct * * Param 1: The Widget ID of the child being added.
- You now have a new parent, or have no parent. The parent’s ID is passed in,* or 0 for no parent. * * Dispatching: Direct * * Param 1: The Widget ID of your parent
- This message is sent when a button is clicked that has radio button or * check box behavior and its value changes. (Note that if the value changes * by setting a property you do not receive this message!) Parameter one is * the widget ID of the button, parameter 2 is the new state value, either * zero or one. This message is dispatched up the widget hierarchy.
- The create message is sent once per widget that is created with your widget* function and once for any widget that has your widget function attached. * * Dispatching: Direct * * Param 1: 1 if you are being added as a subclass, 0 if the widget is first * being created.
- The cursor is over your widget. If you consume this message, change the * XPLMCursorStatus value to indicate the desired result, with the same rules * as in XPLMDisplay.h. * * Return 1 to consume this message, 0 to pass it on. * * Dispatching: Up chain Param 1: A pointer to an XPMouseState_t struct * containing the mouse status. * * Param 2: A pointer to a XPLMCursorStatus - set this to the cursor result * you desire.
- Your descriptor has changed. * * Dispatching: Direct
- The destroy message is sent once for each message that is destroyed that * has your widget function. * * Dispatching: Direct for all * * Param 1: 1 if being deleted by a recursive delete to the parent, 0 for * explicit deletion.
- The draw message is sent to your widget when it is time to draw yourself. * OpenGL will be set up to draw in 2-d global screen coordinates, but you * should use the XPLM to set up OpenGL state. * * Dispatching: Direct
- Your exposed area has changed. * * Dispatching: Direct
- You have been hidden. See limitations above. * * Dispatching: Up chain * * Param 1: The widget ID of the hidden widget.
- Keyboard focus is being taken away from you. The first parameter will be 1 * if you are losing focus because another widget is taking it, or 0 if * someone called the API to make you lose focus explicitly. * * Dispatching: Direct * * Param 1: 1 if focus is being taken by another widget, 0 if code requested * to remove focus.
- The key press message is sent once per key that is pressed. The first * parameter is the type of key code (integer or char) and the second is the * code itself. By handling this event, you consume the key stroke. * * Handling this message ‘consumes’ the keystroke; not handling it passes it * to your parent widget. * * Dispatching: Up Chain * * Param 1: A pointer to an XPKeyState_t structure with the keystroke.
- Keyboard focus is being given to you. By handling this message you accept * keyboard focus. The first parameter will be one if a child of yours gave up* focus to you, 0 if someone set focus on you explicitly. * * Handling this message accepts focus; not handling refuses focus. * * Dispatching: direct * * Param 1: 1 if you are gaining focus because your child is giving it up, 0 * if someone is explicitly giving you focus.
- A child has been removed from you. The child’s ID is passed in parameter * one. * * Dispatching: Direct * * Param 1: The Widget ID of the child being removed.
- You receive one mousedown event per click with a mouse-state structure * pointed to by parameter 1. By accepting this you eat the click, otherwise * your parent gets it. You will not receive drag and mouse up messages if you* do not accept the down message. * * Handling this message consumes the mouse click, not handling it passes it * to the next widget. You can act ‘transparent’ as a window by never handling* moues clicks to certain areas. * * Dispatching: Up chain NOTE: Technically this is direct dispatched, but the * widgets library will ship it to each widget until one consumes the click, * making it effectively “up chain”. * * Param 1: A pointer to an XPMouseState_t containing the mouse status.
- You receive a series of mouse drag messages (typically one per frame in the* sim) as the mouse is moved once you have accepted a mouse down message. * Parameter one points to a mouse-state structure describing the mouse * location. You will continue to receive these until the mouse button is * released. You may receive multiple mouse state messages with the same mouse* position. You will receive mouse drag events even if the mouse is dragged * out of your current or original bounds at the time of the mouse down. * * Dispatching: Direct * * Param 1: A pointer to an XPMouseState_t containing the mouse status.
- The mouseup event is sent once when the mouse button is released after a * drag or click. You only receive this message if you accept the mouseDown * message. Parameter one points to a mouse state structure. * * Dispatching: Direct * * Param 1: A pointer to an XPMouseState_t containing the mouse status.
- The mouse wheel has moved. * * Return 1 to consume the mouse wheel move, or 0 to pass the message to a * parent. Dispatching: Up chain * * Param 1: A pointer to an XPMouseState_t containing the mouse status.
- No message, should not be sent.
- The paint message is sent to your widget to draw itself. The paint message * is the bare-bones message; in response you must draw yourself, draw your * children, set up clipping and culling, check for visibility, etc. If you * don’t want to do all of this, ignore the paint message and a draw message * (see below) will be sent to you. * * Dispatching: Direct
- A property has changed. Param 1 contains the property ID. * * Dispatching: Direct * * Param 1: The Property ID being changed. * * Param 2: The new property value
- This message is sent when the user completes a click and release in a * button with push button behavior. Parameter one of the message is the * widget ID of the button. This message is dispatched up the widget * hierarchy.
- Your geometry or a child’s geometry is being changed. * * Dispatching: Up chain * * Param 1: The widget ID of the original reshaped target. * * Param 2: A pointer to a XPWidgetGeometryChange_t struct describing the * change.
- The scroll bar sends this message when the slider position changes. It * sends the message up the call chain; param1 is the scroll bar widget ID.
- You or a child has been shown. Note that this does not include you being * shown because your parent was shown, you were put in a new parent, your * root was shown, etc. * * Dispatching: Up chain * * Param 1: The widget ID of the shown widget.
- The text field sends this message to itself when its text changes. It sends* the message up the call chain; param1 is the text field’s widget ID.
- NOTE: Message IDs 1000 - 9999 are allocated to the standard widget classes * provided with the library with 1000 - 1099 for widget class 0, 1100 - 1199 * for widget class 1, etc. Message IDs 10,000 and beyond are for plugin use.
- This is the active side of the insert selection. (Internal)
- This property sets the button’s behavior. Use one of the button behaviors * above.
- This property tells whether a check box or radio button is “checked” or * not. Not used for push buttons.
- This property sets the visual type of button. Use one of the button types * above.
- This property specifies whether the caption is lit; use lit captions * against screens.
- If this property is 1, the widget package will use OpenGL to restrict * drawing to the Widget’s exposed rectangle.
- These properties are used by the utilities to implement dragging.
- These properties are used by the utilities to implement dragging.
- These properties are used by the utilities to implement dragging.
- This is the character position a drag was started at if the user is * dragging to select text, or -1 if a drag is not in progress.
- This is the character position of the end of the selection.
- This is the character position the selection starts at, zero based. If it * is the same as the end insertion point, the insertion point is not a * selection.
- Is this widget enabled (for those that have a disabled state too)?
- The font to draw the field’s text with. (An XPLMFontID.)
- This property controls the type of icon that is drawn.
- Is the widget highlighted? (For widgets that support this kind of thing.)
- This property specifies whether the main window has close boxes in its * corners.
- This property specifies the type of window. Set to one of the main window * types above.
- The max number of characters you can enter, if limited. Zero means * unlimited.
- Is there a C++ object attached to this widget?
- Set this property to 1 to password protect the field. Characters will be * drawn as *s even though the descriptor will contain plain-text.
- This is the maximum value, equivalent to 100% filled.
- This is the minimum value, equivalent to 0% filled.
- This is the current value of the progress indicator.
- A window’s refcon is an opaque value used by client code to find other data* based on it.
- The value the scroll bar has when the thumb is in the highest position.
- The value the scroll bar has when the thumb is in the lowest position.
- How many units to move the scroll bar when clicking next to the thumb. The * scroll bar always moves one unit when the arrows are clicked.
- The current position of the thumb (in between the min and max, inclusive)
- Used internally.
- The type of scrollbar from the enums above.
- The first visible character on the left. This effectively scrolls the text* field.
- This property specifies the type of window. Set to one of the subwindow * types above.
- This is the type of text field to display, from the above list.
- NOTE: Property IDs 1 - 999 are reserved for the widgets library. * * NOTE: Property IDs 1000 - 9999 are allocated to the standard widget classes* provided with the library. * * Properties 1000 - 1099 are for widget class 0, 1100 - 1199 for widget class* 1, etc.
- This is a standard push button, like an ‘OK’ or ‘Cancel’ button in a dialog* box.
- A check box or radio button. Use this and the button behaviors below to * get the desired behavior.
- A standard X-Plane scroll bar (with arrows on the ends).
- A slider, no arrows.
- A list view for scrolling lists.
- A screen that sits inside a panel for showing text information.
- A panel that sits inside a main window.
- A field for text entry.
- A translucent edit field, dark gray.
- A transparent text field. The user can type and the text is drawn, but no * background is drawn. You can draw your own background by adding a widget * handler and prehandling the draw message.
- over metal cannot be lit cannot be rotated
- not over metal can be lit can be rotated
- over metal can be lit can be rotated
- A window close box.
- An LCD screen that shows help.
- A list view within a panel for scrolling file names, etc.
- A dialog box window.
- An LCD screen within a panel to hold text displays.
- A panel or frame within a dialog box window.
- Mono-spaced font for user interface. Available in all versions of the SDK.
- Proportional UI font.
- A variable block of data.
- A single 8-byte double, native endian.
- A single 4-byte float, native endian.
- An array of 4-byte floats, native endian.
- A single 4-byte integer, native endian.
- An array of 4-byte integers, native endian.
- Data of a type the current XPLM doesn’t do.
- Copilot’s own speech
- Copilot’s own speech
- Copilot’s own speech
- Dedicated ground vehicle cable
- Copilot’s own speech
- Incoming speech on COM1
- Incoming speech on COM2
- Copilot’s own speech
- Pilot’s own speech
- Copilot’s own speech
- The command is being started.
- The command is continuing to execute.
- The command has ended.
- Control the camera until your plugin is disabled or another plugin forcibly* takes control.
- Control the camera until the user picks a new view.
- The control key is down
- X-Plane shows the cursor as the default arrow.
- X-Plane shows the cursor but lets you select an OS cursor.
- X-Plane manages the cursor normally, plugin does not affect the cusrsor.
- X-Plane hides the cursor.
- A situation movie (.smo) file, which replays a past flight.
- A situation (.sit) file, which starts off a flight in a given * configuration.
- The key is being pressed down
- Your callback runs after X-Plane integrates the flight model.
- Your callback runs before X-Plane integrates the flight model.
- A layer that draws “fill” graphics, like weather patterns, terrain, etc. * Fill layers frequently cover a large portion of the visible map area.
- A layer that provides markings for particular map features, like NAVAIDs, * airports, etc. Even dense markings layers cover a small portion of the * total map area.
- Orient such that a 0 degree rotation matches the map’s north
- Orient such that a 0 degree rotation is “up” relative to the user interface
- Master bus. Not normally to be used directly.
- Master bank. Handles all aircraft and environmental audio.
- The menu has a mark next to it that is checked (lit).
- There is no symbol to the left of the menu item.
- The menu has a mark next to it that is unmarked (not lit).
- The option or alt key is down
- This is the first phase where you can draw in 2-d.
- The moving parts of the aircraft panel.
- The last chance to draw in 2d.
- Removed as of XPLM300; Use the full-blown XPLMMap API instead.
- Removed as of XPLM300; Use the full-blown XPLMMap API instead.
- Removed as of XPLM300; Use the full-blown XPLMMap API instead.
- The non-moving parts of the aircraft panel.
- Floating windows from plugins.
- An error in the API call. Either the probe struct size is bad, the probe * is invalid, or the type is mismatched for the specific query call.
- The probe hit terrain and returned valid values.
- The probe call succeeded but there is no terrain under this point (perhaps * it is off the side of the planet?)
- The Y probe gives you the location of the tallest physical scenery along * the Y axis going through the queried point.
- Radio bank. Handles COM1/COM2/GND/Pilot/Copilot.
- The shift key is down
- The bitmap that contains window outlines, button outlines, fonts, etc.
- The key is being released
- Keep the window centered on the monitor you specify
- X-Plane will draw no decoration for your window, and apply no automatic * click handlers. The window will not stop click from passing through its * bounds. This is suitable for “windows” which request, say, the full screen * bounds, then only draw in a small portion of the available area.
- The default decoration for “native” windows, like the map. Provides a solid* background, as well as click handlers for resizing and dragging the window.
- X-Plane will draw no decoration for your window, nor will it provide resize* handlers for your window edges, but it will stop clicks from passing * through your windows bounds.
- Like self-decorated, but with resizing; X-Plane will draw no decoration for* your window, but it will stop clicks from passing through your windows * bounds, and provide automatic mouse handlers for resizing.
- Like gui_window_full_screen_on_monitor, but stretches over all monitors * and popout windows. This is an obscure one… unless you have a very good * reason to need it, you probably don’t!
- Keep the window full screen on the monitor you specify
- The lowest layer, used for HUD-like displays while flying.
- Windows that “float” over the sim, like the X-Plane 11 map does. If you are* not sure which layer to create your window in, choose floating.
- “Growl”-style notifications that are visible in a corner of the screen, * even over modals
- An interruptive modal that covers the sim with a transparent black overlay * to draw the user’s focus to the alert
- A first-class window in the operating system, completely separate from the * X-Plane window(s)
- The default positioning mode. Set the window geometry and its future * position will be determined by its window gravity, resizing limits, and * user interactions.
- A floating window visible on the VR headset
- generic airliner CDU, pilot side.
- generic airliner CDU, copilot side.
- Primus CDU, pilot side.
- Primus CDU, copilot side.
- G1000 Multifunction Display.
- G1000 Primary Flight Display, pilot side.
- G1000 Primary Flight Display, copilot side.
- GNS430, pilot side.
- GNS430, copilot side.
- GNS530, pilot side.
- GNS530, copilot side.
- Primus Multifunction Display, pilot side.
- Primus Multifunction Display, copilot side.
- Primus Multifunction Display, central.
- Primus Primary Flight Display, pilot side.
- Primus Primary Flight Display, copilot side.
- Primus Radio Management Unit, pilot side.
- Primus Radio Management Unit, copilot side.
Statics§
Functions§
- XPAddWidgetCallback
- XPBringRootWidgetToFront
- XPCountChildWidgets
- XPCreateCustomWidget
- XPCreateWidget
- XPDestroyWidget
- XPDrawElement
- XPDrawTrack
- XPDrawWindow
- XPFindRootWidget
- XPGetElementDefaultDimensions
- XPGetNthChildWidget
- XPGetParentWidget
- XPGetTrackDefaultDimensions
- XPGetTrackMetrics
- XPGetWidgetClassFunc
- XPGetWidgetDescriptor
- XPGetWidgetExposedGeometry
- XPGetWidgetForLocation
- XPGetWidgetGeometry
- XPGetWidgetProperty
- XPGetWidgetUnderlyingWindow
- XPGetWidgetWithFocus
- XPGetWindowDefaultDimensions
- XPHideWidget
- XPIsWidgetInFront
- XPIsWidgetVisible
- XPLMAcquirePlanes
- XPLMAppendMenuItem
- XPLMAppendMenuItemWithCommand
- XPLMAppendMenuSeparator
- XPLMBindTexture2d
- XPLMBringWindowToFront
- XPLMCanWriteDataRef
- XPLMCheckMenuItem
- XPLMCheckMenuItemState
- XPLMClearAllMenuItems
- XPLMClearFMSEntry
- XPLMCommandBegin
- XPLMCommandEnd
- XPLMCommandOnce
- XPLMControlCamera
- XPLMCountAircraft
- XPLMCountDataRefs
- XPLMCountFMSEntries
- XPLMCountHotKeys
- XPLMCountPlugins
- XPLMCreateCommand
- XPLMCreateFlightLoop
- XPLMCreateInstance
- XPLMCreateMapLayer
- XPLMCreateMenu
- XPLMCreateProbe
- XPLMCreateWindow
- XPLMCreateWindowEx
- XPLMDebugString
- XPLMDegMagneticToDegTrue
- XPLMDegTrueToDegMagnetic
- XPLMDestroyFlightLoop
- XPLMDestroyInstance
- XPLMDestroyMapLayer
- XPLMDestroyMenu
- XPLMDestroyProbe
- XPLMDestroyWindow
- XPLMDisableAIForPlane
- XPLMDisablePlugin
- XPLMDontControlCamera
- XPLMDrawMapIconFromSheet
- XPLMDrawMapLabel
- XPLMDrawNumber
- XPLMDrawString
- XPLMDrawTranslucentDarkBox
- XPLMEnableFeature
- XPLMEnableMenuItem
- XPLMEnablePlugin
- XPLMEnumerateFeatures
- XPLMExtractFileAndPath
- XPLMFindAircraftMenu
- XPLMFindCommand
- XPLMFindDataRef
- XPLMFindFirstNavAidOfType
- XPLMFindLastNavAidOfType
- XPLMFindNavAid
- XPLMFindPluginByPath
- XPLMFindPluginBySignature
- XPLMFindPluginsMenu
- XPLMFindSymbol
- XPLMGenerateTextureNumbers
- XPLMGetAllMonitorBoundsGlobal
- XPLMGetAllMonitorBoundsOS
- XPLMGetCycleNumber
- XPLMGetDataRefInfo
- XPLMGetDataRefTypes
- XPLMGetDataRefsByIndex
- XPLMGetDatab
- XPLMGetDatad
- XPLMGetDataf
- XPLMGetDatai
- XPLMGetDatavf
- XPLMGetDatavi
- XPLMGetDestinationFMSEntry
- XPLMGetDirectoryContents
- XPLMGetDirectorySeparator
- XPLMGetDisplayedFMSEntry
- XPLMGetElapsedTime
- XPLMGetFMSEntryInfo
- XPLMGetFirstNavAid
- XPLMGetFontDimensions
- XPLMGetGPSDestination
- XPLMGetGPSDestinationType
- XPLMGetHotKeyInfo
- XPLMGetLanguage
- XPLMGetMETARForAirport
- XPLMGetMagneticVariation
- XPLMGetMouseLocation
- XPLMGetMouseLocationGlobal
- XPLMGetMyID
- XPLMGetNavAidInfo
- XPLMGetNextNavAid
- XPLMGetNthAircraftModel
- XPLMGetNthHotKey
- XPLMGetNthPlugin
- XPLMGetPluginInfo
- XPLMGetPrefsPath
- XPLMGetScreenBoundsGlobal
- XPLMGetScreenSize
- XPLMGetSystemPath
- XPLMGetVersions
- XPLMGetVirtualKeyDescription
- XPLMGetWeatherAtLocation
- XPLMGetWindowGeometry
- XPLMGetWindowGeometryOS
- XPLMGetWindowGeometryVR
- XPLMGetWindowIsVisible
- XPLMGetWindowRefCon
- XPLMHasFeature
- XPLMHasKeyboardFocus
- XPLMInstanceSetPosition
- XPLMIsCameraBeingControlled
- XPLMIsDataRefGood
- XPLMIsFeatureEnabled
- XPLMIsPluginEnabled
- XPLMIsWindowInFront
- XPLMLoadDataFile
- XPLMLoadObject
- XPLMLoadObjectAsync
- XPLMLocalToWorld
- XPLMLookupObjects
- XPLMMapExists
- XPLMMapGetNorthHeading
- XPLMMapProject
- XPLMMapScaleMeter
- XPLMMapUnproject
- XPLMMeasureString
- XPLMPlaceUserAtAirport
- XPLMPlaceUserAtLocation
- XPLMPlayPCMOnBus
- XPLMProbeTerrainXYZ
- XPLMReadCameraPosition
- XPLMRegisterAvionicsCallbacksEx
- XPLMRegisterCommandHandler
- XPLMRegisterDataAccessor
- XPLMRegisterDrawCallback
- XPLMRegisterFlightLoopCallback
- XPLMRegisterHotKey
- XPLMRegisterKeySniffer
- XPLMRegisterMapCreationHook
- XPLMReleasePlanes
- XPLMReloadPlugins
- XPLMReloadScenery
- XPLMRemoveMenuItem
- XPLMSaveDataFile
- XPLMScheduleFlightLoop
- XPLMSendMessageToPlugin
- XPLMSetActiveAircraftCount
- XPLMSetAircraftModel
- XPLMSetAudioCone
- XPLMSetAudioFadeDistance
- XPLMSetAudioPitch
- XPLMSetAudioPosition
- XPLMSetAudioVolume
- XPLMSetDatab
- XPLMSetDatad
- XPLMSetDataf
- XPLMSetDatai
- XPLMSetDatavf
- XPLMSetDatavi
- XPLMSetDestinationFMSEntry
- XPLMSetDisplayedFMSEntry
- XPLMSetErrorCallback
- XPLMSetFMSEntryInfo
- XPLMSetFMSEntryLatLon
- XPLMSetFlightLoopCallbackInterval
- XPLMSetGraphicsState
- XPLMSetHotKeyCombination
- XPLMSetMenuItemName
- XPLMSetUsersAircraft
- XPLMSetWindowGeometry
- XPLMSetWindowGeometryOS
- XPLMSetWindowGeometryVR
- XPLMSetWindowGravity
- XPLMSetWindowIsVisible
- XPLMSetWindowPositioningMode
- XPLMSetWindowRefCon
- XPLMSetWindowResizingLimits
- XPLMSetWindowTitle
- XPLMShareData
- XPLMSpeakString
- XPLMStopAudio
- XPLMTakeKeyboardFocus
- XPLMUnloadObject
- XPLMUnregisterAvionicsCallbacks
- XPLMUnregisterCommandHandler
- XPLMUnregisterDataAccessor
- XPLMUnregisterDrawCallback
- XPLMUnregisterFlightLoopCallback
- XPLMUnregisterHotKey
- XPLMUnregisterKeySniffer
- XPLMUnshareData
- XPLMWindowIsInVR
- XPLMWindowIsPoppedOut
- XPLMWorldToLocal
- XPLoseKeyboardFocus
- XPPlaceWidgetWithin
- XPSendMessageToWidget
- XPSetKeyboardFocus
- XPSetWidgetDescriptor
- XPSetWidgetGeometry
- XPSetWidgetProperty
- XPShowWidget
- XPUCreateWidgets
- XPUDefocusKeyboard
- XPUDragWidget
- XPUFixedLayout
- XPUMoveWidgetBy
- XPUSelectIfNeeded
Type Aliases§
- These definitions are enough to play a basic sound without linking to the full FMOD distribution. You can still position it in 3D and change other basic parameters. In all cases where an FMOD_RESULT is returned, the full range of FMOD_RESULT codes are used - the status will in almost all situations be coming straight from FMOD - so the single definition here is purely to create a matching datatype and allow simple “is OK” and “is not OK” tests.
- XPLMAvionicsCallback_f
- XPLMAvionicsID
- XPLMCameraControl_f
- XPLMCommandCallback_f
- XPLMCommandRef
- XPLMDataChanged_f
- XPLMDataRef
- XPLMDrawCallback_f
- XPLMDrawWindow_f
- XPLMError_f
- XPLMFeatureEnumerator_f
- XPLMFlightLoopID
- XPLMFlightLoop_f
- XPLMGetDatab_f
- XPLMGetDatad_f
- XPLMGetDataf_f
- XPLMGetDatai_f
- XPLMGetDatavf_f
- XPLMGetDatavi_f
- XPLMHandleCursor_f
- XPLMHandleKey_f
- XPLMHandleMouseClick_f
- XPLMHandleMouseWheel_f
- XPLMHotKeyID
- XPLMHotKey_f
- XPLMInstanceRef
- XPLMKeySniffer_f
- XPLMLibraryEnumerator_f
- XPLMMapCreatedCallback_f
- XPLMMapDrawingCallback_f
- XPLMMapIconDrawingCallback_f
- XPLMMapLabelDrawingCallback_f
- XPLMMapLayerID
- XPLMMapPrepareCacheCallback_f
- XPLMMapProjectionID
- XPLMMapWillBeDeletedCallback_f
- XPLMMenuHandler_f
- XPLMMenuID
- XPLMNavRef
- XPLMObjectLoaded_f
- XPLMObjectRef
- XPLMPCMComplete_f
- XPLMPlanesAvailable_f
- XPLMPluginID
- XPLMProbeRef
- XPLMReceiveMonitorBoundsGlobal_f
- XPLMReceiveMonitorBoundsOS_f
- XPLMSetDatab_f
- XPLMSetDatad_f
- XPLMSetDataf_f
- XPLMSetDatai_f
- XPLMSetDatavf_f
- XPLMSetDatavi_f
- XPLMWindowID
- XPWidgetClass
- XPWidgetFunc_t
- XPWidgetID
- XPLMKeyFlags
- XPLMCameraControlDuration
- XPLMDataTypeID
- XPLMDrawingPhase
- XPLMDeviceID
- XPLMMouseStatus
- XPLMCursorStatus
- XPLMWindowLayer
- XPLMWindowDecoration
- XPLMWindowPositioningMode
- XPLMTextureID
- XPLMFontID
- XPLMProbeType
- XPLMProbeResult
- XPLMMapStyle
- XPLMMapLayerType
- XPLMMapOrientation
- XPLMDataFileType
- XPLMHostApplicationID
- XPLMLanguageCode
- XPLMCommandPhase
- XPLMMenuCheck
- XPLMNavType
- XPLMFlightLoopPhaseType
- XPLMAudioBus
- XPLMBankID
- XPWidgetPropertyID
- XPDispatchMode
- XPWidgetMessage
- Main Window Type Values
- Main Window Properties
- MainWindow Messages
- SubWindow Type Values
- SubWindow Properties
- Button Types
- Button Behavior Values
- Button Properties
- Button Messages
- Text Field Type Values
- Text Field Properties
- Text Field Messages
- Scroll Bar Type Values
- Scroll Bar Properties
- Scroll Bar Messages
- Caption Properties
- General Graphics Types Values
- General Graphics Properties
- Progress Indicator Properties
- XPWindowStyle
- XPElementStyle
- XPTrackStyle