X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5273bf2fd3292ec3ab3da4f0c197b2f0e93df32e..594ed110f77d9f29f7165a07bb806e5a4fa19b0e:/include/wx/mac/toplevel.h diff --git a/include/wx/mac/toplevel.h b/include/wx/mac/toplevel.h index 06b677c50a..ffb0bcd288 100644 --- a/include/wx/mac/toplevel.h +++ b/include/wx/mac/toplevel.h @@ -1,21 +1,25 @@ /////////////////////////////////////////////////////////////////////////////// // Name: wx/mac/toplevel.h // Purpose: wxTopLevelWindowMac is the Mac implementation of wxTLW -// Author: Vadim Zeitlin +// 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(NO_GCC_PRAGMA) #pragma interface "toplevel.h" #endif +#if wxUSE_SYSTEM_OPTIONS + #define wxMAC_WINDOW_PLAIN_TRANSITION _T("mac.window-plain-transition") +#endif + // ---------------------------------------------------------------------------- // wxTopLevelWindowMac // ---------------------------------------------------------------------------- @@ -55,37 +59,51 @@ 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 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 ) ; + static void MacDelayedDeactivation(long timestamp); + 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 ClearBackground() ; + 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 ; } + static bool MacEnableCompositing( bool useCompositing ); + bool MacUsesCompositing() { return m_macUsesCompositing; } + +#if TARGET_CARBON + WXEVENTHANDLERREF MacGetEventHandler() { return m_macEventHandler ; } +#endif protected: // common part of all ctors void Init(); @@ -96,6 +114,7 @@ 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; + bool m_macUsesCompositing ; short m_macWindowBackgroundTheme ; WXWindow m_macWindow ; @@ -104,7 +123,13 @@ protected: WXHRGN m_macNoEraseUpdateRgn ; bool m_macNeedsErasing ; - static WXWindow s_macWindowInUpdate ; + static WXWindow s_macWindowInUpdate ; + static wxTopLevelWindowMac *s_macDeactivateWindow; + static bool s_macWindowCompositing ; +private : +#if TARGET_CARBON + WXEVENTHANDLERREF m_macEventHandler ; +#endif }; // list of all frames and modeless dialogs