X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fe08e597048268b58f76f240e3f3dff52cdd6ffe..e81a301cbdc8729b0a71fa5dfd7124bf59368673:/include/wx/mac/toplevel.h?ds=inline diff --git a/include/wx/mac/toplevel.h b/include/wx/mac/toplevel.h index d9ccdc26d8..5c3672f37a 100644 --- a/include/wx/mac/toplevel.h +++ b/include/wx/mac/toplevel.h @@ -1,6 +1,6 @@ /////////////////////////////////////////////////////////////////////////////// // Name: wx/mac/toplevel.h -// Purpose: wxTopLevelWindowMac is the MSW implementation of wxTLW +// Purpose: wxTopLevelWindowMac is the Mac implementation of wxTLW // Author: Vadim Zeitlin // Modified by: // Created: 20.09.01 @@ -55,14 +55,41 @@ 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 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 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( WXEVENTREF ev , bool inIsActivating ) ; + virtual void MacUpdate( long timestamp ) ; + 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 ) ; + virtual void MacFireMouseEvent( WXEVENTREF 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 WXRECTPTR rect, bool eraseBackground ) ; + short MacGetWindowBackgroundTheme() const { return m_macWindowBackgroundTheme ; } + virtual void MacInstallEventHandler() ; protected: // common part of all ctors void Init(); @@ -73,10 +100,27 @@ protected: // should the frame be maximized when it will be shown? set by Maximize() // when it is called while the frame is hidden bool m_maximizeOnShow; + + short m_macWindowBackgroundTheme ; + WXWindow m_macWindow ; + WXWidget m_macRootControl ; + wxWindowMac* m_macFocus ; + WXHRGN m_macNoEraseUpdateRgn ; + bool m_macNeedsErasing ; + void* m_macEventHandler ; + + static WXWindow s_macWindowInUpdate ; }; // list of all frames and modeless dialogs extern WXDLLEXPORT_DATA(wxWindowList) wxModelessWindows; +// associate mac windows with wx counterparts + +wxTopLevelWindowMac* wxFindWinFromMacWindow( WXWindow inWindow ) ; +void wxAssociateWinWithMacWindow(WXWindow inWindow, wxTopLevelWindowMac *win) ; +void wxRemoveMacWindowAssociation(wxTopLevelWindowMac *win) ; + + #endif // _WX_MSW_TOPLEVEL_H_