]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mgl/app.cpp
Remove wxMGL port.
[wxWidgets.git] / src / mgl / app.cpp
diff --git a/src/mgl/app.cpp b/src/mgl/app.cpp
deleted file mode 100644 (file)
index 753d2df..0000000
+++ /dev/null
@@ -1,266 +0,0 @@
-/////////////////////////////////////////////////////////////////////////////
-// Name:        src/mgl/app.cpp
-// Author:      Vaclav Slavik
-//              based on GTK and MSW implementations
-// Id:          $Id$
-// Copyright:   (c) 2001-2002 SciTech Software, Inc. (www.scitechsoft.com)
-// Licence:     wxWindows licence
-/////////////////////////////////////////////////////////////////////////////
-
-// For compilers that support precompilation, includes "wx.h".
-#include "wx/wxprec.h"
-
-#ifdef __BORLANDC__
-    #pragma hdrstop
-#endif
-
-#include "wx/app.h"
-
-#ifndef WX_PRECOMP
-    #include "wx/settings.h"
-    #include "wx/frame.h"
-    #include "wx/dialog.h"
-    #include "wx/log.h"
-    #include "wx/intl.h"
-    #include "wx/module.h"
-#endif
-
-#include "wx/evtloop.h"
-#include "wx/fontutil.h"
-#include "wx/univ/theme.h"
-#include "wx/univ/renderer.h"
-#include "wx/univ/colschem.h"
-#include "wx/sysopt.h"
-#include "wx/mgl/private.h"
-#include "wx/private/fontmgr.h"
-
-//-----------------------------------------------------------------------------
-// wxApp::Exit()
-//-----------------------------------------------------------------------------
-
-void wxApp::Exit()
-{
-    MGL_exit();
-    exit(0);
-}
-
-
-//-----------------------------------------------------------------------------
-// wxWakeUpIdle
-//-----------------------------------------------------------------------------
-
-void wxApp::WakeUpIdle()
-{
-#if wxUSE_THREADS
-    if (!wxThread::IsMain())
-        wxMutexGuiEnter();
-#endif
-
-    while (wxTheApp->ProcessIdle())
-        ;
-
-#if wxUSE_THREADS
-    if (!wxThread::IsMain())
-        wxMutexGuiLeave();
-#endif
-}
-
-//-----------------------------------------------------------------------------
-// Root window
-//-----------------------------------------------------------------------------
-
-class wxRootWindow : public wxWindow
-{
-    public:
-        wxRootWindow() : wxWindow(NULL, wxID_ANY)
-        {
-            SetMGLwindow_t(MGL_wmGetRootWindow(g_winMng));
-            SetBackgroundColour(wxTHEME_COLOUR(DESKTOP));
-        }
-        virtual ~wxRootWindow()
-        {
-            // we don't want to delete MGL_WM's rootWnd
-            m_wnd = NULL;
-        }
-
-        virtual bool AcceptsFocus() const { return false; }
-
-        DECLARE_DYNAMIC_CLASS(wxRootWindow)
-};
-
-IMPLEMENT_DYNAMIC_CLASS(wxRootWindow, wxWindow)
-
-static wxRootWindow *gs_rootWindow = NULL;
-
-//-----------------------------------------------------------------------------
-// MGL initialization
-//-----------------------------------------------------------------------------
-
-static bool wxCreateMGL_WM(const wxVideoMode& displayMode)
-{
-    int mode;
-    int refresh = MGL_DEFAULT_REFRESH;
-
-#if wxUSE_SYSTEM_OPTIONS
-    if ( wxSystemOptions::HasOption(wxT("mgl.screen-refresh")) )
-        refresh = wxSystemOptions::GetOptionInt(wxT("mgl.screen-refresh"));
-#endif
-
-    mode = MGL_findMode(displayMode.GetWidth(),
-                        displayMode.GetHeight(),
-                        displayMode.GetDepth());
-    if ( mode == -1 )
-    {
-        wxLogError(_("Mode %ix%i-%i not available."),
-                     displayMode.GetWidth(),
-                     displayMode.GetHeight(),
-                     displayMode.GetDepth());
-        return false;
-    }
-    g_displayDC = new MGLDisplayDC(mode, 1, refresh);
-    if ( !g_displayDC->isValid() )
-    {
-        wxDELETE(g_displayDC);
-        return false;
-    }
-
-    g_winMng = MGL_wmCreate(g_displayDC->getDC());
-    if (!g_winMng)
-        return false;
-
-    return true;
-}
-
-static void wxDestroyMGL_WM()
-{
-    if ( g_winMng )
-    {
-        MGL_wmDestroy(g_winMng);
-        g_winMng = NULL;
-    }
-    wxDELETE(g_displayDC);
-}
-
-//-----------------------------------------------------------------------------
-// wxApp
-//-----------------------------------------------------------------------------
-
-IMPLEMENT_DYNAMIC_CLASS(wxApp,wxEvtHandler)
-
-wxApp::wxApp()
-{
-}
-
-wxApp::~wxApp()
-{
-}
-
-wxVideoMode wxGetDefaultDisplayMode()
-{
-    wxString mode;
-    unsigned w, h, bpp;
-
-    if ( !wxGetEnv(wxT("WXMODE"), &mode) ||
-         (wxSscanf(mode.c_str(), wxT("%ux%u-%u"), &w, &h, &bpp) != 3) )
-    {
-        w = 640, h = 480, bpp = 16;
-    }
-
-    return wxVideoMode(w, h, bpp);
-}
-
-bool wxApp::SetDisplayMode(const wxVideoMode& mode)
-{
-    if ( !mode.IsOk() )
-    {
-        return false;
-    }
-    if ( g_displayDC != NULL )
-    {
-        // FIXME_MGL -- we currently don't allow to switch video mode
-        // more than once. This can hopefully be changed...
-        wxFAIL_MSG(wxT("Can't change display mode after intialization!"));
-        return false;
-    }
-
-    if ( !wxCreateMGL_WM(mode) )
-        return false;
-    gs_rootWindow = new wxRootWindow;
-
-    m_displayMode = mode;
-
-    return true;
-}
-
-bool wxApp::OnInitGui()
-{
-    if ( !wxAppBase::OnInitGui() )
-        return false;
-
-    // MGL redirects stdout and stderr to physical console, so let's redirect
-    // it to file if WXSTDERR environment variable is set to be able to see
-    // wxLogDebug() output
-    wxString redirect;
-    if ( wxGetEnv(wxT("WXSTDERR"), &redirect) )
-        freopen(redirect.mb_str(), "wt", stderr);
-
-    wxLog *oldLog = wxLog::SetActiveTarget(new wxLogGui);
-    if ( oldLog ) delete oldLog;
-
-    return true;
-}
-
-bool wxApp::Initialize(int& argc, wxChar **argv)
-{
-#ifdef __DJGPP__
-    // VS: disable long filenames under DJGPP as the very first thing,
-    //     since SciTech MGL doesn't like them much...
-    wxSetEnv(wxT("LFN"), wxT("N"));
-#endif
-
-    // intialize MGL before creating wxFontsManager since it uses MGL funcs
-    if ( MGL_init(".", NULL) == 0 )
-    {
-        wxLogError(_("Cannot initialize SciTech MGL!"));
-        return false;
-    }
-
-    if ( !wxAppBase::Initialize(argc, argv) )
-    {
-        MGL_exit();
-        return false;
-    }
-
-#if wxUSE_INTL
-    wxFont::SetDefaultEncoding(wxLocale::GetSystemEncoding());
-#endif
-
-    return true;
-}
-
-// Modules are cleaned up after wxApp::CleanUp(), and some modules may
-// require MGL to still be alive, e.g. the stock fonts need the fonts
-// manager. So append this module last minute in wxApp::CleanUp() to close
-// down MGL after all the other modules have been cleaned up.
-//
-struct wxMGLFinalCleanup: public wxModule
-{
-    bool OnInit() { return true; }
-
-    void OnExit()
-    {
-        wxFontsManager::CleanUp();
-
-        wxDestroyMGL_WM();
-        MGL_exit();
-    }
-};
-
-void wxApp::CleanUp()
-{
-    delete gs_rootWindow;
-
-    wxAppBase::CleanUp();
-
-    wxModule::RegisterModule(new wxMGLFinalCleanup);
-}