X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/af49c4b8a2d3553e733e71c7dd3911881f4c1a2a..73bb67760795ef047ca16c1f151ba49c77eaef62:/include/wx/mac/toplevel.h diff --git a/include/wx/mac/toplevel.h b/include/wx/mac/toplevel.h index f5da13f870..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_ -#if defined(__GNUG__) && !defined(__APPLE__) +#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 // ---------------------------------------------------------------------------- @@ -58,6 +62,8 @@ public: virtual void SetIcons(const wxIconBundle& icons) { SetIcon( icons.GetIcon( -1 ) ); } virtual void Restore(); + 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; } @@ -65,6 +71,7 @@ public: // implementation from now on // -------------------------- + static void MacDelayedDeactivation(long timestamp); virtual void MacCreateRealWindow( const wxString& title, const wxPoint& pos, const wxSize& size, @@ -72,16 +79,18 @@ public: const wxString& name ) ; static WXWindow MacGetWindowInUpdate() { return s_macWindowInUpdate ; } virtual void MacGetPortParams(WXPOINTPTR localOrigin, WXRECTPTR clipRect, WXWindow *window , wxWindowMac** rootwin ) ; - virtual void Clear() ; + virtual void ClearBackground() ; virtual WXWidget MacGetContainerForEmbedding() ; WXWindow MacGetWindowRef() { return m_macWindow ; } - virtual void MacActivate( WXEVENTREF ev , bool inIsActivating ) ; + 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 ) ; - virtual void MacFireMouseEvent( 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); @@ -89,7 +98,12 @@ public: 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() ; + 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(); @@ -100,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 ; @@ -107,9 +122,14 @@ protected: wxWindowMac* m_macFocus ; WXHRGN m_macNoEraseUpdateRgn ; bool m_macNeedsErasing ; - void* m_macEventHandler ; 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