- 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/gdipool.c
gdi/ntgdi/icm.c
gdi/ntgdi/init.c
gdi/ntgdi/line.c
gdi/ntgdi/metafile.c
gdi/ntgdi/palette.c

View file

@ -1537,16 +1537,6 @@ NtGdiIcmBrushInfo(
return FALSE;
}
/*
* @implemented
*/
BOOL
APIENTRY
NtGdiInit(VOID)
{
return TRUE;
}
/*
* @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;
} SERVERINFO, *PSERVERINFO;
#ifdef _M_IX86
C_ASSERT(sizeof(SERVERINFO) <= PAGE_SIZE);
#endif
// Server event activity bits.
#define SRV_EVENT_MENU 0x0001

View file

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

View file

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