X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b3c861501a451503b31c075ccb59d16b0ae01e99..ad667945478cda0c0a33e154f1d4403402cffb9e:/include/wx/dfb/toplevel.h?ds=sidebyside diff --git a/include/wx/dfb/toplevel.h b/include/wx/dfb/toplevel.h index 82e797b7ab..4d71aa7aac 100644 --- a/include/wx/dfb/toplevel.h +++ b/include/wx/dfb/toplevel.h @@ -11,7 +11,7 @@ #ifndef _WX_DFB_TOPLEVEL_H_ #define _WX_DFB_TOPLEVEL_H_ -#include "wx/dfb/ifacehelpers.h" +#include "wx/dfb/dfbptr.h" wxDFB_DECLARE_INTERFACE(IDirectFBWindow); @@ -75,20 +75,29 @@ public: void OnInternalIdle(); - IDirectFBWindowPtr GetDirectFBWindow() const { return m_dfbwin; } + wxIDirectFBWindowPtr GetDirectFBWindow() const { return m_dfbwin; } + + // Returns true if some invalidated area of the TLW is currently being + // painted + bool IsPainting() const { return m_isPainting; } protected: // common part of all ctors void Init(); - virtual IDirectFBSurfacePtr ObtainDfbSurface() const; + virtual wxIDirectFBSurfacePtr ObtainDfbSurface() const; // overriden wxWindow methods virtual void DoGetPosition(int *x, int *y) const; virtual void DoGetSize(int *width, int *height) const; virtual void DoMoveWindow(int x, int y, int width, int height); - virtual void DoRefreshRect(const wxRect& rect, bool eraseBack = true); + virtual void DoRefreshRect(const wxRect& rect); + + // sets DirectFB keyboard focus to this toplevel window (note that DFB + // focus is different from wx: only shown TLWs can have it and not any + // wxWindows as in wx + void SetDfbFocus(); private: // do queued painting in idle time @@ -116,12 +125,16 @@ protected: wxByte m_opacity; // interface to the underlying DirectFB window - IDirectFBWindowPtr m_dfbwin; + wxIDirectFBWindowPtr m_dfbwin; private: + // invalidated areas of the TLW that need repainting wxDfbQueuedPaintRequests *m_toPaint; + // are we currently painting some area of this TLW? + bool m_isPainting; friend class wxEventLoop; // for HandleDFBWindowEvent + friend class wxWindowDFB; // for SetDfbFocus }; #endif // _WX_DFB_TOPLEVEL_H_