From 93ced9a11ccd21e9bf8d540180ea196b69b2c1d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Wed, 15 Nov 2006 17:56:46 +0000 Subject: [PATCH] The dragged icon is now slightly transparent. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19297 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/preferences/filetypes/IconView.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/preferences/filetypes/IconView.cpp b/src/preferences/filetypes/IconView.cpp index 2c7f063b09..cd016c27e7 100644 --- a/src/preferences/filetypes/IconView.cpp +++ b/src/preferences/filetypes/IconView.cpp @@ -744,7 +744,21 @@ IconView::MouseMoved(BPoint where, uint32 transit, const BMessage* dragMessage) icon->CopyTo(message); - BBitmap *dragBitmap = new BBitmap(fIcon); + BBitmap *dragBitmap = new BBitmap(fIcon->Bounds(), B_RGB32, true); + dragBitmap->Lock(); + BView *view = new BView(dragBitmap->Bounds(), B_EMPTY_STRING, B_FOLLOW_NONE, 0); + dragBitmap->AddChild(view); + + view->SetHighColor(B_TRANSPARENT_COLOR); + view->FillRect(dragBitmap->Bounds()); + view->SetBlendingMode(B_CONSTANT_ALPHA, B_ALPHA_COMPOSITE); + view->SetDrawingMode(B_OP_ALPHA); + view->SetHighColor(0, 0, 0, 160); + view->DrawBitmap(fIcon); + + view->Sync(); + dragBitmap->Unlock(); + DragMessage(&message, dragBitmap, B_OP_ALPHA, fDragPoint, this); fDragging = true; SetMouseEventMask(B_POINTER_EVENTS, B_NO_POINTER_HISTORY);