2010-02-26 11:43:19 +00:00
|
|
|
#pragma once
|
2003-11-10 17:44:50 +00:00
|
|
|
|
|
|
|
#define MAXCURICONHANDLES 4096
|
|
|
|
|
2005-01-03 00:46:42 +00:00
|
|
|
typedef struct tagCURICON_PROCESS
|
2003-11-10 17:44:50 +00:00
|
|
|
{
|
2003-12-13 22:38:29 +00:00
|
|
|
LIST_ENTRY ListEntry;
|
2009-07-26 16:17:50 +00:00
|
|
|
PPROCESSINFO Process;
|
2005-01-03 00:46:42 +00:00
|
|
|
} CURICON_PROCESS, *PCURICON_PROCESS;
|
|
|
|
|
|
|
|
typedef struct _CURICON_OBJECT
|
|
|
|
{
|
2010-01-14 13:33:04 +00:00
|
|
|
PROCMARKHEAD head;
|
2005-01-03 00:46:42 +00:00
|
|
|
LIST_ENTRY ListEntry;
|
|
|
|
HANDLE Self;
|
|
|
|
LIST_ENTRY ProcessList;
|
2003-11-10 17:44:50 +00:00
|
|
|
HMODULE hModule;
|
|
|
|
HRSRC hRsrc;
|
|
|
|
HRSRC hGroupRsrc;
|
|
|
|
SIZE Size;
|
|
|
|
BYTE Shadow;
|
|
|
|
ICONINFO IconInfo;
|
|
|
|
} CURICON_OBJECT, *PCURICON_OBJECT;
|
|
|
|
|
2004-05-14 23:57:32 +00:00
|
|
|
typedef struct _CURSORCLIP_INFO
|
|
|
|
{
|
|
|
|
BOOL IsClipped;
|
|
|
|
UINT Left;
|
|
|
|
UINT Top;
|
|
|
|
UINT Right;
|
|
|
|
UINT Bottom;
|
|
|
|
} CURSORCLIP_INFO, *PCURSORCLIP_INFO;
|
|
|
|
|
patch from Yaroslav Ponomarenko yarryp at gmail dot com
implement pointers
MouseSpeed, CursorAccelerationInfo.FirstThreshold ,
CursorAccelerationInfo.SecondThreshold, CursorAccelerationInfo.Acceleration,
MouseHoverTime, MouseHoverWidth, MouseHoverHeight
for SPI_SETMOUSEHOVERTIME, SPI_SETMOUSEHOVERWIDTH, SPI_SETMOUSEHOVERHEIGHT, SPI_SETMOUSE, SPI_SETMOUSESPEED.
WARING :
Some of them are not 100% support in win32k for they are need be fill in from the mouse drv and
send them to the mouse drv as well, this part are not done yet.
svn path=/trunk/; revision=27454
2007-07-07 18:17:03 +00:00
|
|
|
typedef struct _CURSORACCELERATION_INFO
|
|
|
|
{
|
|
|
|
UINT FirstThreshold;
|
|
|
|
UINT SecondThreshold;
|
|
|
|
UINT Acceleration;
|
|
|
|
} CURSORACCELERATION_INFO, *PCURSORACCELERATION_INFO;
|
|
|
|
|
2004-05-14 23:57:32 +00:00
|
|
|
typedef struct _SYSTEM_CURSORINFO
|
|
|
|
{
|
|
|
|
BOOL Enabled;
|
2009-10-07 14:25:52 +00:00
|
|
|
BOOL ClickLockActive;
|
|
|
|
DWORD ClickLockTime;
|
2009-10-05 19:53:15 +00:00
|
|
|
// BOOL SwapButtons;
|
2004-05-14 23:57:32 +00:00
|
|
|
UINT ButtonsDown;
|
|
|
|
CURSORCLIP_INFO CursorClipInfo;
|
|
|
|
PCURICON_OBJECT CurrentCursorObject;
|
2010-01-06 12:44:31 +00:00
|
|
|
INT ShowingCursor;
|
2009-10-05 19:53:15 +00:00
|
|
|
/*
|
|
|
|
UINT WheelScroLines;
|
|
|
|
UINT WheelScroChars;
|
|
|
|
UINT DblClickSpeed;
|
2004-05-14 23:57:32 +00:00
|
|
|
UINT DblClickWidth;
|
|
|
|
UINT DblClickHeight;
|
patch from Yaroslav Ponomarenko yarryp at gmail dot com
implement pointers
MouseSpeed, CursorAccelerationInfo.FirstThreshold ,
CursorAccelerationInfo.SecondThreshold, CursorAccelerationInfo.Acceleration,
MouseHoverTime, MouseHoverWidth, MouseHoverHeight
for SPI_SETMOUSEHOVERTIME, SPI_SETMOUSEHOVERWIDTH, SPI_SETMOUSEHOVERHEIGHT, SPI_SETMOUSE, SPI_SETMOUSESPEED.
WARING :
Some of them are not 100% support in win32k for they are need be fill in from the mouse drv and
send them to the mouse drv as well, this part are not done yet.
svn path=/trunk/; revision=27454
2007-07-07 18:17:03 +00:00
|
|
|
|
|
|
|
UINT MouseHoverTime;
|
|
|
|
UINT MouseHoverWidth;
|
|
|
|
UINT MouseHoverHeight;
|
|
|
|
|
2009-10-05 19:53:15 +00:00
|
|
|
UINT MouseSpeed;
|
|
|
|
CURSORACCELERATION_INFO CursorAccelerationInfo;
|
|
|
|
*/
|
2004-05-14 23:57:32 +00:00
|
|
|
DWORD LastBtnDown;
|
|
|
|
LONG LastBtnDownX;
|
|
|
|
LONG LastBtnDownY;
|
|
|
|
HANDLE LastClkWnd;
|
2006-07-10 00:26:56 +00:00
|
|
|
BOOL ScreenSaverRunning;
|
2004-05-14 23:57:32 +00:00
|
|
|
} SYSTEM_CURSORINFO, *PSYSTEM_CURSORINFO;
|
|
|
|
|
2009-12-19 16:23:05 +00:00
|
|
|
BOOL FASTCALL InitCursorImpl();
|
|
|
|
PCURICON_OBJECT FASTCALL IntCreateCurIconHandle();
|
2009-07-26 16:17:50 +00:00
|
|
|
VOID FASTCALL IntCleanupCurIcons(struct _EPROCESS *Process, PPROCESSINFO Win32Process);
|
2003-11-10 17:44:50 +00:00
|
|
|
|
2007-10-19 23:21:45 +00:00
|
|
|
BOOL UserDrawIconEx(HDC hDc, INT xLeft, INT yTop, PCURICON_OBJECT pIcon, INT cxWidth,
|
2006-09-13 13:03:17 +00:00
|
|
|
INT cyHeight, UINT istepIfAniCur, HBRUSH hbrFlickerFreeDraw, UINT diFlags);
|
|
|
|
PCURICON_OBJECT FASTCALL UserGetCurIconObject(HCURSOR hCurIcon);
|
|
|
|
|
2010-01-06 12:44:31 +00:00
|
|
|
BOOL UserSetCursorPos( INT x, INT y);
|
2009-12-19 16:23:05 +00:00
|
|
|
|
2010-01-06 12:44:31 +00:00
|
|
|
int UserShowCursor(BOOL bShow);
|
2008-03-17 22:17:48 +00:00
|
|
|
|
2009-12-19 16:23:05 +00:00
|
|
|
PSYSTEM_CURSORINFO FASTCALL
|
|
|
|
IntGetSysCursorInfo();
|
2004-05-14 23:57:32 +00:00
|
|
|
|
2004-02-26 22:23:55 +00:00
|
|
|
#define IntReleaseCurIconObject(CurIconObj) \
|
2008-02-13 00:46:23 +00:00
|
|
|
UserDereferenceObject(CurIconObj)
|
2004-02-26 22:23:55 +00:00
|
|
|
|
2009-08-07 01:44:38 +00:00
|
|
|
ULONG
|
|
|
|
NTAPI
|
|
|
|
GreSetPointerShape(
|
|
|
|
HDC hdc,
|
|
|
|
HBITMAP hbmMask,
|
|
|
|
HBITMAP hbmColor,
|
|
|
|
LONG xHot,
|
|
|
|
LONG yHot,
|
|
|
|
LONG x,
|
|
|
|
LONG y);
|
|
|
|
|
|
|
|
VOID
|
|
|
|
NTAPI
|
|
|
|
GreMovePointer(
|
|
|
|
HDC hdc,
|
|
|
|
LONG x,
|
|
|
|
LONG y);
|
|
|
|
|
2003-11-10 17:44:50 +00:00
|
|
|
/* EOF */
|