X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cbaa866f0ac4b4e8dd7243f94b7717312fd5ce30..cffff062b34764a1b0978a06cf3788403cd73f3b:/src/generic/dragimgg.cpp diff --git a/src/generic/dragimgg.cpp b/src/generic/dragimgg.cpp index 1992db6c9b..2da9893cb2 100644 --- a/src/generic/dragimgg.cpp +++ b/src/generic/dragimgg.cpp @@ -172,7 +172,7 @@ bool wxGenericDragImage::Create(const wxString& str, const wxCursor& cursor) { wxFont font(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT)); - long w = 0, h = 0; + wxCoord w = 0, h = 0; wxScreenDC dc; dc.SetFont(font); dc.GetTextExtent(str, & w, & h); @@ -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. @@ -451,13 +451,16 @@ bool wxGenericDragImage::Hide() } // More efficient: erase and redraw simultaneously if possible -bool wxGenericDragImage::RedrawImage(const wxPoint& oldPos, const wxPoint& newPos, +bool wxGenericDragImage::RedrawImage(const wxPoint& oldPos, + const wxPoint& newPos, bool eraseOld, bool drawNew) { if (!m_windowDC) return false; #ifdef wxHAS_NATIVE_OVERLAY + wxUnusedVar(oldPos); + wxDCOverlay dcoverlay( m_overlay, (wxWindowDC*) m_windowDC ) ; if ( eraseOld ) dcoverlay.Clear() ;