X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/69a5bc231ac8112dcce8947c020add2d34c1be61..5e4e03e9f99ebce30c49da587ad97b4ed7d63595:/src/generic/dragimgg.cpp diff --git a/src/generic/dragimgg.cpp b/src/generic/dragimgg.cpp index 7ea5a4fabc..2cb2ed6130 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); @@ -236,7 +236,7 @@ bool wxGenericDragImage::BeginDrag(const wxPoint& hotspot, bool fullScreen, wxRect* rect) { - wxASSERT_MSG( (window != 0), wxT("Window must not be null in BeginDrag.")); + wxCHECK_MSG( window, false, wxT("Window must not be null in BeginDrag.")); // The image should be offset by this amount m_offset = hotspot; @@ -249,17 +249,14 @@ bool wxGenericDragImage::BeginDrag(const wxPoint& hotspot, m_isDirty = false; m_isDirty = false; - if (window) + if (m_cursor.Ok()) { - window->CaptureMouse(); - - if (m_cursor.Ok()) - { - m_oldCursor = window->GetCursor(); - window->SetCursor(m_cursor); - } + 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. @@ -454,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() ;