blob: 39b8c309e39642e32f87377d23e6d3f45aa2a237 [file] [log] [blame]
// Licensed under the Apache License, Version 2.0
// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, 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,
}}