git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44608
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
if( buffer.IsOk() )
Init(&m_paintdc, buffer, style);
else
if( buffer.IsOk() )
Init(&m_paintdc, buffer, style);
else
- Init(&m_paintdc, window->GetClientSize(), style);
+ Init(&m_paintdc, GetBufferedSize(window, style), style);
}
// If no bitmap is supplied by the user, a temporary one will be created.
}
// If no bitmap is supplied by the user, a temporary one will be created.
if (style & wxBUFFER_VIRTUAL_AREA)
window->PrepareDC( m_paintdc );
if (style & wxBUFFER_VIRTUAL_AREA)
window->PrepareDC( m_paintdc );
- Init(&m_paintdc, window->GetClientSize(), style);
+ Init(&m_paintdc, GetBufferedSize(window, style), style);
}
// default copy ctor ok.
}
// default copy ctor ok.
+protected:
+ // return the size needed by the buffer: this depends on whether we're
+ // buffering just the currently shown part or the total (scrolled) window
+ static wxSize GetBufferedSize(wxWindow *window, int style)
+ {
+ return style & wxBUFFER_VIRTUAL_AREA ? window->GetVirtualSize()
+ : window->GetClientSize();
+ }
+
private:
wxPaintDC m_paintdc;
private:
wxPaintDC m_paintdc;