X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5b36f53bd13793a2fe63468bc0ab99ab79503695..510bf1ec20bfe60e801a89974e6371535e338abc:/include/wx/mac/toplevel.h diff --git a/include/wx/mac/toplevel.h b/include/wx/mac/toplevel.h index c005292f65..182c916c03 100644 --- a/include/wx/mac/toplevel.h +++ b/include/wx/mac/toplevel.h @@ -1,18 +1,18 @@ /////////////////////////////////////////////////////////////////////////////// // Name: wx/mac/toplevel.h -// Purpose: wxTopLevelWindowMac is the MSW implementation of wxTLW -// Author: Vadim Zeitlin +// Purpose: wxTopLevelWindowMac is the Mac implementation of wxTLW +// Author: Stefan Csomor // Modified by: // Created: 20.09.01 // RCS-ID: $Id$ -// Copyright: (c) 2001 SciTech Software, Inc. (www.scitechsoft.com) +// Copyright: (c) 2001 Stefan Csomor // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// #ifndef _WX_MSW_TOPLEVEL_H_ #define _WX_MSW_TOPLEVEL_H_ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(__APPLE__) #pragma interface "toplevel.h" #endif @@ -55,37 +55,48 @@ public: virtual void Iconize(bool iconize = TRUE); virtual bool IsIconized() const; virtual void SetIcon(const wxIcon& icon); + virtual void SetIcons(const wxIconBundle& icons) { SetIcon( icons.GetIcon( -1 ) ); } virtual void Restore(); - virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL) { return FALSE; } + virtual bool SetShape(const wxRegion& region); + + virtual bool ShowFullScreen(bool WXUNUSED(show), long WXUNUSED(style) = wxFULLSCREEN_ALL) + { return FALSE; } virtual bool IsFullScreen() const { return FALSE; } // implementation from now on // -------------------------- - virtual void MacCreateRealWindow( const wxString& title, - const wxPoint& pos, - const wxSize& size, - long style, - const wxString& name ) ; - static WindowRef MacGetWindowInUpdate() { return s_macWindowInUpdate ; } - virtual void MacGetPortParams(Point* localOrigin, Rect* clipRect, WindowRef *window , wxWindowMac** rootwin ) ; - virtual void Clear() ; - virtual ControlHandle MacGetContainerForEmbedding() ; - WindowRef MacGetWindowRef() { return m_macWindow ; } - virtual void MacActivate( EventRecord *ev , bool inIsActivating ) ; - virtual void MacUpdate( long timestamp ) ; - virtual void MacMouseDown( EventRecord *ev , short windowPart ) ; - virtual void MacMouseUp( EventRecord *ev , short windowPart ) ; - virtual void MacMouseMoved( EventRecord *ev , short windowPart ) ; - virtual void MacKeyDown( EventRecord *ev ) ; - virtual void MacFireMouseEvent( EventRecord *ev ) ; - virtual void Raise(); - virtual void Lower(); - virtual void SetTitle( const wxString& title); - virtual bool Show( bool show = TRUE ); - virtual void DoMoveWindow(int x, int y, int width, int height); - void MacInvalidate( const Rect * rect, bool eraseBackground ) ; + virtual void MacCreateRealWindow( const wxString& title, + const wxPoint& pos, + const wxSize& size, + long style, + const wxString& name ) ; + static WXWindow MacGetWindowInUpdate() { return s_macWindowInUpdate ; } + virtual void MacGetPortParams(WXPOINTPTR localOrigin, WXRECTPTR clipRect, WXWindow *window , wxWindowMac** rootwin ) ; + virtual void Clear() ; + virtual WXWidget MacGetContainerForEmbedding() ; + WXWindow MacGetWindowRef() { return m_macWindow ; } + virtual void MacActivate( long timestamp , bool inIsActivating ) ; + virtual void MacUpdate( long timestamp ) ; +#if !TARGET_CARBON + virtual void MacMouseDown( WXEVENTREF ev , short windowPart ) ; + virtual void MacMouseUp( WXEVENTREF ev , short windowPart ) ; + virtual void MacMouseMoved( WXEVENTREF ev , short windowPart ) ; + virtual void MacKeyDown( WXEVENTREF ev ) ; +#endif + virtual void MacFireMouseEvent( wxUint16 kind , wxInt32 x , wxInt32 y ,wxUint32 modifiers , long timestamp ) ; + virtual void Raise(); + virtual void Lower(); + virtual void SetTitle( const wxString& title); + virtual bool Show( bool show = TRUE ); + virtual void DoMoveWindow(int x, int y, int width, int height); + void MacInvalidate( const WXRECTPTR rect, bool eraseBackground ) ; + short MacGetWindowBackgroundTheme() const { return m_macWindowBackgroundTheme ; } + +#if TARGET_CARBON + WXEVENTHANDLERREF MacGetEventHandler() { return m_macEventHandler ; } +#endif protected: // common part of all ctors void Init(); @@ -97,14 +108,18 @@ protected: // when it is called while the frame is hidden bool m_maximizeOnShow; - SInt16 m_macWindowBackgroundTheme ; - WindowRef m_macWindow ; - ControlHandle m_macRootControl ; + short m_macWindowBackgroundTheme ; + WXWindow m_macWindow ; + WXWidget m_macRootControl ; wxWindowMac* m_macFocus ; - RgnHandle m_macNoEraseUpdateRgn ; + WXHRGN m_macNoEraseUpdateRgn ; bool m_macNeedsErasing ; - static WindowRef s_macWindowInUpdate ; + static WXWindow s_macWindowInUpdate ; +private : +#if TARGET_CARBON + WXEVENTHANDLERREF m_macEventHandler ; +#endif }; // list of all frames and modeless dialogs @@ -112,8 +127,8 @@ extern WXDLLEXPORT_DATA(wxWindowList) wxModelessWindows; // associate mac windows with wx counterparts -wxTopLevelWindowMac* wxFindWinFromMacWindow( WindowRef inWindow ) ; -void wxAssociateWinWithMacWindow(WindowRef inWindow, wxTopLevelWindowMac *win) ; +wxTopLevelWindowMac* wxFindWinFromMacWindow( WXWindow inWindow ) ; +void wxAssociateWinWithMacWindow(WXWindow inWindow, wxTopLevelWindowMac *win) ; void wxRemoveMacWindowAssociation(wxTopLevelWindowMac *win) ;