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 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
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_