Restore a use case that was lost with the last set of updates, using a
wxBufferedDC without a real DC, just a buffer. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41919 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
42eba91294
commit
c2695fb3b1
@ -97,22 +97,23 @@ void wxBufferedDC::UnMask()
|
||||
{
|
||||
if ( m_buffer )
|
||||
{
|
||||
wxASSERT_MSG( m_mainDc != NULL,
|
||||
_T("No underlying DC associated with wxBufferedDC (anymore)") );
|
||||
|
||||
wxDC* bufferDc = DetachDC();
|
||||
|
||||
wxASSERT( bufferDc->IsKindOf(CLASSINFO(wxMemoryDC)) );
|
||||
|
||||
wxCoord x=0, y=0;
|
||||
if (m_mainDc)
|
||||
{
|
||||
wxCoord x=0, y=0;
|
||||
|
||||
if (m_style & wxBUFFER_CLIENT_AREA)
|
||||
bufferDc->GetDeviceOrigin(& x, & y);
|
||||
if (m_style & wxBUFFER_CLIENT_AREA)
|
||||
bufferDc->GetDeviceOrigin(&x, &y);
|
||||
|
||||
m_mainDc->Blit( 0, 0,
|
||||
m_buffer->GetWidth(), m_buffer->GetHeight(), bufferDc,
|
||||
-x, -y );
|
||||
m_mainDc = NULL;
|
||||
m_mainDc->Blit( 0, 0,
|
||||
m_buffer->GetWidth(), m_buffer->GetHeight(), bufferDc,
|
||||
-x, -y );
|
||||
m_mainDc = NULL;
|
||||
}
|
||||
|
||||
m_buffer = NULL;
|
||||
delete bufferDc;
|
||||
}
|
||||
@ -127,7 +128,7 @@ void wxBufferedDC::UseBuffer()
|
||||
{
|
||||
wxASSERT(m_buffer);
|
||||
|
||||
wxMemoryDC* memoryDc = new wxMemoryDC(m_mainDc);
|
||||
wxMemoryDC* memoryDc = m_mainDc ? new wxMemoryDC(m_mainDc): new wxMemoryDC();
|
||||
memoryDc->SelectObject(*m_buffer);
|
||||
|
||||
AttachDC(memoryDc);
|
||||
|
Loading…
Reference in New Issue
Block a user