1 // Licensed under the Apache License, Version 2.0 2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license 3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option. 4 // All files in the project carrying such notice may not be copied, modified, or distributed 5 // except according to those terms. 6 use shared::minwindef::DWORD; 7 use shared::ntdef::HRESULT; 8 use shared::windef::POINTL; 9 use um::objidl::IDataObject; 10 use um::unknwnbase::{IUnknown, IUnknownVtbl}; 11 pub const MK_ALT: DWORD = 20; 12 pub const DROPEFFECT_NONE: DWORD = 0; 13 pub const DROPEFFECT_COPY: DWORD = 1; 14 pub const DROPEFFECT_MOVE: DWORD = 2; 15 pub const DROPEFFECT_LINK: DWORD = 4; 16 pub const DROPEFFECT_SCROLL: DWORD = 0x80000000; 17 pub const DD_DEFSCROLLINSET: DWORD = 11; 18 pub const DD_DEFSCROLLDELAY: DWORD = 50; 19 pub const DD_DEFSCROLLINTERVAL: DWORD = 50; 20 pub const DD_DEFDRAGDELAY: DWORD = 200; 21 pub const DD_DEFDRAGMINDIST: DWORD = 2; 22 pub type LPDROPTARGET = *mut IDropTarget; 23 RIDL!{#[uuid(0x00000122, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] 24 interface IDropTarget(IDropTargetVtbl): IUnknown(IUnknownVtbl) { 25 fn DragEnter( 26 pDataObj: *const IDataObject, 27 grfKeyState: DWORD, 28 pt: *const POINTL, 29 pdwEffect: *mut DWORD, 30 ) -> HRESULT, 31 fn DragOver( 32 grfKeyState: DWORD, 33 pt: *const POINTL, 34 pdwEffect: *mut DWORD, 35 ) -> HRESULT, 36 fn DragLeave() -> HRESULT, 37 fn Drop( 38 pDataObj: *const IDataObject, 39 grfKeyState: DWORD, 40 pt: *const POINTL, 41 pdwEffect: *mut DWORD, 42 ) -> HRESULT, 43 }} 44