winapi_ui_automation/um/
oleidl.rs

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.
6use shared::minwindef::DWORD;
7use shared::ntdef::HRESULT;
8use shared::windef::POINTL;
9use um::objidl::IDataObject;
10use um::unknwnbase::{IUnknown, IUnknownVtbl};
11pub const MK_ALT: DWORD = 20;
12pub const DROPEFFECT_NONE: DWORD = 0;
13pub const DROPEFFECT_COPY: DWORD = 1;
14pub const DROPEFFECT_MOVE: DWORD = 2;
15pub const DROPEFFECT_LINK: DWORD = 4;
16pub const DROPEFFECT_SCROLL: DWORD = 0x80000000;
17pub const DD_DEFSCROLLINSET: DWORD = 11;
18pub const DD_DEFSCROLLDELAY: DWORD = 50;
19pub const DD_DEFSCROLLINTERVAL: DWORD = 50;
20pub const DD_DEFDRAGDELAY: DWORD = 200;
21pub const DD_DEFDRAGMINDIST: DWORD = 2;
22pub type LPDROPTARGET = *mut IDropTarget;
23RIDL!{#[uuid(0x00000122, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)]
24interface 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}}