1998-11-08 13:21:35 +01:00
|
|
|
/*
|
|
|
|
* MOUSE driver interface
|
|
|
|
*
|
|
|
|
* Copyright 1998 Ulrich Weigand
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __WINE_MOUSE_H
|
|
|
|
#define __WINE_MOUSE_H
|
|
|
|
|
1999-04-01 10:16:08 +02:00
|
|
|
#include "windef.h"
|
|
|
|
|
|
|
|
struct tagCURSORICONINFO;
|
|
|
|
|
1999-04-25 14:36:53 +02:00
|
|
|
#include "pshpack1.h"
|
1998-11-08 13:21:35 +01:00
|
|
|
typedef struct _MOUSEINFO
|
|
|
|
{
|
|
|
|
BYTE msExist;
|
|
|
|
BYTE msRelative;
|
|
|
|
WORD msNumButtons;
|
|
|
|
WORD msRate;
|
|
|
|
WORD msXThreshold;
|
|
|
|
WORD msYThreshold;
|
|
|
|
WORD msXRes;
|
|
|
|
WORD msYRes;
|
|
|
|
WORD msMouseCommPort;
|
|
|
|
} MOUSEINFO, *LPMOUSEINFO;
|
1999-04-25 14:36:53 +02:00
|
|
|
#include "poppack.h"
|
1998-11-08 13:21:35 +01:00
|
|
|
|
|
|
|
typedef VOID (CALLBACK *LPMOUSE_EVENT_PROC)(DWORD,DWORD,DWORD,DWORD,DWORD);
|
|
|
|
|
|
|
|
WORD WINAPI MOUSE_Inquire(LPMOUSEINFO lpMouseInfo);
|
|
|
|
VOID WINAPI MOUSE_Enable(LPMOUSE_EVENT_PROC lpMouseEventProc);
|
|
|
|
VOID WINAPI MOUSE_Disable(VOID);
|
|
|
|
|
|
|
|
/* Wine internals */
|
|
|
|
|
1999-04-01 10:16:08 +02:00
|
|
|
typedef struct tagMOUSE_DRIVER {
|
1999-11-07 22:25:57 +01:00
|
|
|
VOID (*pInit)(VOID);
|
1999-04-01 10:16:08 +02:00
|
|
|
VOID (*pSetCursor)(struct tagCURSORICONINFO *);
|
|
|
|
VOID (*pMoveCursor)(WORD, WORD);
|
2000-02-25 21:53:34 +01:00
|
|
|
LONG (*pEnableWarpPointer)(BOOL);
|
1999-04-01 10:16:08 +02:00
|
|
|
} MOUSE_DRIVER;
|
|
|
|
|
|
|
|
extern MOUSE_DRIVER *MOUSE_Driver;
|
|
|
|
|
1998-11-08 13:21:35 +01:00
|
|
|
#define WINE_MOUSEEVENT_MAGIC ( ('M'<<24)|('A'<<16)|('U'<<8)|'S' )
|
|
|
|
typedef struct _WINE_MOUSEEVENT
|
|
|
|
{
|
|
|
|
DWORD magic;
|
|
|
|
DWORD keyState;
|
|
|
|
DWORD time;
|
1999-02-26 12:11:13 +01:00
|
|
|
HWND hWnd;
|
1998-11-08 13:21:35 +01:00
|
|
|
|
|
|
|
} WINE_MOUSEEVENT;
|
|
|
|
|
1999-11-07 22:25:57 +01:00
|
|
|
extern void MOUSE_SendEvent( DWORD mouseStatus, DWORD posX, DWORD posY,
|
|
|
|
DWORD keyState, DWORD time, HWND hWnd );
|
1998-11-08 13:21:35 +01:00
|
|
|
|
1998-12-15 16:38:36 +01:00
|
|
|
/***********************************
|
|
|
|
* MouseWheel support (defines)
|
|
|
|
*/
|
|
|
|
|
|
|
|
#define MSH_MOUSEWHEEL "MSWHEEL_ROLLMSG"
|
|
|
|
|
|
|
|
#define WHEEL_DELTA 120
|
|
|
|
|
|
|
|
#ifndef WM_MOUSEWHEEL
|
|
|
|
#define WM_MOUSEWHEEL (WM_MOUSELAST+1)
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define MOUSEZ_CLASSNAME "MouseZ"
|
|
|
|
#define MOUSEZ_TITLE "Magellan MSWHEEL"
|
|
|
|
|
|
|
|
#define MSH_WHEELMODULE_CLASS (MOUSEZ_CLASSNAME)
|
|
|
|
#define MSH_WHEELMODULE_TITLE (MOUSEZ_TITLE)
|
|
|
|
|
|
|
|
#define MSH_WHEELSUPPORT "MSH_WHEELSUPPORT_MSG"
|
|
|
|
|
|
|
|
#define MSH_SCROLL_LINES "MSH_SCROLL_LINES_MSG"
|
|
|
|
|
|
|
|
#ifndef WHEEL_PAGESCROLL
|
|
|
|
#define WHEEL_PAGESCROLL (UINT_MAX)
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef SPI_SETWHEELSCROLLLINES
|
|
|
|
#define SPI_SETWHEELSCROLLLINES 105
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
/* MouseWheel support
|
|
|
|
***********************************/
|
|
|
|
|
1998-11-08 13:21:35 +01:00
|
|
|
#endif /* __WINE_MOUSE_H */
|
|
|
|
|