* I'm not sure why it happens, but the drag bitmap offset was BPoint(2, 1) off

(that should be good enough for the current Tracker).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36787 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler 2010-05-11 08:01:36 +00:00
parent 9c8f23673b
commit 1e9e9da389

View File

@ -6748,7 +6748,8 @@ BPoseView::DragSelectedPoses(const BPose *pose, BPoint clickPoint)
BBitmap * BBitmap *
BPoseView::MakeDragBitmap(BRect dragRect, BPoint clickedPoint, int32 clickedPoseIndex, BPoint &offset) BPoseView::MakeDragBitmap(BRect dragRect, BPoint clickedPoint,
int32 clickedPoseIndex, BPoint &offset)
{ {
BRect inner(clickedPoint.x - kTransparentDragThreshold.x / 2, BRect inner(clickedPoint.x - kTransparentDragThreshold.x / 2,
clickedPoint.y - kTransparentDragThreshold.y / 2, clickedPoint.y - kTransparentDragThreshold.y / 2,
@ -6756,7 +6757,8 @@ BPoseView::MakeDragBitmap(BRect dragRect, BPoint clickedPoint, int32 clickedPose
clickedPoint.y + kTransparentDragThreshold.y / 2); clickedPoint.y + kTransparentDragThreshold.y / 2);
// (BRect & BRect) doesn't work correctly if the rectangles don't intersect // (BRect & BRect) doesn't work correctly if the rectangles don't intersect
// this catches a bug that is produced somewhere before this function is called // this catches a bug that is produced somewhere before this function is
// called
if (!inner.Intersects(dragRect)) if (!inner.Intersects(dragRect))
return NULL; return NULL;
@ -6764,7 +6766,11 @@ BPoseView::MakeDragBitmap(BRect dragRect, BPoint clickedPoint, int32 clickedPose
// If the selection is bigger than the specified limit, the // If the selection is bigger than the specified limit, the
// contents will fade out when they come near the borders // contents will fade out when they come near the borders
bool fadeTop = false, fadeBottom = false, fadeLeft = false, fadeRight = false, fade = false; bool fadeTop = false;
bool fadeBottom = false;
bool fadeLeft = false;
bool fadeRight = false;
bool fade = false;
if (inner.left > dragRect.left) { if (inner.left > dragRect.left) {
inner.left = max(inner.left - 32, dragRect.left); inner.left = max(inner.left - 32, dragRect.left);
fade = fadeLeft = true; fade = fadeLeft = true;
@ -6783,7 +6789,7 @@ BPoseView::MakeDragBitmap(BRect dragRect, BPoint clickedPoint, int32 clickedPose
} }
// set the offset for the dragged bitmap (for the BView::DragMessage() call) // set the offset for the dragged bitmap (for the BView::DragMessage() call)
offset = clickedPoint - inner.LeftTop(); offset = clickedPoint - BPoint(2, 1) - inner.LeftTop();
BRect rect(inner); BRect rect(inner);
rect.OffsetTo(B_ORIGIN); rect.OffsetTo(B_ORIGIN);