X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a03b38ef68a756cd78497170ab1a1990e53cb02a..66c2bf7b1d9326fb650acfaae22ec50528cfbf7c:/include/wx/gtk/toplevel.h?ds=sidebyside diff --git a/include/wx/gtk/toplevel.h b/include/wx/gtk/toplevel.h index 635475bf9a..9f9374b06b 100644 --- a/include/wx/gtk/toplevel.h +++ b/include/wx/gtk/toplevel.h @@ -2,7 +2,6 @@ // Name: wx/gtk/toplevel.h // Purpose: // Author: Robert Roebling -// Id: $Id$ // Copyright: (c) 1998 Robert Roebling, Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -55,9 +54,7 @@ public: virtual void ShowWithoutActivating(); virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL); - virtual bool IsFullScreen() const { return m_fsIsShowing; }; - - virtual bool SetShape(const wxRegion& region); + virtual bool IsFullScreen() const { return m_fsIsShowing; } virtual void RequestUserAttention(int flags = wxUSER_ATTENTION_INFO); @@ -95,6 +92,10 @@ public: // GTK callbacks virtual void OnInternalIdle(); + virtual void GTKHandleRealized(); + + void GTKConfigureEvent(int x, int y); + // do *not* call this to iconize the frame, this is a private function! void SetIconizeState(bool iconic); @@ -109,19 +110,22 @@ public: m_gdkDecor; // size of WM decorations - wxSize m_decorSize; - - // shape of the frame - wxRegion m_shape; + struct DecorSize + { + int left, right, top, bottom; + }; + DecorSize m_decorSize; // private gtk_timeout_add result for mimicing wxUSER_ATTENTION_INFO and // wxUSER_ATTENTION_ERROR difference, -2 for no hint, -1 for ERROR hint, rest for GtkTimeout handle. int m_urgency_hint; + // timer for detecting WM with broken _NET_REQUEST_FRAME_EXTENTS handling + unsigned m_netFrameExtentsTimerId; // return the size of the window without WM decorations void GTKDoGetSize(int *width, int *height) const; - void GTKUpdateDecorSize(const wxSize& decorSize); + void GTKUpdateDecorSize(const DecorSize& decorSize); protected: // give hints to the Window Manager for how the size @@ -129,9 +133,6 @@ protected: virtual void DoSetSizeHints( int minW, int minH, int maxW, int maxH, int incW, int incH); - // common part of all ctors - void Init(); - // move the window to the specified location and resize it virtual void DoMoveWindow(int x, int y, int width, int height); @@ -149,7 +150,11 @@ protected: bool m_deferShow; private: - wxSize& GetCachedDecorSize(); + void Init(); + DecorSize& GetCachedDecorSize(); + + // size hint increments + int m_incWidth, m_incHeight; // is the frame currently iconized? bool m_isIconized;