wxMGL wxWindow and wxApp mostly complete, now hunting bugs

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11341 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2001-08-09 22:40:39 +00:00
parent 2cb980c58d
commit 7bdc18790e
13 changed files with 802 additions and 156 deletions

View File

@@ -21,8 +21,8 @@
// classes
//-----------------------------------------------------------------------------
class wxApp;
class wxLog;
class WXDLLEXPORT wxApp;
class WXDLLEXPORT wxLog;
//-----------------------------------------------------------------------------
// wxApp
@@ -31,59 +31,40 @@ class wxLog;
class WXDLLEXPORT wxApp: public wxAppBase
{
public:
wxApp() {}
~wxApp() {}
wxApp();
~wxApp();
/* override for altering the way wxGTK intializes the GUI
* (palette/visual/colorcube). under wxMSW, OnInitGui() does nothing by
* default. when overriding this method, the code in it is likely to be
* platform dependent, otherwise use OnInit(). */
virtual bool OnInitGui() {return 0;}
virtual bool OnInitGui();
// override base class (pure) virtuals
virtual int MainLoop() {return 0;}
virtual void ExitMainLoop() {}
virtual bool Initialized() {return 0;}
virtual bool Pending() {return 0;}
virtual void Dispatch() {}
virtual int MainLoop();
virtual void ExitMainLoop();
virtual bool Initialized();
virtual bool Pending();
virtual void Dispatch();
virtual wxIcon GetStdIcon(int which) const {return wxNullIcon;}
virtual wxIcon GetStdIcon(int which) const;
// implementation only from now on
void OnIdle( wxIdleEvent &event ) {}
bool SendIdleEvents() {return 0;}
bool SendIdleEvents( wxWindow* win ) {return 0;}
void OnIdle(wxIdleEvent &event);
bool SendIdleEvents();
bool SendIdleEvents(wxWindow* win);
static bool Initialize() {return 0;}
static bool InitialzeVisual() {return 0;}
static void CleanUp() {}
static bool Initialize();
static void CleanUp();
bool ProcessIdle() {return 0;}
void DeletePendingObjects() {}
// This can be used to suppress the generation of Idle events.
void SuppressIdleEvents(bool arg = TRUE) { m_suppressIdleEvents = arg; }
bool GetSuppressIdleEvents() const { return m_suppressIdleEvents; }
#if 0 //FIXME MGL
bool m_initialized;
gint m_idleTag;
#if wxUSE_THREADS
gint m_wakeUpTimerTag;
#endif
unsigned char *m_colorCube;
#endif
private:
/// Set to TRUE while we are in wxYield().
bool m_suppressIdleEvents;
bool ProcessIdle();
void DeletePendingObjects();
private:
DECLARE_DYNAMIC_CLASS(wxApp)
DECLARE_EVENT_TABLE()
};
int WXDLLEXPORT wxEntry( int argc, char *argv[] );
int WXDLLEXPORT wxEntry(int argc, char *argv[]);
#endif // __WX_APP_H__

View File

@@ -45,6 +45,7 @@ class WXDLLEXPORT wxDC;
// MGL fwd declarations:
class MGLDevCtx;
class MGLRegion;
struct font_t;
class WXDLLEXPORT wxDC : public wxDCBase
@@ -268,6 +269,8 @@ protected:
wxPalette m_oldPalette;
wxRegion m_currentClippingRegion;
// clipping region m_MGLDC had when it was attached:
MGLRegion *m_globalClippingRegion;
// wxDC::Blit handles memoryDCs as special cases :(
bool m_isMemDC;

View File

@@ -16,8 +16,6 @@
#include "wx/dc.h"
class WXDLLEXPORT wxWindowMGL;
//-----------------------------------------------------------------------------
// classes
//-----------------------------------------------------------------------------
@@ -25,6 +23,7 @@ class WXDLLEXPORT wxWindowMGL;
class WXDLLEXPORT wxWindowDC;
class WXDLLEXPORT wxPaintDC;
class WXDLLEXPORT wxClientDC;
class WXDLLEXPORT wxWindowMGL;
//-----------------------------------------------------------------------------
// wxWindowDC
@@ -39,6 +38,7 @@ public:
protected:
wxWindow *m_wnd;
bool m_inPaintHandler;
private:
DECLARE_DYNAMIC_CLASS(wxWindowDC)
@@ -55,7 +55,6 @@ public:
wxClientDC(wxWindow *win);
private:
wxWindowMGL *m_wnd;
DECLARE_DYNAMIC_CLASS(wxClientDC)
};
@@ -63,12 +62,11 @@ private:
// wxPaintDC
//-----------------------------------------------------------------------------
// FIXME_MGL
class WXDLLEXPORT wxPaintDC : public wxClientDC
{
public:
wxPaintDC() { }
wxPaintDC( wxWindow *win ) {}
wxPaintDC() : wxClientDC() {}
wxPaintDC(wxWindow *win) : wxClientDC(win) {}
private:
DECLARE_DYNAMIC_CLASS(wxPaintDC)

View File

@@ -1,9 +1,8 @@
/////////////////////////////////////////////////////////////////////////////
// Name: settings.h
// Purpose:
// Author: Robert Roebling
// Author: Vaclav Slavik
// Id: $Id$
// Copyright: (c) 1998 Robert Roebling
// Copyright: (c) 2001 SciTech Software, Inc. (www.scitechsoft.com)
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -24,19 +23,19 @@
class wxSystemSettings: public wxObject
{
public:
inline wxSystemSettings() {}
wxSystemSettings() {}
inline static void Init() {}
static void Init() {}
static void Done() {}
// Get a system colour
static wxColour GetSystemColour(int index) {}
static wxColour GetSystemColour(int index);
// Get a system font
static wxFont GetSystemFont(int index) {}
static wxFont GetSystemFont(int index);
// Get a system metric, e.g. scrollbar size
static int GetSystemMetric(int index) {}
static int GetSystemMetric(int index);
};
#endif

View File

@@ -113,7 +113,6 @@ protected:
// (see wxWindow::Refresh)
bool m_frozen;
bool m_refreshAfterThaw;
wxFont m_font;
// implement the base class pure virtuals
virtual void DoClientToScreen( int *x, int *y ) const;
@@ -141,9 +140,6 @@ private:
MGLDevCtx *m_paintMGLDC;
friend class wxPaintDC;
void OnEraseBackground(wxEraseEvent& event);
void OnSetFocus(wxFocusEvent& event);
DECLARE_DYNAMIC_CLASS(wxWindowMGL);
DECLARE_NO_COPY_CLASS(wxWindowMGL);
DECLARE_EVENT_TABLE()
@@ -151,6 +147,7 @@ private:
public:
void HandlePaint(MGLDevCtx *dc);
// needed by wxWindowPainter
MGLDevCtx *GetPaintMGLDC() const { return m_paintMGLDC; }
};