X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ba161d7e9579de457aedcf24c75fd24a2c024534..27d0dcd033be9b1356a36d582f3d3665a53e11e4:/include/wx/mac/window.h diff --git a/include/wx/mac/window.h b/include/wx/mac/window.h index dd225fe5e7..c9dcce20c7 100644 --- a/include/wx/mac/window.h +++ b/include/wx/mac/window.h @@ -1,22 +1,23 @@ ///////////////////////////////////////////////////////////////////////////// // Name: window.h // Purpose: wxWindowMac class -// Author: AUTHOR +// Author: Stefan Csomor // Modified by: -// Created: ??/??/98 +// Created: 1998-01-01 // RCS-ID: $Id$ -// Copyright: (c) AUTHOR -// Licence: wxWindows licence +// Copyright: (c) Stefan Csomor +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_WINDOW_H_ #define _WX_WINDOW_H_ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(__APPLE__) #pragma interface "window.h" #endif -#include +#include "wx/brush.h" + // --------------------------------------------------------------------------- // forward declarations // --------------------------------------------------------------------------- @@ -37,7 +38,7 @@ class WXDLLEXPORT wxWindowMac: public wxWindowBase friend class wxPaintDC; public: - + wxWindowMac() : m_macBackgroundBrush() , m_macVisibleRegion() @@ -154,7 +155,7 @@ public: void MacRootWindowToClient( int *x , int *y ) const ; void MacWindowToRootWindow( int *x , int *y ) const ; void MacRootWindowToWindow( int *x , int *y ) const ; - + virtual wxString MacGetToolTipString( wxPoint &where ) ; // simple accessors @@ -162,23 +163,25 @@ public: // WXHWND GetHWND() const { return m_hWnd; } // void SetHWND(WXHWND hWnd) { m_hWnd = hWnd; } - virtual WXWidget GetHandle() const { return (WXWidget) NULL ; } + virtual WXWidget GetHandle() const { return (WXWidget) NULL ; } - bool GetUseCtl3D() const { return m_useCtl3D; } bool GetTransparentBackground() const { return m_backgroundTransparent; } void SetTransparent(bool t = TRUE) { m_backgroundTransparent = t; } // event handlers // -------------- - void OnSetFocus(wxFocusEvent& event) ; + void OnSetFocus(wxFocusEvent& event) ; void OnNcPaint(wxNcPaintEvent& event); void OnEraseBackground(wxEraseEvent& event); - void OnIdle(wxIdleEvent& event); + void OnMouseEvent( wxMouseEvent &event ) ; + void MacOnScroll(wxScrollEvent&event ) ; bool AcceptsFocus() const ; public: + void OnInternalIdle(); + // For implementation purposes - sometimes decorations make the client area // smaller virtual wxPoint GetClientAreaOrigin() const; @@ -231,6 +234,9 @@ public: static long MacRemoveBordersFromStyle( long style ) ; virtual void MacSuperChangedPosition() ; + // the absolute coordinates of this item within the toplevel window may have changed + virtual void MacUpdateDimensions() {} + // the absolute coortinates of this window's root have changed virtual void MacTopLevelWindowChangedPosition() ; virtual void MacSuperShown( bool show ) ; virtual void MacSuperEnabled( bool enable ) ; @@ -238,19 +244,18 @@ public: virtual void Update() ; // for compatibility void MacUpdateImmediately() { Update() ; } + virtual bool MacSetupCursor( const wxPoint& pt ) ; // 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() ; + const wxRegion& MacGetVisibleRegion( bool respectChildrenAndSiblings = true ) ; bool MacIsWindowScrollbar( const wxScrollBar* sb ) { return (m_hScrollBar == sb || m_vScrollBar == sb) ; } static wxWindowMac* s_lastMouseWindow ; private: protected: -// RgnHandle m_macUpdateRgn ; -// bool m_macEraseOnRedraw ; wxBrush m_macBackgroundBrush ; wxRegion m_macVisibleRegion ; int m_x ; @@ -265,18 +270,7 @@ protected: void MacCreateScrollBars( long style ) ; void MacRepositionScrollBars() ; - // additional (MSW specific) flags - bool m_useCtl3D:1; // Using CTL3D for this control - bool m_backgroundTransparent:1; - bool m_mouseInWindow:1; - bool m_doubleClickAllowed:1; - bool m_winCaptured:1; - - // the size of one page for scrolling - int m_xThumbSize; - int m_yThumbSize; - -// WXHMENU m_hMenu; // Menu, if any + bool m_backgroundTransparent ; // implement the base class pure virtuals virtual void DoClientToScreen( int *x, int *y ) const;