// Licensed under the Apache License, Version 2.0 // or the MIT license // , at your option. // All files in the project carrying such notice may not be copied, modified, or distributed // except according to those terms. use shared::minwindef::DWORD; use shared::ntdef::HRESULT; use shared::windef::POINTL; use um::objidl::IDataObject; use um::unknwnbase::{IUnknown, IUnknownVtbl}; pub const MK_ALT: DWORD = 20; pub const DROPEFFECT_NONE: DWORD = 0; pub const DROPEFFECT_COPY: DWORD = 1; pub const DROPEFFECT_MOVE: DWORD = 2; pub const DROPEFFECT_LINK: DWORD = 4; pub const DROPEFFECT_SCROLL: DWORD = 0x80000000; pub const DD_DEFSCROLLINSET: DWORD = 11; pub const DD_DEFSCROLLDELAY: DWORD = 50; pub const DD_DEFSCROLLINTERVAL: DWORD = 50; pub const DD_DEFDRAGDELAY: DWORD = 200; pub const DD_DEFDRAGMINDIST: DWORD = 2; pub type LPDROPTARGET = *mut IDropTarget; RIDL!{#[uuid(0x00000122, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] interface IDropTarget(IDropTargetVtbl): IUnknown(IUnknownVtbl) { fn DragEnter( pDataObj: *const IDataObject, grfKeyState: DWORD, pt: *const POINTL, pdwEffect: *mut DWORD, ) -> HRESULT, fn DragOver( grfKeyState: DWORD, pt: *const POINTL, pdwEffect: *mut DWORD, ) -> HRESULT, fn DragLeave() -> HRESULT, fn Drop( pDataObj: *const IDataObject, grfKeyState: DWORD, pt: *const POINTL, pdwEffect: *mut DWORD, ) -> HRESULT, }}