#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,
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
KEYMOD_ALT = 8,
KEYMOD_META = 16,
KEYMOD_SUPER = 32,
- KEYMOD_MAX = 64 };
+ 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
//
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();
void fgOSExit(int code);
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