X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ff654490b7cb185631a1dc4621094d88643ccf41..a78d2fbab115b4c6537349fb06275d1610bf4aa0:/src/generic/dragimgg.cpp diff --git a/src/generic/dragimgg.cpp b/src/generic/dragimgg.cpp index 56ee35e91d..e4b50c9f34 100644 --- a/src/generic/dragimgg.cpp +++ b/src/generic/dragimgg.cpp @@ -69,13 +69,13 @@ void wxGenericDragImage::Init() { m_isDirty = false; m_isShown = false; - m_windowDC = (wxDC*) NULL; - m_window = (wxWindow*) NULL; + m_windowDC = NULL; + m_window = NULL; m_fullScreen = false; #ifdef wxHAS_NATIVE_OVERLAY m_dcOverlay = NULL; #else - m_pBackingBitmap = (wxBitmap*) NULL; + m_pBackingBitmap = NULL; #endif } @@ -187,7 +187,7 @@ bool wxGenericDragImage::Create(const wxString& str, const wxCursor& cursor) dc2.SetFont(font); dc2.SetBackground(* wxWHITE_BRUSH); dc2.Clear(); - dc2.SetBackgroundMode(wxTRANSPARENT); + dc2.SetBackgroundMode(wxBRUSHSTYLE_TRANSPARENT); dc2.SetTextForeground(* wxLIGHT_GREY); dc2.DrawText(str, 0, 0); dc2.DrawText(str, 1, 0); @@ -249,14 +249,14 @@ bool wxGenericDragImage::BeginDrag(const wxPoint& hotspot, m_isDirty = false; m_isDirty = false; - window->CaptureMouse(); - if (m_cursor.Ok()) { m_oldCursor = window->GetCursor(); window->SetCursor(m_cursor); } + window->CaptureMouse(); + // Make a copy of the window so we can repair damage done as the image is // dragged. @@ -358,8 +358,7 @@ bool wxGenericDragImage::EndDrag() #else m_windowDC->DestroyClippingRegion(); #endif - delete m_windowDC; - m_windowDC = (wxDC*) NULL; + wxDELETE(m_windowDC); } #ifndef wxHAS_NATIVE_OVERLAY @@ -373,7 +372,7 @@ bool wxGenericDragImage::EndDrag() // is non-NULL, or in screen coordinates if NULL. bool wxGenericDragImage::Move(const wxPoint& pt) { - wxASSERT_MSG( (m_windowDC != (wxDC*) NULL), wxT("No window DC in wxGenericDragImage::Move()") ); + wxASSERT_MSG( (m_windowDC != NULL), wxT("No window DC in wxGenericDragImage::Move()") ); wxPoint pt2(pt); if (m_fullScreen) @@ -397,7 +396,7 @@ bool wxGenericDragImage::Move(const wxPoint& pt) bool wxGenericDragImage::Show() { - wxASSERT_MSG( (m_windowDC != (wxDC*) NULL), wxT("No window DC in wxGenericDragImage::Show()") ); + wxASSERT_MSG( (m_windowDC != NULL), wxT("No window DC in wxGenericDragImage::Show()") ); // Show at the current position @@ -435,7 +434,7 @@ bool wxGenericDragImage::UpdateBackingFromWindow(wxDC& windowDC, wxMemoryDC& des bool wxGenericDragImage::Hide() { - wxASSERT_MSG( (m_windowDC != (wxDC*) NULL), wxT("No window DC in wxGenericDragImage::Hide()") ); + wxASSERT_MSG( (m_windowDC != NULL), wxT("No window DC in wxGenericDragImage::Hide()") ); // Repair the old position @@ -451,7 +450,7 @@ bool wxGenericDragImage::Hide() } // More efficient: erase and redraw simultaneously if possible -bool wxGenericDragImage::RedrawImage(const wxPoint& WXUNUSED(oldPos), +bool wxGenericDragImage::RedrawImage(const wxPoint& oldPos, const wxPoint& newPos, bool eraseOld, bool drawNew) { @@ -459,6 +458,8 @@ bool wxGenericDragImage::RedrawImage(const wxPoint& WXUNUSED(oldPos), return false; #ifdef wxHAS_NATIVE_OVERLAY + wxUnusedVar(oldPos); + wxDCOverlay dcoverlay( m_overlay, (wxWindowDC*) m_windowDC ) ; if ( eraseOld ) dcoverlay.Clear() ;