// headers
// ---------------------------------------------------------------------------
-#include "wx/dfb/ifacehelpers.h"
+#include "wx/dfb/dfbptr.h"
wxDFB_DECLARE_INTERFACE(IDirectFBSurface);
struct wxDFBWindowEvent;
virtual void Clear();
virtual void Freeze();
virtual void Thaw();
- bool IsFrozen() const { return m_frozenness > 0; }
+ virtual bool IsFrozen() const { return m_frozenness > 0; }
virtual bool SetCursor(const wxCursor &cursor);
virtual bool SetFont(const wxFont &font) { m_font = font; return true; }
// --------------------------
// Returns DirectFB surface used for rendering of this window
- IDirectFBSurfacePtr GetDfbSurface();
+ wxIDirectFBSurfacePtr GetDfbSurface();
// returns toplevel window the window belongs to
wxTopLevelWindowDFB *GetTLW() const { return m_tlw; }
void OnInternalIdle();
+ virtual bool IsDoubleBuffered() const { return true; }
+
protected:
// implement the base class pure virtuals
virtual void DoClientToScreen(int *x, int *y) const;
// return DFB surface used to render this window (will be assigned to
// m_surface if the window is visible)
- virtual IDirectFBSurfacePtr ObtainDfbSurface() const;
+ virtual wxIDirectFBSurfacePtr ObtainDfbSurface() const;
// this method must be called when window's position, size or visibility
// changes; it resets m_surface so that ObtainDfbSurface has to be called
void InvalidateDfbSurface();
// called by parent to render (part of) the window
- void PaintWindow(const wxRect& rect, bool eraseBackground);
+ void PaintWindow(const wxRect& rect);
- // implementation of Refresh()
- void DoRefreshWindow(bool eraseBack = true);
- virtual void DoRefreshRect(const wxRect& rect, bool eraseBack = true);
+ // refreshes the entire window (including non-client areas)
+ void DoRefreshWindow();
+ // refreshes given rectangle of the window (in window, _not_ client coords)
+ virtual void DoRefreshRect(const wxRect& rect);
// DirectFB events handling
void HandleKeyEvent(const wxDFBWindowEvent& event_);
// common part of all ctors
void Init();
// counterpart to SetFocus
- void KillFocus();
+ void DFBKillFocus();
protected:
// toplevel window (i.e. DirectFB window) this window belongs to
private:
// subsurface of TLW's surface covered by this window
- IDirectFBSurfacePtr m_surface;
+ wxIDirectFBSurfacePtr m_surface;
// position of the window (relative to the parent, not used by wxTLW, so
// don't access it directly)
DECLARE_EVENT_TABLE()
};
-
#endif // _WX_DFB_WINDOW_H_