- Put GDI initialization function(s) in a dedicated file.
- Whitespace fixes...

svn path=/trunk/; revision=65852
This commit is contained in:
Hermès Bélusca-Maïto 2014-12-27 19:16:05 +00:00
parent 1db4f01f36
commit a306e56c55
6 changed files with 98 additions and 81 deletions

View file

@ -167,6 +167,7 @@ list(APPEND SOURCE
gdi/ntgdi/gdiobj.c gdi/ntgdi/gdiobj.c
gdi/ntgdi/gdipool.c gdi/ntgdi/gdipool.c
gdi/ntgdi/icm.c gdi/ntgdi/icm.c
gdi/ntgdi/init.c
gdi/ntgdi/line.c gdi/ntgdi/line.c
gdi/ntgdi/metafile.c gdi/ntgdi/metafile.c
gdi/ntgdi/palette.c gdi/ntgdi/palette.c

View file

@ -1537,16 +1537,6 @@ NtGdiIcmBrushInfo(
return FALSE; return FALSE;
} }
/*
* @implemented
*/
BOOL
APIENTRY
NtGdiInit(VOID)
{
return TRUE;
}
/* /*
* @unimplemented * @unimplemented
*/ */

View file

@ -0,0 +1,25 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Win32k subsystem
* PURPOSE: Initialization of GDI
* FILE: win32ss/gdi/ntgdi/init.c
* PROGRAMER:
*/
#include <win32k.h>
#define NDEBUG
#include <debug.h>
#include <kdros.h>
/*
* @implemented
*/
BOOL
APIENTRY
NtGdiInit(VOID)
{
return TRUE;
}
/* EOF */

View file

@ -974,6 +974,10 @@ typedef struct tagSERVERINFO
PERUSERSERVERINFO; PERUSERSERVERINFO;
} SERVERINFO, *PSERVERINFO; } SERVERINFO, *PSERVERINFO;
#ifdef _M_IX86
C_ASSERT(sizeof(SERVERINFO) <= PAGE_SIZE);
#endif
// Server event activity bits. // Server event activity bits.
#define SRV_EVENT_MENU 0x0001 #define SRV_EVENT_MENU 0x0001

View file

