X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FGUI%2Fgui.h;h=5b8478e95f2023cf21db372f9c358742017279ed;hb=1ae2b59333dc914d10bcc726bc94e71cbf3e411e;hp=c0653673ddc0a0880191b190b7c9498b1683e661;hpb=794823815625121a61cc221864418e12d9affb05;p=flightgear.git diff --git a/src/GUI/gui.h b/src/GUI/gui.h index c0653673d..5b8478e95 100644 --- a/src/GUI/gui.h +++ b/src/GUI/gui.h @@ -16,7 +16,7 @@ * * 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$ **************************************************************************/ @@ -29,115 +29,47 @@ # include #endif -#ifdef HAVE_WINDOWS_H -# include -#endif - -#include GLUT_H // needed before pu.h +#include -#include // plib include - -#include +#include #define TR_HIRES_SNAP 1 - +namespace osg +{ +class GraphicsContext; +} // gui.cxx -extern void guiInit(); -#if defined (FG_OLD_MENUBAR) -extern void guiToggleMenu(void); -#endif +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 *); +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 fgReshape(int, int); +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_