*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* $Id$
**************************************************************************/
# include <config.h>
#endif
-#ifdef HAVE_WINDOWS_H
-# include <windows.h>
-#endif
-
-#include <GL/glut.h> // needed before pu.h
-#include <plib/pu.h> // plib include
+#include <plib/pu.h>
-#include <simgear/misc/exception.hxx>
+#include <simgear/structure/exception.hxx>
#define TR_HIRES_SNAP 1
-
+namespace osg
+{
+class GraphicsContext;
+}
// gui.cxx
-extern void guiInit();
-extern void guiToggleMenu(void);
+extern void guiStartInit(osg::GraphicsContext*);
+extern bool guiFinishInit();
extern void mkDialog(const char *txt);
extern void guiErrorMessage(const char *txt);
extern void guiErrorMessage(const char *txt, const sg_throwable &throwable);
-extern void ConfirmExitDialog(void);
-extern void fgDumpSnapShot();
+extern bool fgDumpSnapShot();
+extern void fgDumpSceneGraph();
+extern void fgDumpTerrainBranch();
extern puFont guiFnt;
extern fntTexFont *guiFntHandle;
extern int gui_menu_on;
// from gui_funcs.cxx
-extern void saveFlight(puObject *);
-extern void loadFlight(puObject *);
-extern void reInit(puObject *);
-extern void dumpSnapShot(puObject *);
+extern void reInit(void);
+extern void fgDumpSnapShotWrapper();
#ifdef TR_HIRES_SNAP
-extern void dumpHiResSnapShot(puObject *);
+extern void fgHiResDumpWrapper();
+extern void fgHiResDump();
#endif
-#if defined( WIN32 ) && !defined( __CYGWIN__) && !defined(__MINGW32__)
-extern void printScreen(puObject *);
+#if defined( _WIN32 ) && !defined(__MINGW32__)
+extern void printScreen();
#endif
-extern void MayBeGoodBye(puObject *);
-extern void guiTogglePanel(puObject *);
-extern void PilotOffsetAdjust(puObject *);
-extern void fgHUDalphaAdjust(puObject *);
-extern void prop_pickerView(puObject *);
-extern void NewAirport(puObject *);
-#ifdef FG_NETWORK_OLK
-extern void net_display_toggle(puObject *);
-extern void NewCallSign(puObject *);
-extern void net_fgd_scan(puObject *);
-extern void net_register(puObject *);
-extern void net_unregister(puObject *);
-#endif
-extern void NewAltitude(puObject *);
-extern void AddWayPoint(puObject *);
-extern void PopWayPoint(puObject *);
-extern void ClearRoute(puObject *);
-extern void fgAPAdjust(puObject *);
-extern void fgLatLonFormatToggle(puObject *);
-extern void helpCb(puObject *);
+extern void helpCb();
typedef struct {
- char *name;
- void (*fn)(puObject *);
+ const char *name;
+ void (*fn)();
} __fg_gui_fn_t;
extern const __fg_gui_fn_t __fg_gui_fn[];
-// GLOBAL COMMON DIALOG BOX TEXT STRINGS
-extern char *gui_msg_OK; // "OK"
-extern char *gui_msg_NO; // "NO"
-extern char *gui_msg_YES; // "YES"
-extern char *gui_msg_CANCEL; // "CANCEL"
-extern char *gui_msg_RESET; // "RESET"
-
-// mouse.cxx
-extern void guiInitMouse(int width, int height);
-extern void guiMotionFunc ( int x, int y );
-extern void guiMouseFunc(int button, int updown, int x, int y);
-extern void maybeToggleMouse( void );
-extern void BusyCursor( int restore );
-extern void CenterView( void );
-extern void TurnCursorOn( void );
-extern void TurnCursorOff( void );
-
-// MACROS TO HELP KEEP PUI LIVE INTERFACE STACK IN SYNC
-// These insure that the mouse is active when dialog is shown
-// and try to the maintain the original mouse state when hidden
-// These will also repair any damage done to the Panel if active
-
-// Activate Dialog Box
-inline void FG_PUSH_PUI_DIALOG( puObject *X ) {
- maybeToggleMouse();
- puPushLiveInterface( (puInterface *)X ) ;
- X->reveal() ;
-}
-
-// Deactivate Dialog Box
-inline void FG_POP_PUI_DIALOG( puObject *X ) {
- X->hide();
- puPopLiveInterface();
- maybeToggleMouse();
-}
-
-// Finalize Dialog Box Construction
-inline void FG_FINALIZE_PUI_DIALOG( puObject *X ) {
- ((puGroup *)X)->close();
- X->hide();
- puPopLiveInterface();
-}
-
#endif // _GUI_H_