// boundaries ("hidden behind its borders"), recursively:
static wxRect GetUncoveredWindowArea(wxWindow *win)
{
- wxRect r(win->GetRect());
+ wxRect r(win->GetSize());
if ( win->IsTopLevel() )
return r;
{
wxCHECK_RET( win, _T("invalid window") );
+ m_win = win;
+
// obtain the surface used for painting:
wxPoint origin;
wxIDirectFBSurfacePtr surface;
}
else
{
+ m_winRect = r;
DFBRectangle dfbrect = { r.x, r.y, r.width, r.height };
surface = win->GetDfbSurface()->GetSubSurface(&dfbrect);
r.x, r.y, r.GetRight(), r.GetBottom(),
origin.x, origin.y);
- Init(surface);
+ DFBInit(surface);
SetFont(win->GetFont());
// offset coordinates to account for subsurface's origin coordinates:
if ( m_shouldFlip )
{
+ // paint overlays on top of the surface being drawn to by this DC
+ // before showing anything on the screen:
+ m_win->PaintOverlays(m_winRect);
+
DFBSurfaceCapabilities caps = DSCAPS_NONE;
surface->GetCapabilities(&caps);
if ( caps & DSCAPS_DOUBLE )