@ -733,10 +733,6 @@ DriverUnload(IN PDRIVER_OBJECT DriverObject)
ResetCsrProcess(); ResetCsrProcess();
} }
#ifdef _M_IX86
C_ASSERT(sizeof(SERVERINFO) <= PAGE_SIZE);
#endif
// Return on failure // Return on failure
#define NT_ROF(x) \ #define NT_ROF(x) \
{ \ { \

View file

@ -2,13 +2,13 @@
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
* PURPOSE: ntuser init. and main funcs. * PURPOSE: ntuser init. and main funcs.
* FILE: subsystems/win32/win32k/ntuser/ntuser.c * FILE: win32ss/user/ntuser/ntuser.c
*/ */
#include <win32k.h> #include <win32k.h>
DBG_DEFAULT_CHANNEL(UserMisc); DBG_DEFAULT_CHANNEL(UserMisc);
/* GLOBALS *******************************************************************/ /* GLOBALS ********************************************************************/
PTHREADINFO gptiCurrent = NULL; PTHREADINFO gptiCurrent = NULL;
PPROCESSINFO gppiInputProvider = NULL; PPROCESSINFO gppiInputProvider = NULL;
@ -21,73 +21,72 @@ HINSTANCE hModClient = NULL;
BOOL ClientPfnInit = FALSE; BOOL ClientPfnInit = FALSE;
ATOM gaGuiConsoleWndClass; ATOM gaGuiConsoleWndClass;
/* PRIVATE FUNCTIONS *********************************************************/ /* PRIVATE FUNCTIONS **********************************************************/
static static
NTSTATUS FASTCALL NTSTATUS FASTCALL
InitUserAtoms(VOID) InitUserAtoms(VOID)
{ {
gpsi->atomSysClass[ICLS_MENU] = 32768;
gpsi->atomSysClass[ICLS_DESKTOP] = 32769;
gpsi->atomSysClass[ICLS_DIALOG] = 32770;
gpsi->atomSysClass[ICLS_SWITCH] = 32771;
gpsi->atomSysClass[ICLS_ICONTITLE] = 32772;
gpsi->atomSysClass[ICLS_TOOLTIPS] = 32774;
gpsi->atomSysClass[ICLS_MENU] = 32768; /* System Message Atom */
gpsi->atomSysClass[ICLS_DESKTOP] = 32769; AtomMessage = IntAddGlobalAtom(L"Message", TRUE);
gpsi->atomSysClass[ICLS_DIALOG] = 32770; gpsi->atomSysClass[ICLS_HWNDMESSAGE] = AtomMessage;
gpsi->atomSysClass[ICLS_SWITCH] = 32771;
gpsi->atomSysClass[ICLS_ICONTITLE] = 32772;
gpsi->atomSysClass[ICLS_TOOLTIPS] = 32774;
/* System Message Atom */ /* System Context Help Id Atom */
AtomMessage = IntAddGlobalAtom(L"Message", TRUE); gpsi->atomContextHelpIdProp = IntAddGlobalAtom(L"SysCH", TRUE);
gpsi->atomSysClass[ICLS_HWNDMESSAGE] = AtomMessage;
/* System Context Help Id Atom */ gpsi->atomIconSmProp = IntAddGlobalAtom(L"SysICS", TRUE);
gpsi->atomContextHelpIdProp = IntAddGlobalAtom(L"SysCH", TRUE); gpsi->atomIconProp = IntAddGlobalAtom(L"SysIC", TRUE);
gpsi->atomIconSmProp = IntAddGlobalAtom(L"SysICS", TRUE); gpsi->atomFrostedWindowProp = IntAddGlobalAtom(L"SysFrostedWindow", TRUE);
gpsi->atomIconProp = IntAddGlobalAtom(L"SysIC", TRUE);
gpsi->atomFrostedWindowProp = IntAddGlobalAtom(L"SysFrostedWindow", TRUE); /*
* FIXME: AddPropW uses the global kernel atom table, thus leading to conflicts if we use
* the win32k atom table for this ones. What is the right thing to do ?
*/
// AtomWndObj = IntAddGlobalAtom(L"SysWNDO", TRUE);
NtAddAtom(L"SysWNDO", 14, &AtomWndObj);
AtomLayer = IntAddGlobalAtom(L"SysLayer", TRUE);
AtomFlashWndState = IntAddGlobalAtom(L"FlashWState", TRUE);
/* return STATUS_SUCCESS;
* FIXME: AddPropW uses the global kernel atom table, thus leading to conflicts if we use
* the win32k atom table for this ones. What is the right thing to do ?
*/
// AtomWndObj = IntAddGlobalAtom(L"SysWNDO", TRUE);
NtAddAtom(L"SysWNDO", 14, &AtomWndObj);
AtomLayer = IntAddGlobalAtom(L"SysLayer", TRUE);
AtomFlashWndState = IntAddGlobalAtom(L"FlashWState", TRUE);
return STATUS_SUCCESS;
} }
/* FUNCTIONS *****************************************************************/ /* FUNCTIONS ******************************************************************/
INIT_FUNCTION INIT_FUNCTION
NTSTATUS NTSTATUS
NTAPI NTAPI
InitUserImpl(VOID) InitUserImpl(VOID)
{ {
NTSTATUS Status; NTSTATUS Status;
ExInitializeResourceLite(&UserLock); ExInitializeResourceLite(&UserLock);
if (!UserCreateHandleTable()) if (!UserCreateHandleTable())
{ {
ERR("Failed creating handle table\n"); ERR("Failed creating handle table\n");
return STATUS_INSUFFICIENT_RESOURCES; return STATUS_INSUFFICIENT_RESOURCES;
} }
Status = InitSessionImpl(); Status = InitSessionImpl();
if (!NT_SUCCESS(Status)) if (!NT_SUCCESS(Status))
{ {
ERR("Error init session impl.\n"); ERR("Error init session impl.\n");
return Status; return Status;
} }
InitUserAtoms(); InitUserAtoms();
InitSysParams(); InitSysParams();
return STATUS_SUCCESS; return STATUS_SUCCESS;
} }
NTSTATUS NTSTATUS
@ -110,7 +109,7 @@ UserInitialize(VOID)
Status = UserCreateWinstaDirectory(); Status = UserCreateWinstaDirectory();
if (!NT_SUCCESS(Status)) return Status; if (!NT_SUCCESS(Status)) return Status;
/* Initialize Video. */ /* Initialize Video */
Status = InitVideo(); Status = InitVideo();
if (!NT_SUCCESS(Status)) return Status; if (!NT_SUCCESS(Status)) return Status;
@ -123,7 +122,7 @@ UserInitialize(VOID)
// Create ThreadInfo for this Thread! // Create ThreadInfo for this Thread!
// { // {
/* Initialize the current thread. */ /* Initialize the current thread */
Status = UserCreateThreadInfo(PsGetCurrentThread()); Status = UserCreateThreadInfo(PsGetCurrentThread());
if (!NT_SUCCESS(Status)) return Status; if (!NT_SUCCESS(Status)) return Status;
@ -135,10 +134,10 @@ UserInitialize(VOID)
if (gpsi->hbrGray == NULL) if (gpsi->hbrGray == NULL)
{ {
hPattern55AABitmap = GreCreateBitmap(8, 8, 1, 1, (LPBYTE)wPattern55AA); hPattern55AABitmap = GreCreateBitmap(8, 8, 1, 1, (LPBYTE)wPattern55AA);
gpsi->hbrGray = IntGdiCreatePatternBrush(hPattern55AABitmap); gpsi->hbrGray = IntGdiCreatePatternBrush(hPattern55AABitmap);
GreDeleteObject(hPattern55AABitmap); GreDeleteObject(hPattern55AABitmap);
GreSetBrushOwner(gpsi->hbrGray, GDI_OBJ_HMGR_PUBLIC); GreSetBrushOwner(gpsi->hbrGray, GDI_OBJ_HMGR_PUBLIC);
} }
return STATUS_SUCCESS; return STATUS_SUCCESS;
@ -150,9 +149,9 @@ UserInitialize(VOID)
NTSTATUS NTSTATUS
APIENTRY APIENTRY
NtUserInitialize( NtUserInitialize(
DWORD dwWinVersion, DWORD dwWinVersion,
HANDLE hPowerRequestEvent, HANDLE hPowerRequestEvent,
HANDLE hMediaRequestEvent) HANDLE hMediaRequestEvent)
{ {
NTSTATUS Status; NTSTATUS Status;
@ -201,38 +200,40 @@ RETURN
*/ */
BOOL FASTCALL UserIsEntered(VOID) BOOL FASTCALL UserIsEntered(VOID)
{ {
return ExIsResourceAcquiredExclusiveLite(&UserLock) return ExIsResourceAcquiredExclusiveLite(&UserLock) ||
|| ExIsResourceAcquiredSharedLite(&UserLock); ExIsResourceAcquiredSharedLite(&UserLock);
} }
BOOL FASTCALL UserIsEnteredExclusive(VOID) BOOL FASTCALL UserIsEnteredExclusive(VOID)
{ {
return ExIsResourceAcquiredExclusiveLite(&UserLock); return ExIsResourceAcquiredExclusiveLite(&UserLock);
} }
VOID FASTCALL CleanupUserImpl(VOID) VOID FASTCALL CleanupUserImpl(VOID)
{ {
ExDeleteResourceLite(&UserLock); ExDeleteResourceLite(&UserLock);
} }
VOID FASTCALL UserEnterShared(VOID) VOID FASTCALL UserEnterShared(VOID)
{ {
KeEnterCriticalRegion(); KeEnterCriticalRegion();
ExAcquireResourceSharedLite(&UserLock, TRUE); ExAcquireResourceSharedLite(&UserLock, TRUE);
} }
VOID FASTCALL UserEnterExclusive(VOID) VOID FASTCALL UserEnterExclusive(VOID)
{ {
ASSERT_NOGDILOCKS(); ASSERT_NOGDILOCKS();
KeEnterCriticalRegion(); KeEnterCriticalRegion();
ExAcquireResourceExclusiveLite(&UserLock, TRUE); ExAcquireResourceExclusiveLite(&UserLock, TRUE);
gptiCurrent = PsGetCurrentThreadWin32Thread(); gptiCurrent = PsGetCurrentThreadWin32Thread();
} }
VOID FASTCALL UserLeave(VOID) VOID FASTCALL UserLeave(VOID)
{ {
ASSERT_NOGDILOCKS(); ASSERT_NOGDILOCKS();
ASSERT(UserIsEntered()); ASSERT(UserIsEntered());
ExReleaseResourceLite(&UserLock); ExReleaseResourceLite(&UserLock);
KeLeaveCriticalRegion(); KeLeaveCriticalRegion();
} }
/* EOF */