HRESULT DropTargetWin::DragEnter(IDataObject* data_object, DWORD key_state, POINTL cursor_position, DWORD* effect) { if (!callback_) return E_UNEXPECTED; HRESULT hr; IDropTargetHelper* drop_helper = DropHelper(); if (drop_helper) { hr = drop_helper->DragEnter(hWnd_, data_object, reinterpret_cast<POINT*>(&cursor_position), *effect); } CefRefPtr<CefDragData> drag_data = current_drag_data_; if (!drag_data) { drag_data = DataObjectToDragData(data_object); } CefMouseEvent ev = ToMouseEvent(cursor_position, key_state, hWnd_); CefBrowserHost::DragOperationsMask mask = DropEffectToDragOperation(*effect); mask = callback_->OnDragEnter(drag_data, ev, mask); *effect = DragOperationToDropEffect(mask); return S_OK; }
HRESULT DropTargetWin::DragEnter(IDataObject* data_object, DWORD key_state, POINTL cursor_position, DWORD* effect) { if (!callback_) return E_UNEXPECTED; CefRefPtr<CefDragData> drag_data = current_drag_data_; if (!drag_data) { drag_data = DataObjectToDragData(data_object); } CefMouseEvent ev = ToMouseEvent(cursor_position, key_state, hWnd_); CefBrowserHost::DragOperationsMask mask = DropEffectToDragOperation(*effect); mask = callback_->OnDragEnter(drag_data, ev, mask); *effect = DragOperationToDropEffect(mask); return S_OK; }