X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fe6b43a36e8c641c86404cd9369ad3f1402d1546..d77df9f7d023b026a7bbe995ddd36cfdbe07e3d5:/include/wx/mgl/window.h?ds=sidebyside diff --git a/include/wx/mgl/window.h b/include/wx/mgl/window.h index 4cd53c3d27..f89bfe3bc5 100644 --- a/include/wx/mgl/window.h +++ b/include/wx/mgl/window.h @@ -3,7 +3,7 @@ // Purpose: wxWindow class // Author: Vaclav Slavik // RCS-ID: $Id$ -// Copyright: (c) 2001 SciTech Software, Inc. (www.scitechsoft.com) +// Copyright: (c) 2001-2002 SciTech Software, Inc. (www.scitechsoft.com) // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -14,10 +14,6 @@ // headers // --------------------------------------------------------------------------- -#ifdef __GNUG__ - #pragma interface "window.h" -#endif - #include "wx/font.h" struct window_t; @@ -27,7 +23,7 @@ class MGLDevCtx; // wxWindow declaration for MGL // --------------------------------------------------------------------------- -class WXDLLEXPORT wxWindowMGL : public wxWindowBase +class WXDLLIMPEXP_CORE wxWindowMGL : public wxWindowBase { public: wxWindowMGL() { Init(); } @@ -52,35 +48,36 @@ public: long style = 0, const wxString& name = wxPanelNameStr); + // implement base class (pure) virtual methods + // ------------------------------------------- + + virtual void SetLabel( const wxString &WXUNUSED(label) ) {} + virtual wxString GetLabel() const { return wxEmptyString; } + virtual void Raise(); virtual void Lower(); - virtual bool Show(bool show = TRUE); + virtual bool Show(bool show = true); virtual void SetFocus(); virtual bool Reparent(wxWindowBase *newParent); virtual void WarpPointer(int x, int y); - virtual void CaptureMouse(); - virtual void ReleaseMouse(); - virtual void Refresh(bool eraseBackground = TRUE, + virtual void Refresh(bool eraseBackground = true, const wxRect *rect = (const wxRect *) NULL); virtual void Update(); - virtual void Clear(); - virtual void Freeze(); - virtual void Thaw(); virtual bool SetCursor(const wxCursor &cursor); - virtual bool SetFont(const wxFont &font) { m_font = font; return TRUE; } + virtual bool SetFont(const wxFont &font) { m_font = font; return true; } virtual int GetCharHeight() const; virtual int GetCharWidth() const; virtual void GetTextExtent(const wxString& string, int *x, int *y, - int *descent = (int *) NULL, - int *externalLeading = (int *) NULL, + int *descent = NULL, + int *externalLeading = NULL, const wxFont *theFont = (const wxFont *) NULL) const; @@ -91,29 +88,26 @@ public: // Accept files for dragging virtual void DragAcceptFiles(bool accept); -#if WXWIN_COMPATIBILITY - // event handlers - // Handle a control command - virtual void OnCommand(wxWindow& win, wxCommandEvent& event); - - // Override to define new behaviour for default action (e.g. double - // clicking on a listbox) - virtual void OnDefaultAction(wxControl * WXUNUSED(initiatingItem)) { } -#endif // WXWIN_COMPATIBILITY - virtual WXWidget GetHandle() const { return m_wnd; } + void SetMGLwindow_t(struct window_t *wnd); + // implementation from now on // -------------------------- + void OnInternalIdle(); + protected: + virtual void DoFreeze(); + virtual void DoThaw(); + + // the window handle struct window_t *m_wnd; // whether there should be wxEraseEvent before wxPaintEvent or not // (see wxWindow::Refresh) - bool m_frozen; - bool m_refreshAfterThaw; - wxFont m_font; + bool m_refreshAfterThaw:1; + int m_eraseBackground; // implement the base class pure virtuals virtual void DoClientToScreen( int *x, int *y ) const; @@ -126,6 +120,9 @@ protected: int sizeFlags = wxSIZE_AUTO); virtual void DoSetClientSize(int width, int height); + virtual void DoCaptureMouse(); + virtual void DoReleaseMouse(); + // move the window to the specified location and resize it: this is called // from both DoSetSize() and DoSetClientSize() and would usually just call // ::MoveWindow() except for composite controls which will want to arrange @@ -137,22 +134,19 @@ private: void Init(); // counterpart to SetFocus void KillFocus(); - + MGLDevCtx *m_paintMGLDC; friend class wxPaintDC; - void OnEraseBackground(wxEraseEvent& event); - void OnSetFocus(wxFocusEvent& event); - - DECLARE_DYNAMIC_CLASS(wxWindowMGL); - DECLARE_NO_COPY_CLASS(wxWindowMGL); + DECLARE_DYNAMIC_CLASS(wxWindowMGL) + DECLARE_NO_COPY_CLASS(wxWindowMGL) DECLARE_EVENT_TABLE() public: void HandlePaint(MGLDevCtx *dc); // needed by wxWindowPainter + MGLDevCtx *GetPaintMGLDC() const { return m_paintMGLDC; } }; -#endif - // _WX_WINDOW_H_ +#endif // _WX_WINDOW_H_