]> git.mxchange.org Git - flightgear.git/blobdiff - src/Main/fg_os.hxx
Support for multiple data dirs.
[flightgear.git] / src / Main / fg_os.hxx
index 48a29cdc6f3cc58be0c964c097fa37a28602eea8..46bc235a7ce09cd25502df73dc1bb1063a4759b5 100644 (file)
@@ -1,13 +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 -- moved to configure.ac -- EMH
 #ifdef HAVE_CONFIG_H
 #  include <config.h>
 #endif
 
+#include <string>
+#include <vector>
+
+#include <osg/ref_ptr>
+#include <osg/Camera>
+#include <osg/GraphicsContext>
+
 
 enum { MOUSE_BUTTON_LEFT,
        MOUSE_BUTTON_MIDDLE,
@@ -20,7 +24,16 @@ enum { MOUSE_CURSOR_NONE,
        MOUSE_CURSOR_POINTER,
        MOUSE_CURSOR_WAIT,
        MOUSE_CURSOR_CROSSHAIR,
-       MOUSE_CURSOR_LEFTRIGHT };
+       MOUSE_CURSOR_LEFTRIGHT,
+       MOUSE_CURSOR_TOPSIDE,
+       MOUSE_CURSOR_BOTTOMSIDE,
+       MOUSE_CURSOR_LEFTSIDE,
+       MOUSE_CURSOR_RIGHTSIDE,
+       MOUSE_CURSOR_TOPLEFT,
+       MOUSE_CURSOR_TOPRIGHT,
+       MOUSE_CURSOR_BOTTOMLEFT,
+       MOUSE_CURSOR_BOTTOMRIGHT,
+};
 
 enum { KEYMOD_NONE     = 0,
        KEYMOD_RELEASED = 1, // Not a mod key, indicates "up" action
@@ -45,10 +58,9 @@ enum { KEYMOD_NONE     = 0,
 //
 
 void fgOSInit(int* argc, char** argv);
-void fgOSOpenWindow(int w, int h, int bpp, bool alpha, bool stencil,
-                    bool fullscreen);
+void fgOSOpenWindow(bool stencil);
 void fgOSFullScreen();
-void fgOSMainLoop();
+int fgOSMainLoop();
 void fgOSExit(int code);
 
 void fgSetMouseCursor(int cursor);
@@ -57,8 +69,6 @@ void fgWarpMouse(int x, int y);
 
 int  fgGetKeyModifiers();
 
-void fgRequestRedraw();
-
 //
 // Callbacks and registration API
 //
@@ -72,7 +82,7 @@ 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, bool mainWindow, const osgGA::GUIEventAdapter*);
-typedef void (*fgMouseMotionHandler)(int x, int y);
+typedef void (*fgMouseMotionHandler)(int x, int y, const osgGA::GUIEventAdapter*);
 
 void fgRegisterIdleHandler(fgIdleHandler func);
 void fgRegisterDrawHandler(fgDrawHandler func);
@@ -81,10 +91,4 @@ void fgRegisterWindowResizeHandler(fgWindowResizeHandler func);
 void fgRegisterKeyHandler(fgKeyHandler func);
 void fgRegisterMouseClickHandler(fgMouseClickHandler func);
 void fgRegisterMouseMotionHandler(fgMouseMotionHandler func);
-
-void fgMakeCurrent();
-
-bool fgOSIsMainCamera(const osg::Camera* camera);
-bool fgOSIsMainContext(const osg::GraphicsContext* context);
-
 #endif // _FG_OS_HXX