X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FGUI%2Fgui.cxx;h=2e8305ba419b6b9adf25aba261b78b8224c6a06d;hb=474789269b7656509f62339c17e62a55b6157d43;hp=b730270f51d042ca7a771e1ae03778a376fcdb35;hpb=580ebf637b991bbc5bb6b9632e8e62845d23ea43;p=flightgear.git diff --git a/src/GUI/gui.cxx b/src/GUI/gui.cxx index b730270f5..2e8305ba4 100644 --- a/src/GUI/gui.cxx +++ b/src/GUI/gui.cxx @@ -30,10 +30,6 @@ #include -#ifdef HAVE_WINDOWS_H -# include -#endif - #include #include @@ -51,10 +47,10 @@ #include #include "gui.h" -#include "gui_local.hxx" #include "layout.hxx" -using namespace osg; +#include + using namespace flightgear; puFont guiFnt = 0; @@ -72,7 +68,7 @@ public: GUIInitOperation() : GraphicsContextOperation(std::string("GUI init")) { } - void run(GraphicsContext* gc) + void run(osg::GraphicsContext* gc) { WindowSystemAdapter* wsa = WindowSystemAdapter::getWSA(); wsa->puInitialize(); @@ -80,6 +76,7 @@ public: puSetDefaultColourScheme (0.8, 0.8, 0.9, 1); FGFontCache *fc = globals->get_fontcache(); + fc->initializeFonts(); puFont *GuiFont = fc->get(globals->get_locale()->getStringValue("font", "typewriter.txf"), @@ -90,22 +87,7 @@ public: LayoutWidget::setDefaultFont(GuiFont, 15); if (!fgHasNode("/sim/startup/mouse-pointer")) { - // no preference specified for mouse pointer, attempt to autodetect... - // Determine if we need to render the cursor, or if the windowing - // system will do it. First test if we are rendering with - // glide. - // XXX Not bloody likely in 2008... - if ( strstr ( general.get_glRenderer(), "Glide" ) ) { - // Test for the MESA_GLX_FX env variable - char *mesa_win_state = getenv( "MESA_GLX_FX" ); - if (mesa_win_state != NULL) { - // test if we are fullscreen mesa/glide - if ( (mesa_win_state[0] == 'f') || - (mesa_win_state[0] == 'F') ) { - puShowCursor (); - } - } - } + // no preference specified for mouse pointer } else if ( !fgGetBool("/sim/startup/mouse-pointer") ) { // don't show pointer } else { @@ -115,24 +97,23 @@ public: } }; -ref_ptr initOp; +osg::ref_ptr initOp; } -void guiStartInit() +void guiStartInit(osg::GraphicsContext* gc) { - initOp = new GUIInitOperation; - WindowSystemAdapter* wsa = WindowSystemAdapter::getWSA(); - GraphicsContext* gc = wsa->getGUIGraphicsContext(); - gc->add(initOp.get()); + if (gc) { + initOp = new GUIInitOperation; + gc->add(initOp.get()); + } } bool guiFinishInit() { if (!initOp.valid()) - return false; + return true; if (!initOp->isFinished()) return false; - initMouseQuat(); initOp = 0; return true; }