]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/window.h
A few tweaks and cleanups
[wxWidgets.git] / include / wx / mac / window.h
index 67aed28061226a4c0fc2a2235288527ef35d33b3..8ab6a1c366465c4bb1b0fa0788a4ad912d26fc91 100644 (file)
@@ -16,6 +16,7 @@
 #pragma interface "window.h"
 #endif
 
+#include <wx/brush.h>
 // ---------------------------------------------------------------------------
 // forward declarations
 // ---------------------------------------------------------------------------
@@ -28,16 +29,9 @@ class WXDLLEXPORT wxTopLevelWindowMac;
 // constants
 // ---------------------------------------------------------------------------
 
-// FIXME does anybody use those? they're unused by wxWindows...
-enum
-{
-    wxKEY_SHIFT = 1,
-    wxKEY_CTRL  = 2
-};
-
 class WXDLLEXPORT wxWindowMac: public wxWindowBase
 {
-  DECLARE_DYNAMIC_CLASS(wxWindowMac);
+  DECLARE_DYNAMIC_CLASS(wxWindowMac)
 
   friend class wxDC;
   friend class wxPaintDC;
@@ -80,8 +74,6 @@ public:
     virtual void SetFocus();
 
     virtual void WarpPointer(int x, int y);
-    virtual void CaptureMouse();
-    virtual void ReleaseMouse();
 
     virtual void Refresh( bool eraseBackground = TRUE,
                           const wxRect *rect = (const wxRect *) NULL );
@@ -213,16 +205,18 @@ public:
 
 public :
        static bool                                                     MacGetWindowFromPoint( const wxPoint &point , wxWindowMac** outWin ) ;
-       virtual void                                            MacRedraw( RgnHandle updatergn , long time , bool erase) ;
+       virtual bool                                            MacGetWindowFromPointSub( const wxPoint &point , wxWindowMac** outWin ) ;
+       virtual void                                            MacRedraw( WXHRGN updatergn , long time , bool erase) ;
        virtual bool                                            MacCanFocus() const { return true ; }
 
        virtual bool                                            MacDispatchMouseEvent(wxMouseEvent& event ) ;
-
-       virtual void                                            MacPaintBorders() ;
-       WindowRef                                                   MacGetRootWindow() const  ;
+       // this should not be overriden in classes above wxWindowMac because it is called from its destructor via DeleteChildren
+  virtual void            RemoveChild( wxWindowBase *child );
+       virtual void                                            MacPaintBorders( int left , int top ) ;
+       WXWindow                                                    MacGetRootWindow() const  ;
        wxTopLevelWindowMac*                MacGetTopLevelWindow() const ;
 
-       virtual ControlHandle                           MacGetContainerForEmbedding() ;
+       virtual WXWidget                                    MacGetContainerForEmbedding() ;
        
        virtual long                                            MacGetLeftBorderSize() const ;
        virtual long                                            MacGetRightBorderSize() const ;
@@ -239,27 +233,19 @@ public :
        // for compatibility
        void                                MacUpdateImmediately() { Update() ; }
        
-/*
-       bool                                                                            MacSetupFocusPort() ;
-       bool                                                                            MacSetupDrawingPort() ;
-       bool                                                                            MacSetupFocusClientPort() ;
-       bool                                                                            MacSetupDrawingClientPort() ;
-*/     
-       virtual bool                                            MacSetPortFocusParams( const Point & localOrigin, const Rect & clipRect, WindowRef window , wxWindowMac* rootwin )  ;
-       virtual bool                                            MacSetPortDrawingParams( const Point & localOrigin, const Rect & clipRect, WindowRef window , wxWindowMac* rootwin )  ;
-
-       virtual void                                            MacGetPortParams(Point* localOrigin, Rect* clipRect, WindowRef *window , wxWindowMac** rootwin ) ;
-       virtual void                                            MacGetPortClientParams(Point* localOrigin, Rect* clipRect, WindowRef *window  , wxWindowMac** rootwin) ;
-       virtual void                                            MacDoGetPortClientParams(Point* localOrigin, Rect* clipRect, WindowRef *window  , wxWindowMac** rootwin) ;
-
+//     virtual bool                                            MacSetPortDrawingParams( const Point & localOrigin, const Rect & clipRect, WindowRef window , wxWindowMac* rootwin )  ;
+//     virtual void                                            MacGetPortParams(Point* localOrigin, Rect* clipRect, WindowRef *window , wxWindowMac** rootwin ) ;
+//     virtual void                                            MacGetPortClientParams(Point* localOrigin, Rect* clipRect, WindowRef *window  , wxWindowMac** rootwin) ;
+       const wxBrush&                      MacGetBackgroundBrush() ;
+    const wxRegion&                     MacGetVisibleRegion() ;
        bool                                                            MacIsWindowScrollbar( const wxScrollBar* sb ) { return (m_hScrollBar == sb || m_vScrollBar == sb) ; }
        static wxWindowMac*                                     s_lastMouseWindow ;
 private:
-       virtual bool                                            MacGetWindowFromPointSub( const wxPoint &point , wxWindowMac** outWin ) ;
 protected:
 //     RgnHandle                                       m_macUpdateRgn ;
 //     bool                                            m_macEraseOnRedraw ;
-
+    wxBrush                                 m_macBackgroundBrush ;
+    wxRegion                                m_macVisibleRegion ;
        int                                                                     m_x ;
        int                                                                     m_y ;   
        int                                                                     m_width ;
@@ -296,6 +282,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
@@ -314,61 +303,5 @@ private:
     DECLARE_EVENT_TABLE()
 };
 
-/*
-class wxMacFocusHelper
-{
-public :
-       wxMacFocusHelper( wxWindowMac * theWindow ) ;
-       ~wxMacFocusHelper() ;
-       bool Ok() { return m_ok ; }
-
-private :
-       GrafPtr         m_formerPort ;
-       GrafPtr         m_currentPort ;
-       bool                    m_ok ;
-} ;
-*/
-
-class wxMacDrawingHelper
-{
-public :
-       wxMacDrawingHelper( wxWindowMac * theWindow ) ;
-       ~wxMacDrawingHelper() ;
-       bool Ok() { return m_ok ; }
-
-private :
-       GrafPtr         m_formerPort ;
-       GrafPtr         m_currentPort ;
-       PenState        m_savedPenState ;
-       bool                    m_ok ;
-} ;
-/*
-class wxMacFocusClientHelper
-{
-public :
-       wxMacFocusClientHelper( wxWindowMac * theWindow ) ;
-       ~wxMacFocusClientHelper() ;
-       bool Ok() { return m_ok ; }
-
-private :
-       GrafPtr         m_formerPort ;
-       GrafPtr         m_currentPort ;
-       bool                    m_ok ;
-} ;
-*/
-class wxMacDrawingClientHelper
-{
-public :
-       wxMacDrawingClientHelper( wxWindowMac * theWindow ) ;
-       ~wxMacDrawingClientHelper() ;
-       bool Ok() { return m_ok ; }
-
-private :
-       GrafPtr         m_formerPort ;
-       GrafPtr         m_currentPort ;
-       PenState        m_savedPenState ;
-       bool                    m_ok ;
-} ;
-
 #endif
     // _WX_WINDOW_H_