]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/dfb/toplevel.h
adding raster op hook
[wxWidgets.git] / include / wx / dfb / toplevel.h
index d35f257c1bd62150b080e97fecab2cfb27a093d5..4d71aa7aac4df8f63a03ff3c05bf3060b1d4a73e 100644 (file)
@@ -77,6 +77,10 @@ public:
 
     wxIDirectFBWindowPtr 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();
 protected:
     // common part of all ctors
     void Init();
@@ -88,7 +92,12 @@ protected:
     virtual void DoGetSize(int *width, int *height) const;
     virtual void DoMoveWindow(int x, int y, int width, int height);
 
     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
 
 private:
     // do queued painting in idle time
@@ -119,9 +128,13 @@ protected:
     wxIDirectFBWindowPtr m_dfbwin;
 
 private:
     wxIDirectFBWindowPtr m_dfbwin;
 
 private:
+    // invalidated areas of the TLW that need repainting
     wxDfbQueuedPaintRequests *m_toPaint;
     wxDfbQueuedPaintRequests *m_toPaint;
+    // are we currently painting some area of this TLW?
+    bool m_isPainting;
 
     friend class wxEventLoop; // for HandleDFBWindowEvent
 
     friend class wxEventLoop; // for HandleDFBWindowEvent
+    friend class wxWindowDFB; // for SetDfbFocus
 };
 
 #endif // _WX_DFB_TOPLEVEL_H_
 };
 
 #endif // _WX_DFB_TOPLEVEL_H_