m_windowDC = (wxDC*) NULL;
m_window = (wxWindow*) NULL;
m_fullScreen = false;
+#if defined(wxMAC_USE_CORE_GRAPHICS) && wxMAC_USE_CORE_GRAPHICS
+ m_dcOverlay = NULL;
+#else
m_pBackingBitmap = (wxBitmap*) NULL;
+#endif
}
#if WXWIN_COMPATIBILITY_2_6
}
}
+#if defined(wxMAC_USE_CORE_GRAPHICS) && wxMAC_USE_CORE_GRAPHICS
+ // nothing to setup here
+#else
wxBitmap* backing = (m_pBackingBitmap ? m_pBackingBitmap : (wxBitmap*) & m_backingBitmap);
if (!backing->Ok() || (backing->GetWidth() < clientSize.x || backing->GetHeight() < clientSize.y))
(*backing) = wxBitmap(clientSize.x, clientSize.y);
+#endif
if (!m_fullScreen)
{
if (m_windowDC)
{
+#if defined(wxMAC_USE_CORE_GRAPHICS) && wxMAC_USE_CORE_GRAPHICS
+ m_overlay.Reset();
+#else
m_windowDC->DestroyClippingRegion();
+#endif
delete m_windowDC;
m_windowDC = (wxDC*) NULL;
}
+#if defined(wxMAC_USE_CORE_GRAPHICS) && wxMAC_USE_CORE_GRAPHICS
+ // nothing to do for overlays
+#else
m_repairBitmap = wxNullBitmap;
+#endif
return true;
}
// This is where we restore the backing bitmap, in case
// something has changed on the window.
+#if defined(wxMAC_USE_CORE_GRAPHICS) && wxMAC_USE_CORE_GRAPHICS
+ // overlay will be set up in the drawing routine
+#else
wxBitmap* backing = (m_pBackingBitmap ? m_pBackingBitmap : (wxBitmap*) & m_backingBitmap);
wxMemoryDC memDC;
memDC.SelectObject(* backing);
//memDC.Blit(0, 0, m_boundingRect.width, m_boundingRect.height, m_windowDC, m_boundingRect.x, m_boundingRect.y);
memDC.SelectObject(wxNullBitmap);
+#endif
RedrawImage(m_position - m_offset, m_position - m_offset, false, true);
}
if (!m_windowDC)
return false;
+#if defined(wxMAC_USE_CORE_GRAPHICS) && wxMAC_USE_CORE_GRAPHICS
+ wxDCOverlay dcoverlay( m_overlay, (wxWindowDC*) m_windowDC ) ;
+ if ( eraseOld )
+ dcoverlay.Clear() ;
+ if (drawNew)
+ DoDrawImage(*m_windowDC, newPos);
+#else
wxBitmap* backing = (m_pBackingBitmap ? m_pBackingBitmap : (wxBitmap*) & m_backingBitmap);
if (!backing->Ok())
return false;
memDCTemp.SelectObject(wxNullBitmap);
memDC.SelectObject(wxNullBitmap);
-
+#endif
return true;
}