X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FGUI%2Fgui.h;h=4ea7b588de5558b77bfe53c870855a1c3d79fda3;hb=474789269b7656509f62339c17e62a55b6157d43;hp=133a5b4da01cc3d5a01498d6efff45fa2eadc585;hpb=0d457e78e2f6c6a9a0bf31dba3426531b132e572;p=flightgear.git diff --git a/src/GUI/gui.h b/src/GUI/gui.h index 133a5b4da..4ea7b588d 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$ **************************************************************************/ @@ -25,53 +25,48 @@ #ifndef _GUI_H_ #define _GUI_H_ -#include // needed before pu.h -#include // plib include +#ifdef HAVE_CONFIG_H +# include +#endif -extern void guiInit(); -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 ); +#include -extern void guiToggleMenu(void); +#include + +#define TR_HIRES_SNAP 1 + +namespace osg +{ +class GraphicsContext; +} +// gui.cxx +extern void guiStartInit(osg::GraphicsContext*); +extern bool guiFinishInit(); extern void mkDialog(const char *txt); -extern void ConfirmExitDialog(void); +extern void guiErrorMessage(const char *txt); +extern void guiErrorMessage(const char *txt, const sg_throwable &throwable); -extern void fgDumpSnapShot(); +extern bool fgDumpSnapShot(); +extern void fgDumpSceneGraph(); +extern void fgDumpTerrainBranch(); extern puFont guiFnt; extern fntTexFont *guiFntHandle; +extern int gui_menu_on; -// 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" - -// 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 +// from gui_funcs.cxx +extern void fgDumpSnapShotWrapper(); +#ifdef TR_HIRES_SNAP +extern void fgHiResDumpWrapper(); +extern void fgHiResDump(); +#endif -// Activate Dialog Box -#define FG_PUSH_PUI_DIALOG( X ) \ - maybeToggleMouse(); \ - puPushLiveInterface( (X) ) ; \ - ( X )->reveal() +extern void helpCb(); -// Deactivate Dialog Box -#define FG_POP_PUI_DIALOG( X ) \ - (X)->hide(); \ - puPopLiveInterface(); \ - maybeToggleMouse(); +typedef struct { + const char *name; + void (*fn)(); +} __fg_gui_fn_t; +extern const __fg_gui_fn_t __fg_gui_fn[]; -// Finalize Dialog Box Construction -#define FG_FINALIZE_PUI_DIALOG( X ) \ - ( X )->close(); \ - ( X )->hide(); \ - puPopLiveInterface(); - #endif // _GUI_H_