# HG changeset patch # User Frank Benoit # Date 1202918357 -3600 # Node ID cf66b1446ffe2b6941f22177c109ff4f0f7e815d # Parent c605bf6c2f48ba9cd3b5309e613d886e48a4f831 TableDropTargetEffect diff -r c605bf6c2f48 -r cf66b1446ffe dwt/dnd/TableDropTargetEffect.d --- a/dwt/dnd/TableDropTargetEffect.d Wed Feb 13 16:55:45 2008 +0100 +++ b/dwt/dnd/TableDropTargetEffect.d Wed Feb 13 16:59:17 2008 +0100 @@ -19,6 +19,9 @@ import dwt.dnd.DropTargetEffect; import dwt.dnd.DropTargetEvent; +import dwt.dnd.DND; + +import dwt.dwthelper.utils; /** * This class provides a default drag under effect (eg. select, insert and scroll) @@ -109,11 +112,11 @@ */ public void dragLeave(DropTargetEvent event) { Table table = cast(Table) control; - int handle = table.handle; + auto handle = table.handle; if (dropHighlight !is null) { - LVITEM lvItem = new LVITEM (); + LVITEM lvItem; lvItem.stateMask = OS.LVIS_DROPHILITED; - OS.SendMessage(handle, OS.LVM_SETITEMSTATE, -1, lvItem); + OS.SendMessage(handle, OS.LVM_SETITEMSTATE, -1, &lvItem); dropHighlight = null; } scrollBeginTime = 0; @@ -140,13 +143,13 @@ public void dragOver(DropTargetEvent event) { Table table = cast(Table) getControl(); int effect = checkEffect(event.feedback); - int handle = table.handle; + auto handle = table.handle; Point coordinates = new Point(event.x, event.y); coordinates = table.toControl(coordinates); - LVHITTESTINFO pinfo = new LVHITTESTINFO(); - pinfo.x = coordinates.x; - pinfo.y = coordinates.y; - OS.SendMessage(handle, OS.LVM_HITTEST, 0, pinfo); + LVHITTESTINFO pinfo; + pinfo.pt.x = coordinates.x; + pinfo.pt.y = coordinates.y; + OS.SendMessage(handle, OS.LVM_HITTEST, 0, &pinfo); if ((effect & DND.FEEDBACK_SCROLL) is 0) { scrollBeginTime = 0; scrollIndex = -1; @@ -160,17 +163,17 @@ if (pinfo.iItem is top) { scroll = pinfo.iItem !is index; } else { - RECT itemRect = new RECT (); + RECT itemRect; itemRect.left = OS.LVIR_BOUNDS; - if (OS.SendMessage (handle, OS.LVM_GETITEMRECT, pinfo.iItem, itemRect) !is 0) { - RECT rect = new RECT (); - OS.GetClientRect (handle, rect); - POINT pt = new POINT (); + if (OS.SendMessage (handle, OS.LVM_GETITEMRECT, pinfo.iItem, &itemRect) !is 0) { + RECT rect; + OS.GetClientRect (handle, &rect); + POINT pt; pt.x = itemRect.left; pt.y = itemRect.top; - if (OS.PtInRect (rect, pt)) { + if (OS.PtInRect (&rect, pt)) { pt.y = itemRect.bottom; - if (OS.PtInRect (rect, pt)) scroll = false; + if (OS.PtInRect (&rect, pt)) scroll = false; } } } @@ -190,18 +193,18 @@ if (pinfo.iItem !is -1 && (effect & DND.FEEDBACK_SELECT) !is 0) { TableItem item = table.getItem(pinfo.iItem); if (dropHighlight !is item) { - LVITEM lvItem = new LVITEM(); + LVITEM lvItem; lvItem.stateMask = OS.LVIS_DROPHILITED; - OS.SendMessage(handle, OS.LVM_SETITEMSTATE, -1, lvItem); + OS.SendMessage(handle, OS.LVM_SETITEMSTATE, -1, &lvItem); lvItem.state = OS.LVIS_DROPHILITED; - OS.SendMessage(handle, OS.LVM_SETITEMSTATE, pinfo.iItem, lvItem); + OS.SendMessage(handle, OS.LVM_SETITEMSTATE, pinfo.iItem, &lvItem); dropHighlight = item; } } else { if (dropHighlight !is null) { - LVITEM lvItem = new LVITEM (); + LVITEM lvItem; lvItem.stateMask = OS.LVIS_DROPHILITED; - OS.SendMessage(handle, OS.LVM_SETITEMSTATE, -1, lvItem); + OS.SendMessage(handle, OS.LVM_SETITEMSTATE, -1, &lvItem); dropHighlight = null; } }