X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FMain%2Ffg_os.hxx;h=86710b680621e8d1a2d93ea664c71504cefa5842;hb=18d1593c42c2df60d7fb44ace722ca3e8a7fd82c;hp=ba36a08795f89998a431cfd3a04c16d5d3397e7a;hpb=ae2dbe4f25f07ee93bbadb91164d1373d8057252;p=flightgear.git diff --git a/src/Main/fg_os.hxx b/src/Main/fg_os.hxx index ba36a0879..86710b680 100644 --- a/src/Main/fg_os.hxx +++ b/src/Main/fg_os.hxx @@ -1,9 +1,17 @@ #ifndef _FG_OS_HXX #define _FG_OS_HXX -// Plib pui needs to know at compile time what toolkit is in use. -// Change this when we move to something other than glut. -#define PU_USE_GLUT +#ifdef HAVE_CONFIG_H +# include +#endif + +#include +#include + +#include +#include +#include + enum { MOUSE_BUTTON_LEFT, MOUSE_BUTTON_MIDDLE, @@ -23,7 +31,10 @@ enum { KEYMOD_NONE = 0, KEYMOD_SHIFT = 2, KEYMOD_CTRL = 4, KEYMOD_ALT = 8, - KEYMOD_MAX = 16 }; + KEYMOD_META = 16, + KEYMOD_SUPER = 32, + KEYMOD_HYPER = 64, + KEYMOD_MAX = 128 }; // A note on key codes: none are defined here. FlightGear has no // hard-coded interpretations of codes other than modifier keys, so we @@ -38,9 +49,10 @@ enum { KEYMOD_NONE = 0, // void fgOSInit(int* argc, char** argv); -void fgOSOpenWindow(int w, int h, int bpp, bool alpha); +void fgOSOpenWindow(bool stencil); void fgOSFullScreen(); void fgOSMainLoop(); +void fgOSExit(int code); void fgSetMouseCursor(int cursor); int fgGetMouseCursor(); @@ -54,12 +66,15 @@ void fgRequestRedraw(); // Callbacks and registration API // +namespace osg { class Camera; class GraphicsContext; } +namespace osgGA { class GUIEventAdapter; } + typedef void (*fgIdleHandler)(); typedef void (*fgDrawHandler)(); typedef void (*fgWindowResizeHandler)(int w, int h); typedef void (*fgKeyHandler)(int key, int keymod, int mousex, int mousey); -typedef void (*fgMouseClickHandler)(int button, int updown, int x, int y); +typedef void (*fgMouseClickHandler)(int button, int updown, int x, int y, bool mainWindow, const osgGA::GUIEventAdapter*); typedef void (*fgMouseMotionHandler)(int x, int y); void fgRegisterIdleHandler(fgIdleHandler func); @@ -69,5 +84,4 @@ void fgRegisterWindowResizeHandler(fgWindowResizeHandler func); void fgRegisterKeyHandler(fgKeyHandler func); void fgRegisterMouseClickHandler(fgMouseClickHandler func); void fgRegisterMouseMotionHandler(fgMouseMotionHandler func); - #endif // _FG_OS_HXX