mirror of
https://github.com/reactos/reactos.git
synced 2024-06-28 17:01:28 +00:00
[win32k]
- Clean up win32k headers even more - remove INTERNAL_CALL and use NTAPI instead - remove several unneeded definitions - remove several unneeded header inclusions svn path=/trunk/; revision=53467
This commit is contained in:
parent
a0213bada8
commit
24abf1b222
|
@ -391,102 +391,4 @@ CLIPOBJ_bEnum(
|
||||||
return ClipGDI->EnumPos < ClipGDI->EnumRects.c;
|
return ClipGDI->EnumPos < ClipGDI->EnumRects.c;
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOLEAN FASTCALL
|
|
||||||
ClipobjToSpans(
|
|
||||||
PSPAN *Spans,
|
|
||||||
UINT *Count,
|
|
||||||
CLIPOBJ *ClipRegion,
|
|
||||||
PRECTL Boundary)
|
|
||||||
{
|
|
||||||
BOOL EnumMore;
|
|
||||||
UINT i, NewCount;
|
|
||||||
RECT_ENUM RectEnum;
|
|
||||||
PSPAN NewSpans;
|
|
||||||
RECTL *Rect;
|
|
||||||
|
|
||||||
ASSERT(Boundary->top <= Boundary->bottom && Boundary->left <= Boundary->right);
|
|
||||||
|
|
||||||
*Count = Boundary->bottom - Boundary->top;
|
|
||||||
if (*Count > 0)
|
|
||||||
{
|
|
||||||
*Spans = ExAllocatePoolWithTag(PagedPool, *Count * sizeof(SPAN), GDITAG_CLIPOBJ);
|
|
||||||
if (NULL == *Spans)
|
|
||||||
{
|
|
||||||
*Count = 0;
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (NULL == ClipRegion || DC_TRIVIAL == ClipRegion->iDComplexity)
|
|
||||||
{
|
|
||||||
if (0 != *Count)
|
|
||||||
{
|
|
||||||
for (i = 0; i < Boundary->bottom - Boundary->top; i++)
|
|
||||||
{
|
|
||||||
(*Spans)[i].X = Boundary->left;
|
|
||||||
(*Spans)[i].Y = Boundary->top + i;
|
|
||||||
(*Spans)[i].Width = Boundary->right - Boundary->left;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
*Count = 0;
|
|
||||||
CLIPOBJ_cEnumStart(ClipRegion, FALSE, CT_RECTANGLES, CD_ANY, 0);
|
|
||||||
do
|
|
||||||
{
|
|
||||||
EnumMore = CLIPOBJ_bEnum(ClipRegion, (ULONG) sizeof(RECT_ENUM), (PVOID) &RectEnum);
|
|
||||||
|
|
||||||
NewCount = *Count;
|
|
||||||
for (i = 0; i < RectEnum.c; i++)
|
|
||||||
{
|
|
||||||
NewCount += RectEnum.arcl[i].bottom - RectEnum.arcl[i].top;
|
|
||||||
}
|
|
||||||
if (NewCount != *Count)
|
|
||||||
{
|
|
||||||
NewSpans = ExAllocatePoolWithTag(PagedPool, NewCount * sizeof(SPAN), GDITAG_CLIPOBJ);
|
|
||||||
if (NULL == NewSpans)
|
|
||||||
{
|
|
||||||
if (NULL != *Spans)
|
|
||||||
{
|
|
||||||
ExFreePoolWithTag(*Spans, GDITAG_CLIPOBJ);
|
|
||||||
*Spans = NULL;
|
|
||||||
}
|
|
||||||
*Count = 0;
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
if (0 != *Count)
|
|
||||||
{
|
|
||||||
PSPAN dest, src;
|
|
||||||
UINT i = *Count;
|
|
||||||
for(dest = NewSpans, src = *Spans;i > 0; i--)
|
|
||||||
{
|
|
||||||
*dest++ = *src++;
|
|
||||||
}
|
|
||||||
ExFreePoolWithTag(*Spans, GDITAG_CLIPOBJ);
|
|
||||||
}
|
|
||||||
*Spans = NewSpans;
|
|
||||||
}
|
|
||||||
for (Rect = RectEnum.arcl; Rect < RectEnum.arcl + RectEnum.c; Rect++)
|
|
||||||
{
|
|
||||||
for (i = 0; i < Rect->bottom - Rect->top; i++)
|
|
||||||
{
|
|
||||||
(*Spans)[*Count].X = Rect->left;
|
|
||||||
(*Spans)[*Count].Y = Rect->top + i;
|
|
||||||
(*Spans)[*Count].Width = Rect->right - Rect->left;
|
|
||||||
(*Count)++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ASSERT(*Count == NewCount);
|
|
||||||
}
|
|
||||||
while (EnumMore);
|
|
||||||
|
|
||||||
if (0 != *Count)
|
|
||||||
{
|
|
||||||
EngSort((PBYTE) *Spans, sizeof(SPAN), *Count, (SORTCOMP) CompareSpans);
|
|
||||||
}
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
/*!
|
/*!
|
||||||
* \brief DRIVEROBJ cleanup function
|
* \brief DRIVEROBJ cleanup function
|
||||||
*/
|
*/
|
||||||
BOOL INTERNAL_CALL
|
BOOL NTAPI
|
||||||
DRIVEROBJ_Cleanup(PVOID pObject)
|
DRIVEROBJ_Cleanup(PVOID pObject)
|
||||||
{
|
{
|
||||||
PEDRIVEROBJ pedo = pObject;
|
PEDRIVEROBJ pedo = pObject;
|
||||||
|
|
|
@ -35,7 +35,7 @@ EngSetPointerTag(
|
||||||
* FUNCTION: Notify the mouse driver that drawing is about to begin in
|
* FUNCTION: Notify the mouse driver that drawing is about to begin in
|
||||||
* a rectangle on a particular surface.
|
* a rectangle on a particular surface.
|
||||||
*/
|
*/
|
||||||
INT INTERNAL_CALL
|
INT NTAPI
|
||||||
MouseSafetyOnDrawStart(
|
MouseSafetyOnDrawStart(
|
||||||
PPDEVOBJ ppdev,
|
PPDEVOBJ ppdev,
|
||||||
LONG HazardX1,
|
LONG HazardX1,
|
||||||
|
@ -91,7 +91,7 @@ MouseSafetyOnDrawStart(
|
||||||
/*
|
/*
|
||||||
* FUNCTION: Notify the mouse driver that drawing has finished on a surface.
|
* FUNCTION: Notify the mouse driver that drawing has finished on a surface.
|
||||||
*/
|
*/
|
||||||
INT INTERNAL_CALL
|
INT NTAPI
|
||||||
MouseSafetyOnDrawEnd(
|
MouseSafetyOnDrawEnd(
|
||||||
PPDEVOBJ ppdev)
|
PPDEVOBJ ppdev)
|
||||||
{
|
{
|
||||||
|
@ -125,7 +125,7 @@ MouseSafetyOnDrawEnd(
|
||||||
/* SOFTWARE MOUSE POINTER IMPLEMENTATION **************************************/
|
/* SOFTWARE MOUSE POINTER IMPLEMENTATION **************************************/
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
INTERNAL_CALL
|
NTAPI
|
||||||
IntHideMousePointer(
|
IntHideMousePointer(
|
||||||
PDEVOBJ *ppdev,
|
PDEVOBJ *ppdev,
|
||||||
SURFOBJ *psoDest)
|
SURFOBJ *psoDest)
|
||||||
|
@ -179,7 +179,7 @@ IntHideMousePointer(
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
INTERNAL_CALL
|
NTAPI
|
||||||
IntShowMousePointer(PDEVOBJ *ppdev, SURFOBJ *psoDest)
|
IntShowMousePointer(PDEVOBJ *ppdev, SURFOBJ *psoDest)
|
||||||
{
|
{
|
||||||
GDIPOINTER *pgp;
|
GDIPOINTER *pgp;
|
||||||
|
|
|
@ -64,7 +64,7 @@ ULONG FASTCALL BitmapFormat(ULONG cBits, ULONG iCompression)
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
INTERNAL_CALL
|
NTAPI
|
||||||
SURFACE_Cleanup(PVOID ObjectBody)
|
SURFACE_Cleanup(PVOID ObjectBody)
|
||||||
{
|
{
|
||||||
PSURFACE psurf = (PSURFACE)ObjectBody;
|
PSURFACE psurf = (PSURFACE)ObjectBody;
|
||||||
|
|
|
@ -1,9 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <include/win32.h>
|
|
||||||
#include <include/winsta.h>
|
|
||||||
#include <include/window.h>
|
|
||||||
|
|
||||||
typedef struct _ACCELERATOR_TABLE
|
typedef struct _ACCELERATOR_TABLE
|
||||||
{
|
{
|
||||||
HEAD head;
|
HEAD head;
|
||||||
|
@ -11,12 +7,6 @@ typedef struct _ACCELERATOR_TABLE
|
||||||
LPACCEL Table;
|
LPACCEL Table;
|
||||||
} ACCELERATOR_TABLE, *PACCELERATOR_TABLE;
|
} ACCELERATOR_TABLE, *PACCELERATOR_TABLE;
|
||||||
|
|
||||||
INIT_FUNCTION
|
INIT_FUNCTION NTSTATUS NTAPI InitAcceleratorImpl(VOID);
|
||||||
NTSTATUS
|
NTSTATUS FASTCALL CleanupAcceleratorImpl(VOID);
|
||||||
NTAPI
|
|
||||||
InitAcceleratorImpl(VOID);
|
|
||||||
|
|
||||||
NTSTATUS FASTCALL
|
|
||||||
CleanupAcceleratorImpl(VOID);
|
|
||||||
|
|
||||||
PACCELERATOR_TABLE FASTCALL UserGetAccelObject(HACCEL);
|
PACCELERATOR_TABLE FASTCALL UserGetAccelObject(HACCEL);
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
INT APIENTRY BITMAP_GetObject(SURFACE * bmp, INT count, LPVOID buffer);
|
INT APIENTRY BITMAP_GetObject(SURFACE * bmp, INT count, LPVOID buffer);
|
||||||
HBITMAP FASTCALL IntCreateBitmap(IN SIZEL Size, IN LONG Width, IN ULONG Format, IN ULONG Flags, IN PVOID Bits);
|
|
||||||
HBITMAP FASTCALL BITMAP_CopyBitmap (HBITMAP hBitmap);
|
HBITMAP FASTCALL BITMAP_CopyBitmap (HBITMAP hBitmap);
|
||||||
|
|
||||||
HBITMAP
|
HBITMAP
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "gdiobj.h"
|
|
||||||
|
|
||||||
/* Internal interface */
|
/* Internal interface */
|
||||||
|
|
||||||
#define NB_HATCH_STYLES 6
|
#define NB_HATCH_STYLES 6
|
||||||
|
@ -96,7 +94,7 @@ typedef struct _EBRUSHOBJ
|
||||||
#define BRUSH_ShareUnlockBrush(pBrush) GDIOBJ_vDereferenceObject((POBJ)pBrush)
|
#define BRUSH_ShareUnlockBrush(pBrush) GDIOBJ_vDereferenceObject((POBJ)pBrush)
|
||||||
|
|
||||||
INT FASTCALL BRUSH_GetObject (PBRUSH GdiObject, INT Count, LPLOGBRUSH Buffer);
|
INT FASTCALL BRUSH_GetObject (PBRUSH GdiObject, INT Count, LPLOGBRUSH Buffer);
|
||||||
BOOL INTERNAL_CALL BRUSH_Cleanup(PVOID ObjectBody);
|
BOOL NTAPI BRUSH_Cleanup(PVOID ObjectBody);
|
||||||
|
|
||||||
struct _DC;
|
struct _DC;
|
||||||
|
|
||||||
|
@ -124,10 +122,6 @@ PVOID
|
||||||
NTAPI
|
NTAPI
|
||||||
EBRUSHOBJ_pvGetEngBrush(EBRUSHOBJ *pebo);
|
EBRUSHOBJ_pvGetEngBrush(EBRUSHOBJ *pebo);
|
||||||
|
|
||||||
PVOID FASTCALL AllocateObjectAttr(VOID);
|
|
||||||
|
|
||||||
VOID FASTCALL FreeObjectAttr(PVOID);
|
|
||||||
|
|
||||||
BOOL FASTCALL IntGdiSetBrushOwner(PBRUSH,DWORD);
|
BOOL FASTCALL IntGdiSetBrushOwner(PBRUSH,DWORD);
|
||||||
BOOL FASTCALL GreSetBrushOwner(HBRUSH,DWORD);
|
BOOL FASTCALL GreSetBrushOwner(HBRUSH,DWORD);
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <include/win32.h>
|
|
||||||
|
|
||||||
LRESULT APIENTRY
|
LRESULT APIENTRY
|
||||||
co_IntCallWindowProc(WNDPROC Proc,
|
co_IntCallWindowProc(WNDPROC Proc,
|
||||||
BOOLEAN IsAnsiProc,
|
BOOLEAN IsAnsiProc,
|
||||||
|
|
|
@ -1,22 +1,10 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <include/win32.h>
|
BOOL FASTCALL co_IntDestroyCaret(PTHREADINFO Win32Thread);
|
||||||
#include <include/window.h>
|
BOOL FASTCALL IntSetCaretBlinkTime(UINT uMSeconds);
|
||||||
|
BOOL FASTCALL co_IntSetCaretPos(int X, int Y);
|
||||||
BOOL FASTCALL
|
BOOL FASTCALL IntSwitchCaretShowing(PVOID Info);
|
||||||
co_IntDestroyCaret(PTHREADINFO Win32Thread);
|
|
||||||
|
|
||||||
BOOL FASTCALL
|
|
||||||
IntSetCaretBlinkTime(UINT uMSeconds);
|
|
||||||
|
|
||||||
BOOL FASTCALL
|
|
||||||
co_IntSetCaretPos(int X, int Y);
|
|
||||||
|
|
||||||
BOOL FASTCALL
|
|
||||||
IntSwitchCaretShowing(PVOID Info);
|
|
||||||
|
|
||||||
BOOL FASTCALL co_UserShowCaret(PWND WindowObject);
|
BOOL FASTCALL co_UserShowCaret(PWND WindowObject);
|
||||||
|
|
||||||
BOOL FASTCALL co_UserHideCaret(PWND WindowObject);
|
BOOL FASTCALL co_UserHideCaret(PWND WindowObject);
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <include/win32.h>
|
|
||||||
#include <include/desktop.h>
|
|
||||||
|
|
||||||
#define IS_ATOM(x) \
|
#define IS_ATOM(x) \
|
||||||
(((ULONG_PTR)(x) > 0x0) && ((ULONG_PTR)(x) < 0x10000))
|
(((ULONG_PTR)(x) > 0x0) && ((ULONG_PTR)(x) < 0x10000))
|
||||||
|
|
||||||
|
@ -19,17 +16,10 @@ IsCallProcHandle(IN WNDPROC lpWndProc)
|
||||||
return ((ULONG_PTR)lpWndProc & 0xFFFF0000) == 0xFFFF0000;
|
return ((ULONG_PTR)lpWndProc & 0xFFFF0000) == 0xFFFF0000;
|
||||||
}
|
}
|
||||||
|
|
||||||
WNDPROC
|
|
||||||
GetCallProcHandle(IN PCALLPROCDATA CallProc);
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
DestroyCallProc(IN PDESKTOPINFO Desktop,
|
DestroyCallProc(IN PDESKTOPINFO Desktop,
|
||||||
IN OUT PCALLPROCDATA CallProc);
|
IN OUT PCALLPROCDATA CallProc);
|
||||||
|
|
||||||
PCALLPROCDATA
|
|
||||||
CloneCallProc(IN PDESKTOP Desktop,
|
|
||||||
IN PCALLPROCDATA CallProc);
|
|
||||||
|
|
||||||
PCALLPROCDATA
|
PCALLPROCDATA
|
||||||
CreateCallProc(IN PDESKTOP Desktop,
|
CreateCallProc(IN PDESKTOP Desktop,
|
||||||
IN WNDPROC WndProc,
|
IN WNDPROC WndProc,
|
||||||
|
@ -43,48 +33,14 @@ UserGetCallProcInfo(IN HANDLE hCallProc,
|
||||||
void FASTCALL
|
void FASTCALL
|
||||||
DestroyProcessClasses(PPROCESSINFO Process );
|
DestroyProcessClasses(PPROCESSINFO Process );
|
||||||
|
|
||||||
PCLS
|
|
||||||
IntReferenceClass(IN OUT PCLS BaseClass,
|
|
||||||
IN OUT PCLS *ClassLink,
|
|
||||||
IN PDESKTOP Desktop);
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
IntDereferenceClass(IN OUT PCLS Class,
|
IntDereferenceClass(IN OUT PCLS Class,
|
||||||
IN PDESKTOPINFO Desktop,
|
IN PDESKTOPINFO Desktop,
|
||||||
IN PPROCESSINFO pi);
|
IN PPROCESSINFO pi);
|
||||||
|
|
||||||
RTL_ATOM
|
|
||||||
UserRegisterClass(IN CONST WNDCLASSEXW* lpwcx,
|
|
||||||
IN PUNICODE_STRING ClassName,
|
|
||||||
IN PUNICODE_STRING MenuName,
|
|
||||||
IN DWORD fnID,
|
|
||||||
IN DWORD dwFlags);
|
|
||||||
|
|
||||||
BOOL
|
|
||||||
UserUnregisterClass(IN PUNICODE_STRING ClassName,
|
|
||||||
IN HINSTANCE hInstance,
|
|
||||||
OUT PCLSMENUNAME pClassMenuName);
|
|
||||||
|
|
||||||
RTL_ATOM
|
|
||||||
IntGetClassAtom(IN PUNICODE_STRING ClassName,
|
|
||||||
IN HINSTANCE hInstance OPTIONAL,
|
|
||||||
IN PPROCESSINFO pi OPTIONAL,
|
|
||||||
OUT PCLS *BaseClass OPTIONAL,
|
|
||||||
OUT PCLS **Link OPTIONAL);
|
|
||||||
|
|
||||||
PCLS
|
PCLS
|
||||||
IntGetAndReferenceClass(PUNICODE_STRING ClassName, HINSTANCE hInstance);
|
IntGetAndReferenceClass(PUNICODE_STRING ClassName, HINSTANCE hInstance);
|
||||||
|
|
||||||
PCLS
|
|
||||||
FASTCALL
|
|
||||||
IntCreateClass(IN CONST WNDCLASSEXW* lpwcx,
|
|
||||||
IN PUNICODE_STRING ClassName,
|
|
||||||
IN PUNICODE_STRING MenuName,
|
|
||||||
IN DWORD fnID,
|
|
||||||
IN DWORD dwFlags,
|
|
||||||
IN PDESKTOP Desktop,
|
|
||||||
IN PPROCESSINFO pi);
|
|
||||||
|
|
||||||
BOOL FASTCALL UserRegisterSystemClasses(VOID);
|
BOOL FASTCALL UserRegisterSystemClasses(VOID);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
@ -99,8 +55,6 @@ BOOL
|
||||||
IntCheckProcessDesktopClasses(IN PDESKTOP Desktop,
|
IntCheckProcessDesktopClasses(IN PDESKTOP Desktop,
|
||||||
IN BOOL FreeOnFailure);
|
IN BOOL FreeOnFailure);
|
||||||
|
|
||||||
BOOL FASTCALL LookupFnIdToiCls(int, int * );
|
|
||||||
WNDPROC FASTCALL IntGetClassWndProc(PCLS, BOOL);
|
|
||||||
ULONG_PTR FASTCALL UserGetCPD(PVOID,GETCPD,ULONG_PTR);
|
ULONG_PTR FASTCALL UserGetCPD(PVOID,GETCPD,ULONG_PTR);
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
#pragma once
|
|
||||||
|
|
||||||
NTSTATUS FASTCALL
|
|
||||||
IntSafeCopyUnicodeString(PUNICODE_STRING Dest,
|
|
||||||
PUNICODE_STRING Source);
|
|
||||||
|
|
||||||
NTSTATUS FASTCALL
|
|
||||||
IntSafeCopyUnicodeStringTerminateNULL(PUNICODE_STRING Dest,
|
|
||||||
PUNICODE_STRING Source);
|
|
|
@ -1,10 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "window.h"
|
|
||||||
#include <include/win32.h>
|
|
||||||
|
|
||||||
VOID FASTCALL IntIncrementSequenceNumber(VOID);
|
|
||||||
|
|
||||||
typedef struct _ClipboardChainElement
|
typedef struct _ClipboardChainElement
|
||||||
{
|
{
|
||||||
PWND window;
|
PWND window;
|
||||||
|
@ -40,12 +35,6 @@ typedef struct _CLIPBOARDSYSTEM
|
||||||
|
|
||||||
} CLIPBOARDSYSTEM, *PCLIPBOARDSYSTEM;
|
} CLIPBOARDSYSTEM, *PCLIPBOARDSYSTEM;
|
||||||
|
|
||||||
VOID FASTCALL
|
VOID FASTCALL IntClipboardFreeWindow(PWND window);
|
||||||
IntClipboardFreeWindow(PWND window);
|
|
||||||
|
|
||||||
UINT APIENTRY IntEnumClipboardFormats(UINT format);
|
UINT APIENTRY IntEnumClipboardFormats(UINT format);
|
||||||
|
VOID FASTCALL IntIncrementSequenceNumber(VOID);
|
||||||
/*
|
|
||||||
UINT FASTCALL
|
|
||||||
IntEnumClipboardFormats(UINT format);
|
|
||||||
*/
|
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
INT FASTCALL IntGdiGetClipBox(PDC, RECTL* rc);
|
|
||||||
INT FASTCALL IntGdiExtSelectClipRgn (PDC, PROSRGNDATA, int);
|
|
||||||
|
|
||||||
INT FASTCALL GdiGetClipBox(HDC hDC, RECTL *rc);
|
INT FASTCALL GdiGetClipBox(HDC hDC, RECTL *rc);
|
||||||
INT FASTCALL GdiSelectVisRgn(HDC hdc, HRGN hrgn);
|
INT FASTCALL GdiSelectVisRgn(HDC hdc, HRGN hrgn);
|
||||||
INT FASTCALL GdiExtSelectClipRgn (PDC dc, HRGN hrgn, int fnMode);
|
INT FASTCALL GdiExtSelectClipRgn (PDC dc, HRGN hrgn, int fnMode);
|
||||||
|
|
|
@ -32,10 +32,4 @@ typedef struct _COLORTRANSFORMOBJ
|
||||||
|
|
||||||
extern HCOLORSPACE hStockColorSpace;
|
extern HCOLORSPACE hStockColorSpace;
|
||||||
|
|
||||||
const PALETTEENTRY* FASTCALL COLOR_GetSystemPaletteTemplate (VOID);
|
|
||||||
COLORREF APIENTRY COLOR_LookupNearestColor (PALETTEENTRY* palPalEntry, INT size, COLORREF color);
|
|
||||||
INT APIENTRY COLOR_PaletteLookupExactIndex (PALETTEENTRY* palPalEntry, INT size, COLORREF col);
|
|
||||||
INT APIENTRY COLOR_PaletteLookupPixel(PALETTEENTRY *palPalEntry, INT size, XLATEOBJ *XlateObj, COLORREF col, BOOL skipReserved);
|
|
||||||
UINT FASTCALL IntGdiRealizePalette (HDC);
|
UINT FASTCALL IntGdiRealizePalette (HDC);
|
||||||
HCOLORSPACE FASTCALL IntGdiCreateColorSpace(PLOGCOLORSPACEEXW);
|
|
||||||
BOOL FASTCALL IntGdiDeleteColorSpace(HCOLORSPACE);
|
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <include/dc.h>
|
|
||||||
#include <include/xformobj.h>
|
|
||||||
|
|
||||||
#define IntLPtoDP(pdc, ppt, count) DC_vXformWorldToDevice(pdc, count, (PPOINTL)(ppt), (PPOINTL)(ppt));
|
#define IntLPtoDP(pdc, ppt, count) DC_vXformWorldToDevice(pdc, count, (PPOINTL)(ppt), (PPOINTL)(ppt));
|
||||||
#define CoordLPtoDP(pdc, ppt) DC_vXformWorldToDevice(pdc, 1, (PPOINTL)(ppt), (PPOINTL)(ppt));
|
#define CoordLPtoDP(pdc, ppt) DC_vXformWorldToDevice(pdc, 1, (PPOINTL)(ppt), (PPOINTL)(ppt));
|
||||||
#define IntDPtoLP(pdc, ppt, count) DC_vXformDeviceToWorld(pdc, count, (PPOINTL)(ppt), (PPOINTL)(ppt));
|
#define IntDPtoLP(pdc, ppt, count) DC_vXformDeviceToWorld(pdc, count, (PPOINTL)(ppt), (PPOINTL)(ppt));
|
||||||
|
|
|
@ -76,22 +76,4 @@ PSYSTEM_CURSORINFO IntGetSysCursorInfo(VOID);
|
||||||
#define IntReleaseCurIconObject(CurIconObj) \
|
#define IntReleaseCurIconObject(CurIconObj) \
|
||||||
UserDereferenceObject(CurIconObj)
|
UserDereferenceObject(CurIconObj)
|
||||||
|
|
||||||
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);
|
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -1,15 +1,6 @@
|
||||||
#ifndef __WIN32K_DC_H
|
#ifndef __WIN32K_DC_H
|
||||||
#define __WIN32K_DC_H
|
#define __WIN32K_DC_H
|
||||||
|
|
||||||
typedef struct _DC *PDC;
|
|
||||||
|
|
||||||
#include "engobjects.h"
|
|
||||||
#include "brush.h"
|
|
||||||
#include "bitmaps.h"
|
|
||||||
#include "pdevobj.h"
|
|
||||||
#include "palette.h"
|
|
||||||
#include "region.h"
|
|
||||||
|
|
||||||
/* Constants ******************************************************************/
|
/* Constants ******************************************************************/
|
||||||
|
|
||||||
/* Get/SetBounds/Rect support. */
|
/* Get/SetBounds/Rect support. */
|
||||||
|
@ -154,16 +145,10 @@ extern PDC defaultDCstate;
|
||||||
INIT_FUNCTION NTSTATUS NTAPI InitDcImpl(VOID);
|
INIT_FUNCTION NTSTATUS NTAPI InitDcImpl(VOID);
|
||||||
PPDEVOBJ FASTCALL IntEnumHDev(VOID);
|
PPDEVOBJ FASTCALL IntEnumHDev(VOID);
|
||||||
PDC NTAPI DC_AllocDcWithHandle(VOID);
|
PDC NTAPI DC_AllocDcWithHandle(VOID);
|
||||||
VOID FASTCALL DC_InitDC(HDC DCToInit);
|
|
||||||
BOOL NTAPI DC_bAllocDcAttr(PDC pdc);
|
BOOL NTAPI DC_bAllocDcAttr(PDC pdc);
|
||||||
VOID FASTCALL DC_FreeDcAttr(HDC);
|
BOOL NTAPI DC_Cleanup(PVOID ObjectBody);
|
||||||
BOOL INTERNAL_CALL DC_Cleanup(PVOID ObjectBody);
|
|
||||||
BOOL FASTCALL DC_SetOwnership(HDC hDC, PEPROCESS Owner);
|
|
||||||
VOID FASTCALL DC_LockDisplay(HDC);
|
|
||||||
VOID FASTCALL DC_UnlockDisplay(HDC);
|
|
||||||
BOOL FASTCALL IntGdiDeleteDC(HDC, BOOL);
|
BOOL FASTCALL IntGdiDeleteDC(HDC, BOOL);
|
||||||
|
|
||||||
VOID FASTCALL DC_UpdateXforms(PDC dc);
|
|
||||||
BOOL FASTCALL DC_InvertXform(const XFORM *xformSrc, XFORM *xformDest);
|
BOOL FASTCALL DC_InvertXform(const XFORM *xformSrc, XFORM *xformDest);
|
||||||
VOID FASTCALL DC_vUpdateViewportExt(PDC pdc);
|
VOID FASTCALL DC_vUpdateViewportExt(PDC pdc);
|
||||||
VOID FASTCALL DC_vCopyState(PDC pdcSrc, PDC pdcDst, BOOL to);
|
VOID FASTCALL DC_vCopyState(PDC pdcSrc, PDC pdcDst, BOOL to);
|
||||||
|
@ -176,27 +161,19 @@ VOID FASTCALL DC_vPrepareDCsForBlit(PDC pdc1, RECT rc1, PDC pdc2, RECT rc2);
|
||||||
|
|
||||||
VOID NTAPI DC_vRestoreDC(IN PDC pdc, INT iSaveLevel);
|
VOID NTAPI DC_vRestoreDC(IN PDC pdc, INT iSaveLevel);
|
||||||
|
|
||||||
BOOL FASTCALL DCU_SyncDcAttrtoUser(PDC);
|
|
||||||
BOOL FASTCALL DCU_SynchDcAttrtoUser(HDC);
|
|
||||||
VOID FASTCALL DCU_SetDcUndeletable(HDC);
|
VOID FASTCALL DCU_SetDcUndeletable(HDC);
|
||||||
VOID NTAPI DC_vFreeDcAttr(PDC pdc);
|
VOID NTAPI DC_vFreeDcAttr(PDC pdc);
|
||||||
VOID NTAPI DC_vInitDc(PDC pdc, DCTYPE dctype, PPDEVOBJ ppdev);
|
VOID NTAPI DC_vInitDc(PDC pdc, DCTYPE dctype, PPDEVOBJ ppdev);
|
||||||
|
|
||||||
COLORREF FASTCALL IntGdiSetBkColor (HDC hDC, COLORREF Color);
|
COLORREF FASTCALL IntGdiSetBkColor (HDC hDC, COLORREF Color);
|
||||||
INT FASTCALL IntGdiSetBkMode(HDC hDC, INT backgroundMode);
|
INT FASTCALL IntGdiSetBkMode(HDC hDC, INT backgroundMode);
|
||||||
COLORREF APIENTRY IntGdiGetBkColor(HDC hDC);
|
|
||||||
INT APIENTRY IntGdiGetBkMode(HDC hDC);
|
|
||||||
COLORREF FASTCALL IntGdiSetTextColor(HDC hDC, COLORREF color);
|
COLORREF FASTCALL IntGdiSetTextColor(HDC hDC, COLORREF color);
|
||||||
UINT FASTCALL IntGdiSetTextAlign(HDC hDC, UINT Mode);
|
UINT FASTCALL IntGdiSetTextAlign(HDC hDC, UINT Mode);
|
||||||
UINT APIENTRY IntGdiGetTextAlign(HDC hDC);
|
|
||||||
COLORREF APIENTRY IntGdiGetTextColor(HDC hDC);
|
|
||||||
INT APIENTRY IntGdiSetStretchBltMode(HDC hDC, INT stretchBltMode);
|
|
||||||
VOID FASTCALL IntGdiReferencePdev(PPDEVOBJ pPDev);
|
VOID FASTCALL IntGdiReferencePdev(PPDEVOBJ pPDev);
|
||||||
VOID FASTCALL IntGdiUnreferencePdev(PPDEVOBJ pPDev, DWORD CleanUpType);
|
VOID FASTCALL IntGdiUnreferencePdev(PPDEVOBJ pPDev, DWORD CleanUpType);
|
||||||
HDC FASTCALL IntGdiCreateDisplayDC(HDEV hDev, ULONG DcType, BOOL EmptyDC);
|
HDC FASTCALL IntGdiCreateDisplayDC(HDEV hDev, ULONG DcType, BOOL EmptyDC);
|
||||||
BOOL FASTCALL IntGdiCleanDC(HDC hDC);
|
BOOL FASTCALL IntGdiCleanDC(HDC hDC);
|
||||||
VOID FASTCALL IntvGetDeviceCaps(PPDEVOBJ, PDEVCAPS);
|
VOID FASTCALL IntvGetDeviceCaps(PPDEVOBJ, PDEVCAPS);
|
||||||
BOOL FASTCALL MakeInfoDC(PDC,BOOL);
|
|
||||||
BOOL FASTCALL IntSetDefaultRegion(PDC);
|
BOOL FASTCALL IntSetDefaultRegion(PDC);
|
||||||
BOOL NTAPI GreSetDCOwner(HDC hdc, ULONG ulOwner);
|
BOOL NTAPI GreSetDCOwner(HDC hdc, ULONG ulOwner);
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
/* Ported from WINE by Jason Filby */
|
|
||||||
|
|
||||||
typedef struct tagDCE *PDCE;
|
|
||||||
|
|
||||||
#include <include/window.h>
|
|
||||||
|
|
||||||
typedef HANDLE HDCE;
|
|
||||||
|
|
||||||
/* DC hook codes */
|
/* DC hook codes */
|
||||||
#define DCHC_INVALIDVISRGN 0x0001
|
#define DCHC_INVALIDVISRGN 0x0001
|
||||||
#define DCHC_DELETEDC 0x0002
|
#define DCHC_DELETEDC 0x0002
|
||||||
|
@ -37,24 +29,19 @@ typedef struct tagDCE
|
||||||
PTHREADINFO ptiOwner;
|
PTHREADINFO ptiOwner;
|
||||||
PPROCESSINFO ppiOwner;
|
PPROCESSINFO ppiOwner;
|
||||||
struct _MONITOR* pMonitor;
|
struct _MONITOR* pMonitor;
|
||||||
} DCE; /* PDCE already declared at top of file */
|
} DCE, *PDCE;
|
||||||
|
|
||||||
/* internal DCX flags, see psdk/winuser.h for the rest */
|
/* internal DCX flags, see psdk/winuser.h for the rest */
|
||||||
#define DCX_DCEEMPTY 0x00000800
|
#define DCX_DCEEMPTY 0x00000800
|
||||||
#define DCX_DCEBUSY 0x00001000
|
#define DCX_DCEBUSY 0x00001000
|
||||||
#define DCX_DCEDIRTY 0x00002000
|
#define DCX_DCEDIRTY 0x00002000
|
||||||
#define DCX_LAYEREDWIN 0x00004000
|
#define DCX_LAYEREDWIN 0x00004000
|
||||||
#define DCX_DCPOWNED 0x00008000
|
#define DCX_DCPOWNED 0x00008000
|
||||||
#define DCX_NOCLIPCHILDREN 0x00080000
|
#define DCX_NOCLIPCHILDREN 0x00080000
|
||||||
#define DCX_NORECOMPUTE 0x00100000
|
#define DCX_NORECOMPUTE 0x00100000
|
||||||
#define DCX_INDESTROY 0x00400000
|
#define DCX_INDESTROY 0x00400000
|
||||||
|
|
||||||
BOOL FASTCALL DCE_Cleanup(PDCE pDce);
|
|
||||||
PDCE FASTCALL DceAllocDCE(PWND Window, DCE_TYPE Type);
|
PDCE FASTCALL DceAllocDCE(PWND Window, DCE_TYPE Type);
|
||||||
PDCE FASTCALL DCE_FreeDCE(PDCE dce);
|
|
||||||
VOID FASTCALL DCE_FreeWindowDCE(HWND);
|
|
||||||
INT FASTCALL DCE_ExcludeRgn(HDC, HWND, HRGN);
|
|
||||||
BOOL FASTCALL DCE_InvalidateDCE(HWND, const PRECTL);
|
|
||||||
HWND FASTCALL IntWindowFromDC(HDC hDc);
|
HWND FASTCALL IntWindowFromDC(HDC hDc);
|
||||||
PDCE FASTCALL DceFreeDCE(PDCE dce, BOOLEAN Force);
|
PDCE FASTCALL DceFreeDCE(PDCE dce, BOOLEAN Force);
|
||||||
void FASTCALL DceEmptyCache(void);
|
void FASTCALL DceEmptyCache(void);
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "msgqueue.h"
|
|
||||||
#include "window.h"
|
|
||||||
|
|
||||||
typedef struct _DESKTOP
|
typedef struct _DESKTOP
|
||||||
{
|
{
|
||||||
PDESKTOPINFO pDeskInfo;
|
PDESKTOPINFO pDeskInfo;
|
||||||
|
@ -32,7 +29,7 @@ typedef struct _DESKTOP
|
||||||
/* Thread blocking input */
|
/* Thread blocking input */
|
||||||
PVOID BlockInputThread;
|
PVOID BlockInputThread;
|
||||||
LIST_ENTRY ShellHookWindows;
|
LIST_ENTRY ShellHookWindows;
|
||||||
} DESKTOP, *PDESKTOP;
|
} DESKTOP;
|
||||||
|
|
||||||
// Desktop flags
|
// Desktop flags
|
||||||
#define DF_TME_HOVER 0x00000400
|
#define DF_TME_HOVER 0x00000400
|
||||||
|
@ -81,9 +78,6 @@ IntDesktopObjectDelete(PWIN32_DELETEMETHOD_PARAMETERS Parameters);
|
||||||
NTSTATUS NTAPI
|
NTSTATUS NTAPI
|
||||||
IntDesktopOkToClose(PWIN32_OKAYTOCLOSEMETHOD_PARAMETERS Parameters);
|
IntDesktopOkToClose(PWIN32_OKAYTOCLOSEMETHOD_PARAMETERS Parameters);
|
||||||
|
|
||||||
LRESULT CALLBACK
|
|
||||||
IntDesktopWindowProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
|
||||||
|
|
||||||
HDC FASTCALL
|
HDC FASTCALL
|
||||||
IntGetScreenDC(VOID);
|
IntGetScreenDC(VOID);
|
||||||
|
|
||||||
|
@ -111,9 +105,6 @@ co_IntShowDesktop(PDESKTOP Desktop, ULONG Width, ULONG Height);
|
||||||
NTSTATUS FASTCALL
|
NTSTATUS FASTCALL
|
||||||
IntHideDesktop(PDESKTOP Desktop);
|
IntHideDesktop(PDESKTOP Desktop);
|
||||||
|
|
||||||
HDESK FASTCALL
|
|
||||||
IntGetDesktopObjectHandle(PDESKTOP DesktopObject);
|
|
||||||
|
|
||||||
BOOL IntSetThreadDesktop(IN HDESK hDesktop,
|
BOOL IntSetThreadDesktop(IN HDESK hDesktop,
|
||||||
IN BOOL FreeOnFailure);
|
IN BOOL FreeOnFailure);
|
||||||
|
|
||||||
|
@ -123,18 +114,19 @@ IntValidateDesktopHandle(
|
||||||
KPROCESSOR_MODE AccessMode,
|
KPROCESSOR_MODE AccessMode,
|
||||||
ACCESS_MASK DesiredAccess,
|
ACCESS_MASK DesiredAccess,
|
||||||
PDESKTOP *Object);
|
PDESKTOP *Object);
|
||||||
|
|
||||||
NTSTATUS FASTCALL
|
NTSTATUS FASTCALL
|
||||||
IntParseDesktopPath(PEPROCESS Process,
|
IntParseDesktopPath(PEPROCESS Process,
|
||||||
PUNICODE_STRING DesktopPath,
|
PUNICODE_STRING DesktopPath,
|
||||||
HWINSTA *hWinSta,
|
HWINSTA *hWinSta,
|
||||||
HDESK *hDesktop);
|
HDESK *hDesktop);
|
||||||
|
|
||||||
BOOL FASTCALL IntDesktopUpdatePerUserSettings(BOOL bEnable);
|
BOOL FASTCALL IntDesktopUpdatePerUserSettings(BOOL bEnable);
|
||||||
VOID APIENTRY UserRedrawDesktop(VOID);
|
VOID APIENTRY UserRedrawDesktop(VOID);
|
||||||
BOOL IntRegisterShellHookWindow(HWND hWnd);
|
BOOL IntRegisterShellHookWindow(HWND hWnd);
|
||||||
BOOL IntDeRegisterShellHookWindow(HWND hWnd);
|
BOOL IntDeRegisterShellHookWindow(HWND hWnd);
|
||||||
VOID co_IntShellHookNotify(WPARAM Message, LPARAM lParam);
|
VOID co_IntShellHookNotify(WPARAM Message, LPARAM lParam);
|
||||||
HDC FASTCALL UserGetDesktopDC(ULONG,BOOL,BOOL);
|
HDC FASTCALL UserGetDesktopDC(ULONG,BOOL,BOOL);
|
||||||
BOOL FASTCALL IntPaintDesktop(HDC hDC);
|
|
||||||
|
|
||||||
#define IntIsActiveDesktop(Desktop) \
|
#define IntIsActiveDesktop(Desktop) \
|
||||||
((Desktop)->rpwinstaParent->ActiveDesktop == (Desktop))
|
((Desktop)->rpwinstaParent->ActiveDesktop == (Desktop))
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
|
|
||||||
//#define _PDEVOBJ _PDEVOBJ2
|
|
||||||
//#define PDEVOBJ PDEVOBJ2
|
|
||||||
//#define PPDEVOBJ PPDEVOBJ2
|
|
||||||
|
|
||||||
//typedef struct _PDEVOBJ *PPDEVOBJ;
|
|
||||||
|
|
||||||
#define TAG_GDEV 'gdev'
|
#define TAG_GDEV 'gdev'
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
@ -35,10 +29,6 @@ NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
InitDeviceImpl(VOID);
|
InitDeviceImpl(VOID);
|
||||||
|
|
||||||
BOOL
|
|
||||||
FASTCALL
|
|
||||||
DC_AllocDcAttr(PDC pdc);
|
|
||||||
|
|
||||||
//#define KeRosDumpStackFrames(Frames, Count) KdSystemDebugControl(TAG('R', 'o', 's', 'D'), (PVOID)Frames, Count, NULL, 0, NULL, KernelMode)
|
//#define KeRosDumpStackFrames(Frames, Count) KdSystemDebugControl(TAG('R', 'o', 's', 'D'), (PVOID)Frames, Count, NULL, 0, NULL, KernelMode)
|
||||||
NTSYSAPI ULONG APIENTRY RtlWalkFrameChain(OUT PVOID *Callers, IN ULONG Count, IN ULONG Flags);
|
NTSYSAPI ULONG APIENTRY RtlWalkFrameChain(OUT PVOID *Callers, IN ULONG Count, IN ULONG Flags);
|
||||||
|
|
||||||
|
|
|
@ -1,21 +1,11 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "dc.h"
|
INT FASTCALL DIB_BitmapInfoSize (const BITMAPINFO * info, WORD coloruse);
|
||||||
|
HBITMAP APIENTRY DIB_CreateDIBSection (PDC dc, CONST BITMAPINFO *bmi, UINT usage, LPVOID *bits, HANDLE section, DWORD offset, DWORD ovr_pitch);
|
||||||
INT FASTCALL
|
int FASTCALL DIB_GetBitmapInfo( const BITMAPINFOHEADER *header, LONG *width,
|
||||||
DIB_BitmapInfoSize (const BITMAPINFO * info, WORD coloruse);
|
|
||||||
HBITMAP APIENTRY
|
|
||||||
DIB_CreateDIBSection (PDC dc, CONST BITMAPINFO *bmi, UINT usage, LPVOID *bits, HANDLE section, DWORD offset, DWORD ovr_pitch);
|
|
||||||
int FASTCALL
|
|
||||||
DIB_GetBitmapInfo( const BITMAPINFOHEADER *header, LONG *width,
|
|
||||||
LONG *height, WORD *planes, WORD *bpp, DWORD *compr, DWORD *size );
|
LONG *height, WORD *planes, WORD *bpp, DWORD *compr, DWORD *size );
|
||||||
INT APIENTRY
|
INT APIENTRY DIB_GetDIBImageBytes (INT width, INT height, INT depth);
|
||||||
DIB_GetDIBImageBytes (INT width, INT height, INT depth);
|
HPALETTE FASTCALL DIB_MapPaletteColors(PPALETTE ppal, CONST BITMAPINFO* lpbmi);
|
||||||
HPALETTE FASTCALL
|
HPALETTE FASTCALL BuildDIBPalette (CONST BITMAPINFO *bmi);
|
||||||
DIB_MapPaletteColors(PPALETTE ppal, CONST BITMAPINFO* lpbmi);
|
|
||||||
|
|
||||||
HPALETTE FASTCALL
|
|
||||||
BuildDIBPalette (CONST BITMAPINFO *bmi);
|
|
||||||
|
|
||||||
BITMAPINFO* FASTCALL DIB_ConvertBitmapInfo(CONST BITMAPINFO* bmi, DWORD Usage);
|
BITMAPINFO* FASTCALL DIB_ConvertBitmapInfo(CONST BITMAPINFO* bmi, DWORD Usage);
|
||||||
VOID FASTCALL DIB_FreeConvertedBitmapInfo(BITMAPINFO* converted, BITMAPINFO* orig);
|
VOID FASTCALL DIB_FreeConvertedBitmapInfo(BITMAPINFO* converted, BITMAPINFO* orig);
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <winddi.h>
|
|
||||||
|
|
||||||
typedef struct _DRIVERS
|
|
||||||
{
|
|
||||||
LIST_ENTRY ListEntry;
|
|
||||||
PVOID SectionPointer;
|
|
||||||
PVOID BaseAddress;
|
|
||||||
UNICODE_STRING DriverName;
|
|
||||||
}DRIVERS, *PDRIVERS;
|
|
||||||
|
|
||||||
BOOL DRIVER_RegisterDriver(LPCWSTR Name, PFN_DrvEnableDriver EnableDriver);
|
|
||||||
PFN_DrvEnableDriver DRIVER_FindExistingDDIDriver(LPCWSTR Name);
|
|
||||||
PFN_DrvEnableDriver DRIVER_FindDDIDriver(LPCWSTR Name);
|
|
||||||
PFILE_OBJECT DRIVER_FindMPDriver(ULONG DisplayNumber);
|
|
||||||
BOOL DRIVER_BuildDDIFunctions(PDRVENABLEDATA DED,
|
|
||||||
PDRIVER_FUNCTIONS DF);
|
|
||||||
BOOL DRIVER_UnregisterDriver(LPCWSTR Name);
|
|
||||||
INT DRIVER_ReferenceDriver (LPCWSTR Name);
|
|
||||||
INT DRIVER_UnreferenceDriver (LPCWSTR Name);
|
|
|
@ -1,7 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "gdiobj.h"
|
|
||||||
|
|
||||||
/* Object structure */
|
/* Object structure */
|
||||||
typedef struct _EDRIVEROBJ
|
typedef struct _EDRIVEROBJ
|
||||||
{
|
{
|
||||||
|
@ -11,7 +9,7 @@ typedef struct _EDRIVEROBJ
|
||||||
} EDRIVEROBJ, *PEDRIVEROBJ;
|
} EDRIVEROBJ, *PEDRIVEROBJ;
|
||||||
|
|
||||||
/* Cleanup function */
|
/* Cleanup function */
|
||||||
BOOL INTERNAL_CALL DRIVEROBJ_Cleanup(PVOID pObject);
|
BOOL NTAPI DRIVEROBJ_Cleanup(PVOID pObject);
|
||||||
|
|
||||||
|
|
||||||
#define DRIVEROBJ_AllocObjectWithHandle() ((PEDRIVEROBJ)GDIOBJ_AllocObjWithHandle(GDI_OBJECT_TYPE_DRIVEROBJ, sizeof(DRIVEROBJ)))
|
#define DRIVEROBJ_AllocObjectWithHandle() ((PEDRIVEROBJ)GDIOBJ_AllocObjWithHandle(GDI_OBJECT_TYPE_DRIVEROBJ, sizeof(DRIVEROBJ)))
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
BOOL APIENTRY EngIntersectRect (PRECTL prcDst, PRECTL prcSrc1, PRECTL prcSrc2);
|
|
||||||
VOID FASTCALL EngDeleteXlate (XLATEOBJ *XlateObj);
|
|
||||||
BOOL APIENTRY
|
BOOL APIENTRY
|
||||||
IntEngMaskBlt(SURFOBJ *psoDest,
|
IntEngMaskBlt(SURFOBJ *psoDest,
|
||||||
SURFOBJ *psoMask,
|
SURFOBJ *psoMask,
|
||||||
|
|
|
@ -28,9 +28,6 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <ft2build.h>
|
|
||||||
#include <freetype/freetype.h>
|
|
||||||
|
|
||||||
/* Structure of internal gdi objects that win32k manages for ddi engine:
|
/* Structure of internal gdi objects that win32k manages for ddi engine:
|
||||||
|---------------------------------|
|
|---------------------------------|
|
||||||
| Public part |
|
| Public part |
|
||||||
|
|
|
@ -3,26 +3,17 @@
|
||||||
/*
|
/*
|
||||||
* These functions take the window handles from current message queue.
|
* These functions take the window handles from current message queue.
|
||||||
*/
|
*/
|
||||||
HWND FASTCALL
|
HWND FASTCALL IntGetCaptureWindow(VOID);
|
||||||
IntGetCaptureWindow(VOID);
|
HWND FASTCALL IntGetFocusWindow(VOID);
|
||||||
HWND FASTCALL
|
HWND FASTCALL co_UserSetCapture(HWND hWnd);
|
||||||
IntGetFocusWindow(VOID);
|
BOOL FASTCALL IntReleaseCapture(VOID);
|
||||||
HWND FASTCALL
|
|
||||||
co_UserSetCapture(HWND hWnd);
|
|
||||||
BOOL FASTCALL
|
|
||||||
IntReleaseCapture(VOID);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These functions take the window handles from current thread queue.
|
* These functions take the window handles from current thread queue.
|
||||||
*/
|
*/
|
||||||
HWND FASTCALL
|
HWND FASTCALL IntGetThreadFocusWindow(VOID);
|
||||||
IntGetThreadFocusWindow(VOID);
|
|
||||||
HWND APIENTRY IntGetCapture(VOID);
|
HWND APIENTRY IntGetCapture(VOID);
|
||||||
HWND FASTCALL UserGetActiveWindow(VOID);
|
HWND FASTCALL UserGetActiveWindow(VOID);
|
||||||
|
BOOL FASTCALL co_IntMouseActivateWindow(PWND Window);
|
||||||
BOOL FASTCALL
|
BOOL FASTCALL co_IntSetForegroundWindow(PWND Window);
|
||||||
co_IntMouseActivateWindow(PWND Window);
|
HWND FASTCALL co_IntSetActiveWindow(PWND Window);
|
||||||
BOOL FASTCALL
|
|
||||||
co_IntSetForegroundWindow(PWND Window);
|
|
||||||
HWND FASTCALL
|
|
||||||
co_IntSetActiveWindow(PWND Window);
|
|
||||||
|
|
|
@ -1,11 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "dc.h"
|
|
||||||
#include "math.h"
|
|
||||||
#include "xformobj.h"
|
|
||||||
#include <ft2build.h>
|
|
||||||
#include FT_FREETYPE_H
|
|
||||||
|
|
||||||
typedef struct tagFLOAT_POINT
|
typedef struct tagFLOAT_POINT
|
||||||
{
|
{
|
||||||
FLOAT x, y;
|
FLOAT x, y;
|
||||||
|
|
|
@ -5,9 +5,6 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
/* Public GDI Object/Handle definitions */
|
|
||||||
#include "win32.h"
|
|
||||||
|
|
||||||
/* The first 10 entries are never used in windows, they are empty */
|
/* The first 10 entries are never used in windows, they are empty */
|
||||||
#define RESERVE_ENTRIES_COUNT 10
|
#define RESERVE_ENTRIES_COUNT 10
|
||||||
|
|
||||||
|
@ -31,7 +28,7 @@ extern PGDI_HANDLE_TABLE GdiHandleTable;
|
||||||
|
|
||||||
typedef PVOID PGDIOBJ;
|
typedef PVOID PGDIOBJ;
|
||||||
|
|
||||||
typedef BOOL (INTERNAL_CALL *GDICLEANUPPROC)(PVOID ObjectBody);
|
typedef BOOL (NTAPI *GDICLEANUPPROC)(PVOID ObjectBody);
|
||||||
|
|
||||||
/* Every GDI Object must have this standard type of header.
|
/* Every GDI Object must have this standard type of header.
|
||||||
* It's for thread locking. */
|
* It's for thread locking. */
|
||||||
|
@ -175,8 +172,8 @@ NTAPI
|
||||||
GDIOBJ_pvGetObjectAttr(
|
GDIOBJ_pvGetObjectAttr(
|
||||||
POBJ pobj);
|
POBJ pobj);
|
||||||
|
|
||||||
BOOL INTERNAL_CALL GDIOBJ_ConvertToStockObj(HGDIOBJ *hObj);
|
BOOL NTAPI GDIOBJ_ConvertToStockObj(HGDIOBJ *hObj);
|
||||||
POBJ INTERNAL_CALL GDIOBJ_AllocObjWithHandle(ULONG ObjectType, ULONG cjSize);
|
POBJ NTAPI GDIOBJ_AllocObjWithHandle(ULONG ObjectType, ULONG cjSize);
|
||||||
PGDIOBJ INTERNAL_CALL GDIOBJ_ShareLockObj(HGDIOBJ hObj, DWORD ObjectType);
|
PGDIOBJ NTAPI GDIOBJ_ShareLockObj(HGDIOBJ hObj, DWORD ObjectType);
|
||||||
PVOID INTERNAL_CALL GDI_MapHandleTable(PEPROCESS Process);
|
PVOID NTAPI GDI_MapHandleTable(PEPROCESS Process);
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <include/winsta.h>
|
|
||||||
#include <include/window.h>
|
|
||||||
|
|
||||||
typedef struct _HOT_KEY_ITEM
|
typedef struct _HOT_KEY_ITEM
|
||||||
{
|
{
|
||||||
LIST_ENTRY ListEntry;
|
LIST_ENTRY ListEntry;
|
||||||
|
@ -15,13 +12,7 @@ typedef struct _HOT_KEY_ITEM
|
||||||
|
|
||||||
#define IDHOT_REACTOS (-9)
|
#define IDHOT_REACTOS (-9)
|
||||||
|
|
||||||
INIT_FUNCTION
|
INIT_FUNCTION NTSTATUS NTAPI InitHotkeyImpl(VOID);
|
||||||
NTSTATUS
|
|
||||||
NTAPI
|
|
||||||
InitHotkeyImpl(VOID);
|
|
||||||
|
|
||||||
//NTSTATUS FASTCALL
|
|
||||||
//CleanupHotKeys(PWINSTATION_OBJECT WinStaObject);
|
|
||||||
|
|
||||||
BOOL FASTCALL
|
BOOL FASTCALL
|
||||||
GetHotKey (UINT fsModifiers,
|
GetHotKey (UINT fsModifiers,
|
||||||
|
@ -30,14 +21,9 @@ GetHotKey (UINT fsModifiers,
|
||||||
HWND *hWnd,
|
HWND *hWnd,
|
||||||
int *id);
|
int *id);
|
||||||
|
|
||||||
VOID FASTCALL
|
VOID FASTCALL UnregisterWindowHotKeys(PWND Window);
|
||||||
UnregisterWindowHotKeys(PWND Window);
|
VOID FASTCALL UnregisterThreadHotKeys(struct _ETHREAD *Thread);
|
||||||
|
UINT FASTCALL DefWndGetHotKey(HWND hwnd);
|
||||||
VOID FASTCALL
|
INT FASTCALL DefWndSetHotKey( PWND pWnd, WPARAM wParam);
|
||||||
UnregisterThreadHotKeys(struct _ETHREAD *Thread);
|
|
||||||
UINT FASTCALL
|
|
||||||
DefWndGetHotKey(HWND hwnd);
|
|
||||||
INT FASTCALL
|
|
||||||
DefWndSetHotKey( PWND pWnd, WPARAM wParam);
|
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -43,28 +43,15 @@ extern PATTACHINFO gpai;
|
||||||
/* From kbdxx.c -- Key changes with numlock */
|
/* From kbdxx.c -- Key changes with numlock */
|
||||||
#define KNUMP 0x400
|
#define KNUMP 0x400
|
||||||
|
|
||||||
INIT_FUNCTION
|
INIT_FUNCTION NTSTATUS NTAPI InitInputImpl(VOID);
|
||||||
NTSTATUS
|
INIT_FUNCTION NTSTATUS NTAPI InitKeyboardImpl(VOID);
|
||||||
NTAPI
|
|
||||||
InitInputImpl(VOID);
|
|
||||||
|
|
||||||
INIT_FUNCTION
|
|
||||||
NTSTATUS
|
|
||||||
NTAPI
|
|
||||||
InitKeyboardImpl(VOID);
|
|
||||||
|
|
||||||
PUSER_MESSAGE_QUEUE W32kGetPrimitiveMessageQueue(VOID);
|
|
||||||
VOID W32kUnregisterPrimitiveMessageQueue(VOID);
|
|
||||||
PKBL W32kGetDefaultKeyLayout(VOID);
|
PKBL W32kGetDefaultKeyLayout(VOID);
|
||||||
VOID FASTCALL W32kKeyProcessMessage(LPMSG Msg, PKBDTABLES KeyLayout, BYTE Prefix);
|
VOID FASTCALL W32kKeyProcessMessage(LPMSG Msg, PKBDTABLES KeyLayout, BYTE Prefix);
|
||||||
BOOL FASTCALL IntBlockInput(PTHREADINFO W32Thread, BOOL BlockIt);
|
BOOL FASTCALL IntBlockInput(PTHREADINFO W32Thread, BOOL BlockIt);
|
||||||
BOOL FASTCALL IntMouseInput(MOUSEINPUT *mi, BOOL Injected);
|
BOOL FASTCALL IntMouseInput(MOUSEINPUT *mi, BOOL Injected);
|
||||||
BOOL FASTCALL IntKeyboardInput(KEYBDINPUT *ki, BOOL Injected);
|
|
||||||
|
|
||||||
BOOL UserInitDefaultKeyboardLayout(VOID);
|
BOOL UserInitDefaultKeyboardLayout(VOID);
|
||||||
PKBL UserHklToKbl(HKL hKl);
|
PKBL UserHklToKbl(HKL hKl);
|
||||||
BOOL FASTCALL UserAttachThreadInput(PTHREADINFO,PTHREADINFO,BOOL);
|
BOOL FASTCALL UserAttachThreadInput(PTHREADINFO,PTHREADINFO,BOOL);
|
||||||
BOOL FASTCALL IntConnectThreadInput(PTHREADINFO,PTHREADINFO*,PUSER_MESSAGE_QUEUE*);
|
|
||||||
|
|
||||||
#define ThreadHasInputAccess(W32Thread) \
|
#define ThreadHasInputAccess(W32Thread) \
|
||||||
(TRUE)
|
(TRUE)
|
||||||
|
|
|
@ -119,11 +119,6 @@ IntEngCreateClipRegion(ULONG count,
|
||||||
VOID FASTCALL
|
VOID FASTCALL
|
||||||
IntEngDeleteClipRegion(CLIPOBJ *ClipObj);
|
IntEngDeleteClipRegion(CLIPOBJ *ClipObj);
|
||||||
|
|
||||||
BOOLEAN FASTCALL
|
|
||||||
ClipobjToSpans(PSPAN *Spans,
|
|
||||||
UINT *Count,
|
|
||||||
CLIPOBJ *ClipRegion,
|
|
||||||
PRECTL Boundary);
|
|
||||||
|
|
||||||
BOOL FASTCALL
|
BOOL FASTCALL
|
||||||
IntEngTransparentBlt(SURFOBJ *Dest,
|
IntEngTransparentBlt(SURFOBJ *Dest,
|
||||||
|
@ -142,12 +137,6 @@ IntEngPaint(IN SURFOBJ *Surface,
|
||||||
IN POINTL *BrushOrigin,
|
IN POINTL *BrushOrigin,
|
||||||
IN MIX Mix);
|
IN MIX Mix);
|
||||||
|
|
||||||
VOID APIENTRY
|
|
||||||
IntEngMovePointer(IN SURFOBJ *pso,
|
|
||||||
IN LONG x,
|
|
||||||
IN LONG y,
|
|
||||||
IN RECTL *prcl);
|
|
||||||
|
|
||||||
ULONG APIENTRY
|
ULONG APIENTRY
|
||||||
IntEngSetPointerShape(
|
IntEngSetPointerShape(
|
||||||
IN SURFOBJ *pso,
|
IN SURFOBJ *pso,
|
||||||
|
|
|
@ -1,28 +1,10 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "region.h"
|
|
||||||
|
|
||||||
/* Brush functions */
|
/* Brush functions */
|
||||||
|
|
||||||
extern HDC hSystemBM;
|
extern HDC hSystemBM;
|
||||||
extern HSEMAPHORE hsemDriverMgmt;
|
extern HSEMAPHORE hsemDriverMgmt;
|
||||||
|
|
||||||
XLATEOBJ*
|
|
||||||
FASTCALL
|
|
||||||
IntCreateXlateForBlt(PDC pDCDest, PDC pDCSrc, SURFACE* pDestSurf, SURFACE* pSrcSurf);
|
|
||||||
|
|
||||||
HBRUSH APIENTRY
|
|
||||||
IntGdiCreateDIBBrush(
|
|
||||||
CONST BITMAPINFO *BitmapInfo,
|
|
||||||
UINT ColorSpec,
|
|
||||||
UINT BitmapInfoSize,
|
|
||||||
CONST VOID *PackedDIB);
|
|
||||||
|
|
||||||
HBRUSH APIENTRY
|
|
||||||
IntGdiCreateHatchBrush(
|
|
||||||
INT Style,
|
|
||||||
COLORREF Color);
|
|
||||||
|
|
||||||
HBRUSH APIENTRY
|
HBRUSH APIENTRY
|
||||||
IntGdiCreatePatternBrush(
|
IntGdiCreatePatternBrush(
|
||||||
HBITMAP hBitmap);
|
HBITMAP hBitmap);
|
||||||
|
@ -34,27 +16,9 @@ IntGdiCreateSolidBrush(
|
||||||
HBRUSH APIENTRY
|
HBRUSH APIENTRY
|
||||||
IntGdiCreateNullBrush(VOID);
|
IntGdiCreateNullBrush(VOID);
|
||||||
|
|
||||||
BOOL FASTCALL
|
|
||||||
IntPatBlt(
|
|
||||||
PDC dc,
|
|
||||||
INT XLeft,
|
|
||||||
INT YLeft,
|
|
||||||
INT Width,
|
|
||||||
INT Height,
|
|
||||||
DWORD ROP,
|
|
||||||
PBRUSH BrushObj);
|
|
||||||
|
|
||||||
VOID FASTCALL
|
VOID FASTCALL
|
||||||
IntGdiSetSolidBrushColor(HBRUSH hBrush, COLORREF Color);
|
IntGdiSetSolidBrushColor(HBRUSH hBrush, COLORREF Color);
|
||||||
|
|
||||||
/* Pen functions */
|
|
||||||
|
|
||||||
HPEN APIENTRY
|
|
||||||
IntGdiExtCreatePen(DWORD, DWORD, IN ULONG, IN ULONG, IN ULONG_PTR, IN ULONG_PTR, DWORD, PULONG, IN ULONG, IN BOOL, IN OPTIONAL HBRUSH);
|
|
||||||
|
|
||||||
VOID FASTCALL
|
|
||||||
IntGdiSetSolidPenColor(HPEN hPen, COLORREF Color);
|
|
||||||
|
|
||||||
/* Line functions */
|
/* Line functions */
|
||||||
|
|
||||||
BOOL FASTCALL
|
BOOL FASTCALL
|
||||||
|
@ -95,33 +59,8 @@ IntGdiPolylineTo(DC *dc,
|
||||||
LPPOINT pt,
|
LPPOINT pt,
|
||||||
DWORD Count);
|
DWORD Count);
|
||||||
|
|
||||||
BOOL FASTCALL
|
|
||||||
IntGdiArc(DC *dc,
|
|
||||||
int LeftRect,
|
|
||||||
int TopRect,
|
|
||||||
int RightRect,
|
|
||||||
int BottomRect,
|
|
||||||
int XStartArc,
|
|
||||||
int YStartArc,
|
|
||||||
int XEndArc,
|
|
||||||
int YEndArc);
|
|
||||||
|
|
||||||
INT FASTCALL
|
|
||||||
IntGdiGetArcDirection(DC *dc);
|
|
||||||
|
|
||||||
/* Shape functions */
|
/* Shape functions */
|
||||||
|
|
||||||
BOOL FASTCALL
|
|
||||||
IntGdiPolygon(PDC dc,
|
|
||||||
PPOINT UnsafePoints,
|
|
||||||
int Count);
|
|
||||||
|
|
||||||
BOOL FASTCALL
|
|
||||||
IntGdiPolyPolygon(DC *dc,
|
|
||||||
LPPOINT Points,
|
|
||||||
PULONG PolyCounts,
|
|
||||||
int Count);
|
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
NTAPI
|
NTAPI
|
||||||
GreGradientFill(
|
GreGradientFill(
|
||||||
|
@ -134,12 +73,6 @@ GreGradientFill(
|
||||||
|
|
||||||
/* DC functions */
|
/* DC functions */
|
||||||
|
|
||||||
BOOL FASTCALL
|
|
||||||
IntGdiGetDCOrg(PDC pDC, PPOINTL pPointl);
|
|
||||||
|
|
||||||
INT FASTCALL
|
|
||||||
IntGdiGetObject(HANDLE handle, INT count, LPVOID buffer);
|
|
||||||
|
|
||||||
HDC FASTCALL
|
HDC FASTCALL
|
||||||
IntGdiCreateDC(PUNICODE_STRING Driver,
|
IntGdiCreateDC(PUNICODE_STRING Driver,
|
||||||
PUNICODE_STRING Device,
|
PUNICODE_STRING Device,
|
||||||
|
@ -167,88 +100,31 @@ IntGetSysColor(INT nIndex);
|
||||||
|
|
||||||
/* Other Stuff */
|
/* Other Stuff */
|
||||||
|
|
||||||
INT
|
|
||||||
FASTCALL
|
|
||||||
IntGdiEscape(PDC dc,
|
|
||||||
INT Escape,
|
|
||||||
INT InSize,
|
|
||||||
LPCSTR InData,
|
|
||||||
LPVOID OutData);
|
|
||||||
|
|
||||||
NTSTATUS
|
|
||||||
FASTCALL
|
|
||||||
IntEnumDisplaySettings(
|
|
||||||
IN PUNICODE_STRING pDeviceName OPTIONAL,
|
|
||||||
IN DWORD iModeNum,
|
|
||||||
IN OUT LPDEVMODEW pDevMode,
|
|
||||||
IN DWORD dwFlags);
|
|
||||||
|
|
||||||
HBITMAP
|
HBITMAP
|
||||||
FASTCALL
|
FASTCALL
|
||||||
IntCreateCompatibleBitmap(PDC Dc,
|
IntCreateCompatibleBitmap(PDC Dc,
|
||||||
INT Width,
|
INT Width,
|
||||||
INT Height);
|
INT Height);
|
||||||
|
|
||||||
HBITMAP APIENTRY
|
|
||||||
IntGdiCreateBitmap(
|
|
||||||
INT Width,
|
|
||||||
INT Height,
|
|
||||||
UINT Planes,
|
|
||||||
UINT BitsPixel,
|
|
||||||
IN OPTIONAL LPBYTE pBits);
|
|
||||||
|
|
||||||
HDC APIENTRY IntGdiGetDCState(HDC hDC);
|
|
||||||
|
|
||||||
WORD APIENTRY IntGdiSetHookFlags(HDC hDC, WORD Flags);
|
WORD APIENTRY IntGdiSetHookFlags(HDC hDC, WORD Flags);
|
||||||
|
|
||||||
VOID APIENTRY IntGdiSetDCState ( HDC hDC, HDC hDCSave );
|
|
||||||
|
|
||||||
LONG APIENTRY IntSetBitmapBits(PSURFACE bmp, DWORD Bytes, IN PBYTE Bits);
|
|
||||||
|
|
||||||
LONG APIENTRY IntGetBitmapBits(PSURFACE bmp, DWORD Bytes, OUT PBYTE Bits);
|
|
||||||
|
|
||||||
UINT APIENTRY IntSetDIBColorTable(HDC hDC, UINT StartIndex, UINT Entries, CONST RGBQUAD *Colors);
|
UINT APIENTRY IntSetDIBColorTable(HDC hDC, UINT StartIndex, UINT Entries, CONST RGBQUAD *Colors);
|
||||||
|
|
||||||
UINT APIENTRY IntGetDIBColorTable(HDC hDC, UINT StartIndex, UINT Entries, RGBQUAD *Colors);
|
UINT APIENTRY IntGetDIBColorTable(HDC hDC, UINT StartIndex, UINT Entries, RGBQUAD *Colors);
|
||||||
|
|
||||||
UINT APIENTRY
|
|
||||||
IntAnimatePalette(HPALETTE hPal, UINT StartIndex,
|
|
||||||
UINT NumEntries, CONST PPALETTEENTRY PaletteColors);
|
|
||||||
|
|
||||||
UINT APIENTRY
|
UINT APIENTRY
|
||||||
IntGetPaletteEntries(HPALETTE hpal,
|
IntGetPaletteEntries(HPALETTE hpal,
|
||||||
UINT StartIndex,
|
UINT StartIndex,
|
||||||
UINT Entries,
|
UINT Entries,
|
||||||
LPPALETTEENTRY pe);
|
LPPALETTEENTRY pe);
|
||||||
|
|
||||||
UINT APIENTRY
|
|
||||||
IntSetPaletteEntries(HPALETTE hpal,
|
|
||||||
UINT Start,
|
|
||||||
UINT Entries,
|
|
||||||
CONST LPPALETTEENTRY pe);
|
|
||||||
|
|
||||||
UINT APIENTRY
|
UINT APIENTRY
|
||||||
IntGetSystemPaletteEntries(HDC hDC,
|
IntGetSystemPaletteEntries(HDC hDC,
|
||||||
UINT StartIndex,
|
UINT StartIndex,
|
||||||
UINT Entries,
|
UINT Entries,
|
||||||
LPPALETTEENTRY pe);
|
LPPALETTEENTRY pe);
|
||||||
|
|
||||||
UINT APIENTRY
|
VOID FASTCALL CreateStockObjects (VOID);
|
||||||
IntSetDIBColorTable(HDC hDC, UINT StartIndex, UINT Entries, CONST RGBQUAD *Colors);
|
VOID FASTCALL CreateSysColorObjects (VOID);
|
||||||
|
|
||||||
BOOL APIENTRY
|
PPOINT FASTCALL GDI_Bezier (const POINT *Points, INT count, PINT nPtsOut);
|
||||||
GreStretchBltMask(IN HDC hdcDst,
|
|
||||||
IN INT xDst,
|
|
||||||
IN INT yDst,
|
|
||||||
IN INT cxDst,
|
|
||||||
IN INT cyDst,
|
|
||||||
IN HDC hdcSrc,
|
|
||||||
IN INT xSrc,
|
|
||||||
IN INT ySrc,
|
|
||||||
IN INT cxSrc,
|
|
||||||
IN INT cySrc,
|
|
||||||
IN DWORD dwRop,
|
|
||||||
IN DWORD dwBackColor,
|
|
||||||
IN HDC hdcMask,
|
|
||||||
IN INT xMask,
|
|
||||||
IN INT yMask);
|
|
||||||
|
|
|
@ -49,53 +49,17 @@ IntGetMenuObject(HMENU hMenu);
|
||||||
#define IntReleaseMenuObject(MenuObj) \
|
#define IntReleaseMenuObject(MenuObj) \
|
||||||
UserDereferenceObject(MenuObj)
|
UserDereferenceObject(MenuObj)
|
||||||
|
|
||||||
BOOL FASTCALL
|
|
||||||
IntFreeMenuItem(PMENU_OBJECT MenuObject, PMENU_ITEM MenuItem, BOOL bRecurse);
|
|
||||||
|
|
||||||
BOOL FASTCALL
|
|
||||||
IntRemoveMenuItem(PMENU_OBJECT MenuObject, UINT uPosition, UINT uFlags,
|
|
||||||
BOOL bRecurse);
|
|
||||||
|
|
||||||
UINT FASTCALL
|
|
||||||
IntDeleteMenuItems(PMENU_OBJECT MenuObject, BOOL bRecurse);
|
|
||||||
|
|
||||||
BOOL FASTCALL
|
BOOL FASTCALL
|
||||||
IntDestroyMenuObject(PMENU_OBJECT MenuObject, BOOL bRecurse, BOOL RemoveFromProcess);
|
IntDestroyMenuObject(PMENU_OBJECT MenuObject, BOOL bRecurse, BOOL RemoveFromProcess);
|
||||||
|
|
||||||
PMENU_OBJECT FASTCALL
|
|
||||||
IntCreateMenu(PHANDLE Handle, BOOL IsMenuBar);
|
|
||||||
|
|
||||||
PMENU_OBJECT FASTCALL
|
PMENU_OBJECT FASTCALL
|
||||||
IntCloneMenu(PMENU_OBJECT Source);
|
IntCloneMenu(PMENU_OBJECT Source);
|
||||||
|
|
||||||
BOOL FASTCALL
|
|
||||||
IntSetMenuFlagRtoL(PMENU_OBJECT MenuObject);
|
|
||||||
|
|
||||||
BOOL FASTCALL
|
|
||||||
IntSetMenuContextHelpId(PMENU_OBJECT MenuObject, DWORD dwContextHelpId);
|
|
||||||
|
|
||||||
BOOL FASTCALL
|
|
||||||
IntGetMenuInfo(PMENU_OBJECT MenuObject, PROSMENUINFO lpmi);
|
|
||||||
|
|
||||||
BOOL FASTCALL
|
|
||||||
IntSetMenuInfo(PMENU_OBJECT MenuObject, PROSMENUINFO lpmi);
|
|
||||||
|
|
||||||
int FASTCALL
|
int FASTCALL
|
||||||
IntGetMenuItemByFlag(PMENU_OBJECT MenuObject, UINT uSearchBy, UINT fFlag,
|
IntGetMenuItemByFlag(PMENU_OBJECT MenuObject, UINT uSearchBy, UINT fFlag,
|
||||||
PMENU_OBJECT *SubMenu, PMENU_ITEM *MenuItem,
|
PMENU_OBJECT *SubMenu, PMENU_ITEM *MenuItem,
|
||||||
PMENU_ITEM *PrevMenuItem);
|
PMENU_ITEM *PrevMenuItem);
|
||||||
|
|
||||||
UINT FASTCALL
|
|
||||||
IntEnableMenuItem(PMENU_OBJECT MenuObject, UINT uIDEnableItem, UINT uEnable);
|
|
||||||
|
|
||||||
DWORD FASTCALL
|
|
||||||
IntCheckMenuItem(PMENU_OBJECT MenuObject, UINT uIDCheckItem, UINT uCheck);
|
|
||||||
|
|
||||||
BOOL FASTCALL
|
|
||||||
IntSetMenuItemRect(PMENU_OBJECT MenuObject, UINT Item, BOOL fByPos, RECTL *rcRect);
|
|
||||||
|
|
||||||
DWORD FASTCALL UserInsertMenuItem(PMENU_OBJECT Menu, UINT uItem, BOOL fByPosition, LPCMENUITEMINFOW lpmii);
|
|
||||||
|
|
||||||
BOOL FASTCALL
|
BOOL FASTCALL
|
||||||
IntCleanupMenus(struct _EPROCESS *Process, PPROCESSINFO Win32Process);
|
IntCleanupMenus(struct _EPROCESS *Process, PPROCESSINFO Win32Process);
|
||||||
|
|
||||||
|
@ -103,11 +67,5 @@ BOOL FASTCALL
|
||||||
IntInsertMenuItem(PMENU_OBJECT MenuObject, UINT uItem, BOOL fByPosition,
|
IntInsertMenuItem(PMENU_OBJECT MenuObject, UINT uItem, BOOL fByPosition,
|
||||||
PROSMENUITEMINFO ItemInfo);
|
PROSMENUITEMINFO ItemInfo);
|
||||||
|
|
||||||
|
PMENU_OBJECT FASTCALL
|
||||||
INIT_FUNCTION
|
IntGetSystemMenu(PWND Window, BOOL bRevert, BOOL RetMenu);
|
||||||
NTSTATUS
|
|
||||||
NTAPI
|
|
||||||
InitMenuImpl(VOID);
|
|
||||||
|
|
||||||
NTSTATUS FASTCALL
|
|
||||||
CleanupMenuImpl(VOID);
|
|
||||||
|
|
|
@ -24,7 +24,6 @@ extern HGDIOBJ StockObjects[];
|
||||||
extern SHORT gusLanguageID;
|
extern SHORT gusLanguageID;
|
||||||
|
|
||||||
SHORT FASTCALL IntGdiGetLanguageID(VOID);
|
SHORT FASTCALL IntGdiGetLanguageID(VOID);
|
||||||
DWORD APIENTRY IntGetQueueStatus(DWORD);
|
|
||||||
VOID FASTCALL IntUserManualGuiCheck(LONG Check);
|
VOID FASTCALL IntUserManualGuiCheck(LONG Check);
|
||||||
PVOID APIENTRY HackSecureVirtualMemory(IN PVOID,IN SIZE_T,IN ULONG,OUT PVOID *);
|
PVOID APIENTRY HackSecureVirtualMemory(IN PVOID,IN SIZE_T,IN ULONG,OUT PVOID *);
|
||||||
VOID APIENTRY HackUnsecureVirtualMemory(IN PVOID);
|
VOID APIENTRY HackUnsecureVirtualMemory(IN PVOID);
|
||||||
|
@ -137,3 +136,12 @@ _ExInitializePushLock(PEX_PUSH_LOCK Lock)
|
||||||
*(PULONG_PTR)Lock = 0;
|
*(PULONG_PTR)Lock = 0;
|
||||||
}
|
}
|
||||||
#define ExInitializePushLock _ExInitializePushLock
|
#define ExInitializePushLock _ExInitializePushLock
|
||||||
|
|
||||||
|
NTSTATUS FASTCALL
|
||||||
|
IntSafeCopyUnicodeString(PUNICODE_STRING Dest,
|
||||||
|
PUNICODE_STRING Source);
|
||||||
|
|
||||||
|
NTSTATUS FASTCALL
|
||||||
|
IntSafeCopyUnicodeStringTerminateNULL(PUNICODE_STRING Dest,
|
||||||
|
PUNICODE_STRING Source);
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <pseh/pseh2.h>
|
|
||||||
|
|
||||||
NTSTATUS _MmCopyFromCaller( PVOID Target, PVOID Source, UINT Bytes );
|
NTSTATUS _MmCopyFromCaller( PVOID Target, PVOID Source, UINT Bytes );
|
||||||
NTSTATUS _MmCopyToCaller( PVOID Target, PVOID Source, UINT Bytes );
|
NTSTATUS _MmCopyToCaller( PVOID Target, PVOID Source, UINT Bytes );
|
||||||
|
|
|
@ -1,19 +1,23 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <include/winsta.h>
|
INT NTAPI MouseSafetyOnDrawStart(PPDEVOBJ ppdev, LONG HazardX1, LONG HazardY1, LONG HazardX2, LONG HazardY2);
|
||||||
|
INT NTAPI MouseSafetyOnDrawEnd(PPDEVOBJ ppdev);
|
||||||
|
|
||||||
INT INTERNAL_CALL MouseSafetyOnDrawStart(PPDEVOBJ ppdev, LONG HazardX1, LONG HazardY1, LONG HazardX2, LONG HazardY2);
|
ULONG
|
||||||
INT INTERNAL_CALL MouseSafetyOnDrawEnd(PPDEVOBJ ppdev);
|
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);
|
||||||
|
|
||||||
#ifndef XBUTTON1
|
|
||||||
#define XBUTTON1 (0x01)
|
|
||||||
#endif
|
|
||||||
#ifndef XBUTTON2
|
|
||||||
#define XBUTTON2 (0x02)
|
|
||||||
#endif
|
|
||||||
#ifndef MOUSEEVENTF_XDOWN
|
|
||||||
#define MOUSEEVENTF_XDOWN (0x80)
|
|
||||||
#endif
|
|
||||||
#ifndef MOUSEEVENTF_XUP
|
|
||||||
#define MOUSEEVENTF_XUP (0x100)
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "hook.h"
|
|
||||||
#include "cursoricon.h"
|
|
||||||
|
|
||||||
#define MSQ_HUNG 5000
|
#define MSQ_HUNG 5000
|
||||||
#define MSQ_NORMAL 0
|
#define MSQ_NORMAL 0
|
||||||
#define MSQ_ISHOOK 1
|
#define MSQ_ISHOOK 1
|
||||||
|
@ -143,23 +140,15 @@ typedef struct _USER_MESSAGE_QUEUE
|
||||||
#define QF_CAPTURELOCKED 0x00100000
|
#define QF_CAPTURELOCKED 0x00100000
|
||||||
#define QF_ACTIVEWNDTRACKING 0x00200000
|
#define QF_ACTIVEWNDTRACKING 0x00200000
|
||||||
|
|
||||||
BOOL FASTCALL
|
BOOL FASTCALL MsqIsHung(PUSER_MESSAGE_QUEUE MessageQueue);
|
||||||
MsqIsHung(PUSER_MESSAGE_QUEUE MessageQueue);
|
|
||||||
VOID CALLBACK HungAppSysTimerProc(HWND,UINT,UINT_PTR,DWORD);
|
VOID CALLBACK HungAppSysTimerProc(HWND,UINT,UINT_PTR,DWORD);
|
||||||
NTSTATUS FASTCALL
|
NTSTATUS FASTCALL co_MsqSendMessage(PUSER_MESSAGE_QUEUE MessageQueue,
|
||||||
co_MsqSendMessage(PUSER_MESSAGE_QUEUE MessageQueue,
|
HWND Wnd, UINT Msg, WPARAM wParam, LPARAM lParam,
|
||||||
HWND Wnd, UINT Msg, WPARAM wParam, LPARAM lParam,
|
UINT uTimeout, BOOL Block, INT HookMessage, ULONG_PTR *uResult);
|
||||||
UINT uTimeout, BOOL Block, INT HookMessage,
|
PUSER_MESSAGE FASTCALL MsqCreateMessage(LPMSG Msg);
|
||||||
ULONG_PTR *uResult);
|
VOID FASTCALL MsqDestroyMessage(PUSER_MESSAGE Message);
|
||||||
PUSER_MESSAGE FASTCALL
|
VOID FASTCALL MsqPostMessage(PUSER_MESSAGE_QUEUE MessageQueue, MSG* Msg, BOOLEAN HardwareMessage, DWORD MessageBits);
|
||||||
MsqCreateMessage(LPMSG Msg);
|
VOID FASTCALL MsqPostQuitMessage(PUSER_MESSAGE_QUEUE MessageQueue, ULONG ExitCode);
|
||||||
VOID FASTCALL
|
|
||||||
MsqDestroyMessage(PUSER_MESSAGE Message);
|
|
||||||
VOID FASTCALL
|
|
||||||
MsqPostMessage(PUSER_MESSAGE_QUEUE MessageQueue,
|
|
||||||
MSG* Msg, BOOLEAN HardwareMessage, DWORD MessageBits);
|
|
||||||
VOID FASTCALL
|
|
||||||
MsqPostQuitMessage(PUSER_MESSAGE_QUEUE MessageQueue, ULONG ExitCode);
|
|
||||||
BOOLEAN APIENTRY
|
BOOLEAN APIENTRY
|
||||||
MsqPeekMessage(IN PUSER_MESSAGE_QUEUE MessageQueue,
|
MsqPeekMessage(IN PUSER_MESSAGE_QUEUE MessageQueue,
|
||||||
IN BOOLEAN Remove,
|
IN BOOLEAN Remove,
|
||||||
|
@ -183,39 +172,18 @@ co_MsqPeekMouseMove(IN PUSER_MESSAGE_QUEUE MessageQueue,
|
||||||
IN UINT MsgFilterLow,
|
IN UINT MsgFilterLow,
|
||||||
IN UINT MsgFilterHigh,
|
IN UINT MsgFilterHigh,
|
||||||
OUT MSG* pMsg);
|
OUT MSG* pMsg);
|
||||||
BOOLEAN FASTCALL
|
BOOLEAN FASTCALL MsqInitializeMessageQueue(struct _ETHREAD *Thread, PUSER_MESSAGE_QUEUE MessageQueue);
|
||||||
MsqInitializeMessageQueue(struct _ETHREAD *Thread, PUSER_MESSAGE_QUEUE MessageQueue);
|
PUSER_MESSAGE_QUEUE FASTCALL MsqCreateMessageQueue(struct _ETHREAD *Thread);
|
||||||
VOID FASTCALL
|
VOID FASTCALL MsqDestroyMessageQueue(PUSER_MESSAGE_QUEUE MessageQueue);
|
||||||
MsqCleanupMessageQueue(PUSER_MESSAGE_QUEUE MessageQueue);
|
INIT_FUNCTION NTSTATUS NTAPI MsqInitializeImpl(VOID);
|
||||||
PUSER_MESSAGE_QUEUE FASTCALL
|
BOOLEAN FASTCALL co_MsqDispatchOneSentMessage(PUSER_MESSAGE_QUEUE MessageQueue);
|
||||||
MsqCreateMessageQueue(struct _ETHREAD *Thread);
|
|
||||||
VOID FASTCALL
|
|
||||||
MsqDestroyMessageQueue(PUSER_MESSAGE_QUEUE MessageQueue);
|
|
||||||
PUSER_MESSAGE_QUEUE FASTCALL
|
|
||||||
MsqGetHardwareMessageQueue(VOID);
|
|
||||||
INIT_FUNCTION
|
|
||||||
NTSTATUS
|
|
||||||
NTAPI
|
|
||||||
MsqInitializeImpl(VOID);
|
|
||||||
BOOLEAN FASTCALL
|
|
||||||
co_MsqDispatchOneSentMessage(PUSER_MESSAGE_QUEUE MessageQueue);
|
|
||||||
NTSTATUS FASTCALL
|
NTSTATUS FASTCALL
|
||||||
co_MsqWaitForNewMessages(PUSER_MESSAGE_QUEUE MessageQueue, PWND WndFilter,
|
co_MsqWaitForNewMessages(PUSER_MESSAGE_QUEUE MessageQueue, PWND WndFilter,
|
||||||
UINT MsgFilterMin, UINT MsgFilterMax);
|
UINT MsgFilterMin, UINT MsgFilterMax);
|
||||||
VOID FASTCALL
|
VOID FASTCALL MsqIncPaintCountQueue(PUSER_MESSAGE_QUEUE Queue);
|
||||||
MsqIncPaintCountQueue(PUSER_MESSAGE_QUEUE Queue);
|
VOID FASTCALL MsqDecPaintCountQueue(PUSER_MESSAGE_QUEUE Queue);
|
||||||
VOID FASTCALL
|
LRESULT FASTCALL co_IntSendMessage(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
|
||||||
MsqDecPaintCountQueue(PUSER_MESSAGE_QUEUE Queue);
|
LRESULT FASTCALL co_IntPostOrSendMessage(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
|
||||||
LRESULT FASTCALL
|
|
||||||
co_IntSendMessage(HWND hWnd,
|
|
||||||
UINT Msg,
|
|
||||||
WPARAM wParam,
|
|
||||||
LPARAM lParam);
|
|
||||||
LRESULT FASTCALL
|
|
||||||
co_IntPostOrSendMessage(HWND hWnd,
|
|
||||||
UINT Msg,
|
|
||||||
WPARAM wParam,
|
|
||||||
LPARAM lParam);
|
|
||||||
LRESULT FASTCALL
|
LRESULT FASTCALL
|
||||||
co_IntSendMessageTimeout(HWND hWnd,
|
co_IntSendMessageTimeout(HWND hWnd,
|
||||||
UINT Msg,
|
UINT Msg,
|
||||||
|
@ -239,40 +207,21 @@ co_IntSendMessageWithCallBack(HWND hWnd,
|
||||||
ULONG_PTR CompletionCallbackContext,
|
ULONG_PTR CompletionCallbackContext,
|
||||||
ULONG_PTR *uResult);
|
ULONG_PTR *uResult);
|
||||||
|
|
||||||
LRESULT FASTCALL
|
LRESULT FASTCALL IntDispatchMessage(MSG* Msg);
|
||||||
IntDispatchMessage(MSG* Msg);
|
BOOL FASTCALL IntTranslateKbdMessage(LPMSG lpMsg, UINT flags);
|
||||||
BOOL FASTCALL
|
VOID FASTCALL co_MsqPostKeyboardMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||||
IntTranslateKbdMessage(LPMSG lpMsg, UINT flags);
|
VOID FASTCALL MsqPostHotKeyMessage(PVOID Thread, HWND hWnd, WPARAM wParam, LPARAM lParam);
|
||||||
|
VOID FASTCALL co_MsqInsertMouseMessage(MSG* Msg, DWORD flags, ULONG_PTR dwExtraInfo, BOOL Hook);
|
||||||
VOID FASTCALL
|
BOOL FASTCALL MsqIsClkLck(LPMSG Msg, BOOL Remove);
|
||||||
co_MsqPostKeyboardMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
|
BOOL FASTCALL MsqIsDblClk(LPMSG Msg, BOOL Remove);
|
||||||
VOID FASTCALL
|
HWND FASTCALL MsqSetStateWindow(PUSER_MESSAGE_QUEUE MessageQueue, ULONG Type, HWND hWnd);
|
||||||
MsqPostHotKeyMessage(PVOID Thread, HWND hWnd, WPARAM wParam, LPARAM lParam);
|
|
||||||
VOID FASTCALL
|
|
||||||
co_MsqInsertMouseMessage(MSG* Msg, DWORD flags, ULONG_PTR dwExtraInfo, BOOL Hook);
|
|
||||||
BOOL FASTCALL
|
|
||||||
MsqIsClkLck(LPMSG Msg, BOOL Remove);
|
|
||||||
BOOL FASTCALL
|
|
||||||
MsqIsDblClk(LPMSG Msg, BOOL Remove);
|
|
||||||
HWND FASTCALL
|
|
||||||
MsqSetStateWindow(PUSER_MESSAGE_QUEUE MessageQueue, ULONG Type, HWND hWnd);
|
|
||||||
|
|
||||||
__inline BOOL MsqIsSignaled( PUSER_MESSAGE_QUEUE queue );
|
|
||||||
__inline VOID MsqSetQueueBits( PUSER_MESSAGE_QUEUE queue, WORD bits );
|
|
||||||
BOOL APIENTRY IntInitMessagePumpHook(VOID);
|
BOOL APIENTRY IntInitMessagePumpHook(VOID);
|
||||||
BOOL APIENTRY IntUninitMessagePumpHook(VOID);
|
BOOL APIENTRY IntUninitMessagePumpHook(VOID);
|
||||||
#define MAKE_LONG(x, y) ((((y) & 0xFFFF) << 16) | ((x) & 0xFFFF))
|
|
||||||
|
|
||||||
LPARAM FASTCALL MsqSetMessageExtraInfo(LPARAM lParam);
|
LPARAM FASTCALL MsqSetMessageExtraInfo(LPARAM lParam);
|
||||||
LPARAM FASTCALL MsqGetMessageExtraInfo(VOID);
|
LPARAM FASTCALL MsqGetMessageExtraInfo(VOID);
|
||||||
VOID APIENTRY MsqRemoveWindowMessagesFromQueue(PVOID pWindow); /* F*(&$ headers, will be gone in the rewrite! */
|
VOID APIENTRY MsqRemoveWindowMessagesFromQueue(PVOID pWindow); /* F*(&$ headers, will be gone in the rewrite! */
|
||||||
|
|
||||||
#define IntLockHardwareMessageQueue(MsgQueue) \
|
|
||||||
KeWaitForMutexObject(&(MsgQueue)->HardwareLock, UserRequest, KernelMode, FALSE, NULL)
|
|
||||||
|
|
||||||
#define IntUnLockHardwareMessageQueue(MsgQueue) \
|
|
||||||
KeReleaseMutex(&(MsgQueue)->HardwareLock, FALSE)
|
|
||||||
|
|
||||||
#define IntReferenceMessageQueue(MsgQueue) \
|
#define IntReferenceMessageQueue(MsgQueue) \
|
||||||
InterlockedIncrement(&(MsgQueue)->References)
|
InterlockedIncrement(&(MsgQueue)->References)
|
||||||
|
|
||||||
|
@ -307,11 +256,8 @@ VOID APIENTRY MsqRemoveWindowMessagesFromQueue(PVOID pWindow); /* F*(&$ headers,
|
||||||
#define IS_KBD_MESSAGE(message) \
|
#define IS_KBD_MESSAGE(message) \
|
||||||
(message >= WM_KEYFIRST && message <= WM_KEYLAST)
|
(message >= WM_KEYFIRST && message <= WM_KEYLAST)
|
||||||
|
|
||||||
HANDLE FASTCALL
|
HANDLE FASTCALL IntMsqSetWakeMask(DWORD WakeMask);
|
||||||
IntMsqSetWakeMask(DWORD WakeMask);
|
BOOL FASTCALL IntMsqClearWakeMask(VOID);
|
||||||
|
|
||||||
BOOL FASTCALL
|
|
||||||
IntMsqClearWakeMask(VOID);
|
|
||||||
|
|
||||||
static __inline LONG
|
static __inline LONG
|
||||||
MsqCalculateMessageTime(IN PLARGE_INTEGER TickCount)
|
MsqCalculateMessageTime(IN PLARGE_INTEGER TickCount)
|
||||||
|
@ -322,7 +268,6 @@ MsqCalculateMessageTime(IN PLARGE_INTEGER TickCount)
|
||||||
VOID FASTCALL IdlePing(VOID);
|
VOID FASTCALL IdlePing(VOID);
|
||||||
VOID FASTCALL IdlePong(VOID);
|
VOID FASTCALL IdlePong(VOID);
|
||||||
BOOL FASTCALL co_MsqReplyMessage(LRESULT);
|
BOOL FASTCALL co_MsqReplyMessage(LRESULT);
|
||||||
UINT FASTCALL GetWakeMask(UINT, UINT);
|
|
||||||
VOID FASTCALL MsqWakeQueue(PUSER_MESSAGE_QUEUE,DWORD,BOOL);
|
VOID FASTCALL MsqWakeQueue(PUSER_MESSAGE_QUEUE,DWORD,BOOL);
|
||||||
VOID FASTCALL ClearMsgBitsMask(PUSER_MESSAGE_QUEUE,UINT);
|
VOID FASTCALL ClearMsgBitsMask(PUSER_MESSAGE_QUEUE,UINT);
|
||||||
|
|
||||||
|
@ -332,4 +277,5 @@ FASTCALL
|
||||||
UserSetCursor(PCURICON_OBJECT NewCursor,
|
UserSetCursor(PCURICON_OBJECT NewCursor,
|
||||||
BOOL ForceChange);
|
BOOL ForceChange);
|
||||||
|
|
||||||
|
DWORD APIENTRY IntGetQueueStatus(DWORD);
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -36,13 +36,7 @@ BOOL FASTCALL UserDereferenceObject(PVOID obj);
|
||||||
PVOID FASTCALL UserCreateObject(PUSER_HANDLE_TABLE ht, struct _DESKTOP* pDesktop, HANDLE* h,USER_OBJECT_TYPE type , ULONG size);
|
PVOID FASTCALL UserCreateObject(PUSER_HANDLE_TABLE ht, struct _DESKTOP* pDesktop, HANDLE* h,USER_OBJECT_TYPE type , ULONG size);
|
||||||
BOOL FASTCALL UserDeleteObject(HANDLE h, USER_OBJECT_TYPE type );
|
BOOL FASTCALL UserDeleteObject(HANDLE h, USER_OBJECT_TYPE type );
|
||||||
PVOID UserGetObject(PUSER_HANDLE_TABLE ht, HANDLE handle, USER_OBJECT_TYPE type );
|
PVOID UserGetObject(PUSER_HANDLE_TABLE ht, HANDLE handle, USER_OBJECT_TYPE type );
|
||||||
HANDLE UserAllocHandle(PUSER_HANDLE_TABLE ht, PVOID object, USER_OBJECT_TYPE type );
|
|
||||||
BOOL FASTCALL UserFreeHandle(PUSER_HANDLE_TABLE ht, HANDLE handle );
|
|
||||||
PVOID UserGetNextHandle(PUSER_HANDLE_TABLE ht, HANDLE* handle, USER_OBJECT_TYPE type );
|
|
||||||
PUSER_HANDLE_ENTRY handle_to_entry(PUSER_HANDLE_TABLE ht, HANDLE handle );
|
|
||||||
BOOL FASTCALL UserCreateHandleTable(VOID);
|
BOOL FASTCALL UserCreateHandleTable(VOID);
|
||||||
VOID UserInitHandleTable(PUSER_HANDLE_TABLE ht, PVOID mem, ULONG bytes);
|
|
||||||
|
|
||||||
|
|
||||||
static __inline VOID
|
static __inline VOID
|
||||||
UserRefObjectCo(PVOID obj, PUSER_REFERENCE_ENTRY UserReferenceEntry)
|
UserRefObjectCo(PVOID obj, PUSER_REFERENCE_ENTRY UserReferenceEntry)
|
||||||
|
@ -76,9 +70,4 @@ UserDerefObjectCo(PVOID obj)
|
||||||
UserDereferenceObject(obj);
|
UserDereferenceObject(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID FASTCALL CreateStockObjects (VOID);
|
|
||||||
VOID FASTCALL CreateSysColorObjects (VOID);
|
|
||||||
|
|
||||||
PPOINT FASTCALL GDI_Bezier (const POINT *Points, INT count, PINT nPtsOut);
|
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -1,15 +1,7 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <include/class.h>
|
BOOL FASTCALL co_UserRedrawWindow(PWND Wnd, const RECTL* UpdateRect, HRGN UpdateRgn, ULONG Flags);
|
||||||
#include <include/msgqueue.h>
|
VOID FASTCALL IntInvalidateWindows(PWND Window, HRGN hRgn, ULONG Flags);
|
||||||
#include <include/window.h>
|
BOOL FASTCALL IntGetPaintMessage(PWND Window, UINT MsgFilterMin, UINT MsgFilterMax, PTHREADINFO Thread, MSG *Message, BOOL Remove);
|
||||||
|
|
||||||
BOOL FASTCALL
|
|
||||||
co_UserRedrawWindow(PWND Wnd, const RECTL* UpdateRect, HRGN UpdateRgn, ULONG Flags);
|
|
||||||
VOID FASTCALL
|
|
||||||
IntInvalidateWindows(PWND Window, HRGN hRgn, ULONG Flags);
|
|
||||||
BOOL FASTCALL
|
|
||||||
IntGetPaintMessage(PWND Window, UINT MsgFilterMin, UINT MsgFilterMax, PTHREADINFO Thread,
|
|
||||||
MSG *Message, BOOL Remove);
|
|
||||||
INT FASTCALL UserRealizePalette(HDC);
|
INT FASTCALL UserRealizePalette(HDC);
|
||||||
INT FASTCALL co_UserGetUpdateRgn(PWND, HRGN, BOOL);
|
INT FASTCALL co_UserGetUpdateRgn(PWND, HRGN, BOOL);
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <include/dc.h>
|
|
||||||
|
|
||||||
#define PALETTE_FIXED 0x0001 /* read-only colormap - have to use XAllocColor (if not virtual) */
|
#define PALETTE_FIXED 0x0001 /* read-only colormap - have to use XAllocColor (if not virtual) */
|
||||||
#define PALETTE_VIRTUAL 0x0002 /* no mapping needed - pixel == pixel color */
|
#define PALETTE_VIRTUAL 0x0002 /* no mapping needed - pixel == pixel color */
|
||||||
|
|
||||||
|
@ -72,7 +70,7 @@ HPALETTE FASTCALL PALETTE_AllocPaletteIndexedRGB(ULONG NumColors,
|
||||||
#define PALETTE_ShareUnlockPalette(ppal) \
|
#define PALETTE_ShareUnlockPalette(ppal) \
|
||||||
GDIOBJ_vDereferenceObject(&ppal->BaseObject)
|
GDIOBJ_vDereferenceObject(&ppal->BaseObject)
|
||||||
|
|
||||||
BOOL INTERNAL_CALL PALETTE_Cleanup(PVOID ObjectBody);
|
BOOL NTAPI PALETTE_Cleanup(PVOID ObjectBody);
|
||||||
INIT_FUNCTION NTSTATUS NTAPI InitPaletteImpl(VOID);
|
INIT_FUNCTION NTSTATUS NTAPI InitPaletteImpl(VOID);
|
||||||
VOID FASTCALL PALETTE_ValidateFlags (PALETTEENTRY* lpPalE, INT size);
|
VOID FASTCALL PALETTE_ValidateFlags (PALETTEENTRY* lpPalE, INT size);
|
||||||
INT FASTCALL PALETTE_ToPhysical (PDC dc, COLORREF color);
|
INT FASTCALL PALETTE_ToPhysical (PDC dc, COLORREF color);
|
||||||
|
|
|
@ -49,11 +49,8 @@ typedef struct _EPATHOBJ
|
||||||
#define PATH_IsPathOpen(dclevel) ( ((dclevel).hPath) && ((dclevel).flPath & DCPATH_ACTIVE) )
|
#define PATH_IsPathOpen(dclevel) ( ((dclevel).hPath) && ((dclevel).flPath & DCPATH_ACTIVE) )
|
||||||
|
|
||||||
BOOL FASTCALL PATH_Arc (PDC dc, INT x1, INT y1, INT x2, INT y2, INT xStart, INT yStart, INT xEnd, INT yEnd, INT lines);
|
BOOL FASTCALL PATH_Arc (PDC dc, INT x1, INT y1, INT x2, INT y2, INT xStart, INT yStart, INT xEnd, INT yEnd, INT lines);
|
||||||
BOOL FASTCALL PATH_AssignGdiPath (PPATH pPathDest, const PPATH pPathSrc);
|
|
||||||
VOID FASTCALL PATH_DestroyGdiPath (PPATH pPath);
|
|
||||||
BOOL FASTCALL PATH_Ellipse (PDC dc, INT x1, INT y1, INT x2, INT y2);
|
BOOL FASTCALL PATH_Ellipse (PDC dc, INT x1, INT y1, INT x2, INT y2);
|
||||||
VOID FASTCALL PATH_EmptyPath (PPATH pPath);
|
VOID FASTCALL PATH_EmptyPath (PPATH pPath);
|
||||||
VOID FASTCALL PATH_InitGdiPath (PPATH pPath);
|
|
||||||
BOOL FASTCALL PATH_LineTo (PDC dc, INT x, INT y);
|
BOOL FASTCALL PATH_LineTo (PDC dc, INT x, INT y);
|
||||||
BOOL FASTCALL PATH_MoveTo (PDC dc);
|
BOOL FASTCALL PATH_MoveTo (PDC dc);
|
||||||
BOOL FASTCALL PATH_PolyBezier (PDC dc, const POINT *pts, DWORD cbPoints);
|
BOOL FASTCALL PATH_PolyBezier (PDC dc, const POINT *pts, DWORD cbPoints);
|
||||||
|
|
|
@ -29,7 +29,7 @@ INT FASTCALL REGION_GetRgnBox(PROSRGNDATA Rgn, RECTL *pRect);
|
||||||
BOOL FASTCALL REGION_RectInRegion(PROSRGNDATA Rgn, const RECTL *rc);
|
BOOL FASTCALL REGION_RectInRegion(PROSRGNDATA Rgn, const RECTL *rc);
|
||||||
BOOL FASTCALL REGION_CropAndOffsetRegion(PROSRGNDATA rgnDst, PROSRGNDATA rgnSrc, const RECTL *rect, const POINT *off);
|
BOOL FASTCALL REGION_CropAndOffsetRegion(PROSRGNDATA rgnDst, PROSRGNDATA rgnSrc, const RECTL *rect, const POINT *off);
|
||||||
VOID FASTCALL REGION_SetRectRgn(PROSRGNDATA pRgn, INT LeftRect, INT TopRect, INT RightRect, INT BottomRect);
|
VOID FASTCALL REGION_SetRectRgn(PROSRGNDATA pRgn, INT LeftRect, INT TopRect, INT RightRect, INT BottomRect);
|
||||||
BOOL INTERNAL_CALL REGION_Cleanup(PVOID ObjectBody);
|
BOOL NTAPI REGION_Cleanup(PVOID ObjectBody);
|
||||||
|
|
||||||
extern PROSRGNDATA prgnDefault;
|
extern PROSRGNDATA prgnDefault;
|
||||||
extern HRGN hrgnDefault;
|
extern HRGN hrgnDefault;
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "win32.h"
|
|
||||||
#include "gdiobj.h"
|
|
||||||
|
|
||||||
#define PDEV_SURFACE 0x80000000
|
#define PDEV_SURFACE 0x80000000
|
||||||
|
|
||||||
/* GDI surface object */
|
/* GDI surface object */
|
||||||
|
@ -102,7 +99,7 @@ typedef struct _SURFACE
|
||||||
#define SURFACE_ShareUnlockSurface(pBMObj) \
|
#define SURFACE_ShareUnlockSurface(pBMObj) \
|
||||||
GDIOBJ_vDereferenceObject ((POBJ)pBMObj)
|
GDIOBJ_vDereferenceObject ((POBJ)pBMObj)
|
||||||
|
|
||||||
BOOL INTERNAL_CALL SURFACE_Cleanup(PVOID ObjectBody);
|
BOOL NTAPI SURFACE_Cleanup(PVOID ObjectBody);
|
||||||
|
|
||||||
PSURFACE
|
PSURFACE
|
||||||
NTAPI
|
NTAPI
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "cursoricon.h"
|
|
||||||
|
|
||||||
// create one struct
|
// create one struct
|
||||||
// make usable for different users (multiple structs!)
|
// make usable for different users (multiple structs!)
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <include/engobjects.h>
|
|
||||||
|
|
||||||
#define TAG_FINF 'FNIF'
|
#define TAG_FINF 'FNIF'
|
||||||
//
|
//
|
||||||
// EXSTROBJ flags.
|
// EXSTROBJ flags.
|
||||||
|
|
|
@ -32,10 +32,7 @@ typedef struct _TIMER
|
||||||
|
|
||||||
extern PKTIMER MasterTimer;
|
extern PKTIMER MasterTimer;
|
||||||
|
|
||||||
INIT_FUNCTION
|
INIT_FUNCTION NTSTATUS NTAPI InitTimerImpl(VOID);
|
||||||
NTSTATUS
|
|
||||||
NTAPI
|
|
||||||
InitTimerImpl(VOID);
|
|
||||||
BOOL FASTCALL DestroyTimersForThread(PTHREADINFO pti);
|
BOOL FASTCALL DestroyTimersForThread(PTHREADINFO pti);
|
||||||
BOOL FASTCALL DestroyTimersForWindow(PTHREADINFO pti, PWND Window);
|
BOOL FASTCALL DestroyTimersForWindow(PTHREADINFO pti, PWND Window);
|
||||||
BOOL FASTCALL IntKillTimer(PWND Window, UINT_PTR IDEvent, BOOL SystemTimer);
|
BOOL FASTCALL IntKillTimer(PWND Window, UINT_PTR IDEvent, BOOL SystemTimer);
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
RTL_ATOM FASTCALL
|
RTL_ATOM FASTCALL IntAddAtom(LPWSTR AtomName);
|
||||||
IntAddAtom(LPWSTR AtomName);
|
ULONG FASTCALL IntGetAtomName(RTL_ATOM nAtom, LPWSTR lpBuffer, ULONG nSize);
|
||||||
ULONG FASTCALL
|
|
||||||
IntGetAtomName(RTL_ATOM nAtom, LPWSTR lpBuffer, ULONG nSize);
|
|
||||||
RTL_ATOM FASTCALL IntAddGlobalAtom(LPWSTR,BOOL);
|
RTL_ATOM FASTCALL IntAddGlobalAtom(LPWSTR,BOOL);
|
||||||
|
|
|
@ -41,11 +41,6 @@ PWND FASTCALL IntGetWindowObject(HWND hWnd);
|
||||||
|
|
||||||
HWINSTA FASTCALL UserGetProcessWindowStation(VOID);
|
HWINSTA FASTCALL UserGetProcessWindowStation(VOID);
|
||||||
|
|
||||||
/*************** WINPOS.C ***************/
|
|
||||||
|
|
||||||
BOOL FASTCALL
|
|
||||||
UserGetClientOrigin(PWND Window, LPPOINT Point);
|
|
||||||
|
|
||||||
/*************** FOCUS.C ***************/
|
/*************** FOCUS.C ***************/
|
||||||
|
|
||||||
HWND FASTCALL UserGetActiveWindow(VOID);
|
HWND FASTCALL UserGetActiveWindow(VOID);
|
||||||
|
@ -56,36 +51,24 @@ HWND FASTCALL co_UserSetFocus(PWND Window);
|
||||||
|
|
||||||
/*************** WINDC.C ***************/
|
/*************** WINDC.C ***************/
|
||||||
|
|
||||||
INT FASTCALL
|
INT FASTCALL UserReleaseDC(PWND Window, HDC hDc, BOOL EndPaint);
|
||||||
UserReleaseDC(PWND Window, HDC hDc, BOOL EndPaint);
|
HDC FASTCALL UserGetDCEx(PWND Window OPTIONAL, HANDLE ClipRegion, ULONG Flags);
|
||||||
|
HDC FASTCALL UserGetWindowDC(PWND Wnd);
|
||||||
HDC FASTCALL
|
|
||||||
UserGetDCEx(PWND Window OPTIONAL, HANDLE ClipRegion, ULONG Flags);
|
|
||||||
|
|
||||||
HDC FASTCALL
|
|
||||||
UserGetWindowDC(PWND Wnd);
|
|
||||||
|
|
||||||
|
|
||||||
/*************** SESSION.C ***************/
|
/*************** SESSION.C ***************/
|
||||||
|
|
||||||
extern PRTL_ATOM_TABLE gAtomTable;
|
extern PRTL_ATOM_TABLE gAtomTable;
|
||||||
|
|
||||||
NTSTATUS FASTCALL InitSessionImpl(VOID);
|
NTSTATUS FASTCALL InitSessionImpl(VOID);
|
||||||
|
|
||||||
/*************** METRIC.C ***************/
|
/*************** METRIC.C ***************/
|
||||||
|
|
||||||
BOOL FASTCALL
|
BOOL FASTCALL InitMetrics(VOID);
|
||||||
InitMetrics(VOID);
|
ULONG FASTCALL UserGetSystemMetrics(ULONG Index);
|
||||||
|
|
||||||
ULONG FASTCALL
|
|
||||||
UserGetSystemMetrics(ULONG Index);
|
|
||||||
|
|
||||||
/*************** KEYBOARD.C ***************/
|
/*************** KEYBOARD.C ***************/
|
||||||
|
|
||||||
DWORD FASTCALL UserGetKeyState(DWORD key);
|
DWORD FASTCALL UserGetKeyState(DWORD key);
|
||||||
|
|
||||||
DWORD FASTCALL UserGetKeyboardType(DWORD TypeFlag);
|
DWORD FASTCALL UserGetKeyboardType(DWORD TypeFlag);
|
||||||
|
|
||||||
HKL FASTCALL UserGetKeyboardLayout(DWORD dwThreadId);
|
HKL FASTCALL UserGetKeyboardLayout(DWORD dwThreadId);
|
||||||
|
|
||||||
|
|
||||||
|
@ -106,45 +89,21 @@ UserPostMessage(HWND Wnd,
|
||||||
WPARAM wParam,
|
WPARAM wParam,
|
||||||
LPARAM lParam);
|
LPARAM lParam);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*************** PAINTING.C ***************/
|
|
||||||
|
|
||||||
BOOL FASTCALL co_UserValidateRgn(PWND Window, HRGN hRgn);
|
|
||||||
|
|
||||||
|
|
||||||
/*************** WINDOW.C ***************/
|
/*************** WINDOW.C ***************/
|
||||||
|
|
||||||
PWND FASTCALL UserGetWindowObject(HWND hWnd);
|
PWND FASTCALL UserGetWindowObject(HWND hWnd);
|
||||||
|
VOID FASTCALL co_DestroyThreadWindows(struct _ETHREAD *Thread);
|
||||||
VOID FASTCALL
|
|
||||||
co_DestroyThreadWindows(struct _ETHREAD *Thread);
|
|
||||||
|
|
||||||
HWND FASTCALL UserGetShellWindow(VOID);
|
HWND FASTCALL UserGetShellWindow(VOID);
|
||||||
|
HDC FASTCALL UserGetDCEx(PWND Window OPTIONAL, HANDLE ClipRegion, ULONG Flags);
|
||||||
HDC FASTCALL
|
|
||||||
UserGetDCEx(PWND Window OPTIONAL, HANDLE ClipRegion, ULONG Flags);
|
|
||||||
|
|
||||||
BOOLEAN FASTCALL co_UserDestroyWindow(PWND Wnd);
|
BOOLEAN FASTCALL co_UserDestroyWindow(PWND Wnd);
|
||||||
|
|
||||||
PWND FASTCALL UserGetAncestor(PWND Wnd, UINT Type);
|
PWND FASTCALL UserGetAncestor(PWND Wnd, UINT Type);
|
||||||
|
|
||||||
/*************** MENU.C ***************/
|
/*************** MENU.C ***************/
|
||||||
|
|
||||||
HMENU FASTCALL UserCreateMenu(BOOL PopupMenu);
|
HMENU FASTCALL UserCreateMenu(BOOL PopupMenu);
|
||||||
|
BOOL FASTCALL UserSetMenuDefaultItem(PMENU_OBJECT Menu, UINT uItem, UINT fByPos);
|
||||||
BOOL FASTCALL
|
|
||||||
UserSetMenuDefaultItem(
|
|
||||||
PMENU_OBJECT Menu,
|
|
||||||
UINT uItem,
|
|
||||||
UINT fByPos);
|
|
||||||
|
|
||||||
BOOL FASTCALL UserDestroyMenu(HMENU hMenu);
|
BOOL FASTCALL UserDestroyMenu(HMENU hMenu);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*************** SCROLLBAR.C ***************/
|
/*************** SCROLLBAR.C ***************/
|
||||||
|
|
||||||
DWORD FASTCALL
|
DWORD FASTCALL
|
||||||
|
|
|
@ -10,13 +10,7 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <include/window.h>
|
HRGN FASTCALL VIS_ComputeVisibleRegion(PWND Window, BOOLEAN ClientArea, BOOLEAN ClipChildren, BOOLEAN ClipSiblings);
|
||||||
|
VOID FASTCALL co_VIS_WindowLayoutChanged(PWND Window, HRGN UncoveredRgn);
|
||||||
HRGN FASTCALL
|
|
||||||
VIS_ComputeVisibleRegion(PWND Window, BOOLEAN ClientArea,
|
|
||||||
BOOLEAN ClipChildren, BOOLEAN ClipSiblings);
|
|
||||||
|
|
||||||
VOID FASTCALL
|
|
||||||
co_VIS_WindowLayoutChanged(PWND Window, HRGN UncoveredRgn);
|
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -9,7 +9,6 @@
|
||||||
/* INCLUDES ******************************************************************/
|
/* INCLUDES ******************************************************************/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
#define INTERNAL_CALL APIENTRY
|
|
||||||
|
|
||||||
#ifndef _MSC_VER
|
#ifndef _MSC_VER
|
||||||
#define PLACE_IN_SECTION(s) __attribute__((section(s)))
|
#define PLACE_IN_SECTION(s) __attribute__((section(s)))
|
||||||
|
@ -24,78 +23,79 @@
|
||||||
#define DBG_ENABLE_SERVICE_HOOKS 0
|
#define DBG_ENABLE_SERVICE_HOOKS 0
|
||||||
|
|
||||||
/* misc headers */
|
/* misc headers */
|
||||||
|
#include <include/win32kdebug.h>
|
||||||
#include <include/mmcopy.h>
|
#include <include/mmcopy.h>
|
||||||
#include <include/tags.h>
|
#include <include/tags.h>
|
||||||
#include <include/win32kdebug.h>
|
#include <include/rect.h>
|
||||||
#include <include/cleanup.h>
|
#include <include/misc.h>
|
||||||
|
|
||||||
/* Internal NtGdi Headers */
|
/* Internal NtGdi Headers */
|
||||||
|
typedef struct _DC *PDC;
|
||||||
#include <include/gdiobj.h>
|
#include <include/gdiobj.h>
|
||||||
#include <include/surface.h>
|
#include <include/surface.h>
|
||||||
|
#include <include/pdevobj.h>
|
||||||
|
#include <include/ldevobj.h>
|
||||||
|
#include <include/xformobj.h>
|
||||||
|
#include <include/bitmaps.h>
|
||||||
|
#include <include/engobjects.h>
|
||||||
|
#include <include/eng.h>
|
||||||
#include <include/brush.h>
|
#include <include/brush.h>
|
||||||
#include <include/color.h>
|
#include <include/color.h>
|
||||||
|
#include <include/driverobj.h>
|
||||||
|
#include <include/palette.h>
|
||||||
|
#include <include/region.h>
|
||||||
#include <include/dc.h>
|
#include <include/dc.h>
|
||||||
#include <include/dib.h>
|
#include <include/dib.h>
|
||||||
#include <include/driver.h>
|
#include <include/path.h>
|
||||||
#include <include/driverobj.h>
|
|
||||||
#include <include/floatobj.h>
|
|
||||||
#include <include/palette.h>
|
|
||||||
#include <include/pdevobj.h>
|
|
||||||
#include <include/rect.h>
|
|
||||||
#include <include/xformobj.h>
|
|
||||||
#include <include/xlateobj.h>
|
#include <include/xlateobj.h>
|
||||||
#include <include/cliprgn.h>
|
#include <include/cliprgn.h>
|
||||||
#include <include/region.h>
|
|
||||||
#include <include/eng.h>
|
|
||||||
#include <include/inteng.h>
|
#include <include/inteng.h>
|
||||||
#include <include/intgdi.h>
|
#include <include/intgdi.h>
|
||||||
#include <include/intddraw.h>
|
#include <include/intddraw.h>
|
||||||
#include <include/paint.h>
|
#include <include/paint.h>
|
||||||
#include <include/path.h>
|
|
||||||
#include <include/bitmaps.h>
|
|
||||||
#include <include/text.h>
|
#include <include/text.h>
|
||||||
#include <include/misc.h>
|
|
||||||
#include <include/engobjects.h>
|
|
||||||
#include <include/engevent.h>
|
#include <include/engevent.h>
|
||||||
#include <include/ldevobj.h>
|
|
||||||
#include <include/device.h>
|
#include <include/device.h>
|
||||||
#include <include/pen.h>
|
#include <include/pen.h>
|
||||||
#include <include/cliprgn.h>
|
#include <include/cliprgn.h>
|
||||||
#include <include/coord.h>
|
#include <include/coord.h>
|
||||||
#include <include/gdifloat.h>
|
#include <include/gdifloat.h>
|
||||||
|
#include <include/floatobj.h>
|
||||||
#include <dib/dib.h>
|
#include <dib/dib.h>
|
||||||
#include <include/gdidebug.h>
|
#include <include/mouse.h>
|
||||||
|
|
||||||
/* Internal NtUser Headers */
|
/* Internal NtUser Headers */
|
||||||
#include <include/ntuser.h>
|
typedef struct _DESKTOP *PDESKTOP;
|
||||||
#include <include/accelerator.h>
|
|
||||||
#include <include/clipboard.h>
|
|
||||||
#include <include/caret.h>
|
|
||||||
#include <include/class.h>
|
|
||||||
#include <include/dce.h>
|
|
||||||
#include <include/sysparams.h>
|
|
||||||
#include <include/win32.h>
|
#include <include/win32.h>
|
||||||
#include <include/window.h>
|
#include <include/object.h>
|
||||||
#include <include/winsta.h>
|
#include <include/ntuser.h>
|
||||||
#include <include/cursoricon.h>
|
#include <include/cursoricon.h>
|
||||||
#include <include/desktop.h>
|
#include <include/accelerator.h>
|
||||||
#include <include/focus.h>
|
|
||||||
#include <include/guicheck.h>
|
|
||||||
#include <include/hook.h>
|
#include <include/hook.h>
|
||||||
|
#include <include/clipboard.h>
|
||||||
|
#include <include/winsta.h>
|
||||||
|
#include <include/msgqueue.h>
|
||||||
|
#include <include/desktop.h>
|
||||||
|
#include <include/dce.h>
|
||||||
|
#include <include/focus.h>
|
||||||
#include <include/hotkey.h>
|
#include <include/hotkey.h>
|
||||||
#include <include/input.h>
|
#include <include/input.h>
|
||||||
#include <include/menu.h>
|
#include <include/menu.h>
|
||||||
#include <include/monitor.h>
|
#include <include/monitor.h>
|
||||||
#include <include/mouse.h>
|
|
||||||
#include <include/msgqueue.h>
|
|
||||||
#include <include/object.h>
|
|
||||||
#include <include/painting.h>
|
|
||||||
#include <include/prop.h>
|
|
||||||
#include <include/timer.h>
|
#include <include/timer.h>
|
||||||
|
#include <include/caret.h>
|
||||||
|
#include <include/painting.h>
|
||||||
|
#include <include/class.h>
|
||||||
|
#include <include/window.h>
|
||||||
|
#include <include/sysparams.h>
|
||||||
|
#include <include/prop.h>
|
||||||
|
#include <include/guicheck.h>
|
||||||
#include <include/useratom.h>
|
#include <include/useratom.h>
|
||||||
#include <include/vis.h>
|
#include <include/vis.h>
|
||||||
#include <include/userfuncs.h>
|
#include <include/userfuncs.h>
|
||||||
#include <include/winpos.h>
|
|
||||||
#include <include/scroll.h>
|
#include <include/scroll.h>
|
||||||
#include <include/csr.h>
|
#include <include/csr.h>
|
||||||
|
#include <include/winpos.h>
|
||||||
#include <include/callback.h>
|
#include <include/callback.h>
|
||||||
|
|
||||||
|
#include <include/gdidebug.h>
|
||||||
|
|
|
@ -1,24 +1,10 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
struct _PROPERTY;
|
|
||||||
struct _WINDOW_OBJECT;
|
|
||||||
typedef struct _WINDOW_OBJECT *PWINDOW_OBJECT;
|
|
||||||
|
|
||||||
#include <include/object.h>
|
|
||||||
#include <include/class.h>
|
|
||||||
#include <include/msgqueue.h>
|
|
||||||
#include <include/winsta.h>
|
|
||||||
#include <include/dce.h>
|
|
||||||
#include <include/prop.h>
|
|
||||||
#include <include/scroll.h>
|
|
||||||
|
|
||||||
extern ATOM AtomMessage;
|
extern ATOM AtomMessage;
|
||||||
extern ATOM AtomWndObj; /* WNDOBJ list */
|
extern ATOM AtomWndObj; /* WNDOBJ list */
|
||||||
extern ATOM AtomLayer;
|
extern ATOM AtomLayer;
|
||||||
extern ATOM AtomFlashWndState;
|
extern ATOM AtomFlashWndState;
|
||||||
|
|
||||||
BOOL FASTCALL UserUpdateUiState(PWND Wnd, WPARAM wParam);
|
|
||||||
|
|
||||||
#define HAS_DLGFRAME(Style, ExStyle) \
|
#define HAS_DLGFRAME(Style, ExStyle) \
|
||||||
(((ExStyle) & WS_EX_DLGMODALFRAME) || \
|
(((ExStyle) & WS_EX_DLGMODALFRAME) || \
|
||||||
(((Style) & WS_DLGFRAME) && (!((Style) & WS_THICKFRAME))))
|
(((Style) & WS_DLGFRAME) && (!((Style) & WS_THICKFRAME))))
|
||||||
|
@ -30,19 +16,6 @@ BOOL FASTCALL UserUpdateUiState(PWND Wnd, WPARAM wParam);
|
||||||
#define HAS_THINFRAME(Style, ExStyle) \
|
#define HAS_THINFRAME(Style, ExStyle) \
|
||||||
(((Style) & WS_BORDER) || (!((Style) & (WS_CHILD | WS_POPUP))))
|
(((Style) & WS_BORDER) || (!((Style) & (WS_CHILD | WS_POPUP))))
|
||||||
|
|
||||||
#define HAS_BIGFRAME(style,exStyle) \
|
|
||||||
(((style) & (WS_THICKFRAME | WS_DLGFRAME)) || \
|
|
||||||
((exStyle) & WS_EX_DLGMODALFRAME))
|
|
||||||
|
|
||||||
#define HAS_STATICOUTERFRAME(style,exStyle) \
|
|
||||||
(((exStyle) & (WS_EX_STATICEDGE|WS_EX_DLGMODALFRAME)) == \
|
|
||||||
WS_EX_STATICEDGE)
|
|
||||||
|
|
||||||
#define HAS_ANYFRAME(style,exStyle) \
|
|
||||||
(((style) & (WS_THICKFRAME | WS_DLGFRAME | WS_BORDER)) || \
|
|
||||||
((exStyle) & WS_EX_DLGMODALFRAME) || \
|
|
||||||
!((style) & (WS_CHILD | WS_POPUP)))
|
|
||||||
|
|
||||||
#define HAS_MENU(pWnd,style) ((((style) & (WS_CHILD | WS_POPUP)) != WS_CHILD) && pWnd->IDMenu)
|
#define HAS_MENU(pWnd,style) ((((style) & (WS_CHILD | WS_POPUP)) != WS_CHILD) && pWnd->IDMenu)
|
||||||
|
|
||||||
#define IntIsDesktopWindow(WndObj) \
|
#define IntIsDesktopWindow(WndObj) \
|
||||||
|
@ -61,73 +34,20 @@ BOOL FASTCALL UserUpdateUiState(PWND Wnd, WPARAM wParam);
|
||||||
#define IntGetWndProcessId(WndObj) \
|
#define IntGetWndProcessId(WndObj) \
|
||||||
WndObj->head.pti->pEThread->ThreadsProcess->UniqueProcessId
|
WndObj->head.pti->pEThread->ThreadsProcess->UniqueProcessId
|
||||||
|
|
||||||
BOOL FASTCALL
|
|
||||||
IntIsWindow(HWND hWnd);
|
|
||||||
|
|
||||||
HWND* FASTCALL
|
|
||||||
IntWinListChildren(PWND Window);
|
|
||||||
|
|
||||||
INIT_FUNCTION
|
|
||||||
NTSTATUS
|
|
||||||
NTAPI
|
|
||||||
InitWindowImpl (VOID);
|
|
||||||
|
|
||||||
NTSTATUS FASTCALL
|
|
||||||
CleanupWindowImpl (VOID);
|
|
||||||
|
|
||||||
VOID FASTCALL
|
|
||||||
IntGetClientRect (PWND WindowObject, RECTL *Rect);
|
|
||||||
|
|
||||||
HWND FASTCALL
|
|
||||||
IntGetActiveWindow (VOID);
|
|
||||||
|
|
||||||
BOOL FASTCALL
|
|
||||||
IntIsWindowVisible (PWND Window);
|
|
||||||
|
|
||||||
BOOL FASTCALL
|
|
||||||
IntIsChildWindow (PWND Parent, PWND Child);
|
|
||||||
|
|
||||||
VOID FASTCALL
|
|
||||||
IntUnlinkWindow(PWND Wnd);
|
|
||||||
|
|
||||||
VOID FASTCALL
|
|
||||||
IntLinkWindow(PWND Wnd, PWND WndPrevSibling);
|
|
||||||
|
|
||||||
VOID FASTCALL
|
|
||||||
IntLinkHwnd(PWND Wnd, HWND hWndPrev);
|
|
||||||
|
|
||||||
PWND FASTCALL
|
|
||||||
IntGetAncestor(PWND Wnd, UINT Type);
|
|
||||||
|
|
||||||
PWND FASTCALL
|
|
||||||
IntGetParent(PWND Wnd);
|
|
||||||
|
|
||||||
INT FASTCALL
|
|
||||||
IntGetWindowRgn(PWND Window, HRGN hRgn);
|
|
||||||
|
|
||||||
INT FASTCALL
|
|
||||||
IntGetWindowRgnBox(PWND Window, RECTL *Rect);
|
|
||||||
|
|
||||||
BOOL FASTCALL
|
|
||||||
IntGetWindowInfo(PWND WindowObject, PWINDOWINFO pwi);
|
|
||||||
|
|
||||||
VOID FASTCALL
|
|
||||||
IntGetWindowBorderMeasures(PWND WindowObject, UINT *cx, UINT *cy);
|
|
||||||
|
|
||||||
BOOL FASTCALL
|
|
||||||
IntIsWindowInDestroy(PWND Window);
|
|
||||||
|
|
||||||
BOOL FASTCALL
|
|
||||||
IntShowOwnedPopups( PWND owner, BOOL fShow );
|
|
||||||
|
|
||||||
LRESULT FASTCALL
|
|
||||||
IntDefWindowProc( PWND Window, UINT Msg, WPARAM wParam, LPARAM lParam, BOOL Ansi);
|
|
||||||
|
|
||||||
|
BOOL FASTCALL UserUpdateUiState(PWND Wnd, WPARAM wParam);
|
||||||
|
BOOL FASTCALL IntIsWindow(HWND hWnd);
|
||||||
|
HWND* FASTCALL IntWinListChildren(PWND Window);
|
||||||
|
VOID FASTCALL IntGetClientRect (PWND WindowObject, RECTL *Rect);
|
||||||
|
BOOL FASTCALL IntIsChildWindow (PWND Parent, PWND Child);
|
||||||
|
VOID FASTCALL IntUnlinkWindow(PWND Wnd);
|
||||||
|
VOID FASTCALL IntLinkHwnd(PWND Wnd, HWND hWndPrev);
|
||||||
|
PWND FASTCALL IntGetParent(PWND Wnd);
|
||||||
|
VOID FASTCALL IntGetWindowBorderMeasures(PWND WindowObject, UINT *cx, UINT *cy);
|
||||||
|
BOOL FASTCALL IntShowOwnedPopups( PWND owner, BOOL fShow );
|
||||||
|
LRESULT FASTCALL IntDefWindowProc( PWND Window, UINT Msg, WPARAM wParam, LPARAM lParam, BOOL Ansi);
|
||||||
VOID FASTCALL IntNotifyWinEvent(DWORD, PWND, LONG, LONG, DWORD);
|
VOID FASTCALL IntNotifyWinEvent(DWORD, PWND, LONG, LONG, DWORD);
|
||||||
|
|
||||||
PWND FASTCALL co_UserCreateWindowEx(CREATESTRUCTW*, PUNICODE_STRING, PLARGE_STRING);
|
PWND FASTCALL co_UserCreateWindowEx(CREATESTRUCTW*, PUNICODE_STRING, PLARGE_STRING);
|
||||||
WNDPROC FASTCALL IntGetWindowProc(PWND,BOOL);
|
|
||||||
|
|
||||||
BOOL FASTCALL IntEnableWindow(HWND,BOOL);
|
BOOL FASTCALL IntEnableWindow(HWND,BOOL);
|
||||||
DWORD FASTCALL GetNCHitEx(PWND pWnd, POINT pt);
|
DWORD FASTCALL GetNCHitEx(PWND pWnd, POINT pt);
|
||||||
|
|
||||||
|
|
|
@ -27,41 +27,31 @@ typedef struct _SMWP
|
||||||
PCVR acvr;
|
PCVR acvr;
|
||||||
} SMWP, *PSMWP;
|
} SMWP, *PSMWP;
|
||||||
|
|
||||||
#define IntPtInWindow(WndObject,x,y) \
|
FORCEINLINE BOOL IntPtInWindow(PWND pwnd, INT x, INT y)
|
||||||
((x) >= (WndObject)->rcWindow.left && \
|
{
|
||||||
(x) < (WndObject)->rcWindow.right && \
|
if(!RECTL_bPointInRect(&pwnd->rcWindow, x, y))
|
||||||
(y) >= (WndObject)->rcWindow.top && \
|
{
|
||||||
(y) < (WndObject)->rcWindow.bottom && \
|
return FALSE;
|
||||||
(!(WndObject)->hrgnClip || ((WndObject)->style & WS_MINIMIZE) || \
|
}
|
||||||
NtGdiPtInRegion((WndObject)->hrgnClip, (INT)((x) - (WndObject)->rcWindow.left), \
|
|
||||||
(INT)((y) - (WndObject)->rcWindow.top))))
|
|
||||||
|
|
||||||
#define IntPtInRect(lprc,pt) \
|
if(!pwnd->hrgnClip || pwnd->style & WS_MINIMIZE)
|
||||||
((pt.x >= (lprc)->left) && (pt.x < (lprc)->right) && (pt.y >= (lprc)->top) && (pt.y < (lprc)->bottom))
|
{
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
UINT
|
return NtGdiPtInRegion(pwnd->hrgnClip,
|
||||||
FASTCALL co_WinPosArrangeIconicWindows(PWND parent);
|
x - pwnd->rcWindow.left,
|
||||||
BOOL FASTCALL
|
y - pwnd->rcWindow.top);
|
||||||
IntGetClientOrigin(PWND Window, LPPOINT Point);
|
}
|
||||||
LRESULT FASTCALL
|
|
||||||
co_WinPosGetNonClientSize(PWND Window, RECTL* WindowRect, RECTL* ClientRect);
|
UINT FASTCALL co_WinPosArrangeIconicWindows(PWND parent);
|
||||||
UINT FASTCALL
|
BOOL FASTCALL IntGetClientOrigin(PWND Window, LPPOINT Point);
|
||||||
co_WinPosGetMinMaxInfo(PWND Window, POINT* MaxSize, POINT* MaxPos,
|
LRESULT FASTCALL co_WinPosGetNonClientSize(PWND Window, RECTL* WindowRect, RECTL* ClientRect);
|
||||||
POINT* MinTrack, POINT* MaxTrack);
|
UINT FASTCALL co_WinPosGetMinMaxInfo(PWND Window, POINT* MaxSize, POINT* MaxPos, POINT* MinTrack, POINT* MaxTrack);
|
||||||
UINT FASTCALL
|
UINT FASTCALL co_WinPosMinMaximize(PWND WindowObject, UINT ShowFlag, RECTL* NewPos);
|
||||||
co_WinPosMinMaximize(PWND WindowObject, UINT ShowFlag, RECTL* NewPos);
|
BOOLEAN FASTCALL co_WinPosSetWindowPos(PWND Wnd, HWND WndInsertAfter, INT x, INT y, INT cx, INT cy, UINT flags);
|
||||||
BOOLEAN FASTCALL
|
BOOLEAN FASTCALL co_WinPosShowWindow(PWND Window, INT Cmd);
|
||||||
co_WinPosSetWindowPos(PWND Wnd, HWND WndInsertAfter, INT x, INT y, INT cx,
|
void FASTCALL co_WinPosSendSizeMove(PWND Window);
|
||||||
INT cy, UINT flags);
|
PWND FASTCALL co_WinPosWindowFromPoint(PWND ScopeWin, POINT *WinPoint, USHORT* HitTest);
|
||||||
BOOLEAN FASTCALL
|
|
||||||
co_WinPosShowWindow(PWND Window, INT Cmd);
|
|
||||||
void FASTCALL
|
|
||||||
co_WinPosSendSizeMove(PWND Window);
|
|
||||||
PWND FASTCALL
|
|
||||||
co_WinPosWindowFromPoint(PWND ScopeWin, POINT *WinPoint, USHORT* HitTest);
|
|
||||||
VOID FASTCALL co_WinPosActivateOtherWindow(PWND Window);
|
VOID FASTCALL co_WinPosActivateOtherWindow(PWND Window);
|
||||||
|
VOID FASTCALL WinPosInitInternalPos(PWND WindowObject, POINT *pt, RECTL *RestoreRect);
|
||||||
VOID FASTCALL WinPosInitInternalPos(PWND WindowObject,
|
|
||||||
POINT *pt, RECTL *RestoreRect);
|
|
||||||
BOOL FASTCALL IntEndDeferWindowPosEx(HDWP);
|
|
||||||
HDWP FASTCALL IntDeferWindowPos(HDWP,HWND,HWND,INT,INT,INT,INT,UINT);
|
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "window.h"
|
|
||||||
#include "clipboard.h"
|
|
||||||
|
|
||||||
#define WINSTA_ROOT_NAME L"\\Windows\\WindowStations"
|
#define WINSTA_ROOT_NAME L"\\Windows\\WindowStations"
|
||||||
#define WINSTA_ROOT_NAME_LENGTH 23
|
#define WINSTA_ROOT_NAME_LENGTH 23
|
||||||
|
|
||||||
|
|
|
@ -34,20 +34,20 @@ XFORMOBJ_pmx(
|
||||||
}
|
}
|
||||||
|
|
||||||
ULONG
|
ULONG
|
||||||
INTERNAL_CALL
|
NTAPI
|
||||||
XFORMOBJ_iSetXform(
|
XFORMOBJ_iSetXform(
|
||||||
OUT XFORMOBJ *pxo,
|
OUT XFORMOBJ *pxo,
|
||||||
IN const XFORML *pxform);
|
IN const XFORML *pxform);
|
||||||
|
|
||||||
ULONG
|
ULONG
|
||||||
INTERNAL_CALL
|
NTAPI
|
||||||
XFORMOBJ_iCombine(
|
XFORMOBJ_iCombine(
|
||||||
IN XFORMOBJ *pxo,
|
IN XFORMOBJ *pxo,
|
||||||
IN XFORMOBJ *pxo1,
|
IN XFORMOBJ *pxo1,
|
||||||
IN XFORMOBJ *pxo2);
|
IN XFORMOBJ *pxo2);
|
||||||
|
|
||||||
ULONG
|
ULONG
|
||||||
INTERNAL_CALL
|
NTAPI
|
||||||
XFORMOBJ_iCombineXform(
|
XFORMOBJ_iCombineXform(
|
||||||
IN XFORMOBJ *pxo,
|
IN XFORMOBJ *pxo,
|
||||||
IN XFORMOBJ *pxo1,
|
IN XFORMOBJ *pxo1,
|
||||||
|
@ -55,7 +55,7 @@ XFORMOBJ_iCombineXform(
|
||||||
IN BOOL bLeftMultiply);
|
IN BOOL bLeftMultiply);
|
||||||
|
|
||||||
ULONG
|
ULONG
|
||||||
INTERNAL_CALL
|
NTAPI
|
||||||
XFORMOBJ_iInverse(
|
XFORMOBJ_iInverse(
|
||||||
OUT XFORMOBJ *pxoDst,
|
OUT XFORMOBJ *pxoDst,
|
||||||
IN XFORMOBJ *pxoSrc);
|
IN XFORMOBJ *pxoSrc);
|
||||||
|
|
|
@ -7,8 +7,6 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <include/palette.h>
|
|
||||||
|
|
||||||
struct _EXLATEOBJ;
|
struct _EXLATEOBJ;
|
||||||
|
|
||||||
typedef ULONG (FASTCALL *PFN_XLATE)(struct _EXLATEOBJ *pexlo, ULONG iColor);
|
typedef ULONG (FASTCALL *PFN_XLATE)(struct _EXLATEOBJ *pexlo, ULONG iColor);
|
||||||
|
|
|
@ -14,8 +14,8 @@
|
||||||
|
|
||||||
HANDLE hModuleWin;
|
HANDLE hModuleWin;
|
||||||
|
|
||||||
PGDI_HANDLE_TABLE INTERNAL_CALL GDIOBJ_iAllocHandleTable(OUT PSECTION_OBJECT *SectionObject);
|
PGDI_HANDLE_TABLE NTAPI GDIOBJ_iAllocHandleTable(OUT PSECTION_OBJECT *SectionObject);
|
||||||
BOOL INTERNAL_CALL GDI_CleanupForProcess (struct _EPROCESS *Process);
|
BOOL NTAPI GDI_CleanupForProcess (struct _EPROCESS *Process);
|
||||||
|
|
||||||
HANDLE GlobalUserHeap = NULL;
|
HANDLE GlobalUserHeap = NULL;
|
||||||
PSECTION_OBJECT GlobalUserHeapSection = NULL;
|
PSECTION_OBJECT GlobalUserHeapSection = NULL;
|
||||||
|
@ -583,8 +583,6 @@ DriverEntry(
|
||||||
NT_ROF(InitHotkeyImpl());
|
NT_ROF(InitHotkeyImpl());
|
||||||
NT_ROF(InitWindowStationImpl());
|
NT_ROF(InitWindowStationImpl());
|
||||||
NT_ROF(InitDesktopImpl());
|
NT_ROF(InitDesktopImpl());
|
||||||
NT_ROF(InitWindowImpl());
|
|
||||||
NT_ROF(InitMenuImpl());
|
|
||||||
NT_ROF(InitInputImpl());
|
NT_ROF(InitInputImpl());
|
||||||
NT_ROF(InitKeyboardImpl());
|
NT_ROF(InitKeyboardImpl());
|
||||||
NT_ROF(InitMonitorImpl());
|
NT_ROF(InitMonitorImpl());
|
||||||
|
|
|
@ -30,28 +30,6 @@ DestroyCallProc(IN PDESKTOPINFO Desktop,
|
||||||
UserDeleteObject(UserHMGetHandle(CallProc), otCallProc);
|
UserDeleteObject(UserHMGetHandle(CallProc), otCallProc);
|
||||||
}
|
}
|
||||||
|
|
||||||
PCALLPROCDATA
|
|
||||||
CloneCallProc(IN PDESKTOP Desktop,
|
|
||||||
IN PCALLPROCDATA CallProc)
|
|
||||||
{
|
|
||||||
PCALLPROCDATA NewCallProc;
|
|
||||||
HANDLE Handle;
|
|
||||||
|
|
||||||
NewCallProc = (PCALLPROCDATA)UserCreateObject(gHandleTable,
|
|
||||||
Desktop,
|
|
||||||
&Handle,
|
|
||||||
otCallProc,
|
|
||||||
sizeof(CALLPROCDATA));
|
|
||||||
if (NewCallProc != NULL)
|
|
||||||
{
|
|
||||||
NewCallProc->pfnClientPrevious = CallProc->pfnClientPrevious;
|
|
||||||
NewCallProc->wType = CallProc->wType;
|
|
||||||
NewCallProc->spcpdNext = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
return NewCallProc;
|
|
||||||
}
|
|
||||||
|
|
||||||
PCALLPROCDATA
|
PCALLPROCDATA
|
||||||
CreateCallProc(IN PDESKTOP Desktop,
|
CreateCallProc(IN PDESKTOP Desktop,
|
||||||
IN WNDPROC WndProc,
|
IN WNDPROC WndProc,
|
||||||
|
@ -82,8 +60,6 @@ UserGetCallProcInfo(IN HANDLE hCallProc,
|
||||||
{
|
{
|
||||||
PCALLPROCDATA CallProc;
|
PCALLPROCDATA CallProc;
|
||||||
|
|
||||||
/* NOTE: Accessing the WNDPROC_INFO structure may raise an exception! */
|
|
||||||
|
|
||||||
CallProc = UserGetObject(gHandleTable,
|
CallProc = UserGetObject(gHandleTable,
|
||||||
hCallProc,
|
hCallProc,
|
||||||
otCallProc);
|
otCallProc);
|
||||||
|
|
|
@ -246,20 +246,20 @@ GetNCHitEx(PWND pWnd, POINT pt)
|
||||||
rcClient.right = pWnd->rcClient.right;
|
rcClient.right = pWnd->rcClient.right;
|
||||||
rcClient.bottom = pWnd->rcClient.bottom;
|
rcClient.bottom = pWnd->rcClient.bottom;
|
||||||
|
|
||||||
if (!IntPtInRect(&rcWindow, pt)) return HTNOWHERE;
|
if (!RECTL_bPointInRect(&rcWindow, pt.x, pt.y)) return HTNOWHERE;
|
||||||
|
|
||||||
Style = pWnd->style;
|
Style = pWnd->style;
|
||||||
ExStyle = pWnd->ExStyle;
|
ExStyle = pWnd->ExStyle;
|
||||||
|
|
||||||
if (Style & WS_MINIMIZE) return HTCAPTION;
|
if (Style & WS_MINIMIZE) return HTCAPTION;
|
||||||
|
|
||||||
if (IntPtInRect( &rcClient, pt )) return HTCLIENT;
|
if (RECTL_bPointInRect( &rcClient, pt.x, pt.y )) return HTCLIENT;
|
||||||
|
|
||||||
/* Check borders */
|
/* Check borders */
|
||||||
if (HAS_THICKFRAME( Style, ExStyle ))
|
if (HAS_THICKFRAME( Style, ExStyle ))
|
||||||
{
|
{
|
||||||
RECTL_vInflateRect(&rcWindow, -UserGetSystemMetrics(SM_CXFRAME), -UserGetSystemMetrics(SM_CYFRAME) );
|
RECTL_vInflateRect(&rcWindow, -UserGetSystemMetrics(SM_CXFRAME), -UserGetSystemMetrics(SM_CYFRAME) );
|
||||||
if (!IntPtInRect(&rcWindow, pt))
|
if (!RECTL_bPointInRect(&rcWindow, pt.x, pt.y ))
|
||||||
{
|
{
|
||||||
/* Check top sizing border */
|
/* Check top sizing border */
|
||||||
if (pt.y < rcWindow.top)
|
if (pt.y < rcWindow.top)
|
||||||
|
@ -297,7 +297,7 @@ GetNCHitEx(PWND pWnd, POINT pt)
|
||||||
RECTL_vInflateRect(&rcWindow, -UserGetSystemMetrics(SM_CXDLGFRAME), -UserGetSystemMetrics(SM_CYDLGFRAME));
|
RECTL_vInflateRect(&rcWindow, -UserGetSystemMetrics(SM_CXDLGFRAME), -UserGetSystemMetrics(SM_CYDLGFRAME));
|
||||||
else if (HAS_THINFRAME( Style, ExStyle ))
|
else if (HAS_THINFRAME( Style, ExStyle ))
|
||||||
RECTL_vInflateRect(&rcWindow, -UserGetSystemMetrics(SM_CXBORDER), -UserGetSystemMetrics(SM_CYBORDER));
|
RECTL_vInflateRect(&rcWindow, -UserGetSystemMetrics(SM_CXBORDER), -UserGetSystemMetrics(SM_CYBORDER));
|
||||||
if (!IntPtInRect( &rcWindow, pt )) return HTBORDER;
|
if (!RECTL_bPointInRect( &rcWindow, pt.x, pt.y )) return HTBORDER;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check caption */
|
/* Check caption */
|
||||||
|
@ -308,7 +308,7 @@ GetNCHitEx(PWND pWnd, POINT pt)
|
||||||
rcWindow.top += UserGetSystemMetrics(SM_CYSMCAPTION) - 1;
|
rcWindow.top += UserGetSystemMetrics(SM_CYSMCAPTION) - 1;
|
||||||
else
|
else
|
||||||
rcWindow.top += UserGetSystemMetrics(SM_CYCAPTION) - 1;
|
rcWindow.top += UserGetSystemMetrics(SM_CYCAPTION) - 1;
|
||||||
if (!IntPtInRect( &rcWindow, pt ))
|
if (!RECTL_bPointInRect( &rcWindow, pt.x, pt.y ))
|
||||||
{
|
{
|
||||||
BOOL min_or_max_box = (Style & WS_MAXIMIZEBOX) ||
|
BOOL min_or_max_box = (Style & WS_MAXIMIZEBOX) ||
|
||||||
(Style & WS_MINIMIZEBOX);
|
(Style & WS_MINIMIZEBOX);
|
||||||
|
@ -393,7 +393,7 @@ GetNCHitEx(PWND pWnd, POINT pt)
|
||||||
rcClient.left -= UserGetSystemMetrics(SM_CXVSCROLL);
|
rcClient.left -= UserGetSystemMetrics(SM_CXVSCROLL);
|
||||||
else
|
else
|
||||||
rcClient.right += UserGetSystemMetrics(SM_CXVSCROLL);
|
rcClient.right += UserGetSystemMetrics(SM_CXVSCROLL);
|
||||||
if (IntPtInRect( &rcClient, pt )) return HTVSCROLL;
|
if (RECTL_bPointInRect( &rcClient, pt.x, pt.y )) return HTVSCROLL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check horizontal scroll bar */
|
/* Check horizontal scroll bar */
|
||||||
|
@ -401,7 +401,7 @@ GetNCHitEx(PWND pWnd, POINT pt)
|
||||||
if (Style & WS_HSCROLL)
|
if (Style & WS_HSCROLL)
|
||||||
{
|
{
|
||||||
rcClient.bottom += UserGetSystemMetrics(SM_CYHSCROLL);
|
rcClient.bottom += UserGetSystemMetrics(SM_CYHSCROLL);
|
||||||
if (IntPtInRect( &rcClient, pt ))
|
if (RECTL_bPointInRect( &rcClient, pt.x, pt.y ))
|
||||||
{
|
{
|
||||||
/* Check size box */
|
/* Check size box */
|
||||||
if ((Style & WS_VSCROLL) &&
|
if ((Style & WS_VSCROLL) &&
|
||||||
|
|
|
@ -13,29 +13,6 @@
|
||||||
|
|
||||||
DBG_DEFAULT_CHANNEL(UserMenu);
|
DBG_DEFAULT_CHANNEL(UserMenu);
|
||||||
|
|
||||||
PMENU_OBJECT FASTCALL
|
|
||||||
IntGetSystemMenu(PWND Window, BOOL bRevert, BOOL RetMenu);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* STATIC FUNCTION ***********************************************************/
|
|
||||||
|
|
||||||
static
|
|
||||||
BOOL FASTCALL
|
|
||||||
UserMenuItemInfo(
|
|
||||||
PMENU_OBJECT Menu,
|
|
||||||
UINT Item,
|
|
||||||
BOOL ByPosition,
|
|
||||||
PROSMENUITEMINFO UnsafeItemInfo,
|
|
||||||
BOOL SetOrGet);
|
|
||||||
|
|
||||||
static
|
|
||||||
BOOL FASTCALL
|
|
||||||
UserMenuInfo(
|
|
||||||
PMENU_OBJECT Menu,
|
|
||||||
PROSMENUINFO UnsafeMenuInfo,
|
|
||||||
BOOL SetOrGet);
|
|
||||||
|
|
||||||
/* INTERNAL ******************************************************************/
|
/* INTERNAL ******************************************************************/
|
||||||
|
|
||||||
/* maximum number of menu items a menu can contain */
|
/* maximum number of menu items a menu can contain */
|
||||||
|
@ -79,25 +56,6 @@ UserMenuInfo(
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define InRect(r, x, y) \
|
|
||||||
( ( ((r).right >= x)) && \
|
|
||||||
( ((r).left <= x)) && \
|
|
||||||
( ((r).bottom >= y)) && \
|
|
||||||
( ((r).top <= y)) )
|
|
||||||
|
|
||||||
INIT_FUNCTION
|
|
||||||
NTSTATUS
|
|
||||||
NTAPI
|
|
||||||
InitMenuImpl(VOID)
|
|
||||||
{
|
|
||||||
return(STATUS_SUCCESS);
|
|
||||||
}
|
|
||||||
|
|
||||||
NTSTATUS FASTCALL
|
|
||||||
CleanupMenuImpl(VOID)
|
|
||||||
{
|
|
||||||
return(STATUS_SUCCESS);
|
|
||||||
}
|
|
||||||
|
|
||||||
PMENU_OBJECT FASTCALL UserGetMenuObject(HMENU hMenu)
|
PMENU_OBJECT FASTCALL UserGetMenuObject(HMENU hMenu)
|
||||||
{
|
{
|
||||||
|
@ -1249,19 +1207,6 @@ co_IntTrackPopupMenu(PMENU_OBJECT Menu, PWND Window,
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL FASTCALL
|
|
||||||
IntSetMenuItemRect(PMENU_OBJECT Menu, UINT Item, BOOL fByPos, RECTL *rcRect)
|
|
||||||
{
|
|
||||||
PMENU_ITEM mi;
|
|
||||||
if(IntGetMenuItemByFlag(Menu, Item, (fByPos ? MF_BYPOSITION : MF_BYCOMMAND),
|
|
||||||
NULL, &mi, NULL) > -1)
|
|
||||||
{
|
|
||||||
mi->Rect = *rcRect;
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* Internal function. Called when the process is destroyed to free the remaining menu handles.
|
* Internal function. Called when the process is destroyed to free the remaining menu handles.
|
||||||
|
@ -2239,7 +2184,7 @@ NtUserMenuItemFromPoint(
|
||||||
mi = Menu->MenuItemList;
|
mi = Menu->MenuItemList;
|
||||||
for (i = 0; NULL != mi; i++)
|
for (i = 0; NULL != mi; i++)
|
||||||
{
|
{
|
||||||
if (InRect(mi->Rect, X, Y))
|
if (RECTL_bPointInRect(&(mi->Rect), X, Y))
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1771,7 +1771,7 @@ NtUserDragDetect(
|
||||||
POINT tmp;
|
POINT tmp;
|
||||||
tmp.x = (short)LOWORD(msg.lParam);
|
tmp.x = (short)LOWORD(msg.lParam);
|
||||||
tmp.y = (short)HIWORD(msg.lParam);
|
tmp.y = (short)HIWORD(msg.lParam);
|
||||||
if( !IntPtInRect( &rect, tmp ) )
|
if( !RECTL_bPointInRect( &rect, tmp.x, tmp.y ) )
|
||||||
{
|
{
|
||||||
co_UserSetCapture(NULL);
|
co_UserSetCapture(NULL);
|
||||||
RETURN( TRUE);
|
RETURN( TRUE);
|
||||||
|
|
|
@ -1963,8 +1963,11 @@ MsqCleanupMessageQueue(PUSER_MESSAGE_QUEUE MessageQueue)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Clear it all out.
|
// Clear it all out.
|
||||||
pti->pcti->fsWakeBits = 0;
|
if(pti->pcti)
|
||||||
pti->pcti->fsChangeBits = 0;
|
{
|
||||||
|
pti->pcti->fsWakeBits = 0;
|
||||||
|
pti->pcti->fsChangeBits = 0;
|
||||||
|
}
|
||||||
|
|
||||||
MessageQueue->nCntsQBits[QSRosKey] = 0;
|
MessageQueue->nCntsQBits[QSRosKey] = 0;
|
||||||
MessageQueue->nCntsQBits[QSRosMouseMove] = 0;
|
MessageQueue->nCntsQBits[QSRosMouseMove] = 0;
|
||||||
|
|
|
@ -474,3 +474,82 @@ UserReferenceObjectByHandle(HANDLE handle, USER_OBJECT_TYPE type)
|
||||||
}
|
}
|
||||||
return object;
|
return object;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* NtUserValidateHandleSecure
|
||||||
|
*
|
||||||
|
* Status
|
||||||
|
* @implemented
|
||||||
|
*/
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
APIENTRY
|
||||||
|
NtUserValidateHandleSecure(
|
||||||
|
HANDLE handle,
|
||||||
|
BOOL Restricted)
|
||||||
|
{
|
||||||
|
if(!Restricted)
|
||||||
|
{
|
||||||
|
UINT uType;
|
||||||
|
{
|
||||||
|
PUSER_HANDLE_ENTRY entry;
|
||||||
|
if (!(entry = handle_to_entry(gHandleTable, handle )))
|
||||||
|
{
|
||||||
|
EngSetLastError(ERROR_INVALID_HANDLE);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
uType = entry->type;
|
||||||
|
}
|
||||||
|
switch (uType)
|
||||||
|
{
|
||||||
|
case otWindow:
|
||||||
|
{
|
||||||
|
PWND Window;
|
||||||
|
if ((Window = UserGetWindowObject((HWND) handle))) return TRUE;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
case otMenu:
|
||||||
|
{
|
||||||
|
PMENU_OBJECT Menu;
|
||||||
|
if ((Menu = UserGetMenuObject((HMENU) handle))) return TRUE;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
case otAccel:
|
||||||
|
{
|
||||||
|
PACCELERATOR_TABLE Accel;
|
||||||
|
if ((Accel = UserGetAccelObject((HACCEL) handle))) return TRUE;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
case otCursorIcon:
|
||||||
|
{
|
||||||
|
PCURICON_OBJECT Cursor;
|
||||||
|
if ((Cursor = UserGetCurIconObject((HCURSOR) handle))) return TRUE;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
case otHook:
|
||||||
|
{
|
||||||
|
PHOOK Hook;
|
||||||
|
if ((Hook = IntGetHookObject((HHOOK) handle))) return TRUE;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
case otMonitor:
|
||||||
|
{
|
||||||
|
PMONITOR Monitor;
|
||||||
|
if ((Monitor = UserGetMonitorObject((HMONITOR) handle))) return TRUE;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
case otCallProc:
|
||||||
|
{
|
||||||
|
WNDPROC_INFO Proc;
|
||||||
|
return UserGetCallProcInfo( handle, &Proc );
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
EngSetLastError(ERROR_INVALID_HANDLE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{ /* Is handle entry restricted? */
|
||||||
|
STUB
|
||||||
|
}
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
|
@ -325,7 +325,7 @@ SystemTimerProc(HWND hwnd,
|
||||||
pWnd == pDesk->spwndTrack )
|
pWnd == pDesk->spwndTrack )
|
||||||
{
|
{
|
||||||
Point = gpsi->ptCursor;
|
Point = gpsi->ptCursor;
|
||||||
if ( IntPtInRect(&pDesk->rcMouseHover, Point) )
|
if ( RECTL_bPointInRect(&pDesk->rcMouseHover, Point.x, Point.y) )
|
||||||
{
|
{
|
||||||
if (pDesk->htEx == HTCLIENT) // In a client area.
|
if (pDesk->htEx == HTCLIENT) // In a client area.
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,34 +16,6 @@ DBG_DEFAULT_CHANNEL(UserWnd);
|
||||||
|
|
||||||
#define POINT_IN_RECT(p, r) (((r.bottom >= p.y) && (r.top <= p.y))&&((r.left <= p.x )&&( r.right >= p.x )))
|
#define POINT_IN_RECT(p, r) (((r.bottom >= p.y) && (r.top <= p.y))&&((r.left <= p.x )&&( r.right >= p.x )))
|
||||||
|
|
||||||
/* PRIVATE FUNCTIONS **********************************************************/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* InitWindowImpl
|
|
||||||
*
|
|
||||||
* Initialize windowing implementation.
|
|
||||||
*/
|
|
||||||
|
|
||||||
INIT_FUNCTION
|
|
||||||
NTSTATUS
|
|
||||||
NTAPI
|
|
||||||
InitWindowImpl(VOID)
|
|
||||||
{
|
|
||||||
return STATUS_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* CleanupWindowImpl
|
|
||||||
*
|
|
||||||
* Cleanup windowing implementation.
|
|
||||||
*/
|
|
||||||
|
|
||||||
NTSTATUS FASTCALL
|
|
||||||
CleanupWindowImpl(VOID)
|
|
||||||
{
|
|
||||||
return STATUS_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* HELPER FUNCTIONS ***********************************************************/
|
/* HELPER FUNCTIONS ***********************************************************/
|
||||||
|
|
||||||
BOOL FASTCALL UserUpdateUiState(PWND Wnd, WPARAM wParam)
|
BOOL FASTCALL UserUpdateUiState(PWND Wnd, WPARAM wParam)
|
||||||
|
@ -946,35 +918,6 @@ IntIsChildWindow(PWND Parent, PWND BaseWindow)
|
||||||
return(FALSE);
|
return(FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL FASTCALL
|
|
||||||
IntIsWindowVisible(PWND BaseWindow)
|
|
||||||
{
|
|
||||||
PWND Window;
|
|
||||||
|
|
||||||
Window = BaseWindow;
|
|
||||||
while(Window)
|
|
||||||
{
|
|
||||||
if(!(Window->style & WS_CHILD))
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if(!(Window->style & WS_VISIBLE))
|
|
||||||
{
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
Window = Window->spwndParent;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(Window && Window->style & WS_VISIBLE)
|
|
||||||
{
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
link the window into siblings list
|
link the window into siblings list
|
||||||
children and parent are kept in place.
|
children and parent are kept in place.
|
||||||
|
@ -4198,84 +4141,4 @@ IntShowOwnedPopups(PWND OwnerWnd, BOOL fShow )
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* NtUserValidateHandleSecure
|
|
||||||
*
|
|
||||||
* Status
|
|
||||||
* @implemented
|
|
||||||
*/
|
|
||||||
|
|
||||||
BOOL
|
|
||||||
APIENTRY
|
|
||||||
NtUserValidateHandleSecure(
|
|
||||||
HANDLE handle,
|
|
||||||
BOOL Restricted)
|
|
||||||
{
|
|
||||||
if(!Restricted)
|
|
||||||
{
|
|
||||||
UINT uType;
|
|
||||||
{
|
|
||||||
PUSER_HANDLE_ENTRY entry;
|
|
||||||
if (!(entry = handle_to_entry(gHandleTable, handle )))
|
|
||||||
{
|
|
||||||
EngSetLastError(ERROR_INVALID_HANDLE);
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
uType = entry->type;
|
|
||||||
}
|
|
||||||
switch (uType)
|
|
||||||
{
|
|
||||||
case otWindow:
|
|
||||||
{
|
|
||||||
PWND Window;
|
|
||||||
if ((Window = UserGetWindowObject((HWND) handle))) return TRUE;
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
case otMenu:
|
|
||||||
{
|
|
||||||
PMENU_OBJECT Menu;
|
|
||||||
if ((Menu = UserGetMenuObject((HMENU) handle))) return TRUE;
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
case otAccel:
|
|
||||||
{
|
|
||||||
PACCELERATOR_TABLE Accel;
|
|
||||||
if ((Accel = UserGetAccelObject((HACCEL) handle))) return TRUE;
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
case otCursorIcon:
|
|
||||||
{
|
|
||||||
PCURICON_OBJECT Cursor;
|
|
||||||
if ((Cursor = UserGetCurIconObject((HCURSOR) handle))) return TRUE;
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
case otHook:
|
|
||||||
{
|
|
||||||
PHOOK Hook;
|
|
||||||
if ((Hook = IntGetHookObject((HHOOK) handle))) return TRUE;
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
case otMonitor:
|
|
||||||
{
|
|
||||||
PMONITOR Monitor;
|
|
||||||
if ((Monitor = UserGetMonitorObject((HMONITOR) handle))) return TRUE;
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
case otCallProc:
|
|
||||||
{
|
|
||||||
WNDPROC_INFO Proc;
|
|
||||||
return UserGetCallProcInfo( handle, &Proc );
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
EngSetLastError(ERROR_INVALID_HANDLE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{ /* Is handle entry restricted? */
|
|
||||||
STUB
|
|
||||||
}
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -68,38 +68,6 @@ IntGetClientOrigin(PWND Window OPTIONAL, LPPOINT Point)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL FASTCALL
|
|
||||||
UserGetClientOrigin(PWND Window, LPPOINT Point)
|
|
||||||
{
|
|
||||||
BOOL Ret;
|
|
||||||
POINT pt;
|
|
||||||
NTSTATUS Status;
|
|
||||||
|
|
||||||
if(!Point)
|
|
||||||
{
|
|
||||||
EngSetLastError(ERROR_INVALID_PARAMETER);
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
Ret = IntGetClientOrigin(Window, &pt);
|
|
||||||
|
|
||||||
if(!Ret)
|
|
||||||
{
|
|
||||||
EngSetLastError(ERROR_INVALID_WINDOW_HANDLE);
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
Status = MmCopyToCaller(Point, &pt, sizeof(POINT));
|
|
||||||
if(!NT_SUCCESS(Status))
|
|
||||||
{
|
|
||||||
SetLastNtError(Status);
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
return Ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************
|
/*******************************************************************
|
||||||
* can_activate_window
|
* can_activate_window
|
||||||
|
|
|
@ -510,47 +510,6 @@ NtGdiGetPixel(HDC hDC, INT XPos, INT YPos)
|
||||||
return Result;
|
return Result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
LONG APIENTRY
|
|
||||||
IntGetBitmapBits(
|
|
||||||
PSURFACE psurf,
|
|
||||||
DWORD Bytes,
|
|
||||||
OUT PBYTE Bits)
|
|
||||||
{
|
|
||||||
LONG ret;
|
|
||||||
|
|
||||||
ASSERT(Bits);
|
|
||||||
|
|
||||||
/* Don't copy more bytes than the buffer has */
|
|
||||||
Bytes = min(Bytes, psurf->SurfObj.cjBits);
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
/* FIXME: Call DDI CopyBits here if available */
|
|
||||||
if (psurf->DDBitmap)
|
|
||||||
{
|
|
||||||
DPRINT("Calling device specific BitmapBits\n");
|
|
||||||
if (psurf->DDBitmap->funcs->pBitmapBits)
|
|
||||||
{
|
|
||||||
ret = psurf->DDBitmap->funcs->pBitmapBits(hbitmap,
|
|
||||||
bits,
|
|
||||||
count,
|
|
||||||
DDB_GET);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ERR_(bitmap)("BitmapBits == NULL??\n");
|
|
||||||
ret = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
RtlCopyMemory(Bits, psurf->SurfObj.pvBits, Bytes);
|
|
||||||
ret = Bytes;
|
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
FASTCALL
|
FASTCALL
|
||||||
UnsafeGetBitmapBits(
|
UnsafeGetBitmapBits(
|
||||||
|
|
|
@ -125,7 +125,7 @@ BRUSH_vFreeBrushAttr(PBRUSH pbr)
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
INTERNAL_CALL
|
NTAPI
|
||||||
BRUSH_Cleanup(PVOID ObjectBody)
|
BRUSH_Cleanup(PVOID ObjectBody)
|
||||||
{
|
{
|
||||||
PBRUSH pbrush = (PBRUSH)ObjectBody;
|
PBRUSH pbrush = (PBRUSH)ObjectBody;
|
||||||
|
|
|
@ -351,7 +351,7 @@ DC_vInitDc(
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
INTERNAL_CALL
|
NTAPI
|
||||||
DC_Cleanup(PVOID ObjectBody)
|
DC_Cleanup(PVOID ObjectBody)
|
||||||
{
|
{
|
||||||
PDC pdc = (PDC)ObjectBody;
|
PDC pdc = (PDC)ObjectBody;
|
||||||
|
|
|
@ -70,7 +70,7 @@ int FASTCALL IntFillRect(DC *dc, INT XLeft, INT YLeft, INT Width, INT Height, PB
|
||||||
|
|
||||||
static
|
static
|
||||||
POINT
|
POINT
|
||||||
INTERNAL_CALL
|
NTAPI
|
||||||
app_new_point(int x, int y)
|
app_new_point(int x, int y)
|
||||||
{
|
{
|
||||||
POINT p;
|
POINT p;
|
||||||
|
@ -82,7 +82,7 @@ app_new_point(int x, int y)
|
||||||
|
|
||||||
static
|
static
|
||||||
Rect
|
Rect
|
||||||
INTERNAL_CALL
|
NTAPI
|
||||||
rect(int x, int y, int width, int height)
|
rect(int x, int y, int width, int height)
|
||||||
{
|
{
|
||||||
Rect r;
|
Rect r;
|
||||||
|
@ -122,7 +122,7 @@ rect(int x, int y, int width, int height)
|
||||||
*/
|
*/
|
||||||
static
|
static
|
||||||
int
|
int
|
||||||
INTERNAL_CALL
|
NTAPI
|
||||||
app_draw_ellipse(DC *g, Rect r, PBRUSH pbrush)
|
app_draw_ellipse(DC *g, Rect r, PBRUSH pbrush)
|
||||||
{
|
{
|
||||||
/* Outer ellipse: e(x,y) = b*b*x*x + a*a*y*y - a*a*b*b */
|
/* Outer ellipse: e(x,y) = b*b*x*x + a*a*y*y - a*a*b*b */
|
||||||
|
|
|
@ -87,7 +87,7 @@ ULONG gulFirstFree;
|
||||||
ULONG gulFirstUnused;
|
ULONG gulFirstUnused;
|
||||||
static PPAGED_LOOKASIDE_LIST gpaLookasideList;
|
static PPAGED_LOOKASIDE_LIST gpaLookasideList;
|
||||||
|
|
||||||
static BOOL INTERNAL_CALL GDIOBJ_Cleanup(PVOID ObjectBody);
|
static BOOL NTAPI GDIOBJ_Cleanup(PVOID ObjectBody);
|
||||||
|
|
||||||
static const
|
static const
|
||||||
GDICLEANUPPROC
|
GDICLEANUPPROC
|
||||||
|
@ -130,7 +130,7 @@ apfnCleanup[] =
|
||||||
/* INTERNAL FUNCTIONS ********************************************************/
|
/* INTERNAL FUNCTIONS ********************************************************/
|
||||||
|
|
||||||
static
|
static
|
||||||
BOOL INTERNAL_CALL
|
BOOL NTAPI
|
||||||
GDIOBJ_Cleanup(PVOID ObjectBody)
|
GDIOBJ_Cleanup(PVOID ObjectBody)
|
||||||
{
|
{
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -1175,7 +1175,7 @@ NtGdiDeleteClientObj(
|
||||||
|
|
||||||
PGDI_HANDLE_TABLE GdiHandleTable = NULL;
|
PGDI_HANDLE_TABLE GdiHandleTable = NULL;
|
||||||
|
|
||||||
PGDIOBJ INTERNAL_CALL
|
PGDIOBJ NTAPI
|
||||||
GDIOBJ_ShareLockObj(HGDIOBJ hObj, DWORD ExpectedType)
|
GDIOBJ_ShareLockObj(HGDIOBJ hObj, DWORD ExpectedType)
|
||||||
{
|
{
|
||||||
if (ExpectedType == GDI_OBJECT_TYPE_DONTCARE)
|
if (ExpectedType == GDI_OBJECT_TYPE_DONTCARE)
|
||||||
|
@ -1187,7 +1187,7 @@ GDIOBJ_ShareLockObj(HGDIOBJ hObj, DWORD ExpectedType)
|
||||||
// That shouldn't be a problem, since we don't have any processes yet,
|
// That shouldn't be a problem, since we don't have any processes yet,
|
||||||
// that could delete the handle
|
// that could delete the handle
|
||||||
BOOL
|
BOOL
|
||||||
INTERNAL_CALL
|
NTAPI
|
||||||
GDIOBJ_ConvertToStockObj(HGDIOBJ *phObj)
|
GDIOBJ_ConvertToStockObj(HGDIOBJ *phObj)
|
||||||
{
|
{
|
||||||
PENTRY pentry;
|
PENTRY pentry;
|
||||||
|
@ -1220,7 +1220,7 @@ GDIOBJ_ConvertToStockObj(HGDIOBJ *phObj)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
POBJ INTERNAL_CALL
|
POBJ NTAPI
|
||||||
GDIOBJ_AllocObjWithHandle(ULONG ObjectType, ULONG cjSize)
|
GDIOBJ_AllocObjWithHandle(ULONG ObjectType, ULONG cjSize)
|
||||||
{
|
{
|
||||||
POBJ pobj;
|
POBJ pobj;
|
||||||
|
@ -1245,7 +1245,7 @@ GDIOBJ_AllocObjWithHandle(ULONG ObjectType, ULONG cjSize)
|
||||||
return pobj;
|
return pobj;
|
||||||
}
|
}
|
||||||
|
|
||||||
PVOID INTERNAL_CALL
|
PVOID NTAPI
|
||||||
GDI_MapHandleTable(PEPROCESS pProcess)
|
GDI_MapHandleTable(PEPROCESS pProcess)
|
||||||
{
|
{
|
||||||
PVOID pvMappedView = NULL;
|
PVOID pvMappedView = NULL;
|
||||||
|
@ -1275,7 +1275,7 @@ GDI_MapHandleTable(PEPROCESS pProcess)
|
||||||
return pvMappedView;
|
return pvMappedView;
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL INTERNAL_CALL
|
BOOL NTAPI
|
||||||
GDI_CleanupForProcess(struct _EPROCESS *Process)
|
GDI_CleanupForProcess(struct _EPROCESS *Process)
|
||||||
{
|
{
|
||||||
PENTRY pentry;
|
PENTRY pentry;
|
||||||
|
|
|
@ -285,7 +285,7 @@ PALETTE_AllocPaletteIndexedRGB(ULONG NumColors,
|
||||||
return NewPalette;
|
return NewPalette;
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL INTERNAL_CALL
|
BOOL NTAPI
|
||||||
PALETTE_Cleanup(PVOID ObjectBody)
|
PALETTE_Cleanup(PVOID ObjectBody)
|
||||||
{
|
{
|
||||||
PPALETTE pPal = (PPALETTE)ObjectBody;
|
PPALETTE pPal = (PPALETTE)ObjectBody;
|
||||||
|
|
|
@ -61,6 +61,20 @@ VOID FASTCALL IntGetCurrentPositionEx(PDC dc, LPPOINT pt);
|
||||||
* Internal functions
|
* Internal functions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* PATH_DestroyGdiPath
|
||||||
|
*
|
||||||
|
* Destroys a GdiPath structure (frees the memory in the arrays).
|
||||||
|
*/
|
||||||
|
VOID
|
||||||
|
FASTCALL
|
||||||
|
PATH_DestroyGdiPath ( PPATH pPath )
|
||||||
|
{
|
||||||
|
ASSERT(pPath!=NULL);
|
||||||
|
|
||||||
|
if (pPath->pPoints) ExFreePoolWithTag(pPath->pPoints, TAG_PATH);
|
||||||
|
if (pPath->pFlags) ExFreePoolWithTag(pPath->pFlags, TAG_PATH);
|
||||||
|
}
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
FASTCALL
|
FASTCALL
|
||||||
PATH_Delete(HPATH hPath)
|
PATH_Delete(HPATH hPath)
|
||||||
|
@ -185,20 +199,6 @@ PATH_InitGdiPath ( PPATH pPath )
|
||||||
pPath->numEntriesAllocated=0;
|
pPath->numEntriesAllocated=0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* PATH_DestroyGdiPath
|
|
||||||
*
|
|
||||||
* Destroys a GdiPath structure (frees the memory in the arrays).
|
|
||||||
*/
|
|
||||||
VOID
|
|
||||||
FASTCALL
|
|
||||||
PATH_DestroyGdiPath ( PPATH pPath )
|
|
||||||
{
|
|
||||||
ASSERT(pPath!=NULL);
|
|
||||||
|
|
||||||
if (pPath->pPoints) ExFreePoolWithTag(pPath->pPoints, TAG_PATH);
|
|
||||||
if (pPath->pFlags) ExFreePoolWithTag(pPath->pFlags, TAG_PATH);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* PATH_AssignGdiPath
|
/* PATH_AssignGdiPath
|
||||||
*
|
*
|
||||||
* Copies the GdiPath structure "pPathSrc" to "pPathDest". A deep copy is
|
* Copies the GdiPath structure "pPathSrc" to "pPathDest". A deep copy is
|
||||||
|
|
|
@ -2271,7 +2271,7 @@ IntSysCreateRectRgn(INT LeftRect, INT TopRect, INT RightRect, INT BottomRect)
|
||||||
return hrgn;
|
return hrgn;
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL INTERNAL_CALL
|
BOOL NTAPI
|
||||||
REGION_Cleanup(PVOID ObjectBody)
|
REGION_Cleanup(PVOID ObjectBody)
|
||||||
{
|
{
|
||||||
PROSRGNDATA pRgn = (PROSRGNDATA)ObjectBody;
|
PROSRGNDATA pRgn = (PROSRGNDATA)ObjectBody;
|
||||||
|
|
|
@ -111,7 +111,7 @@ HintFromAccel(ULONG flAccel)
|
||||||
/** Internal functions ********************************************************/
|
/** Internal functions ********************************************************/
|
||||||
|
|
||||||
ULONG
|
ULONG
|
||||||
INTERNAL_CALL
|
NTAPI
|
||||||
XFORMOBJ_UpdateAccel(
|
XFORMOBJ_UpdateAccel(
|
||||||
IN XFORMOBJ *pxo)
|
IN XFORMOBJ *pxo)
|
||||||
{
|
{
|
||||||
|
@ -152,7 +152,7 @@ XFORMOBJ_UpdateAccel(
|
||||||
|
|
||||||
|
|
||||||
ULONG
|
ULONG
|
||||||
INTERNAL_CALL
|
NTAPI
|
||||||
XFORMOBJ_iSetXform(
|
XFORMOBJ_iSetXform(
|
||||||
OUT XFORMOBJ *pxo,
|
OUT XFORMOBJ *pxo,
|
||||||
IN const XFORML *pxform)
|
IN const XFORML *pxform)
|
||||||
|
@ -186,7 +186,7 @@ XFORMOBJ_iSetXform(
|
||||||
* | efDx efDy 1 |
|
* | efDx efDy 1 |
|
||||||
*/
|
*/
|
||||||
ULONG
|
ULONG
|
||||||
INTERNAL_CALL
|
NTAPI
|
||||||
XFORMOBJ_iCombine(
|
XFORMOBJ_iCombine(
|
||||||
IN XFORMOBJ *pxo,
|
IN XFORMOBJ *pxo,
|
||||||
IN XFORMOBJ *pxo1,
|
IN XFORMOBJ *pxo1,
|
||||||
|
@ -218,7 +218,7 @@ XFORMOBJ_iCombine(
|
||||||
|
|
||||||
|
|
||||||
ULONG
|
ULONG
|
||||||
INTERNAL_CALL
|
NTAPI
|
||||||
XFORMOBJ_iCombineXform(
|
XFORMOBJ_iCombineXform(
|
||||||
IN XFORMOBJ *pxo,
|
IN XFORMOBJ *pxo,
|
||||||
IN XFORMOBJ *pxo1,
|
IN XFORMOBJ *pxo1,
|
||||||
|
@ -246,7 +246,7 @@ XFORMOBJ_iCombineXform(
|
||||||
* A^-1 = 1/(a*d - b*c) * (a22,-a12,a21,-a11)
|
* A^-1 = 1/(a*d - b*c) * (a22,-a12,a21,-a11)
|
||||||
*/
|
*/
|
||||||
ULONG
|
ULONG
|
||||||
INTERNAL_CALL
|
NTAPI
|
||||||
XFORMOBJ_iInverse(
|
XFORMOBJ_iInverse(
|
||||||
OUT XFORMOBJ *pxoDst,
|
OUT XFORMOBJ *pxoDst,
|
||||||
IN XFORMOBJ *pxoSrc)
|
IN XFORMOBJ *pxoSrc)
|
||||||
|
@ -285,7 +285,7 @@ XFORMOBJ_iInverse(
|
||||||
|
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
INTERNAL_CALL
|
NTAPI
|
||||||
XFORMOBJ_bXformFixPoints(
|
XFORMOBJ_bXformFixPoints(
|
||||||
IN XFORMOBJ *pxo,
|
IN XFORMOBJ *pxo,
|
||||||
IN ULONG cPoints,
|
IN ULONG cPoints,
|
||||||
|
|
|
@ -37,6 +37,7 @@ typedef struct _SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
|
||||||
#define STARTF_USEPOSITION 4
|
#define STARTF_USEPOSITION 4
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <windef.h>
|
#include <windef.h>
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
/* Avoid type casting, by defining RECT to RECTL */
|
/* Avoid type casting, by defining RECT to RECTL */
|
||||||
#define RECT RECTL
|
#define RECT RECTL
|
||||||
|
@ -76,6 +77,10 @@ typedef struct _SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
|
||||||
/* Undocumented user definitions */
|
/* Undocumented user definitions */
|
||||||
#include <undocuser.h>
|
#include <undocuser.h>
|
||||||
|
|
||||||
|
/* Freetype headers*/
|
||||||
|
#include <ft2build.h>
|
||||||
|
#include <freetype/freetype.h>
|
||||||
|
|
||||||
/* Internal Win32K Header */
|
/* Internal Win32K Header */
|
||||||
#include "include/win32kp.h"
|
#include "include/win32kp.h"
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue