#ifndef _XPWidgets_h_
#define _XPWidgets_h_
#include "XPWidgetDefs.h"
#include "XPLMDisplay.h"
#ifdef __cplusplus
extern "C" {
#endif
WIDGET_API XPWidgetID XPCreateWidget(
int inLeft,
int inTop,
int inRight,
int inBottom,
int inVisible,
const char * inDescriptor,
int inIsRoot,
XPWidgetID inContainer,
XPWidgetClass inClass);
WIDGET_API XPWidgetID XPCreateCustomWidget(
int inLeft,
int inTop,
int inRight,
int inBottom,
int inVisible,
const char * inDescriptor,
int inIsRoot,
XPWidgetID inContainer,
XPWidgetFunc_t inCallback);
WIDGET_API void XPDestroyWidget(
XPWidgetID inWidget,
int inDestroyChildren);
WIDGET_API int XPSendMessageToWidget(
XPWidgetID inWidget,
XPWidgetMessage inMessage,
XPDispatchMode inMode,
intptr_t inParam1,
intptr_t inParam2);
WIDGET_API void XPPlaceWidgetWithin(
XPWidgetID inSubWidget,
XPWidgetID inContainer);
WIDGET_API int XPCountChildWidgets(
XPWidgetID inWidget);
WIDGET_API XPWidgetID XPGetNthChildWidget(
XPWidgetID inWidget,
int inIndex);
WIDGET_API XPWidgetID XPGetParentWidget(
XPWidgetID inWidget);
WIDGET_API void XPShowWidget(
XPWidgetID inWidget);
WIDGET_API void XPHideWidget(
XPWidgetID inWidget);
WIDGET_API int XPIsWidgetVisible(
XPWidgetID inWidget);
WIDGET_API XPWidgetID XPFindRootWidget(
XPWidgetID inWidget);
WIDGET_API void XPBringRootWidgetToFront(
XPWidgetID inWidget);
WIDGET_API int XPIsWidgetInFront(
XPWidgetID inWidget);
WIDGET_API void XPGetWidgetGeometry(
XPWidgetID inWidget,
int * outLeft,
int * outTop,
int * outRight,
int * outBottom);
WIDGET_API void XPSetWidgetGeometry(
XPWidgetID inWidget,
int inLeft,
int inTop,
int inRight,
int inBottom);
WIDGET_API XPWidgetID XPGetWidgetForLocation(
XPWidgetID inContainer,
int inXOffset,
int inYOffset,
int inRecursive,
int inVisibleOnly);
WIDGET_API void XPGetWidgetExposedGeometry(
XPWidgetID inWidgetID,
int * outLeft,
int * outTop,
int * outRight,
int * outBottom);
WIDGET_API void XPSetWidgetDescriptor(
XPWidgetID inWidget,
const char * inDescriptor);
WIDGET_API int XPGetWidgetDescriptor(
XPWidgetID inWidget,
char * outDescriptor,
int inMaxDescLength);
WIDGET_API XPLMWindowID XPGetWidgetUnderlyingWindow(
XPWidgetID inWidget);
WIDGET_API void XPSetWidgetProperty(
XPWidgetID inWidget,
XPWidgetPropertyID inProperty,
intptr_t inValue);
WIDGET_API intptr_t XPGetWidgetProperty(
XPWidgetID inWidget,
XPWidgetPropertyID inProperty,
int * inExists);
WIDGET_API XPWidgetID XPSetKeyboardFocus(
XPWidgetID inWidget);
WIDGET_API void XPLoseKeyboardFocus(
XPWidgetID inWidget);
WIDGET_API XPWidgetID XPGetWidgetWithFocus(void);
WIDGET_API void XPAddWidgetCallback(
XPWidgetID inWidget,
XPWidgetFunc_t inNewCallback);
WIDGET_API XPWidgetFunc_t XPGetWidgetClassFunc(
XPWidgetClass inWidgetClass);
#ifdef __cplusplus
}
#endif
#endif