X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/978af864269a739e77d9431c8465435e3f8f7407..34f90a1cfe8b9be4451964396b062998a83fc37b:/include/wx/window.h diff --git a/include/wx/window.h b/include/wx/window.h index 739309ac03..38c73a5c10 100644 --- a/include/wx/window.h +++ b/include/wx/window.h @@ -65,6 +65,7 @@ class WXDLLEXPORT wxSizer; class WXDLLEXPORT wxToolTip; class WXDLLEXPORT wxWindowBase; class WXDLLEXPORT wxWindow; +class WXDLLEXPORT wxScrollHelper; #if wxUSE_ACCESSIBILITY class WXDLLEXPORT wxAccessible; @@ -191,7 +192,7 @@ public: // it is wxID_ANY which means "don't care" void SetId( wxWindowID winid ) { m_windowId = winid; } wxWindowID GetId() const { return m_windowId; } - + // get or change the layout direction (LTR or RTL) for this window, // wxLayout_Default is returned if layout direction is not supported virtual wxLayoutDirection GetLayoutDirection() const @@ -343,6 +344,9 @@ public: *h = s.y; } + void SetScrollHelper( wxScrollHelper *sh ) { m_scrollHelper = sh; } + wxScrollHelper *GetScrollHelper() { return m_scrollHelper; } + // reset the cached best size value so it will be recalculated the // next time it is needed. void InvalidateBestSize(); @@ -479,6 +483,10 @@ public: virtual bool IsShown() const { return m_isShown; } virtual bool IsEnabled() const { return m_isEnabled; } + // returns true if the window is visible, i.e. IsShown() returns true + // if called on it and all its parents up to the first TLW + virtual bool IsShownOnScreen() const; + // get/set window style (setting style won't update the window and so // is only useful for internal usage) virtual void SetWindowStyleFlag( long style ) { m_windowStyle = style; } @@ -711,9 +719,15 @@ public: // thaw the window: redraw it after it had been frozen virtual void Thaw() { } + // return true if window had been frozen and not unthawed yet + virtual bool IsFrozen() const { return false; } + // adjust DC for drawing on this window virtual void PrepareDC( wxDC & WXUNUSED(dc) ) { } + // return true if the window contents is double buffered by the system + virtual bool IsDoubleBuffered() const { return false; } + // the update region of the window contains the areas which must be // repainted by the program const wxRegion& GetUpdateRegion() const { return m_updateRegion; } @@ -724,13 +738,17 @@ public: // these functions verify whether the given point/rectangle belongs to // (or at least intersects with) the update region - bool IsExposed( int x, int y ) const; - bool IsExposed( int x, int y, int w, int h ) const; + virtual bool DoIsExposed( int x, int y ) const; + virtual bool DoIsExposed( int x, int y, int w, int h ) const; + bool IsExposed( int x, int y ) const + { return DoIsExposed(x, y); } + bool IsExposed( int x, int y, int w, int h ) const + { return DoIsExposed(x, y, w, h); } bool IsExposed( const wxPoint& pt ) const - { return IsExposed(pt.x, pt.y); } + { return DoIsExposed(pt.x, pt.y); } bool IsExposed( const wxRect& rect ) const - { return IsExposed(rect.x, rect.y, rect.width, rect.height); } + { return DoIsExposed(rect.x, rect.y, rect.width, rect.height); } // colours, fonts and cursors // -------------------------- @@ -1042,7 +1060,7 @@ public: wxAccessible* GetOrCreateAccessible() ; #endif - + // Set window transparency if the platform supports it virtual bool SetTransparent(wxByte WXUNUSED(alpha)) { return false; } virtual bool CanSetTransparent() { return false; } @@ -1234,6 +1252,8 @@ protected: // Virtual size (scrolling) wxSize m_virtualSize; + wxScrollHelper *m_scrollHelper; + int m_minVirtualWidth; // VirtualSizeHints int m_minVirtualHeight; int m_maxVirtualWidth; @@ -1325,6 +1345,10 @@ protected: // from both DoSetSize() and DoSetClientSize() and would usually just // reposition this window except for composite controls which will want to // arrange themselves inside the given rectangle + // + // Important note: the coordinates passed to this method are in parent's + // *window* coordinates and not parent's client coordinates (as the values + // passed to DoSetSize and returned by DoGetPosition are)! virtual void DoMoveWindow(int x, int y, int width, int height) = 0; // centre the window in the specified direction on parent, note that @@ -1565,6 +1589,7 @@ public: // If this object has the focus, child should be 'this'. virtual wxAccStatus GetFocus(int* childId, wxAccessible** child); +#if wxUSE_VARIANT // Gets a variant representing the selected children // of this object. // Acceptable values: @@ -1574,6 +1599,7 @@ public: // or 0 if this object is selected (GetType() == wxT("long") // - a "void*" pointer to a wxAccessible child object virtual wxAccStatus GetSelections(wxVariant* selections); +#endif // wxUSE_VARIANT }; #endif // wxUSE_ACCESSIBILITY