mirror of
https://github.com/reactos/reactos.git
synced 2025-03-30 17:10:22 +00:00
- Compile Win32k, GDI, USER32 and CSRSS using W32API.
svn path=/trunk/; revision=9053
This commit is contained in:
parent
db6bcc0793
commit
31c1c21824
128 changed files with 1494 additions and 886 deletions
|
@ -3,7 +3,7 @@
|
|||
|
||||
#include <windows.h>
|
||||
#include <ddk/ntddblue.h>
|
||||
#include <ntos/keyboard.h>
|
||||
#include <ntos.h>
|
||||
|
||||
#define CSR_PRIORITY_CLASS_NORMAL (0x10)
|
||||
#define CSR_PRIORITY_CLASS_IDLE (0x20)
|
||||
|
@ -535,7 +535,7 @@ typedef struct
|
|||
#define CSRSS_MAX_WRITE_CONSOLE_REQUEST \
|
||||
(MAX_MESSAGE_DATA - sizeof(ULONG) - sizeof(CSRSS_WRITE_CONSOLE_REQUEST))
|
||||
|
||||
#define CSRSS_MAX_SET_TITLE_REQUEST (MAX_MESSAGE_DATA - sizeof( HANDLE ) - sizeof( DWORD ) - sizeof( ULONG ) - sizeof( LPC_MESSAGE ))
|
||||
#define CSRSS_MAX_SET_TITLE_REQUEST (MAX_MESSAGE_DATA - sizeof( HANDLE ) - sizeof( DWORD ) - sizeof( ULONG ) - LPC_MESSAGE_BASE_SIZE)
|
||||
|
||||
#define CSRSS_MAX_WRITE_CONSOLE_OUTPUT_CHAR (MAX_MESSAGE_DATA - sizeof( ULONG ) - sizeof( CSRSS_WRITE_CONSOLE_OUTPUT_CHAR_REQUEST ))
|
||||
|
||||
|
@ -599,99 +599,113 @@ typedef struct
|
|||
#define CSRSS_SET_CONSOLE_ICON (0x2E)
|
||||
|
||||
/* Keep in sync with definition below. */
|
||||
#define CSRSS_REQUEST_HEADER_SIZE (sizeof(LPC_MESSAGE) + sizeof(ULONG))
|
||||
#define CSRSS_REQUEST_HEADER_SIZE (LPC_MESSAGE_BASE_SIZE + sizeof(ULONG))
|
||||
|
||||
typedef struct
|
||||
{
|
||||
LPC_MESSAGE Header;
|
||||
ULONG Type;
|
||||
union
|
||||
{
|
||||
CSRSS_CREATE_PROCESS_REQUEST CreateProcessRequest;
|
||||
CSRSS_CONNECT_PROCESS_REQUEST ConnectRequest;
|
||||
CSRSS_WRITE_CONSOLE_REQUEST WriteConsoleRequest;
|
||||
CSRSS_READ_CONSOLE_REQUEST ReadConsoleRequest;
|
||||
CSRSS_ALLOC_CONSOLE_REQUEST AllocConsoleRequest;
|
||||
CSRSS_SCREEN_BUFFER_INFO_REQUEST ScreenBufferInfoRequest;
|
||||
CSRSS_SET_CURSOR_REQUEST SetCursorRequest;
|
||||
CSRSS_FILL_OUTPUT_REQUEST FillOutputRequest;
|
||||
CSRSS_READ_INPUT_REQUEST ReadInputRequest;
|
||||
CSRSS_WRITE_CONSOLE_OUTPUT_CHAR_REQUEST WriteConsoleOutputCharRequest;
|
||||
CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB_REQUEST WriteConsoleOutputAttribRequest;
|
||||
CSRSS_FILL_OUTPUT_ATTRIB_REQUEST FillOutputAttribRequest;
|
||||
CSRSS_SET_CURSOR_INFO_REQUEST SetCursorInfoRequest;
|
||||
CSRSS_GET_CURSOR_INFO_REQUEST GetCursorInfoRequest;
|
||||
CSRSS_SET_ATTRIB_REQUEST SetAttribRequest;
|
||||
CSRSS_SET_CONSOLE_MODE_REQUEST SetConsoleModeRequest;
|
||||
CSRSS_GET_CONSOLE_MODE_REQUEST GetConsoleModeRequest;
|
||||
CSRSS_CREATE_SCREEN_BUFFER_REQUEST CreateScreenBufferRequest;
|
||||
CSRSS_SET_SCREEN_BUFFER_REQUEST SetScreenBufferRequest;
|
||||
CSRSS_SET_TITLE_REQUEST SetTitleRequest;
|
||||
CSRSS_GET_TITLE_REQUEST GetTitleRequest;
|
||||
CSRSS_WRITE_CONSOLE_OUTPUT_REQUEST WriteConsoleOutputRequest;
|
||||
CSRSS_FLUSH_INPUT_BUFFER_REQUEST FlushInputBufferRequest;
|
||||
CSRSS_SCROLL_CONSOLE_SCREEN_BUFFER_REQUEST
|
||||
ScrollConsoleScreenBufferRequest;
|
||||
CSRSS_READ_CONSOLE_OUTPUT_CHAR_REQUEST ReadConsoleOutputCharRequest;
|
||||
CSRSS_READ_CONSOLE_OUTPUT_ATTRIB_REQUEST ReadConsoleOutputAttribRequest;
|
||||
CSRSS_GET_NUM_INPUT_EVENTS_REQUEST GetNumInputEventsRequest;
|
||||
CSRSS_REGISTER_SERVICES_PROCESS_REQUEST RegisterServicesProcessRequest;
|
||||
CSRSS_EXIT_REACTOS_REQUEST ExitReactosRequest;
|
||||
CSRSS_SET_SHUTDOWN_PARAMETERS_REQUEST SetShutdownParametersRequest;
|
||||
CSRSS_GET_SHUTDOWN_PARAMETERS_REQUEST GetShutdownParametersRequest;
|
||||
CSRSS_PEEK_CONSOLE_INPUT_REQUEST PeekConsoleInputRequest;
|
||||
CSRSS_READ_CONSOLE_OUTPUT_REQUEST ReadConsoleOutputRequest;
|
||||
CSRSS_WRITE_CONSOLE_INPUT_REQUEST WriteConsoleInputRequest;
|
||||
CSRSS_CLOSE_HANDLE_REQUEST CloseHandleRequest;
|
||||
CSRSS_VERIFY_HANDLE_REQUEST VerifyHandleRequest;
|
||||
CSRSS_DUPLICATE_HANDLE_REQUEST DuplicateHandleRequest;
|
||||
CSRSS_SETGET_CONSOLE_HW_STATE_REQUEST ConsoleHardwareStateRequest;
|
||||
CSRSS_CONSOLE_WINDOW ConsoleWindowRequest;
|
||||
CSRSS_CREATE_DESKTOP_REQUEST CreateDesktopRequest;
|
||||
CSRSS_SHOW_DESKTOP_REQUEST ShowDesktopRequest;
|
||||
CSRSS_HIDE_DESKTOP_REQUEST HideDesktopRequest;
|
||||
CSRSS_CONSOLE_SET_WINDOW_ICON ConsoleSetWindowIconRequest;
|
||||
} Data;
|
||||
LPC_MESSAGE Header;
|
||||
struct
|
||||
{
|
||||
BYTE HeaderReserved[LPC_MESSAGE_BASE_SIZE];
|
||||
ULONG Type;
|
||||
union
|
||||
{
|
||||
CSRSS_CREATE_PROCESS_REQUEST CreateProcessRequest;
|
||||
CSRSS_CONNECT_PROCESS_REQUEST ConnectRequest;
|
||||
CSRSS_WRITE_CONSOLE_REQUEST WriteConsoleRequest;
|
||||
CSRSS_READ_CONSOLE_REQUEST ReadConsoleRequest;
|
||||
CSRSS_ALLOC_CONSOLE_REQUEST AllocConsoleRequest;
|
||||
CSRSS_SCREEN_BUFFER_INFO_REQUEST ScreenBufferInfoRequest;
|
||||
CSRSS_SET_CURSOR_REQUEST SetCursorRequest;
|
||||
CSRSS_FILL_OUTPUT_REQUEST FillOutputRequest;
|
||||
CSRSS_READ_INPUT_REQUEST ReadInputRequest;
|
||||
CSRSS_WRITE_CONSOLE_OUTPUT_CHAR_REQUEST WriteConsoleOutputCharRequest;
|
||||
CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB_REQUEST WriteConsoleOutputAttribRequest;
|
||||
CSRSS_FILL_OUTPUT_ATTRIB_REQUEST FillOutputAttribRequest;
|
||||
CSRSS_SET_CURSOR_INFO_REQUEST SetCursorInfoRequest;
|
||||
CSRSS_GET_CURSOR_INFO_REQUEST GetCursorInfoRequest;
|
||||
CSRSS_SET_ATTRIB_REQUEST SetAttribRequest;
|
||||
CSRSS_SET_CONSOLE_MODE_REQUEST SetConsoleModeRequest;
|
||||
CSRSS_GET_CONSOLE_MODE_REQUEST GetConsoleModeRequest;
|
||||
CSRSS_CREATE_SCREEN_BUFFER_REQUEST CreateScreenBufferRequest;
|
||||
CSRSS_SET_SCREEN_BUFFER_REQUEST SetScreenBufferRequest;
|
||||
CSRSS_SET_TITLE_REQUEST SetTitleRequest;
|
||||
CSRSS_GET_TITLE_REQUEST GetTitleRequest;
|
||||
CSRSS_WRITE_CONSOLE_OUTPUT_REQUEST WriteConsoleOutputRequest;
|
||||
CSRSS_FLUSH_INPUT_BUFFER_REQUEST FlushInputBufferRequest;
|
||||
CSRSS_SCROLL_CONSOLE_SCREEN_BUFFER_REQUEST
|
||||
ScrollConsoleScreenBufferRequest;
|
||||
CSRSS_READ_CONSOLE_OUTPUT_CHAR_REQUEST ReadConsoleOutputCharRequest;
|
||||
CSRSS_READ_CONSOLE_OUTPUT_ATTRIB_REQUEST ReadConsoleOutputAttribRequest;
|
||||
CSRSS_GET_NUM_INPUT_EVENTS_REQUEST GetNumInputEventsRequest;
|
||||
CSRSS_REGISTER_SERVICES_PROCESS_REQUEST RegisterServicesProcessRequest;
|
||||
CSRSS_EXIT_REACTOS_REQUEST ExitReactosRequest;
|
||||
CSRSS_SET_SHUTDOWN_PARAMETERS_REQUEST SetShutdownParametersRequest;
|
||||
CSRSS_GET_SHUTDOWN_PARAMETERS_REQUEST GetShutdownParametersRequest;
|
||||
CSRSS_PEEK_CONSOLE_INPUT_REQUEST PeekConsoleInputRequest;
|
||||
CSRSS_READ_CONSOLE_OUTPUT_REQUEST ReadConsoleOutputRequest;
|
||||
CSRSS_WRITE_CONSOLE_INPUT_REQUEST WriteConsoleInputRequest;
|
||||
CSRSS_CLOSE_HANDLE_REQUEST CloseHandleRequest;
|
||||
CSRSS_VERIFY_HANDLE_REQUEST VerifyHandleRequest;
|
||||
CSRSS_DUPLICATE_HANDLE_REQUEST DuplicateHandleRequest;
|
||||
CSRSS_SETGET_CONSOLE_HW_STATE_REQUEST ConsoleHardwareStateRequest;
|
||||
CSRSS_CONSOLE_WINDOW ConsoleWindowRequest;
|
||||
CSRSS_CREATE_DESKTOP_REQUEST CreateDesktopRequest;
|
||||
CSRSS_SHOW_DESKTOP_REQUEST ShowDesktopRequest;
|
||||
CSRSS_HIDE_DESKTOP_REQUEST HideDesktopRequest;
|
||||
CSRSS_CONSOLE_SET_WINDOW_ICON ConsoleSetWindowIconRequest;
|
||||
} Data;
|
||||
};
|
||||
};
|
||||
} CSRSS_API_REQUEST, *PCSRSS_API_REQUEST;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
LPC_MESSAGE Header;
|
||||
NTSTATUS Status;
|
||||
union
|
||||
{
|
||||
CSRSS_CREATE_PROCESS_REPLY CreateProcessReply;
|
||||
CSRSS_CONNECT_PROCESS_REPLY ConnectReply;
|
||||
CSRSS_WRITE_CONSOLE_REPLY WriteConsoleReply;
|
||||
CSRSS_READ_CONSOLE_REPLY ReadConsoleReply;
|
||||
CSRSS_ALLOC_CONSOLE_REPLY AllocConsoleReply;
|
||||
CSRSS_SCREEN_BUFFER_INFO_REPLY ScreenBufferInfoReply;
|
||||
CSRSS_READ_INPUT_REPLY ReadInputReply;
|
||||
CSRSS_WRITE_CONSOLE_OUTPUT_CHAR_REPLY WriteConsoleOutputCharReply;
|
||||
CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB_REPLY WriteConsoleOutputAttribReply;
|
||||
CSRSS_GET_CURSOR_INFO_REPLY GetCursorInfoReply;
|
||||
CSRSS_GET_CONSOLE_MODE_REPLY GetConsoleModeReply;
|
||||
CSRSS_CREATE_SCREEN_BUFFER_REPLY CreateScreenBufferReply;
|
||||
CSRSS_GET_TITLE_REPLY GetTitleReply;
|
||||
CSRSS_WRITE_CONSOLE_OUTPUT_REPLY WriteConsoleOutputReply;
|
||||
CSRSS_READ_CONSOLE_OUTPUT_CHAR_REPLY ReadConsoleOutputCharReply;
|
||||
CSRSS_READ_CONSOLE_OUTPUT_ATTRIB_REPLY ReadConsoleOutputAttribReply;
|
||||
CSRSS_GET_NUM_INPUT_EVENTS_REPLY GetNumInputEventsReply;
|
||||
CSRSS_SET_SHUTDOWN_PARAMETERS_REPLY SetShutdownParametersReply;
|
||||
CSRSS_GET_SHUTDOWN_PARAMETERS_REPLY GetShutdownParametersReply;
|
||||
CSRSS_PEEK_CONSOLE_INPUT_REPLY PeekConsoleInputReply;
|
||||
CSRSS_READ_CONSOLE_OUTPUT_REPLY ReadConsoleOutputReply;
|
||||
CSRSS_WRITE_CONSOLE_INPUT_REPLY WriteConsoleInputReply;
|
||||
CSRSS_GET_INPUT_HANDLE_REPLY GetInputHandleReply;
|
||||
CSRSS_GET_OUTPUT_HANDLE_REPLY GetOutputHandleReply;
|
||||
CSRSS_DUPLICATE_HANDLE_REPLY DuplicateHandleReply;
|
||||
CSRSS_SETGET_CONSOLE_HW_STATE_REPLY ConsoleHardwareStateReply;
|
||||
CSRSS_CONSOLE_WINDOW ConsoleWindowReply;
|
||||
CSRSS_CREATE_DESKTOP_REPLY CreateDesktopReply;
|
||||
CSRSS_SHOW_DESKTOP_REPLY ShowDesktopReply;
|
||||
CSRSS_HIDE_DESKTOP_REPLY HideDesktopReply;
|
||||
CSRSS_CONSOLE_SET_WINDOW_ICON ConsoleSetWindowIconReply;
|
||||
} Data;
|
||||
LPC_MESSAGE Header;
|
||||
struct
|
||||
{
|
||||
BYTE HeaderReserved[LPC_MESSAGE_BASE_SIZE];
|
||||
NTSTATUS Status;
|
||||
union
|
||||
{
|
||||
CSRSS_CREATE_PROCESS_REPLY CreateProcessReply;
|
||||
CSRSS_CONNECT_PROCESS_REPLY ConnectReply;
|
||||
CSRSS_WRITE_CONSOLE_REPLY WriteConsoleReply;
|
||||
CSRSS_READ_CONSOLE_REPLY ReadConsoleReply;
|
||||
CSRSS_ALLOC_CONSOLE_REPLY AllocConsoleReply;
|
||||
CSRSS_SCREEN_BUFFER_INFO_REPLY ScreenBufferInfoReply;
|
||||
CSRSS_READ_INPUT_REPLY ReadInputReply;
|
||||
CSRSS_WRITE_CONSOLE_OUTPUT_CHAR_REPLY WriteConsoleOutputCharReply;
|
||||
CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB_REPLY WriteConsoleOutputAttribReply;
|
||||
CSRSS_GET_CURSOR_INFO_REPLY GetCursorInfoReply;
|
||||
CSRSS_GET_CONSOLE_MODE_REPLY GetConsoleModeReply;
|
||||
CSRSS_CREATE_SCREEN_BUFFER_REPLY CreateScreenBufferReply;
|
||||
CSRSS_GET_TITLE_REPLY GetTitleReply;
|
||||
CSRSS_WRITE_CONSOLE_OUTPUT_REPLY WriteConsoleOutputReply;
|
||||
CSRSS_READ_CONSOLE_OUTPUT_CHAR_REPLY ReadConsoleOutputCharReply;
|
||||
CSRSS_READ_CONSOLE_OUTPUT_ATTRIB_REPLY ReadConsoleOutputAttribReply;
|
||||
CSRSS_GET_NUM_INPUT_EVENTS_REPLY GetNumInputEventsReply;
|
||||
CSRSS_SET_SHUTDOWN_PARAMETERS_REPLY SetShutdownParametersReply;
|
||||
CSRSS_GET_SHUTDOWN_PARAMETERS_REPLY GetShutdownParametersReply;
|
||||
CSRSS_PEEK_CONSOLE_INPUT_REPLY PeekConsoleInputReply;
|
||||
CSRSS_READ_CONSOLE_OUTPUT_REPLY ReadConsoleOutputReply;
|
||||
CSRSS_WRITE_CONSOLE_INPUT_REPLY WriteConsoleInputReply;
|
||||
CSRSS_GET_INPUT_HANDLE_REPLY GetInputHandleReply;
|
||||
CSRSS_GET_OUTPUT_HANDLE_REPLY GetOutputHandleReply;
|
||||
CSRSS_DUPLICATE_HANDLE_REPLY DuplicateHandleReply;
|
||||
CSRSS_SETGET_CONSOLE_HW_STATE_REPLY ConsoleHardwareStateReply;
|
||||
CSRSS_CONSOLE_WINDOW ConsoleWindowReply;
|
||||
CSRSS_CREATE_DESKTOP_REPLY CreateDesktopReply;
|
||||
CSRSS_SHOW_DESKTOP_REPLY ShowDesktopReply;
|
||||
CSRSS_HIDE_DESKTOP_REPLY HideDesktopReply;
|
||||
CSRSS_CONSOLE_SET_WINDOW_ICON ConsoleSetWindowIconReply;
|
||||
} Data;
|
||||
};
|
||||
};
|
||||
} CSRSS_API_REPLY, *PCSRSS_API_REPLY;
|
||||
|
||||
#endif /* __INCLUDE_CSRSS_CSRSS_H */
|
||||
|
|
|
@ -16,9 +16,9 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
#include <ddk/winddi.h>
|
||||
#include <ddk/ddrawi.h>
|
||||
#include <ddk/d3dhal.h>
|
||||
#include <ddk/winddi.h>
|
||||
BOOL STDCALL DdCreateDirectDrawObject(
|
||||
LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,
|
||||
HDC hdc
|
||||
|
|
|
@ -19,8 +19,8 @@
|
|||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __WINE_DDRAWI_H
|
||||
#define __WINE_DDRAWI_H
|
||||
#ifndef __DDRAWI_INCLUDED__
|
||||
#define __DDRAWI_INCLUDED__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
@ -616,7 +616,9 @@ typedef struct _DDHAL_GETDRIVERINFODATA {
|
|||
/*****************************************************************************
|
||||
* high-level ddraw implementation structures
|
||||
*/
|
||||
#ifndef __USE_W32API
|
||||
typedef DWORD IUnknown; /* FIXME: implement proper definition */
|
||||
#endif
|
||||
typedef struct _IUNKNOWN_LIST {
|
||||
struct _IUNKNOWN_LIST * lpLink;
|
||||
LPGUID lpGuid;
|
||||
|
@ -1326,4 +1328,4 @@ typedef struct _DDHAL_WAITFORVERTICALBLANKDATA
|
|||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* __WINE_DDRAWI_H */
|
||||
#endif /* __DDRAWI_INCLUDED__ */
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
* DirectDraw NT driver interface
|
||||
*/
|
||||
|
||||
#ifndef __DDK_DDRAWINT_H
|
||||
#define __DDK_DDRAWINT_H
|
||||
#ifndef __DD_INCLUDED__
|
||||
#define __DD_INCLUDED__
|
||||
|
||||
#include <ddraw.h>
|
||||
#include <ole32/guiddef.h>
|
||||
|
@ -1233,4 +1233,4 @@ typedef struct
|
|||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* __DDK_DDRAWINT_H */
|
||||
#endif /* __DD_INCLUDED__ */
|
||||
|
|
|
@ -98,7 +98,7 @@ typedef struct _PEB_LDR_DATA
|
|||
LIST_ENTRY InInitializationOrderModuleList;
|
||||
} PEB_LDR_DATA, *PPEB_LDR_DATA;
|
||||
|
||||
typedef VOID STDCALL_FUNC (*PPEBLOCKROUTINE)(PVOID);
|
||||
typedef VOID (STDCALL *PPEBLOCKROUTINE)(PVOID);
|
||||
|
||||
typedef struct _PEB
|
||||
{
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
/* $Id: zw.h,v 1.21 2004/01/06 15:57:48 ekohl Exp $
|
||||
/* $Id: zw.h,v 1.22 2004/04/09 20:03:11 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -4446,10 +4446,12 @@ NtGetPlugPlayEvent (ULONG Reserved1,
|
|||
|
||||
/* --- POWER MANAGEMENT --- */
|
||||
|
||||
#ifndef __USE_W32API
|
||||
NTSTATUS STDCALL
|
||||
NtSetSystemPowerState(IN POWER_ACTION SystemAction,
|
||||
IN SYSTEM_POWER_STATE MinSystemState,
|
||||
IN ULONG Flags);
|
||||
#endif
|
||||
|
||||
/* --- DEBUG SUBSYSTEM --- */
|
||||
|
||||
|
|
|
@ -1706,6 +1706,12 @@ typedef struct _LPC_MESSAGE
|
|||
ULONG SectionSize; /* CallbackID */
|
||||
} LPC_MESSAGE, *PLPC_MESSAGE;
|
||||
|
||||
#define PORT_MESSAGE_TYPE(m) (LPC_TYPE)((m).Header.MessageType)
|
||||
|
||||
#define PORT_MAX_DATA_LENGTH 0x104
|
||||
#define PORT_MAX_MESSAGE_LENGTH 0x148
|
||||
|
||||
#endif /* __USE_W32API */
|
||||
|
||||
#define MAX_MESSAGE_DATA (0x130)
|
||||
|
||||
|
@ -1715,14 +1721,6 @@ typedef struct _LPC_MAX_MESSAGE
|
|||
BYTE Data[MAX_MESSAGE_DATA];
|
||||
} LPC_MAX_MESSAGE, *PLPC_MAX_MESSAGE;
|
||||
|
||||
|
||||
#define PORT_MESSAGE_TYPE(m) (LPC_TYPE)((m).Header.MessageType)
|
||||
|
||||
#define PORT_MAX_DATA_LENGTH 0x104
|
||||
#define PORT_MAX_MESSAGE_LENGTH 0x148
|
||||
|
||||
#endif /* __USE_W32API */
|
||||
|
||||
typedef struct _LPC_PORT_BASIC_INFORMATION
|
||||
{
|
||||
DWORD Unknown0;
|
||||
|
|
|
@ -71,6 +71,13 @@ typedef struct
|
|||
#define BRUSHOBJ_LockBrush(hBrush) ((PGDIBRUSHOBJ)GDIOBJ_LockObj((HGDIOBJ)hBrush, GDI_OBJECT_TYPE_BRUSH))
|
||||
#define BRUSHOBJ_UnlockBrush(hBrush) GDIOBJ_UnlockObj((HGDIOBJ)hBrush, GDI_OBJECT_TYPE_BRUSH)
|
||||
|
||||
#ifdef __USE_W32API
|
||||
typedef struct _PATRECT {
|
||||
RECT r;
|
||||
HBRUSH hBrush;
|
||||
} PATRECT, * PPATRECT;
|
||||
#endif
|
||||
|
||||
HBRUSH STDCALL
|
||||
NtGdiCreateBrushIndirect(
|
||||
CONST LOGBRUSH *LogBrush);
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
|
||||
#include <ddk/winddi.h>
|
||||
|
||||
typedef BOOL STDCALL_FUNC (*PGD_ENABLEDRIVER)(ULONG, ULONG, PDRVENABLEDATA);
|
||||
typedef DHPDEV STDCALL_FUNC (*PGD_ENABLEPDEV)(DEVMODEW *,
|
||||
typedef BOOL (STDCALL *PGD_ENABLEDRIVER)(ULONG, ULONG, PDRVENABLEDATA);
|
||||
typedef DHPDEV (STDCALL *PGD_ENABLEPDEV)(DEVMODEW *,
|
||||
LPWSTR,
|
||||
ULONG,
|
||||
HSURF *,
|
||||
|
@ -16,86 +16,86 @@ typedef DHPDEV STDCALL_FUNC (*PGD_ENABLEPDEV)(DEVMODEW *,
|
|||
LPWSTR,
|
||||
LPWSTR,
|
||||
HANDLE);
|
||||
typedef VOID STDCALL_FUNC (*PGD_COMPLETEPDEV)(DHPDEV, HDEV);
|
||||
typedef VOID STDCALL_FUNC (*PGD_DISABLEPDEV)(DHPDEV);
|
||||
typedef HSURF STDCALL_FUNC (*PGD_ENABLESURFACE)(DHPDEV);
|
||||
typedef VOID STDCALL_FUNC (*PGD_DISABLESURFACE)(DHPDEV);
|
||||
typedef BOOL STDCALL_FUNC (*PGD_ASSERTMODE)(DHPDEV, BOOL);
|
||||
typedef BOOL STDCALL_FUNC (*PGD_RESETPDEV)(DHPDEV, DHPDEV);
|
||||
typedef HBITMAP STDCALL_FUNC (*PGD_CREATEDEVICEBITMAP)(DHPDEV, SIZEL, ULONG);
|
||||
typedef VOID STDCALL_FUNC (*PGD_DELETEDEVICEBITMAP)(DHSURF);
|
||||
typedef BOOL STDCALL_FUNC (*PGD_REALIZEBRUSH)(BRUSHOBJ*, SURFOBJ*, SURFOBJ*, SURFOBJ*,
|
||||
typedef VOID (STDCALL *PGD_COMPLETEPDEV)(DHPDEV, HDEV);
|
||||
typedef VOID (STDCALL *PGD_DISABLEPDEV)(DHPDEV);
|
||||
typedef HSURF (STDCALL *PGD_ENABLESURFACE)(DHPDEV);
|
||||
typedef VOID (STDCALL *PGD_DISABLESURFACE)(DHPDEV);
|
||||
typedef BOOL (STDCALL *PGD_ASSERTMODE)(DHPDEV, BOOL);
|
||||
typedef BOOL (STDCALL *PGD_RESETPDEV)(DHPDEV, DHPDEV);
|
||||
typedef HBITMAP (STDCALL *PGD_CREATEDEVICEBITMAP)(DHPDEV, SIZEL, ULONG);
|
||||
typedef VOID (STDCALL *PGD_DELETEDEVICEBITMAP)(DHSURF);
|
||||
typedef BOOL (STDCALL *PGD_REALIZEBRUSH)(BRUSHOBJ*, SURFOBJ*, SURFOBJ*, SURFOBJ*,
|
||||
XLATEOBJ*, ULONG);
|
||||
typedef ULONG STDCALL_FUNC (*PGD_DITHERCOLOR)(DHPDEV, ULONG, ULONG, PULONG);
|
||||
typedef BOOL STDCALL_FUNC (*PGD_STROKEPATH)(SURFOBJ*, PATHOBJ*, CLIPOBJ*, XFORMOBJ*,
|
||||
typedef ULONG (STDCALL *PGD_DITHERCOLOR)(DHPDEV, ULONG, ULONG, PULONG);
|
||||
typedef BOOL (STDCALL *PGD_STROKEPATH)(SURFOBJ*, PATHOBJ*, CLIPOBJ*, XFORMOBJ*,
|
||||
BRUSHOBJ*, POINTL*, PLINEATTRS, MIX);
|
||||
typedef BOOL STDCALL_FUNC (*PGD_FILLPATH)(SURFOBJ*, PATHOBJ*, CLIPOBJ*, BRUSHOBJ*,
|
||||
typedef BOOL (STDCALL *PGD_FILLPATH)(SURFOBJ*, PATHOBJ*, CLIPOBJ*, BRUSHOBJ*,
|
||||
POINTL*, MIX, ULONG);
|
||||
typedef BOOL STDCALL_FUNC (*PGD_STROKEANDFILLPATH)(SURFOBJ*, PATHOBJ*, CLIPOBJ*,
|
||||
typedef BOOL (STDCALL *PGD_STROKEANDFILLPATH)(SURFOBJ*, PATHOBJ*, CLIPOBJ*,
|
||||
XFORMOBJ*, BRUSHOBJ*, PLINEATTRS,
|
||||
BRUSHOBJ*, POINTL*, MIX, ULONG);
|
||||
typedef BOOL STDCALL_FUNC (*PGD_PAINT)(SURFOBJ*, CLIPOBJ*, BRUSHOBJ*, POINTL*, MIX);
|
||||
typedef BOOL STDCALL_FUNC (*PGD_BITBLT)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*,
|
||||
typedef BOOL (STDCALL *PGD_PAINT)(SURFOBJ*, CLIPOBJ*, BRUSHOBJ*, POINTL*, MIX);
|
||||
typedef BOOL (STDCALL *PGD_BITBLT)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*,
|
||||
XLATEOBJ*, RECTL*, POINTL*, POINTL*, BRUSHOBJ*,
|
||||
POINTL*, ROP4);
|
||||
typedef BOOL STDCALL_FUNC (*PGD_TRANSPARENTBLT)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, RECTL*, RECTL*, ULONG, ULONG);
|
||||
typedef BOOL STDCALL_FUNC (*PGD_COPYBITS)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*,
|
||||
typedef BOOL (STDCALL *PGD_TRANSPARENTBLT)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, RECTL*, RECTL*, ULONG, ULONG);
|
||||
typedef BOOL (STDCALL *PGD_COPYBITS)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*,
|
||||
RECTL*, POINTL*);
|
||||
typedef BOOL STDCALL_FUNC (*PGD_STRETCHBLT)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*,
|
||||
typedef BOOL (STDCALL *PGD_STRETCHBLT)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*,
|
||||
XLATEOBJ*, COLORADJUSTMENT*, POINTL*,
|
||||
RECTL*, RECTL*, POINTL*, ULONG);
|
||||
typedef BOOL STDCALL_FUNC (*PGD_SETPALETTE)(DHPDEV, PALOBJ*, ULONG, ULONG, ULONG);
|
||||
typedef BOOL STDCALL_FUNC (*PGD_TEXTOUT)(SURFOBJ*, STROBJ*, FONTOBJ*, CLIPOBJ*, RECTL*,
|
||||
typedef BOOL (STDCALL *PGD_SETPALETTE)(DHPDEV, PALOBJ*, ULONG, ULONG, ULONG);
|
||||
typedef BOOL (STDCALL *PGD_TEXTOUT)(SURFOBJ*, STROBJ*, FONTOBJ*, CLIPOBJ*, RECTL*,
|
||||
RECTL*, BRUSHOBJ*, BRUSHOBJ*, POINTL*, MIX);
|
||||
typedef ULONG STDCALL_FUNC (*PGD_ESCAPE)(SURFOBJ*, ULONG, ULONG, PVOID *, ULONG, PVOID *);
|
||||
typedef ULONG STDCALL_FUNC (*PGD_DRAWESCAPE)(SURFOBJ*, ULONG, CLIPOBJ*, RECTL*, ULONG,
|
||||
typedef ULONG (STDCALL *PGD_ESCAPE)(SURFOBJ*, ULONG, ULONG, PVOID *, ULONG, PVOID *);
|
||||
typedef ULONG (STDCALL *PGD_DRAWESCAPE)(SURFOBJ*, ULONG, CLIPOBJ*, RECTL*, ULONG,
|
||||
PVOID *);
|
||||
typedef PIFIMETRICS STDCALL_FUNC (*PGD_QUERYFONT)(DHPDEV, ULONG, ULONG, PULONG);
|
||||
typedef PVOID STDCALL_FUNC (*PGD_QUERYFONTTREE)(DHPDEV, ULONG, ULONG, ULONG, PULONG);
|
||||
typedef LONG STDCALL_FUNC (*PGD_QUERYFONTDATA)(DHPDEV, FONTOBJ*, ULONG, HGLYPH, GLYPHDATA*,
|
||||
typedef PIFIMETRICS (STDCALL *PGD_QUERYFONT)(DHPDEV, ULONG, ULONG, PULONG);
|
||||
typedef PVOID (STDCALL *PGD_QUERYFONTTREE)(DHPDEV, ULONG, ULONG, ULONG, PULONG);
|
||||
typedef LONG (STDCALL *PGD_QUERYFONTDATA)(DHPDEV, FONTOBJ*, ULONG, HGLYPH, GLYPHDATA*,
|
||||
PVOID, ULONG);
|
||||
typedef ULONG STDCALL_FUNC (*PGD_SETPOINTERSHAPE)(SURFOBJ*, SURFOBJ*, SURFOBJ*, XLATEOBJ*,
|
||||
typedef ULONG (STDCALL *PGD_SETPOINTERSHAPE)(SURFOBJ*, SURFOBJ*, SURFOBJ*, XLATEOBJ*,
|
||||
LONG, LONG, LONG, LONG, RECTL*, ULONG);
|
||||
typedef VOID STDCALL_FUNC (*PGD_MOVEPOINTER)(SURFOBJ*, LONG, LONG, RECTL*);
|
||||
typedef BOOL STDCALL_FUNC (*PGD_LINETO)(SURFOBJ*, CLIPOBJ*, BRUSHOBJ*, LONG, LONG, LONG,
|
||||
typedef VOID (STDCALL *PGD_MOVEPOINTER)(SURFOBJ*, LONG, LONG, RECTL*);
|
||||
typedef BOOL (STDCALL *PGD_LINETO)(SURFOBJ*, CLIPOBJ*, BRUSHOBJ*, LONG, LONG, LONG,
|
||||
LONG, RECTL*, MIX);
|
||||
typedef BOOL STDCALL_FUNC (*PGD_SENDPAGE)(SURFOBJ*);
|
||||
typedef BOOL STDCALL_FUNC (*PGD_STARTPAGE)(SURFOBJ*);
|
||||
typedef BOOL STDCALL_FUNC (*PGD_ENDDOC)(SURFOBJ*, ULONG);
|
||||
typedef BOOL STDCALL_FUNC (*PGD_STARTDOC)(SURFOBJ*, PWSTR, DWORD);
|
||||
typedef ULONG STDCALL_FUNC (*PGD_GETGLYPHMODE)(DHPDEV, FONTOBJ*);
|
||||
typedef VOID STDCALL_FUNC (*PGD_SYNCHRONIZE)(DHPDEV, RECTL*);
|
||||
typedef ULONG STDCALL_FUNC (*PGD_SAVESCREENBITS)(SURFOBJ*, ULONG, ULONG, RECTL*);
|
||||
typedef ULONG STDCALL_FUNC (*PGD_GETMODES)(HANDLE, ULONG, PDEVMODEW);
|
||||
typedef VOID STDCALL_FUNC (*PGD_FREE)(PVOID, ULONG);
|
||||
typedef VOID STDCALL_FUNC (*PGD_DESTROYFONT)(FONTOBJ*);
|
||||
typedef LONG STDCALL_FUNC (*PGD_QUERYFONTCAPS)(ULONG, PULONG);
|
||||
typedef ULONG STDCALL_FUNC (*PGD_LOADFONTFILE)(ULONG, PVOID, ULONG, ULONG);
|
||||
typedef BOOL STDCALL_FUNC (*PGD_UNLOADFONTFILE)(ULONG);
|
||||
typedef ULONG STDCALL_FUNC (*PGD_FONTMANAGEMENT)(SURFOBJ*, FONTOBJ*, ULONG, ULONG, PVOID,
|
||||
typedef BOOL (STDCALL *PGD_SENDPAGE)(SURFOBJ*);
|
||||
typedef BOOL (STDCALL *PGD_STARTPAGE)(SURFOBJ*);
|
||||
typedef BOOL (STDCALL *PGD_ENDDOC)(SURFOBJ*, ULONG);
|
||||
typedef BOOL (STDCALL *PGD_STARTDOC)(SURFOBJ*, PWSTR, DWORD);
|
||||
typedef ULONG (STDCALL *PGD_GETGLYPHMODE)(DHPDEV, FONTOBJ*);
|
||||
typedef VOID (STDCALL *PGD_SYNCHRONIZE)(DHPDEV, RECTL*);
|
||||
typedef ULONG (STDCALL *PGD_SAVESCREENBITS)(SURFOBJ*, ULONG, ULONG, RECTL*);
|
||||
typedef ULONG (STDCALL *PGD_GETMODES)(HANDLE, ULONG, PDEVMODEW);
|
||||
typedef VOID (STDCALL *PGD_FREE)(PVOID, ULONG);
|
||||
typedef VOID (STDCALL *PGD_DESTROYFONT)(FONTOBJ*);
|
||||
typedef LONG (STDCALL *PGD_QUERYFONTCAPS)(ULONG, PULONG);
|
||||
typedef ULONG (STDCALL *PGD_LOADFONTFILE)(ULONG, PVOID, ULONG, ULONG);
|
||||
typedef BOOL (STDCALL *PGD_UNLOADFONTFILE)(ULONG);
|
||||
typedef ULONG (STDCALL *PGD_FONTMANAGEMENT)(SURFOBJ*, FONTOBJ*, ULONG, ULONG, PVOID,
|
||||
ULONG, PVOID);
|
||||
typedef LONG STDCALL_FUNC (*PGD_QUERYTRUETYPETABLE)(ULONG, ULONG, ULONG, PTRDIFF, ULONG,
|
||||
typedef LONG (STDCALL *PGD_QUERYTRUETYPETABLE)(ULONG, ULONG, ULONG, PTRDIFF, ULONG,
|
||||
PBYTE);
|
||||
typedef LONG STDCALL_FUNC (*PGD_QUERYTRUETYPEOUTLINE)(DHPDEV, FONTOBJ*, HGLYPH, BOOL,
|
||||
typedef LONG (STDCALL *PGD_QUERYTRUETYPEOUTLINE)(DHPDEV, FONTOBJ*, HGLYPH, BOOL,
|
||||
GLYPHDATA*, ULONG, TTPOLYGONHEADER*);
|
||||
typedef PVOID STDCALL_FUNC (*PGD_GETTRUETYPEFILE)(ULONG, PULONG);
|
||||
typedef LONG STDCALL_FUNC (*PGD_QUERYFONTFILE)(ULONG, ULONG, ULONG, PULONG);
|
||||
typedef BOOL STDCALL_FUNC (*PGD_QUERYADVANCEWIDTHS)(DHPDEV, FONTOBJ*, ULONG, HGLYPH *,
|
||||
typedef PVOID (STDCALL *PGD_GETTRUETYPEFILE)(ULONG, PULONG);
|
||||
typedef LONG (STDCALL *PGD_QUERYFONTFILE)(ULONG, ULONG, ULONG, PULONG);
|
||||
typedef BOOL (STDCALL *PGD_QUERYADVANCEWIDTHS)(DHPDEV, FONTOBJ*, ULONG, HGLYPH *,
|
||||
PVOID *, ULONG);
|
||||
typedef BOOL STDCALL_FUNC (*PGD_SETPIXELFORMAT)(SURFOBJ*, LONG, ULONG);
|
||||
typedef LONG STDCALL_FUNC (*PGD_DESCRIBEPIXELFORMAT)(DHPDEV, LONG, ULONG,
|
||||
typedef BOOL (STDCALL *PGD_SETPIXELFORMAT)(SURFOBJ*, LONG, ULONG);
|
||||
typedef LONG (STDCALL *PGD_DESCRIBEPIXELFORMAT)(DHPDEV, LONG, ULONG,
|
||||
PPIXELFORMATDESCRIPTOR);
|
||||
typedef BOOL STDCALL_FUNC (*PGD_SWAPBUFFERS)(SURFOBJ*, PWNDOBJ);
|
||||
typedef BOOL STDCALL_FUNC (*PGD_STARTBANDING)(SURFOBJ*, POINTL*);
|
||||
typedef BOOL STDCALL_FUNC (*PGD_NEXTBAND)(SURFOBJ*, POINTL*);
|
||||
typedef BOOL (STDCALL *PGD_SWAPBUFFERS)(SURFOBJ*, PWNDOBJ);
|
||||
typedef BOOL (STDCALL *PGD_STARTBANDING)(SURFOBJ*, POINTL*);
|
||||
typedef BOOL (STDCALL *PGD_NEXTBAND)(SURFOBJ*, POINTL*);
|
||||
|
||||
typedef BOOL STDCALL_FUNC (*PGD_GETDIRECTDRAWINFO)(DHPDEV, PDD_HALINFO, PDWORD, VIDEOMEMORY*, PDWORD, PDWORD);
|
||||
typedef BOOL STDCALL_FUNC (*PGD_ENABLEDIRECTDRAW)(DHPDEV, PDD_CALLBACKS, PDD_SURFACECALLBACKS, PDD_PALETTECALLBACKS);
|
||||
typedef VOID STDCALL_FUNC (*PGD_DISABLEDIRECTDRAW)(DHPDEV);
|
||||
typedef BOOL (STDCALL *PGD_GETDIRECTDRAWINFO)(DHPDEV, PDD_HALINFO, PDWORD, VIDEOMEMORY*, PDWORD, PDWORD);
|
||||
typedef BOOL (STDCALL *PGD_ENABLEDIRECTDRAW)(DHPDEV, PDD_CALLBACKS, PDD_SURFACECALLBACKS, PDD_PALETTECALLBACKS);
|
||||
typedef VOID (STDCALL *PGD_DISABLEDIRECTDRAW)(DHPDEV);
|
||||
|
||||
typedef LONG STDCALL_FUNC (*PGD_QUERYSPOOLTYPE)(DHPDEV, LPWSTR);
|
||||
typedef LONG (STDCALL *PGD_QUERYSPOOLTYPE)(DHPDEV, LPWSTR);
|
||||
|
||||
typedef BOOL STDCALL_FUNC (*PGD_GRADIENTFILL)(SURFOBJ*, CLIPOBJ*, XLATEOBJ*, TRIVERTEX*, ULONG, PVOID, ULONG, RECTL*, POINTL*, ULONG);
|
||||
typedef BOOL (STDCALL *PGD_GRADIENTFILL)(SURFOBJ*, CLIPOBJ*, XLATEOBJ*, TRIVERTEX*, ULONG, PVOID, ULONG, RECTL*, POINTL*, ULONG);
|
||||
|
||||
typedef struct _DRIVER_FUNCTIONS
|
||||
{
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#ifndef _WIN32K_KAPI_H
|
||||
#define _WIN32K_KAPI_H
|
||||
#include <win32k/ntddraw.h>
|
||||
#include <win32k/bitmaps.h>
|
||||
#include <win32k/brush.h>
|
||||
#include <win32k/cliprgn.h>
|
||||
|
@ -23,5 +24,4 @@
|
|||
#include <win32k/region.h>
|
||||
#include <win32k/text.h>
|
||||
#include <win32k/wingl.h>
|
||||
#include <win32k/ntddraw.h>
|
||||
#endif /* ndef _WIN32K_KAPI_H */
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
#ifndef __WIN32K_NTUSER_H
|
||||
#define __WIN32K_NTUSER_H
|
||||
|
||||
#include <ddk/ntapi.h>
|
||||
|
||||
#define WM_SYSTIMER 280
|
||||
|
||||
ULONG STDCALL
|
||||
NtUserGetSystemMetrics(ULONG Index);
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ NtGdiSetAbortProc(HDC hDC,
|
|||
INT
|
||||
STDCALL
|
||||
NtGdiStartDoc(HDC hDC,
|
||||
CONST PDOCINFOW di);
|
||||
CONST LPDOCINFOW di);
|
||||
|
||||
INT
|
||||
STDCALL
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
/* Internal region data. Can't use RGNDATA structure because buffer is allocated statically */
|
||||
typedef struct _ROSRGNDATA {
|
||||
RGNDATAHEADER rdh;
|
||||
char* Buffer;
|
||||
PRECT Buffer;
|
||||
RECT BuiltInRect; /* Testing shows that > 95% of all regions have only 1 rect.
|
||||
Including that here saves us from having to do another
|
||||
allocation */
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
/*
|
||||
* dllmain.c
|
||||
*
|
||||
* $Revision: 1.8 $
|
||||
* $Author: royce $
|
||||
* $Date: 2003/08/04 00:28:44 $
|
||||
* $Revision: 1.9 $
|
||||
* $Author: navaraf $
|
||||
* $Date: 2004/04/09 20:03:11 $
|
||||
*
|
||||
*/
|
||||
|
||||
|
@ -27,6 +27,14 @@ DllMain (
|
|||
}
|
||||
|
||||
|
||||
VOID
|
||||
WINAPI
|
||||
GdiProcessSetup (VOID)
|
||||
{
|
||||
hProcessHeap = GetProcessHeap();
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
|
@ -60,12 +68,4 @@ GdiDllInitialize (
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
WINAPI
|
||||
GdiProcessSetup (VOID)
|
||||
{
|
||||
hProcessHeap = RtlGetProcessHeap();
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $Id: makefile,v 1.36 2004/03/23 00:18:54 gvg Exp $
|
||||
# $Id: makefile,v 1.37 2004/04/09 20:03:11 navaraf Exp $
|
||||
|
||||
PATH_TO_TOP = ../..
|
||||
|
||||
|
@ -15,7 +15,10 @@ TARGET_CFLAGS = \
|
|||
-DUNICODE \
|
||||
-Wall \
|
||||
-Werror \
|
||||
-fno-builtin
|
||||
-fno-builtin \
|
||||
-D__USE_W32API \
|
||||
-DWINVER=0x0600 \
|
||||
-D_WIN32_WINNT=0x0501
|
||||
|
||||
# require os code to explicitly request A/W version of structs/functions
|
||||
TARGET_CFLAGS += -D_DISABLE_TIDENTS
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
#undef WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
#include <ddk/ntddk.h>
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
#include <debug.h>
|
||||
|
||||
// global variables in a dll are process-global
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: stubs.c,v 1.51 2004/03/24 00:13:31 royce Exp $
|
||||
/* $Id: stubs.c,v 1.52 2004/04/09 20:03:12 navaraf Exp $
|
||||
*
|
||||
* reactos/lib/gdi32/misc/stubs.c
|
||||
*
|
||||
|
@ -13,6 +13,20 @@
|
|||
#endif
|
||||
#include <windows.h>
|
||||
#include <ddentry.h>
|
||||
#include <ddk/prntfont.h>
|
||||
|
||||
#ifdef __USE_W32API
|
||||
typedef int (CALLBACK* EMFPLAYPROC)( HDC, INT, HANDLE );
|
||||
typedef DWORD FULLSCREENCONTROL;
|
||||
typedef DWORD SHAREDHANDLETABLE;
|
||||
typedef SHAREDHANDLETABLE *PSHAREDHANDLETABLE;
|
||||
typedef DWORD UNIVERSAL_FONT_ID;
|
||||
typedef UNIVERSAL_FONT_ID *PUNIVERSAL_FONT_ID;
|
||||
typedef DWORD REALIZATION_INFO;
|
||||
typedef REALIZATION_INFO *PREALIZATION_INFO;
|
||||
typedef DWORD CHWIDTHINFO;
|
||||
typedef CHWIDTHINFO *PCHWIDTHINFO;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
|
@ -135,7 +149,7 @@ STDCALL
|
|||
EnumObjects(
|
||||
HDC a0,
|
||||
int a1,
|
||||
ENUMOBJECTSPROC a2,
|
||||
GOBJENUMPROC a2,
|
||||
LPARAM a3
|
||||
)
|
||||
{
|
||||
|
@ -614,7 +628,7 @@ STDCALL
|
|||
EnumMetaFile(
|
||||
HDC a0,
|
||||
HMETAFILE a1,
|
||||
ENUMMETAFILEPROC a2,
|
||||
MFENUMPROC a2,
|
||||
LPARAM a3
|
||||
)
|
||||
{
|
||||
|
@ -659,7 +673,7 @@ STDCALL
|
|||
EnumEnhMetaFile(
|
||||
HDC a0,
|
||||
HENHMETAFILE a1,
|
||||
ENHMETAFILEPROC a2,
|
||||
ENHMFENUMPROC a2,
|
||||
LPVOID a3,
|
||||
CONST RECT *a4
|
||||
)
|
||||
|
@ -792,9 +806,7 @@ SetWinMetaFileBits(
|
|||
UINT a0,
|
||||
CONST BYTE *a1,
|
||||
HDC a2,
|
||||
// CONST METAFILEPICT *a3
|
||||
PVOID a3
|
||||
)
|
||||
CONST METAFILEPICT *a3)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return 0;
|
||||
|
@ -1624,7 +1636,7 @@ wglGetLayerPaletteEntries(
|
|||
int a1,
|
||||
int a2,
|
||||
int a3,
|
||||
CONST COLORREF *a4
|
||||
COLORREF *a4
|
||||
)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
|
@ -1749,12 +1761,12 @@ GetGlyphOutlineWow(
|
|||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
DWORD
|
||||
INT
|
||||
STDCALL
|
||||
GetRandomRgn(
|
||||
DWORD a0,
|
||||
DWORD a1,
|
||||
DWORD a2
|
||||
HDC a0,
|
||||
HRGN a1,
|
||||
INT a2
|
||||
)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
|
@ -3200,7 +3212,7 @@ BRUSHOBJ_hGetColorTransform(BRUSHOBJ *pbo)
|
|||
* @unimplemented
|
||||
*/
|
||||
PVOID STDCALL
|
||||
BRUSHOBJ_pvAllocRbrush(IN PBRUSHOBJ BrushObj,
|
||||
BRUSHOBJ_pvAllocRbrush(IN BRUSHOBJ *BrushObj,
|
||||
IN ULONG ObjSize)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
|
@ -3211,7 +3223,7 @@ BRUSHOBJ_pvAllocRbrush(IN PBRUSHOBJ BrushObj,
|
|||
* @unimplemented
|
||||
*/
|
||||
PVOID STDCALL
|
||||
BRUSHOBJ_pvGetRbrush(IN PBRUSHOBJ BrushObj)
|
||||
BRUSHOBJ_pvGetRbrush(IN BRUSHOBJ *BrushObj)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return 0;
|
||||
|
@ -3231,7 +3243,7 @@ BRUSHOBJ_ulGetBrushColor(BRUSHOBJ *pbo)
|
|||
* @unimplemented
|
||||
*/
|
||||
BOOL STDCALL
|
||||
CLIPOBJ_bEnum(IN PCLIPOBJ ClipObj,
|
||||
CLIPOBJ_bEnum(IN CLIPOBJ *ClipObj,
|
||||
IN ULONG ObjSize,
|
||||
OUT ULONG *EnumRects)
|
||||
{
|
||||
|
@ -3243,7 +3255,7 @@ CLIPOBJ_bEnum(IN PCLIPOBJ ClipObj,
|
|||
* @unimplemented
|
||||
*/
|
||||
ULONG STDCALL
|
||||
CLIPOBJ_cEnumStart(IN PCLIPOBJ ClipObj,
|
||||
CLIPOBJ_cEnumStart(IN CLIPOBJ *ClipObj,
|
||||
IN BOOL ShouldDoAll,
|
||||
IN ULONG ClipType,
|
||||
IN ULONG BuildOrder,
|
||||
|
@ -3256,8 +3268,8 @@ CLIPOBJ_cEnumStart(IN PCLIPOBJ ClipObj,
|
|||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
PPATHOBJ STDCALL
|
||||
CLIPOBJ_ppoGetPath(PCLIPOBJ ClipObj)
|
||||
PATHOBJ* STDCALL
|
||||
CLIPOBJ_ppoGetPath(CLIPOBJ *ClipObj)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return 0;
|
||||
|
@ -3367,7 +3379,7 @@ EngCreateBitmap(IN SIZEL Size,
|
|||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
PCLIPOBJ STDCALL
|
||||
CLIPOBJ* STDCALL
|
||||
EngCreateClip(VOID)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
|
@ -3731,10 +3743,10 @@ EngTextOut(SURFOBJ *pso,STROBJ *pstro,FONTOBJ *pfo,CLIPOBJ *pco,RECTL *prclExtra
|
|||
* @unimplemented
|
||||
*/
|
||||
BOOL STDCALL
|
||||
EngTransparentBlt(IN PSURFOBJ Dest,
|
||||
IN PSURFOBJ Source,
|
||||
IN PCLIPOBJ Clip,
|
||||
IN PXLATEOBJ ColorTranslation,
|
||||
EngTransparentBlt(IN SURFOBJ *Dest,
|
||||
IN SURFOBJ *Source,
|
||||
IN CLIPOBJ *Clip,
|
||||
IN XLATEOBJ *ColorTranslation,
|
||||
IN PRECTL DestRect,
|
||||
IN PRECTL SourceRect,
|
||||
IN ULONG TransparentColor,
|
||||
|
@ -3781,7 +3793,7 @@ EngWideCharToMultiByte(UINT CodePage,LPWSTR WideCharString,INT BytesInWideCharSt
|
|||
*/
|
||||
ULONG
|
||||
STDCALL
|
||||
FONTOBJ_cGetAllGlyphHandles(IN PFONTOBJ FontObj,
|
||||
FONTOBJ_cGetAllGlyphHandles(IN FONTOBJ *FontObj,
|
||||
IN HGLYPH *Glyphs)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
|
@ -3793,7 +3805,7 @@ FONTOBJ_cGetAllGlyphHandles(IN PFONTOBJ FontObj,
|
|||
*/
|
||||
ULONG
|
||||
STDCALL
|
||||
FONTOBJ_cGetGlyphs(IN PFONTOBJ FontObj,
|
||||
FONTOBJ_cGetGlyphs(IN FONTOBJ *FontObj,
|
||||
IN ULONG Mode,
|
||||
IN ULONG NumGlyphs,
|
||||
IN HGLYPH *GlyphHandles,
|
||||
|
@ -3828,7 +3840,7 @@ FONTOBJ_pfdg(FONTOBJ *pfo)
|
|||
*/
|
||||
IFIMETRICS*
|
||||
STDCALL
|
||||
FONTOBJ_pifi(IN PFONTOBJ FontObj)
|
||||
FONTOBJ_pifi(IN FONTOBJ *FontObj)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return 0;
|
||||
|
@ -3839,7 +3851,7 @@ FONTOBJ_pifi(IN PFONTOBJ FontObj)
|
|||
*/
|
||||
PVOID
|
||||
STDCALL
|
||||
FONTOBJ_pvTrueTypeFontFile(IN PFONTOBJ FontObj,
|
||||
FONTOBJ_pvTrueTypeFontFile(IN FONTOBJ *FontObj,
|
||||
IN ULONG *FileSize)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
|
@ -3851,7 +3863,7 @@ FONTOBJ_pvTrueTypeFontFile(IN PFONTOBJ FontObj,
|
|||
*/
|
||||
XFORMOBJ*
|
||||
STDCALL
|
||||
FONTOBJ_pxoGetXform(IN PFONTOBJ FontObj)
|
||||
FONTOBJ_pxoGetXform(IN FONTOBJ *FontObj)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return 0;
|
||||
|
@ -3862,7 +3874,7 @@ FONTOBJ_pxoGetXform(IN PFONTOBJ FontObj)
|
|||
*/
|
||||
VOID
|
||||
STDCALL
|
||||
FONTOBJ_vGetInfo(IN PFONTOBJ FontObj,
|
||||
FONTOBJ_vGetInfo(IN FONTOBJ *FontObj,
|
||||
IN ULONG InfoSize,
|
||||
OUT PFONTINFO FontInfo)
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: stubsa.c,v 1.30 2004/03/23 19:46:49 gvg Exp $
|
||||
/* $Id: stubsa.c,v 1.31 2004/04/09 20:03:13 navaraf Exp $
|
||||
*
|
||||
* reactos/lib/gdi32/misc/stubs.c
|
||||
*
|
||||
|
@ -15,6 +15,8 @@
|
|||
#undef WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
#include <ddk/ntddk.h>
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
#include <win32k/text.h>
|
||||
#include <win32k/dc.h>
|
||||
#include <rosrtl/devmode.h>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: stubsw.c,v 1.27 2004/03/23 19:46:49 gvg Exp $
|
||||
/* $Id: stubsw.c,v 1.28 2004/04/09 20:03:13 navaraf Exp $
|
||||
*
|
||||
* reactos/lib/gdi32/misc/stubs.c
|
||||
*
|
||||
|
@ -292,7 +292,7 @@ StartDocW(
|
|||
CONST DOCINFOW *a1
|
||||
)
|
||||
{
|
||||
return NtGdiStartDoc ( hdc, (CONST PDOCINFOW)a1 );
|
||||
return NtGdiStartDoc ( hdc, (DOCINFOW *)a1 );
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -195,7 +195,7 @@ GetEnhMetaFilePixelFormat(
|
|||
CONST PIXELFORMATDESCRIPTOR *ppfd
|
||||
)
|
||||
{
|
||||
ENHMETAHEADER pemh;
|
||||
ENHMETAHEADER pemh;
|
||||
|
||||
if(GetEnhMetaFileHeader(hEmh, sizeof(ENHMETAHEADER), &pemh))
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: bitblt.c,v 1.20 2004/03/28 21:46:26 weiden Exp $
|
||||
/* $Id: bitblt.c,v 1.21 2004/04/09 20:03:13 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS system libraries
|
||||
|
@ -323,7 +323,7 @@ STDCALL
|
|||
CreateDIBSection(HDC hDC,
|
||||
CONST BITMAPINFO *bmi,
|
||||
UINT Usage,
|
||||
VOID *Bits,
|
||||
PVOID *Bits,
|
||||
HANDLE hSection,
|
||||
DWORD dwOffset)
|
||||
{
|
||||
|
|
|
@ -814,7 +814,7 @@ SetDIBColorTable(
|
|||
CONST RGBQUAD *a3
|
||||
)
|
||||
{
|
||||
return NtGdiSetDIBColorTable(hdc,a1,a2,(CONST PRGBQUAD)a3);
|
||||
return NtGdiSetDIBColorTable(hdc,a1,a2,(RGBQUAD*)a3);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: font.c,v 1.2 2004/03/23 07:59:47 gvg Exp $
|
||||
/* $Id: font.c,v 1.3 2004/04/09 20:03:13 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS system libraries
|
||||
|
@ -14,6 +14,9 @@
|
|||
|
||||
#include <windows.h>
|
||||
#include <rosrtl/logfont.h>
|
||||
#include <ddk/ntddk.h>
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
#include <win32k/font.h>
|
||||
#include <win32k/text.h>
|
||||
#include <internal/font.h>
|
||||
|
@ -242,8 +245,10 @@ IntEnumFontFamilies(HDC Dc, LPLOGFONTW LogFont, PVOID EnumProc, LPARAM lParam,
|
|||
{
|
||||
if (Unicode)
|
||||
{
|
||||
Ret = ((FONTENUMEXPROCW) EnumProc)(&Info[i].EnumLogFontEx, &Info[i].NewTextMetricEx,
|
||||
Info[i].FontType, lParam);
|
||||
Ret = ((FONTENUMPROCW) EnumProc)(
|
||||
(LPLOGFONTW)&Info[i].EnumLogFontEx,
|
||||
(LPTEXTMETRICW)&Info[i].NewTextMetricEx,
|
||||
Info[i].FontType, lParam);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -256,8 +261,10 @@ IntEnumFontFamilies(HDC Dc, LPLOGFONTW LogFont, PVOID EnumProc, LPARAM lParam,
|
|||
EnumLogFontExA.elfScript, LF_FACESIZE, NULL, NULL);
|
||||
NewTextMetricExW2A(&NewTextMetricExA,
|
||||
&Info[i].NewTextMetricEx);
|
||||
Ret = ((FONTENUMEXPROCA) EnumProc)(&EnumLogFontExA, &NewTextMetricExA,
|
||||
Info[i].FontType, lParam);
|
||||
Ret = ((FONTENUMPROCA) EnumProc)(
|
||||
(LPLOGFONTA)&EnumLogFontExA,
|
||||
(LPTEXTMETRICA)&NewTextMetricExA,
|
||||
Info[i].FontType, lParam);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -270,7 +277,7 @@ IntEnumFontFamilies(HDC Dc, LPLOGFONTW LogFont, PVOID EnumProc, LPARAM lParam,
|
|||
* @implemented
|
||||
*/
|
||||
int STDCALL
|
||||
EnumFontFamiliesExW(HDC Dc, LPLOGFONTW LogFont, FONTENUMEXPROCW EnumFontFamProc,
|
||||
EnumFontFamiliesExW(HDC Dc, LPLOGFONTW LogFont, FONTENUMPROCW EnumFontFamProc,
|
||||
LPARAM lParam, DWORD Flags)
|
||||
{
|
||||
return IntEnumFontFamilies(Dc, LogFont, EnumFontFamProc, lParam, TRUE);
|
||||
|
@ -301,7 +308,7 @@ EnumFontFamiliesW(HDC Dc, LPCWSTR Family, FONTENUMPROCW EnumFontFamProc,
|
|||
* @implemented
|
||||
*/
|
||||
int STDCALL
|
||||
EnumFontFamiliesExA (HDC Dc, LPLOGFONTA LogFont, FONTENUMEXPROCA EnumFontFamProc,
|
||||
EnumFontFamiliesExA (HDC Dc, LPLOGFONTA LogFont, FONTENUMPROCA EnumFontFamProc,
|
||||
LPARAM lParam, DWORD dwFlags)
|
||||
{
|
||||
LOGFONTW LogFontW;
|
||||
|
|
|
@ -6,6 +6,8 @@
|
|||
#include <string.h>
|
||||
#include <windows.h>
|
||||
#include <ddk/ntddk.h>
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
#include <internal/heap.h>
|
||||
#include <win32k/kapi.h>
|
||||
#include <win32k/metafile.h>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: exception.c,v 1.6 2003/09/12 17:51:48 vizzini Exp $
|
||||
/* $Id: exception.c,v 1.7 2004/04/09 20:03:13 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -299,6 +299,10 @@ RtlUnwind(PEXCEPTION_REGISTRATION RegistrationFrame,
|
|||
pExceptRec->ExceptionAddress = ReturnAddress;
|
||||
pExceptRec->ExceptionInformation[0] = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
pExceptRec = ExceptionRecord;
|
||||
}
|
||||
|
||||
if (RegistrationFrame)
|
||||
pExceptRec->ExceptionFlags |= EXCEPTION_UNWINDING;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $Id: Makefile,v 1.36 2004/03/07 11:59:43 navaraf Exp $
|
||||
# $Id: Makefile,v 1.37 2004/04/09 20:03:13 navaraf Exp $
|
||||
|
||||
PATH_TO_TOP = ../..
|
||||
|
||||
|
@ -14,6 +14,9 @@ TARGET_CFLAGS = \
|
|||
-I./include \
|
||||
-DUNICODE \
|
||||
-D__REACTOS__ \
|
||||
-D__USE_W32API \
|
||||
-DWINVER=0x0600 \
|
||||
-D_WIN32_WINNT=0x0501 \
|
||||
-Wall \
|
||||
-Werror \
|
||||
-fno-builtin
|
||||
|
|
|
@ -2368,7 +2368,7 @@ static LRESULT ComboWndProc_common( HWND hwnd, UINT message,
|
|||
case CB_SETEDITSEL:
|
||||
if( lphc->wState & CBF_EDIT )
|
||||
return SendMessageW(lphc->hWndEdit, EM_SETSEL,
|
||||
(INT)(INT16)LOWORD(lParam), (INT)(INT16)HIWORD(lParam) );
|
||||
(INT)(USHORT)LOWORD(lParam), (INT)(USHORT)HIWORD(lParam) );
|
||||
return CB_ERR;
|
||||
#ifndef __REACTOS__
|
||||
case CB_SETEXTENDEDUI16:
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: listbox.c,v 1.15 2004/01/02 19:49:47 gvg Exp $
|
||||
/* $Id: listbox.c,v 1.16 2004/04/09 20:03:13 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS User32
|
||||
|
@ -38,6 +38,10 @@ BOOL is_old_app(HWND hwnd)
|
|||
#define WM_LBTRACKPOINT 0x0131
|
||||
#define WS_EX_DRAGDETECT 0x00000002L
|
||||
#define WM_BEGINDRAG 0x022C
|
||||
#define WM_SYSTIMER 280
|
||||
|
||||
UINT STDCALL SetSystemTimer(HWND,UINT_PTR,UINT,TIMERPROC);
|
||||
WINBOOL STDCALL KillSystemTimer(HWND,UINT_PTR);
|
||||
|
||||
/* End of hack section -------------------------------- */
|
||||
|
||||
|
@ -737,7 +741,7 @@ static BOOL LISTBOX_SetTabStops( HWND hwnd, LB_DESCR *descr, INT count,
|
|||
if (short_ints)
|
||||
{
|
||||
INT i;
|
||||
LPINT16 p = (LPINT16)tabs;
|
||||
PUSHORT p = (PUSHORT)tabs;
|
||||
|
||||
TRACE("[%p]: settabstops ", hwnd );
|
||||
for (i = 0; i < descr->nb_tabs; i++) {
|
||||
|
@ -2873,16 +2877,16 @@ static LRESULT WINAPI ListBoxWndProc_common( HWND hwnd, UINT msg,
|
|||
return LISTBOX_HandleMouseWheel( hwnd, descr, wParam );
|
||||
case WM_LBUTTONDOWN:
|
||||
return LISTBOX_HandleLButtonDown( hwnd, descr, wParam,
|
||||
(INT16)LOWORD(lParam),
|
||||
(INT16)HIWORD(lParam) );
|
||||
(USHORT)LOWORD(lParam),
|
||||
(USHORT)HIWORD(lParam) );
|
||||
case WM_LBUTTONDBLCLK:
|
||||
if (descr->style & LBS_NOTIFY)
|
||||
SEND_NOTIFICATION( hwnd, descr, LBN_DBLCLK );
|
||||
return 0;
|
||||
case WM_MOUSEMOVE:
|
||||
if (GetCapture() == hwnd)
|
||||
LISTBOX_HandleMouseMove( hwnd, descr, (INT16)LOWORD(lParam),
|
||||
(INT16)HIWORD(lParam) );
|
||||
LISTBOX_HandleMouseMove( hwnd, descr, (USHORT)LOWORD(lParam),
|
||||
(USHORT)HIWORD(lParam) );
|
||||
return 0;
|
||||
case WM_LBUTTONUP:
|
||||
return LISTBOX_HandleLButtonUp( hwnd, descr );
|
||||
|
@ -2991,8 +2995,8 @@ static LRESULT WINAPI ComboLBWndProc_common( HWND hwnd, UINT msg,
|
|||
BOOL captured;
|
||||
RECT clientRect;
|
||||
|
||||
mousePos.x = (INT16)LOWORD(lParam);
|
||||
mousePos.y = (INT16)HIWORD(lParam);
|
||||
mousePos.x = (USHORT)LOWORD(lParam);
|
||||
mousePos.y = (USHORT)HIWORD(lParam);
|
||||
|
||||
/*
|
||||
* If we are in a dropdown combobox, we simulate that
|
||||
|
@ -3033,8 +3037,8 @@ static LRESULT WINAPI ComboLBWndProc_common( HWND hwnd, UINT msg,
|
|||
* we make sure there is no selection by re-selecting the
|
||||
* item that was selected when the listbox was made visible.
|
||||
*/
|
||||
mousePos.x = (INT16)LOWORD(lParam);
|
||||
mousePos.y = (INT16)HIWORD(lParam);
|
||||
mousePos.x = (USHORT)LOWORD(lParam);
|
||||
mousePos.y = (USHORT)HIWORD(lParam);
|
||||
|
||||
GetClientRect(hwnd, &clientRect);
|
||||
|
||||
|
@ -3054,8 +3058,8 @@ static LRESULT WINAPI ComboLBWndProc_common( HWND hwnd, UINT msg,
|
|||
case WM_LBUTTONDBLCLK:
|
||||
case WM_LBUTTONDOWN:
|
||||
return LISTBOX_HandleLButtonDownCombo(hwnd, descr, msg, wParam,
|
||||
(INT16)LOWORD(lParam),
|
||||
(INT16)HIWORD(lParam) );
|
||||
(USHORT)LOWORD(lParam),
|
||||
(USHORT)HIWORD(lParam) );
|
||||
case WM_NCACTIVATE:
|
||||
return FALSE;
|
||||
case WM_KEYDOWN:
|
||||
|
@ -3092,7 +3096,7 @@ static LRESULT WINAPI ComboLBWndProc_common( HWND hwnd, UINT msg,
|
|||
lRet = unicode ? ListBoxWndProcW( hwnd, msg, wParam, lParam ) :
|
||||
ListBoxWndProcA( hwnd, msg, wParam, lParam );
|
||||
|
||||
TRACE_(combo)("\t default on msg [%04x]\n", (UINT16)msg );
|
||||
TRACE_(combo)("\t default on msg [%04x]\n", (USHORT)msg );
|
||||
|
||||
return lRet;
|
||||
}
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
#include <draw.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <oleacc.h>
|
||||
#include <user32/regcontrol.h>
|
||||
#include <rosrtl/minmax.h>
|
||||
|
||||
|
@ -75,6 +76,8 @@ HBRUSH DefWndControlColor(HDC hDC, UINT ctlType);
|
|||
|
||||
static LRESULT WINAPI ScrollBarWndProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
|
||||
|
||||
UINT STDCALL SetSystemTimer(HWND,UINT_PTR,UINT,TIMERPROC);
|
||||
WINBOOL STDCALL KillSystemTimer(HWND,UINT_PTR);
|
||||
|
||||
/*********************************************************************
|
||||
* scrollbar class descriptor
|
||||
|
|
|
@ -91,3 +91,9 @@ void DrawCaret(HWND hWnd, PTHRDCARETINFO CaretInfo);
|
|||
LONG WINAPI RegCloseKey(HKEY);
|
||||
LONG WINAPI RegOpenKeyExW(HKEY,LPCWSTR,DWORD,REGSAM,PHKEY);
|
||||
LONG WINAPI RegQueryValueExW(HKEY,LPCWSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
|
||||
|
||||
#ifdef __USE_W32API
|
||||
NTSTATUS STDCALL ZwCallbackReturn(PVOID Result,
|
||||
ULONG ResultLength,
|
||||
NTSTATUS Status);
|
||||
#endif
|
||||
|
|
|
@ -22,7 +22,9 @@
|
|||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __USE_W32API
|
||||
#define __USE_W32API
|
||||
#endif
|
||||
|
||||
#include "wine/config.h"
|
||||
#include "wine/port.h"
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: display.c,v 1.8 2004/01/23 23:38:26 ekohl Exp $
|
||||
/* $Id: display.c,v 1.9 2004/04/09 20:03:14 navaraf Exp $
|
||||
*
|
||||
* PROJECT: ReactOS user32.dll
|
||||
* FILE: lib/user32/misc/dde.c
|
||||
|
@ -29,9 +29,12 @@
|
|||
/* INCLUDES ******************************************************************/
|
||||
|
||||
#include <windows.h>
|
||||
#include <user32.h>
|
||||
#include <debug.h>
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
#include <rosrtl/devmode.h>
|
||||
#include <win32k/ntuser.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
|
@ -42,9 +45,11 @@ BOOL STDCALL
|
|||
EnumDisplayDevicesA(
|
||||
LPCSTR lpDevice,
|
||||
DWORD iDevNum,
|
||||
PDISPLAY_DEVICE lpDisplayDevice,
|
||||
PDISPLAY_DEVICEA lpDisplayDevice,
|
||||
DWORD dwFlags)
|
||||
{
|
||||
/* FIXME: This implementation doesn't convert the lpDisplayDevice structure! */
|
||||
#if 0
|
||||
BOOL rc;
|
||||
UNICODE_STRING Device;
|
||||
if ( !RtlCreateUnicodeStringFromAsciiz ( &Device, (PCSZ)lpDevice ) )
|
||||
|
@ -62,6 +67,9 @@ EnumDisplayDevicesA(
|
|||
RtlFreeUnicodeString ( &Device );
|
||||
|
||||
return rc;
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
#undef __USE_W32API
|
||||
#include <windows.h>
|
||||
#include <debug.h>
|
||||
#include <ddk/ntddk.h>
|
||||
#include <user32/callback.h>
|
||||
#include <user32/accel.h>
|
||||
#include <window.h>
|
||||
#include <menu.h>
|
||||
#define _WIN32K_KAPI_H
|
||||
#include <user32.h>
|
||||
#include <strpool.h>
|
||||
|
||||
|
@ -14,7 +17,7 @@ DWORD DebugTraceLevel = MIN_TRACE;
|
|||
|
||||
#endif /* DBG */
|
||||
|
||||
extern RTL_CRITICAL_SECTION gcsMPH;
|
||||
extern CRITICAL_SECTION gcsMPH;
|
||||
static ULONG User32TlsIndex;
|
||||
|
||||
/* To make the linker happy */
|
||||
|
@ -54,15 +57,15 @@ Init(VOID)
|
|||
DWORD Status;
|
||||
|
||||
/* Set up the kernel callbacks. */
|
||||
NtCurrentPeb()->KernelCallbackTable[USER32_CALLBACK_WINDOWPROC] =
|
||||
NtCurrentTeb()->Peb->KernelCallbackTable[USER32_CALLBACK_WINDOWPROC] =
|
||||
(PVOID)User32CallWindowProcFromKernel;
|
||||
NtCurrentPeb()->KernelCallbackTable[USER32_CALLBACK_SENDASYNCPROC] =
|
||||
NtCurrentTeb()->Peb->KernelCallbackTable[USER32_CALLBACK_SENDASYNCPROC] =
|
||||
(PVOID)User32CallSendAsyncProcForKernel;
|
||||
NtCurrentPeb()->KernelCallbackTable[USER32_CALLBACK_LOADSYSMENUTEMPLATE] =
|
||||
NtCurrentTeb()->Peb->KernelCallbackTable[USER32_CALLBACK_LOADSYSMENUTEMPLATE] =
|
||||
(PVOID)User32LoadSysMenuTemplateForKernel;
|
||||
NtCurrentPeb()->KernelCallbackTable[USER32_CALLBACK_LOADDEFAULTCURSORS] =
|
||||
NtCurrentTeb()->Peb->KernelCallbackTable[USER32_CALLBACK_LOADDEFAULTCURSORS] =
|
||||
(PVOID)User32SetupDefaultCursors;
|
||||
NtCurrentPeb()->KernelCallbackTable[USER32_CALLBACK_HOOKPROC] =
|
||||
NtCurrentTeb()->Peb->KernelCallbackTable[USER32_CALLBACK_HOOKPROC] =
|
||||
(PVOID)User32CallHookProcFromKernel;
|
||||
|
||||
/* Allocate an index for user32 thread local data. */
|
||||
|
@ -70,8 +73,8 @@ Init(VOID)
|
|||
|
||||
MenuInit();
|
||||
|
||||
RtlInitializeCriticalSection(&U32AccelCacheLock);
|
||||
RtlInitializeCriticalSection(&gcsMPH);
|
||||
InitializeCriticalSection(&U32AccelCacheLock);
|
||||
InitializeCriticalSection(&gcsMPH);
|
||||
|
||||
GdiDllInitialize(NULL, DLL_PROCESS_ATTACH, NULL);
|
||||
|
||||
|
@ -104,7 +107,7 @@ DllMain(
|
|||
case DLL_PROCESS_ATTACH:
|
||||
hProcessHeap = RtlGetProcessHeap();
|
||||
Init();
|
||||
/* InitThread();*/
|
||||
InitThread();
|
||||
break;
|
||||
case DLL_THREAD_ATTACH:
|
||||
InitThread();
|
||||
|
@ -114,7 +117,7 @@ DllMain(
|
|||
break;
|
||||
case DLL_PROCESS_DETACH:
|
||||
DeleteFrameBrushes();
|
||||
/* CleanupThread();*/
|
||||
CleanupThread();
|
||||
Cleanup();
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: exit.c,v 1.3 2004/01/23 23:38:26 ekohl Exp $
|
||||
/* $Id: exit.c,v 1.4 2004/04/09 20:03:14 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS user32.dll
|
||||
|
@ -8,8 +8,9 @@
|
|||
*/
|
||||
|
||||
#include <windows.h>
|
||||
//#include <user32.h>
|
||||
|
||||
#include <user32.h>
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
#include <ntdll/csr.h>
|
||||
|
||||
/*
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
#include <string.h>
|
||||
#include <windows.h>
|
||||
#include <ddk/ntddk.h>
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
/*#include <kernel32/error.h>*/
|
||||
|
||||
/* FIXME: Currently IsBadWritePtr is implemented using VirtualQuery which
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
|
||||
#include <windows.h>
|
||||
#include <ddk/ntddk.h>
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
#include <strpool.h>
|
||||
#include <string.h>
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: stubs.c,v 1.57 2004/03/23 21:47:36 weiden Exp $
|
||||
/* $Id: stubs.c,v 1.58 2004/04/09 20:03:14 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS user32.dll
|
||||
|
@ -12,10 +12,11 @@
|
|||
#include <windows.h>
|
||||
#include <debug.h>
|
||||
#include <string.h>
|
||||
typedef UINT *LPUINT;
|
||||
#include <mmsystem.h>
|
||||
#include <user32.h>
|
||||
|
||||
#ifdef __USE_W32API
|
||||
typedef PVOID LPIMEPROW, LPIMEPROA;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
|
@ -43,23 +44,6 @@ AttachThreadInput(
|
|||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
long
|
||||
STDCALL
|
||||
BroadcastSystemMessage(
|
||||
DWORD dwFlags,
|
||||
LPDWORD lpdwRecipients,
|
||||
UINT uiMessage,
|
||||
WPARAM wParam,
|
||||
LPARAM lParam)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
|
@ -185,7 +169,7 @@ DWORD
|
|||
STDCALL
|
||||
MsgWaitForMultipleObjects(
|
||||
DWORD nCount,
|
||||
CONST LPHANDLE pHandles,
|
||||
CONST HANDLE *pHandles,
|
||||
BOOL fWaitAll,
|
||||
DWORD dwMilliseconds,
|
||||
DWORD dwWakeMask)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: winsta.c,v 1.14 2004/01/23 23:38:26 ekohl Exp $
|
||||
/* $Id: winsta.c,v 1.15 2004/04/09 20:03:14 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS user32.dll
|
||||
|
@ -81,7 +81,7 @@ CreateWindowStationW(LPWSTR lpwinsta,
|
|||
* @unimplemented
|
||||
*/
|
||||
BOOL STDCALL
|
||||
EnumWindowStationsA(ENUMWINDOWSTATIONPROCA lpEnumFunc,
|
||||
EnumWindowStationsA(WINSTAENUMPROCA lpEnumFunc,
|
||||
LPARAM lParam)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
@ -93,7 +93,7 @@ EnumWindowStationsA(ENUMWINDOWSTATIONPROCA lpEnumFunc,
|
|||
* @unimplemented
|
||||
*/
|
||||
BOOL STDCALL
|
||||
EnumWindowStationsW(ENUMWINDOWSTATIONPROCW lpEnumFunc,
|
||||
EnumWindowStationsW(WINSTAENUMPROCW lpEnumFunc,
|
||||
LPARAM lParam)
|
||||
{
|
||||
PWCHAR Buffer;
|
||||
|
|
|
@ -35,6 +35,7 @@
|
|||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <windows.h>
|
||||
#include <wine/winternl.h>
|
||||
#include "strpool.h"
|
||||
|
||||
#define WPRINTF_LEFTALIGN 0x0001 /* Align output on the left ('-' prefix) */
|
||||
|
@ -552,9 +553,9 @@ DWORD STDCALL WCSToMBEx(WORD CodePage,LPWSTR UnicodeString,LONG UnicodeSize,LPST
|
|||
}
|
||||
if (Allocate)
|
||||
{
|
||||
*MBString = HEAP_alloc(MBSize);
|
||||
*MBString = RtlAllocateHeap(GetProcessHeap(), 0, MBSize);
|
||||
}
|
||||
if ((CodePage == 0) || (CodePage == NLS_ANSI_CODE_PAGE))
|
||||
if (CodePage == 0)
|
||||
{
|
||||
RtlUnicodeToMultiByteN(*MBString,MBSize,&Size,UnicodeString,UnicodeSize);
|
||||
}
|
||||
|
@ -584,10 +585,10 @@ DWORD STDCALL MBToWCSEx(WORD CodePage,LPSTR MBString,LONG MBSize,LPWSTR *Unicode
|
|||
}
|
||||
if (Allocate)
|
||||
{
|
||||
*UnicodeString = HEAP_alloc(UnicodeSize);
|
||||
*UnicodeString = RtlAllocateHeap(GetProcessHeap(), 0, UnicodeSize);
|
||||
}
|
||||
UnicodeSize *= sizeof(WCHAR);
|
||||
if ((CodePage == 0) || (CodePage == NLS_ANSI_CODE_PAGE))
|
||||
if (CodePage == 0)
|
||||
{
|
||||
RtlMultiByteToUnicodeN(*UnicodeString,UnicodeSize,&Size,MBString,MBSize);
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ BeginDeferWindowPos=BeginDeferWindowPos@4
|
|||
BeginPaint=BeginPaint@8
|
||||
BlockInput=BlockInput@4
|
||||
BringWindowToTop=BringWindowToTop@4
|
||||
BroadcastSystemMessage=BroadcastSystemMessage@20
|
||||
BroadcastSystemMessage=BroadcastSystemMessageA@20
|
||||
BroadcastSystemMessageA=BroadcastSystemMessageA@20
|
||||
BroadcastSystemMessageExA=BroadcastSystemMessageExA@24
|
||||
BroadcastSystemMessageExW=BroadcastSystemMessageExW@24
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: accel.c,v 1.13 2004/01/28 21:00:23 gvg Exp $
|
||||
/* $Id: accel.c,v 1.14 2004/04/09 20:03:14 navaraf Exp $
|
||||
*
|
||||
* PROJECT: ReactOS user32.dll
|
||||
* FILE: lib/user32/windows/input.c
|
||||
|
@ -31,6 +31,8 @@
|
|||
#include <windows.h>
|
||||
#include <user32/accel.h>
|
||||
#include <win32k/ntuser.h>
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
|
||||
/* this is the 8 byte accel struct used in Win32 resources (internal only) */
|
||||
typedef struct
|
||||
|
@ -101,7 +103,7 @@ HACCEL WINAPI U32LoadAccelerators(HINSTANCE hInstance, HRSRC hTableRes)
|
|||
/* failure */
|
||||
if(hAccTableData == NULL) return NULL;
|
||||
|
||||
RtlEnterCriticalSection(&U32AccelCacheLock);
|
||||
EnterCriticalSection(&U32AccelCacheLock);
|
||||
|
||||
/* see if this accelerator table has already been loaded */
|
||||
pEntry = *U32AccelCacheFind(NULL, hAccTableData);
|
||||
|
@ -152,7 +154,7 @@ HACCEL WINAPI U32LoadAccelerators(HINSTANCE hInstance, HRSRC hTableRes)
|
|||
U32AccelCacheAdd(hAccTable, pAccTableResData);
|
||||
|
||||
l_Leave:
|
||||
RtlLeaveCriticalSection(&U32AccelCacheLock);
|
||||
LeaveCriticalSection(&U32AccelCacheLock);
|
||||
return hAccTable;
|
||||
}
|
||||
|
||||
|
@ -186,7 +188,7 @@ BOOL WINAPI DestroyAcceleratorTable(HACCEL hAccel)
|
|||
U32_ACCEL_CACHE_ENTRY ** ppEntry;
|
||||
ULONG_PTR nUsage = 0;
|
||||
|
||||
RtlEnterCriticalSection(&U32AccelCacheLock);
|
||||
EnterCriticalSection(&U32AccelCacheLock);
|
||||
|
||||
/* see if this accelerator table has been cached */
|
||||
ppEntry = U32AccelCacheFind(hAccel, NULL);
|
||||
|
@ -210,7 +212,7 @@ BOOL WINAPI DestroyAcceleratorTable(HACCEL hAccel)
|
|||
}
|
||||
}
|
||||
|
||||
RtlLeaveCriticalSection(&U32AccelCacheLock);
|
||||
LeaveCriticalSection(&U32AccelCacheLock);
|
||||
|
||||
if(nUsage > 0) return FALSE;
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: bitmap.c,v 1.27 2004/02/23 18:16:37 navaraf Exp $
|
||||
/* $Id: bitmap.c,v 1.28 2004/04/09 20:03:14 navaraf Exp $
|
||||
*
|
||||
* PROJECT: ReactOS user32.dll
|
||||
* FILE: lib/user32/windows/input.c
|
||||
|
@ -33,6 +33,8 @@
|
|||
#include <user32.h>
|
||||
#include <debug.h>
|
||||
#include <stdlib.h>
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
|
||||
/*forward declerations... actualy in user32\windows\icon.c but usful here****/
|
||||
HICON ICON_CreateCursorFromData(HDC hDC, PVOID ImageData, ICONIMAGE* IconImage, int cxDesired, int cyDesired, int xHotspot, int yHotspot);
|
||||
|
@ -221,7 +223,7 @@ LoadCursorImage(HINSTANCE hinst, LPCWSTR lpszName, UINT fuLoad)
|
|||
return(NULL);
|
||||
}
|
||||
|
||||
SafeIconImage = RtlAllocateHeap(RtlGetProcessHeap(), 0, dirEntry->dwBytesInRes);
|
||||
SafeIconImage = RtlAllocateHeap(GetProcessHeap(), 0, dirEntry->dwBytesInRes);
|
||||
memcpy(SafeIconImage, ((PBYTE)IconDIR) + dirEntry->dwImageOffset, dirEntry->dwBytesInRes);
|
||||
}
|
||||
|
||||
|
@ -250,7 +252,7 @@ LoadCursorImage(HINSTANCE hinst, LPCWSTR lpszName, UINT fuLoad)
|
|||
|
||||
hIcon = ICON_CreateCursorFromData(hScreenDc, Data, SafeIconImage, 32, 32, dirEntry->Info.cursor.wXHotspot, dirEntry->Info.cursor.wYHotspot);
|
||||
DeleteDC(hScreenDc);
|
||||
RtlFreeHeap(RtlGetProcessHeap(), 0, SafeIconImage);
|
||||
RtlFreeHeap(GetProcessHeap(), 0, SafeIconImage);
|
||||
return hIcon;
|
||||
}
|
||||
|
||||
|
@ -390,7 +392,7 @@ LoadIconImage(HINSTANCE hinst, LPCWSTR lpszName, INT width, INT height, UINT fuL
|
|||
return(NULL);
|
||||
}
|
||||
|
||||
SafeIconImage = RtlAllocateHeap(RtlGetProcessHeap(), 0, dirEntry->dwBytesInRes);
|
||||
SafeIconImage = RtlAllocateHeap(GetProcessHeap(), 0, dirEntry->dwBytesInRes);
|
||||
|
||||
memcpy(SafeIconImage, ((PBYTE)IconDIR) + dirEntry->dwImageOffset, dirEntry->dwBytesInRes);
|
||||
|
||||
|
@ -428,14 +430,14 @@ LoadIconImage(HINSTANCE hinst, LPCWSTR lpszName, INT width, INT height, UINT fuL
|
|||
{
|
||||
if (fuLoad & LR_LOADFROMFILE)
|
||||
{
|
||||
RtlFreeHeap(RtlGetProcessHeap(), 0, SafeIconImage);
|
||||
RtlFreeHeap(GetProcessHeap(), 0, SafeIconImage);
|
||||
UnmapViewOfFile(IconDIR);
|
||||
}
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
hIcon = ICON_CreateIconFromData(hScreenDc, Data, SafeIconImage, width, height, width/2, height/2);
|
||||
RtlFreeHeap(RtlGetProcessHeap(), 0, SafeIconImage);
|
||||
RtlFreeHeap(GetProcessHeap(), 0, SafeIconImage);
|
||||
return hIcon;
|
||||
}
|
||||
|
||||
|
@ -533,7 +535,7 @@ LoadBitmapImage(HINSTANCE hInstance, LPCWSTR lpszName, UINT fuLoad)
|
|||
}
|
||||
Data = (PVOID)BitmapInfo + HeaderSize;
|
||||
|
||||
PrivateInfo = RtlAllocateHeap(RtlGetProcessHeap(), 0, HeaderSize);
|
||||
PrivateInfo = RtlAllocateHeap(GetProcessHeap(), 0, HeaderSize);
|
||||
if (PrivateInfo == NULL)
|
||||
{
|
||||
if (fuLoad & LR_LOADFROMFILE)
|
||||
|
@ -572,7 +574,7 @@ LoadBitmapImage(HINSTANCE hInstance, LPCWSTR lpszName, UINT fuLoad)
|
|||
Data, PrivateInfo, DIB_RGB_COLORS);
|
||||
}
|
||||
|
||||
RtlFreeHeap(RtlGetProcessHeap(), 0, PrivateInfo);
|
||||
RtlFreeHeap(GetProcessHeap(), 0, PrivateInfo);
|
||||
/*DeleteDC(hScreenDc);*/
|
||||
if (fuLoad & LR_LOADFROMFILE)
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: class.c,v 1.45 2004/04/08 21:14:21 navaraf Exp $
|
||||
/* $Id: class.c,v 1.46 2004/04/09 20:03:14 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS user32.dll
|
||||
|
@ -16,6 +16,8 @@
|
|||
#include <window.h>
|
||||
#include <strpool.h>
|
||||
#include <user32/regcontrol.h>
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
|
||||
|
||||
|
||||
|
@ -490,7 +492,7 @@ RegisterClassExW(CONST WNDCLASSEXW *lpwcx)
|
|||
if ( !lpwcx->lpszClassName )
|
||||
return 0;
|
||||
|
||||
hHeap = RtlGetProcessHeap();
|
||||
hHeap = GetProcessHeap();
|
||||
RtlCopyMemory ( &wndclass, lpwcx, sizeof(WNDCLASSEXW) );
|
||||
|
||||
/* copy strings if needed */
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: cursor.c,v 1.19 2004/01/26 08:44:51 weiden Exp $
|
||||
/* $Id: cursor.c,v 1.20 2004/04/09 20:03:14 navaraf Exp $
|
||||
*
|
||||
* PROJECT: ReactOS user32.dll
|
||||
* FILE: lib/user32/windows/cursor.c
|
||||
|
@ -32,6 +32,9 @@
|
|||
#include <user32.h>
|
||||
#include <string.h>
|
||||
#include <debug.h>
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
#undef CopyCursor
|
||||
|
||||
HBITMAP
|
||||
CopyBitmap(HBITMAP bmp);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: defwnd.c,v 1.131 2004/04/05 22:42:11 weiden Exp $
|
||||
/* $Id: defwnd.c,v 1.132 2004/04/09 20:03:14 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS user32.dll
|
||||
|
@ -12,6 +12,7 @@
|
|||
/* INCLUDES ******************************************************************/
|
||||
|
||||
#include <windows.h>
|
||||
#include <windowsx.h>
|
||||
#include <user32.h>
|
||||
#include <window.h>
|
||||
#include <user32/wininternal.h>
|
||||
|
@ -24,6 +25,13 @@
|
|||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
#ifndef WM_SETVISIBLE
|
||||
#define WM_SETVISIBLE 9
|
||||
#endif
|
||||
#ifndef WM_QUERYDROPOBJECT
|
||||
#define WM_QUERYDROPOBJECT 0x022B
|
||||
#endif
|
||||
|
||||
LRESULT DefWndNCPaint(HWND hWnd, HRGN hRgn);
|
||||
LRESULT DefWndNCCalcSize(HWND hWnd, BOOL CalcSizeStruct, RECT *Rect);
|
||||
LRESULT DefWndNCActivate(HWND hWnd, WPARAM wParam);
|
||||
|
@ -502,8 +510,8 @@ DefWndDoSizeMove(HWND hwnd, WORD wParam)
|
|||
|
||||
SystemParametersInfoA(SPI_GETDRAGFULLWINDOWS, 0, &DragFullWindows, 0);
|
||||
|
||||
pt.x = SLOWORD(dwPoint);
|
||||
pt.y = SHIWORD(dwPoint);
|
||||
pt.x = GET_X_LPARAM(dwPoint);
|
||||
pt.y = GET_Y_LPARAM(dwPoint);
|
||||
capturePoint = pt;
|
||||
|
||||
if (IsZoomed(hwnd) || !IsWindowVisible(hwnd))
|
||||
|
@ -1013,8 +1021,8 @@ User32DefWindowProc(HWND hWnd,
|
|||
case WM_NCHITTEST:
|
||||
{
|
||||
POINT Point;
|
||||
Point.x = SLOWORD(lParam);
|
||||
Point.y = SHIWORD(lParam);
|
||||
Point.x = GET_X_LPARAM(lParam);
|
||||
Point.y = GET_Y_LPARAM(lParam);
|
||||
return (DefWndNCHitTest(hWnd, Point));
|
||||
}
|
||||
|
||||
|
@ -1045,8 +1053,8 @@ User32DefWindowProc(HWND hWnd,
|
|||
{
|
||||
ReleaseCapture();
|
||||
}
|
||||
Pt.x = SLOWORD(lParam);
|
||||
Pt.y = SHIWORD(lParam);
|
||||
Pt.x = GET_X_LPARAM(lParam);
|
||||
Pt.y = GET_Y_LPARAM(lParam);
|
||||
ClientToScreen(hWnd, &Pt);
|
||||
lParam = MAKELPARAM(Pt.x, Pt.y);
|
||||
if (bUnicode)
|
||||
|
@ -1081,8 +1089,8 @@ User32DefWindowProc(HWND hWnd,
|
|||
|
||||
Style = GetWindowLongW(hWnd, GWL_STYLE);
|
||||
|
||||
Pt.x = SLOWORD(lParam);
|
||||
Pt.y = SHIWORD(lParam);
|
||||
Pt.x = GET_X_LPARAM(lParam);
|
||||
Pt.y = GET_Y_LPARAM(lParam);
|
||||
if (Style & WS_CHILD)
|
||||
{
|
||||
ScreenToClient(GetParent(hWnd), &Pt);
|
||||
|
@ -1286,8 +1294,8 @@ User32DefWindowProc(HWND hWnd,
|
|||
case WM_SYSCOMMAND:
|
||||
{
|
||||
POINT Pt;
|
||||
Pt.x = SLOWORD(lParam);
|
||||
Pt.y = SHIWORD(lParam);
|
||||
Pt.x = GET_X_LPARAM(lParam);
|
||||
Pt.y = GET_Y_LPARAM(lParam);
|
||||
return (DefWndHandleSysCommand(hWnd, wParam, Pt));
|
||||
}
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: dialog.c,v 1.24 2004/01/23 23:38:26 ekohl Exp $
|
||||
/* $Id: dialog.c,v 1.25 2004/04/09 20:03:14 navaraf Exp $
|
||||
*
|
||||
* PROJECT: ReactOS user32.dll
|
||||
* FILE: lib/user32/windows/dialog.c
|
||||
|
@ -30,19 +30,21 @@
|
|||
*/
|
||||
|
||||
/* INCLUDES ******************************************************************/
|
||||
|
||||
#define __NTAPP__
|
||||
#include <windows.h>
|
||||
#include <string.h>
|
||||
#include <user32.h>
|
||||
#include <ntos/rtl.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <limits.h>
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
#include <debug.h>
|
||||
|
||||
#include "user32/regcontrol.h"
|
||||
#include "../controls/controls.h"
|
||||
|
||||
|
||||
/* MACROS/DEFINITIONS ********************************************************/
|
||||
|
||||
#define DF_END 0x0001
|
||||
|
@ -1259,7 +1261,7 @@ inline static LPSTR HEAP_strdupWtoA( HANDLE heap, DWORD flags, LPCWSTR str )
|
|||
|
||||
if (!str) return NULL;
|
||||
len = WideCharToMultiByte( CP_ACP, 0, str, -1, NULL, 0, NULL, NULL );
|
||||
ret = RtlAllocateHeap(RtlGetProcessHeap(), flags, len );
|
||||
ret = RtlAllocateHeap(GetProcessHeap(), flags, len );
|
||||
if(ret) WideCharToMultiByte( CP_ACP, 0, str, -1, ret, len, NULL, NULL );
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: hook.c,v 1.14 2004/01/23 23:38:26 ekohl Exp $
|
||||
/* $Id: hook.c,v 1.15 2004/04/09 20:03:14 navaraf Exp $
|
||||
*
|
||||
* PROJECT: ReactOS user32.dll
|
||||
* FILE: lib/user32/windows/input.c
|
||||
|
@ -31,6 +31,8 @@
|
|||
#include <windows.h>
|
||||
#include <user32.h>
|
||||
#include <user32/callback.h>
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
@ -205,13 +207,13 @@ NotifyWinEvent(
|
|||
HWINEVENTHOOK
|
||||
STDCALL
|
||||
SetWinEventHook(
|
||||
DWORD eventMin,
|
||||
DWORD eventMax,
|
||||
UINT eventMin,
|
||||
UINT eventMax,
|
||||
HMODULE hmodWinEventProc,
|
||||
WINEVENTPROC pfnWinEventProc,
|
||||
DWORD idProcess,
|
||||
DWORD idThread,
|
||||
DWORD dwFlags
|
||||
UINT dwFlags
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
@ -347,11 +349,11 @@ User32CallHookProcFromKernel(PVOID Arguments, ULONG ArgumentLength)
|
|||
{
|
||||
if (0 != HIWORD(Csa.lpszClass))
|
||||
{
|
||||
RtlFreeHeap(RtlGetProcessHeap(), 0, (LPSTR) Csa.lpszClass);
|
||||
RtlFreeHeap(GetProcessHeap(), 0, (LPSTR) Csa.lpszClass);
|
||||
}
|
||||
if (NULL != Csa.lpszName)
|
||||
{
|
||||
RtlFreeHeap(RtlGetProcessHeap(), 0, (LPSTR) Csa.lpszName);
|
||||
RtlFreeHeap(GetProcessHeap(), 0, (LPSTR) Csa.lpszName);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: icon.c,v 1.20 2004/02/23 22:04:38 navaraf Exp $
|
||||
/* $Id: icon.c,v 1.21 2004/04/09 20:03:14 navaraf Exp $
|
||||
*
|
||||
* PROJECT: ReactOS user32.dll
|
||||
* FILE: lib/user32/windows/icon.c
|
||||
|
@ -32,6 +32,8 @@
|
|||
#include <user32.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
#include <debug.h>
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
@ -56,7 +58,7 @@ ICON_CreateIconFromData(HDC hDC, PVOID ImageData, ICONIMAGE* IconImage, int cxDe
|
|||
(IconImage->icHeader.biHeight );
|
||||
|
||||
/* create a BITMAPINFO header for the monocrome part of the icon */
|
||||
bwBIH = RtlAllocateHeap(RtlGetProcessHeap(), 0, sizeof (BITMAPINFOHEADER)+2*sizeof(RGBQUAD));
|
||||
bwBIH = RtlAllocateHeap(GetProcessHeap(), 0, sizeof (BITMAPINFOHEADER)+2*sizeof(RGBQUAD));
|
||||
|
||||
bwBIH->bmiHeader.biBitCount = 1;
|
||||
bwBIH->bmiHeader.biWidth = IconImage->icHeader.biWidth;
|
||||
|
@ -88,7 +90,7 @@ ICON_CreateIconFromData(HDC hDC, PVOID ImageData, ICONIMAGE* IconImage, int cxDe
|
|||
SetDIBits(hDC, IconInfo.hbmMask, 0, IconImage->icHeader.biHeight,
|
||||
ImageData, bwBIH, DIB_RGB_COLORS);
|
||||
|
||||
RtlFreeHeap(RtlGetProcessHeap(), 0, bwBIH);
|
||||
RtlFreeHeap(GetProcessHeap(), 0, bwBIH);
|
||||
|
||||
/* Create the icon based on everything we have so far */
|
||||
return NtUserCreateCursorIconHandle(&IconInfo, FALSE);
|
||||
|
@ -107,7 +109,7 @@ ICON_CreateCursorFromData(HDC hDC, PVOID ImageData, ICONIMAGE* IconImage, int cx
|
|||
IconInfo.yHotspot = yHotspot;
|
||||
|
||||
/* create a BITMAPINFO header for the monocrome part of the icon */
|
||||
bwBIH = RtlAllocateHeap(RtlGetProcessHeap(), 0, sizeof (BITMAPINFOHEADER)+2*sizeof(RGBQUAD));
|
||||
bwBIH = RtlAllocateHeap(GetProcessHeap(), 0, sizeof (BITMAPINFOHEADER)+2*sizeof(RGBQUAD));
|
||||
|
||||
bwBIH->bmiHeader.biBitCount = 1;
|
||||
bwBIH->bmiHeader.biWidth = IconImage->icHeader.biWidth;
|
||||
|
@ -145,7 +147,7 @@ ICON_CreateCursorFromData(HDC hDC, PVOID ImageData, ICONIMAGE* IconImage, int cx
|
|||
|
||||
IconInfo.hbmColor = (HBITMAP)0;
|
||||
|
||||
RtlFreeHeap(RtlGetProcessHeap(), 0, bwBIH);
|
||||
RtlFreeHeap(GetProcessHeap(), 0, bwBIH);
|
||||
|
||||
/* Create the icon based on everything we have so far */
|
||||
return NtUserCreateCursorIconHandle(&IconInfo, FALSE);
|
||||
|
@ -269,7 +271,7 @@ CreateIconFromResourceEx(
|
|||
}
|
||||
|
||||
/* get an safe copy of the icon data */
|
||||
SafeIconImage = RtlAllocateHeap(RtlGetProcessHeap(), 0, cbIconBits);
|
||||
SafeIconImage = RtlAllocateHeap(GetProcessHeap(), 0, cbIconBits);
|
||||
memcpy(SafeIconImage, pbIconBits, cbIconBits);
|
||||
|
||||
/* take into acount the origonal height was for both the AND and XOR images */
|
||||
|
@ -296,7 +298,7 @@ CreateIconFromResourceEx(
|
|||
hScreenDc = CreateCompatibleDC(NULL);
|
||||
if (hScreenDc == NULL)
|
||||
{
|
||||
RtlFreeHeap(RtlGetProcessHeap(), 0, SafeIconImage);
|
||||
RtlFreeHeap(GetProcessHeap(), 0, SafeIconImage);
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
|
@ -304,7 +306,7 @@ CreateIconFromResourceEx(
|
|||
hIcon = ICON_CreateIconFromData(hScreenDc, Data, SafeIconImage, cxDesired, cyDesired, wXHotspot, wYHotspot);
|
||||
else
|
||||
hIcon = ICON_CreateCursorFromData(hScreenDc, Data, SafeIconImage, cxDesired, cyDesired, wXHotspot, wYHotspot);
|
||||
RtlFreeHeap(RtlGetProcessHeap(), 0, SafeIconImage);
|
||||
RtlFreeHeap(GetProcessHeap(), 0, SafeIconImage);
|
||||
DeleteDC(hScreenDc);
|
||||
|
||||
return hIcon;
|
||||
|
|
|
@ -80,10 +80,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#ifdef __REACTOS__
|
||||
#define __USE_W32API
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: menu.c,v 1.61 2004/04/02 19:14:44 weiden Exp $
|
||||
/* $Id: menu.c,v 1.62 2004/04/09 20:03:15 navaraf Exp $
|
||||
*
|
||||
* PROJECT: ReactOS user32.dll
|
||||
* FILE: lib/user32/windows/menu.c
|
||||
|
@ -41,7 +41,8 @@
|
|||
#include <draw.h>
|
||||
#include <window.h>
|
||||
#include <strpool.h>
|
||||
#include <ntos/rtl.h>
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
|
||||
#include <user32/callback.h>
|
||||
#include "user32/regcontrol.h"
|
||||
|
@ -3585,7 +3586,7 @@ DrawMenuBar(HWND hWnd)
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
UINT STDCALL
|
||||
BOOL STDCALL
|
||||
EnableMenuItem(HMENU hMenu,
|
||||
UINT uIDEnableItem,
|
||||
UINT uEnable)
|
||||
|
@ -4030,7 +4031,7 @@ InsertMenuItemW(
|
|||
UNICODE_STRING MenuText;
|
||||
BOOL res = FALSE;
|
||||
BOOL CleanHeap = FALSE;
|
||||
HANDLE hHeap = RtlGetProcessHeap();
|
||||
HANDLE hHeap = GetProcessHeap();
|
||||
mi.hbmpItem = (HBITMAP)0;
|
||||
|
||||
// while we could just pass 'lpmii' to win32k, we make a copy so that
|
||||
|
@ -4370,7 +4371,7 @@ SetMenuItemInfoA(
|
|||
HMENU hMenu,
|
||||
UINT uItem,
|
||||
BOOL fByPosition,
|
||||
LPMENUITEMINFOA lpmii)
|
||||
LPCMENUITEMINFOA lpmii)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return FALSE;
|
||||
|
@ -4386,7 +4387,7 @@ SetMenuItemInfoW(
|
|||
HMENU hMenu,
|
||||
UINT uItem,
|
||||
BOOL fByPosition,
|
||||
LPMENUITEMINFOW lpmii)
|
||||
LPCMENUITEMINFOW lpmii)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return FALSE;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: message.c,v 1.36 2004/03/11 14:47:43 weiden Exp $
|
||||
/* $Id: message.c,v 1.37 2004/04/09 20:03:15 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS user32.dll
|
||||
|
@ -12,6 +12,8 @@
|
|||
#include <user32.h>
|
||||
#include <string.h>
|
||||
#include <debug.h>
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
|
@ -316,7 +318,7 @@ User32ConvertToAsciiMessage(UINT* Msg, WPARAM* wParam, LPARAM* lParam)
|
|||
ANSI_STRING AString;
|
||||
|
||||
CsW = (CREATESTRUCTW*)(*lParam);
|
||||
CsA = RtlAllocateHeap(RtlGetProcessHeap(), 0, sizeof(CREATESTRUCTA));
|
||||
CsA = RtlAllocateHeap(GetProcessHeap(), 0, sizeof(CREATESTRUCTA));
|
||||
memcpy(CsA, CsW, sizeof(CREATESTRUCTW));
|
||||
|
||||
RtlInitUnicodeString(&UString, CsW->lpszName);
|
||||
|
@ -360,7 +362,7 @@ User32FreeAsciiConvertedMessage(UINT Msg, WPARAM wParam, LPARAM lParam)
|
|||
LPSTR TempString;
|
||||
LPSTR InString;
|
||||
InString = (LPSTR)lParam;
|
||||
TempString = RtlAllocateHeap(RtlGetProcessHeap(), 0, strlen(InString) + 1);
|
||||
TempString = RtlAllocateHeap(GetProcessHeap(), 0, strlen(InString) + 1);
|
||||
strcpy(TempString, InString);
|
||||
RtlInitAnsiString(&AnsiString, TempString);
|
||||
UnicodeString.Length = wParam * sizeof(WCHAR);
|
||||
|
@ -375,7 +377,7 @@ User32FreeAsciiConvertedMessage(UINT Msg, WPARAM wParam, LPARAM lParam)
|
|||
UnicodeString.Buffer[0] = L'\0';
|
||||
}
|
||||
}
|
||||
RtlFreeHeap(RtlGetProcessHeap(), 0, TempString);
|
||||
RtlFreeHeap(GetProcessHeap(), 0, TempString);
|
||||
break;
|
||||
}
|
||||
case WM_SETTEXT:
|
||||
|
@ -391,12 +393,12 @@ User32FreeAsciiConvertedMessage(UINT Msg, WPARAM wParam, LPARAM lParam)
|
|||
CREATESTRUCTA* Cs;
|
||||
|
||||
Cs = (CREATESTRUCTA*)lParam;
|
||||
RtlFreeHeap(RtlGetProcessHeap(), 0, (LPSTR)Cs->lpszName);
|
||||
RtlFreeHeap(GetProcessHeap(), 0, (LPSTR)Cs->lpszName);
|
||||
if (HIWORD((ULONG)Cs->lpszClass) != 0)
|
||||
{
|
||||
RtlFreeHeap(RtlGetProcessHeap(), 0, (LPSTR)Cs->lpszClass);
|
||||
RtlFreeHeap(GetProcessHeap(), 0, (LPSTR)Cs->lpszClass);
|
||||
}
|
||||
RtlFreeHeap(RtlGetProcessHeap(), 0, Cs);
|
||||
RtlFreeHeap(GetProcessHeap(), 0, Cs);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -475,6 +477,10 @@ CallWindowProcA(WNDPROC lpPrevWndFunc,
|
|||
BOOL IsHandle;
|
||||
WndProcHandle wphData;
|
||||
|
||||
DbgPrint("CallWindowProcA(%p,%x,%x,%x,%x)\n",lpPrevWndFunc,hWnd,Msg,wParam,lParam);
|
||||
if (lpPrevWndFunc == NULL)
|
||||
lpPrevWndFunc = (WNDPROC)NtUserGetWindowLong(hWnd, GWL_WNDPROC, FALSE);
|
||||
|
||||
IsHandle = NtUserDereferenceWndProcHandle(lpPrevWndFunc,&wphData);
|
||||
if (! IsHandle)
|
||||
{
|
||||
|
@ -967,18 +973,19 @@ SendNotifyMessageW(
|
|||
* @implemented
|
||||
*/
|
||||
BOOL STDCALL
|
||||
TranslateMessage(CONST MSG *lpMsg)
|
||||
TranslateMessageEx(CONST MSG *lpMsg, DWORD unk)
|
||||
{
|
||||
return(TranslateMessageEx((LPMSG)lpMsg, 0));
|
||||
return(NtUserTranslateMessage((LPMSG)lpMsg, (HKL)unk));
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
BOOL STDCALL
|
||||
TranslateMessageEx(CONST MSG *lpMsg, DWORD unk)
|
||||
TranslateMessage(CONST MSG *lpMsg)
|
||||
{
|
||||
return(NtUserTranslateMessage((LPMSG)lpMsg, (HKL)unk));
|
||||
return(TranslateMessageEx((LPMSG)lpMsg, 0));
|
||||
}
|
||||
|
||||
|
||||
|
@ -1112,7 +1119,7 @@ BOOL STDCALL SetMessageQueue(int cMessagesMax)
|
|||
return TRUE;
|
||||
}
|
||||
typedef DWORD (WINAPI * RealGetQueueStatusProc)(UINT flags);
|
||||
typedef DWORD (WINAPI * RealMsgWaitForMultipleObjectsExProc)(DWORD nCount, LPHANDLE lpHandles, DWORD dwMilliseconds, DWORD dwWakeMask, DWORD dwFlags);
|
||||
typedef DWORD (WINAPI * RealMsgWaitForMultipleObjectsExProc)(DWORD nCount, CONST HANDLE *lpHandles, DWORD dwMilliseconds, DWORD dwWakeMask, DWORD dwFlags);
|
||||
|
||||
typedef struct _USER_MESSAGE_PUMP_ADDRESSES {
|
||||
DWORD cbSize;
|
||||
|
@ -1126,14 +1133,14 @@ DWORD
|
|||
STDCALL
|
||||
RealMsgWaitForMultipleObjectsEx(
|
||||
DWORD nCount,
|
||||
LPHANDLE pHandles,
|
||||
CONST HANDLE *pHandles,
|
||||
DWORD dwMilliseconds,
|
||||
DWORD dwWakeMask,
|
||||
DWORD dwFlags);
|
||||
|
||||
typedef BOOL (WINAPI * MESSAGEPUMPHOOKPROC)(BOOL Unregistering,PUSER_MESSAGE_PUMP_ADDRESSES MessagePumpAddresses);
|
||||
|
||||
RTL_CRITICAL_SECTION gcsMPH;
|
||||
CRITICAL_SECTION gcsMPH;
|
||||
MESSAGEPUMPHOOKPROC gpfnInitMPH;
|
||||
DWORD gcLoadMPH = 0;
|
||||
USER_MESSAGE_PUMP_ADDRESSES gmph = {sizeof(USER_MESSAGE_PUMP_ADDRESSES),
|
||||
|
@ -1173,10 +1180,10 @@ void WINAPI ResetMessagePumpHook(PUSER_MESSAGE_PUMP_ADDRESSES Addresses)
|
|||
|
||||
BOOL WINAPI RegisterMessagePumpHook(MESSAGEPUMPHOOKPROC Hook)
|
||||
{
|
||||
RtlEnterCriticalSection(&gcsMPH);
|
||||
EnterCriticalSection(&gcsMPH);
|
||||
if(!Hook) {
|
||||
SetLastError(ERROR_INVALID_PARAMETER);
|
||||
RtlLeaveCriticalSection(&gcsMPH);
|
||||
LeaveCriticalSection(&gcsMPH);
|
||||
return FALSE;
|
||||
}
|
||||
if(!gcLoadMPH) {
|
||||
|
@ -1184,30 +1191,30 @@ BOOL WINAPI RegisterMessagePumpHook(MESSAGEPUMPHOOKPROC Hook)
|
|||
gpfnInitMPH = Hook;
|
||||
ResetMessagePumpHook(&Addresses);
|
||||
if(!Hook(FALSE, &Addresses) || !Addresses.cbSize) {
|
||||
RtlLeaveCriticalSection(&gcsMPH);
|
||||
LeaveCriticalSection(&gcsMPH);
|
||||
return FALSE;
|
||||
}
|
||||
memcpy(&gmph, &Addresses, Addresses.cbSize);
|
||||
} else {
|
||||
if(gpfnInitMPH != Hook) {
|
||||
RtlLeaveCriticalSection(&gcsMPH);
|
||||
LeaveCriticalSection(&gcsMPH);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
if(NtUserCallNoParam(NOPARAM_ROUTINE_INIT_MESSAGE_PUMP)) {
|
||||
RtlLeaveCriticalSection(&gcsMPH);
|
||||
LeaveCriticalSection(&gcsMPH);
|
||||
return FALSE;
|
||||
}
|
||||
if (!gcLoadMPH++) {
|
||||
InterlockedExchange(&gfMessagePumpHook, 1);
|
||||
}
|
||||
RtlLeaveCriticalSection(&gcsMPH);
|
||||
LeaveCriticalSection(&gcsMPH);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL WINAPI UnregisterMessagePumpHook(VOID)
|
||||
{
|
||||
RtlEnterCriticalSection(&gcsMPH);
|
||||
EnterCriticalSection(&gcsMPH);
|
||||
if(gcLoadMPH > 0) {
|
||||
if(NtUserCallNoParam(NOPARAM_ROUTINE_UNINIT_MESSAGE_PUMP)) {
|
||||
gcLoadMPH--;
|
||||
|
@ -1217,11 +1224,11 @@ BOOL WINAPI UnregisterMessagePumpHook(VOID)
|
|||
ResetMessagePumpHook(&gmph);
|
||||
gpfnInitMPH = 0;
|
||||
}
|
||||
RtlLeaveCriticalSection(&gcsMPH);
|
||||
LeaveCriticalSection(&gcsMPH);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
RtlLeaveCriticalSection(&gcsMPH);
|
||||
LeaveCriticalSection(&gcsMPH);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -1230,7 +1237,7 @@ DWORD WINAPI GetQueueStatus(UINT flags)
|
|||
return IsInsideMessagePumpHook() ? gmph.RealGetQueueStatus(flags) : RealGetQueueStatus(flags);
|
||||
}
|
||||
|
||||
DWORD WINAPI MsgWaitForMultipleObjectsEx(DWORD nCount, LPHANDLE lpHandles, DWORD dwMilliseconds, DWORD dwWakeMask, DWORD dwFlags)
|
||||
DWORD WINAPI MsgWaitForMultipleObjectsEx(DWORD nCount, CONST HANDLE *lpHandles, DWORD dwMilliseconds, DWORD dwWakeMask, DWORD dwFlags)
|
||||
{
|
||||
return IsInsideMessagePumpHook() ? gmph.RealMsgWaitForMultipleObjectsEx(nCount, lpHandles,dwMilliseconds, dwWakeMask, dwFlags) : RealMsgWaitForMultipleObjectsEx(nCount, lpHandles,dwMilliseconds, dwWakeMask, dwFlags);
|
||||
return IsInsideMessagePumpHook() ? gmph.RealMsgWaitForMultipleObjectsEx(nCount, lpHandles, dwMilliseconds, dwWakeMask, dwFlags) : RealMsgWaitForMultipleObjectsEx(nCount, lpHandles,dwMilliseconds, dwWakeMask, dwFlags);
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: messagebox.c,v 1.24 2004/02/05 22:09:15 gvg Exp $
|
||||
/* $Id: messagebox.c,v 1.25 2004/04/09 20:03:15 navaraf Exp $
|
||||
*
|
||||
* PROJECT: ReactOS user32.dll
|
||||
* FILE: lib/user32/windows/messagebox.c
|
||||
|
@ -35,13 +35,14 @@
|
|||
#include <messages.h>
|
||||
#include <user32.h>
|
||||
#include <string.h>
|
||||
#include <ntos/rtl.h>
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <debug.h>
|
||||
#include "resource.h"
|
||||
|
||||
typedef UINT *LPUINT;
|
||||
//typedef UINT *LPUINT;
|
||||
#include <mmsystem.h>
|
||||
|
||||
/* DEFINES *******************************************************************/
|
||||
|
@ -207,7 +208,7 @@ static INT_PTR CALLBACK MessageBoxProc( HWND hwnd, UINT message,
|
|||
#define SAFETY_MARGIN 32 /* Extra number of bytes to allocate in case we counted wrong */
|
||||
static int
|
||||
MessageBoxTimeoutIndirectW(
|
||||
CONST LPMSGBOXPARAMS lpMsgBoxParams, UINT Timeout)
|
||||
CONST MSGBOXPARAMS *lpMsgBoxParams, UINT Timeout)
|
||||
{
|
||||
DLGTEMPLATE *tpl;
|
||||
DLGITEMTEMPLATE *iico, *itxt;
|
||||
|
@ -393,7 +394,7 @@ MessageBoxTimeoutIndirectW(
|
|||
(wcslen(ButtonText[i]) + 1) * sizeof(WCHAR);
|
||||
}
|
||||
|
||||
buf = RtlAllocateHeap(RtlGetProcessHeap(), 0, bufsize + SAFETY_MARGIN);
|
||||
buf = RtlAllocateHeap(GetProcessHeap(), 0, bufsize + SAFETY_MARGIN);
|
||||
/* Just to be safe.... */
|
||||
if(!buf)
|
||||
{
|
||||
|
@ -633,7 +634,7 @@ MessageBoxTimeoutIndirectW(
|
|||
if(hFont)
|
||||
DeleteObject(hFont);
|
||||
|
||||
RtlFreeHeap(RtlGetProcessHeap(), 0, buf);
|
||||
RtlFreeHeap(GetProcessHeap(), 0, buf);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -667,7 +668,7 @@ MessageBoxExA(
|
|||
UINT uType,
|
||||
WORD wLanguageId)
|
||||
{
|
||||
MSGBOXPARAMS msgbox;
|
||||
MSGBOXPARAMSA msgbox;
|
||||
|
||||
msgbox.cbSize = sizeof(msgbox);
|
||||
msgbox.hwndOwner = hWnd;
|
||||
|
@ -696,13 +697,13 @@ MessageBoxExW(
|
|||
UINT uType,
|
||||
WORD wLanguageId)
|
||||
{
|
||||
MSGBOXPARAMS msgbox;
|
||||
MSGBOXPARAMSW msgbox;
|
||||
|
||||
msgbox.cbSize = sizeof(msgbox);
|
||||
msgbox.hwndOwner = hWnd;
|
||||
msgbox.hInstance = 0;
|
||||
msgbox.lpszText = (LPCSTR)lpText;
|
||||
msgbox.lpszCaption =(LPCSTR) lpCaption;
|
||||
msgbox.lpszText = lpText;
|
||||
msgbox.lpszCaption = lpCaption;
|
||||
msgbox.dwStyle = uType;
|
||||
msgbox.lpszIcon = NULL;
|
||||
msgbox.dwContextHelpId = 0;
|
||||
|
@ -719,9 +720,9 @@ MessageBoxExW(
|
|||
int
|
||||
STDCALL
|
||||
MessageBoxIndirectA(
|
||||
CONST LPMSGBOXPARAMS lpMsgBoxParams)
|
||||
CONST MSGBOXPARAMSA *lpMsgBoxParams)
|
||||
{
|
||||
MSGBOXPARAMS msgboxW;
|
||||
MSGBOXPARAMSW msgboxW;
|
||||
UNICODE_STRING textW, captionW, iconW;
|
||||
int ret;
|
||||
|
||||
|
@ -764,10 +765,10 @@ MessageBoxIndirectA(
|
|||
msgboxW.cbSize = sizeof(msgboxW);
|
||||
msgboxW.hwndOwner = lpMsgBoxParams->hwndOwner;
|
||||
msgboxW.hInstance = lpMsgBoxParams->hInstance;
|
||||
msgboxW.lpszText = (LPCSTR)textW.Buffer;
|
||||
msgboxW.lpszCaption = (LPCSTR)captionW.Buffer;
|
||||
msgboxW.lpszText = textW.Buffer;
|
||||
msgboxW.lpszCaption = captionW.Buffer;
|
||||
msgboxW.dwStyle = lpMsgBoxParams->dwStyle;
|
||||
msgboxW.lpszIcon = (LPCSTR)iconW.Buffer;
|
||||
msgboxW.lpszIcon = iconW.Buffer;
|
||||
msgboxW.dwContextHelpId = lpMsgBoxParams->dwContextHelpId;
|
||||
msgboxW.lpfnMsgBoxCallback = lpMsgBoxParams->lpfnMsgBoxCallback;
|
||||
msgboxW.dwLanguageId = lpMsgBoxParams->dwLanguageId;
|
||||
|
@ -793,7 +794,7 @@ MessageBoxIndirectA(
|
|||
int
|
||||
STDCALL
|
||||
MessageBoxIndirectW(
|
||||
CONST LPMSGBOXPARAMS lpMsgBoxParams)
|
||||
CONST MSGBOXPARAMSW *lpMsgBoxParams)
|
||||
{
|
||||
return MessageBoxTimeoutIndirectW(lpMsgBoxParams, (UINT)-1);
|
||||
}
|
||||
|
@ -826,7 +827,7 @@ MessageBoxTimeoutA(
|
|||
WORD wLanguageId,
|
||||
DWORD dwTime)
|
||||
{
|
||||
MSGBOXPARAMS msgboxW;
|
||||
MSGBOXPARAMSW msgboxW;
|
||||
UNICODE_STRING textW, captionW;
|
||||
int ret;
|
||||
|
||||
|
@ -843,8 +844,8 @@ MessageBoxTimeoutA(
|
|||
msgboxW.cbSize = sizeof(msgboxW);
|
||||
msgboxW.hwndOwner = hWnd;
|
||||
msgboxW.hInstance = 0;
|
||||
msgboxW.lpszText = (LPCSTR)textW.Buffer;
|
||||
msgboxW.lpszCaption = (LPCSTR)captionW.Buffer;
|
||||
msgboxW.lpszText = textW.Buffer;
|
||||
msgboxW.lpszCaption = captionW.Buffer;
|
||||
msgboxW.dwStyle = uType;
|
||||
msgboxW.lpszIcon = NULL;
|
||||
msgboxW.dwContextHelpId = 0;
|
||||
|
@ -875,13 +876,13 @@ MessageBoxTimeoutW(
|
|||
WORD wLanguageId,
|
||||
DWORD dwTime)
|
||||
{
|
||||
MSGBOXPARAMS msgbox;
|
||||
MSGBOXPARAMSW msgbox;
|
||||
|
||||
msgbox.cbSize = sizeof(msgbox);
|
||||
msgbox.hwndOwner = hWnd;
|
||||
msgbox.hInstance = 0;
|
||||
msgbox.lpszText = (LPCSTR)lpText;
|
||||
msgbox.lpszCaption =(LPCSTR) lpCaption;
|
||||
msgbox.lpszText = lpText;
|
||||
msgbox.lpszCaption = lpCaption;
|
||||
msgbox.dwStyle = uType;
|
||||
msgbox.lpszIcon = NULL;
|
||||
msgbox.dwContextHelpId = 0;
|
||||
|
|
|
@ -66,6 +66,7 @@ Already defined in makefile now.
|
|||
((Style & WS_CHILD) && (ParentStyle & WS_THICKFRAME) && !(ParentStyle & WS_MAXIMIZE) && \
|
||||
(WindowRect.right - WindowRect.left == ParentClientRect.right) && \
|
||||
(WindowRect.bottom - WindowRect.top == ParentClientRect.bottom)))
|
||||
|
||||
/*
|
||||
* FIXME: This should be moved to a header
|
||||
*/
|
||||
|
@ -76,6 +77,8 @@ IntScrollHitTest(HWND hWnd, INT nBar, POINT pt, BOOL bDragging);
|
|||
HPEN STDCALL
|
||||
GetSysColorPen(int nIndex);
|
||||
|
||||
BOOL STDCALL GdiGradientFill(HDC,PTRIVERTEX,ULONG,PVOID,ULONG,ULONG);
|
||||
|
||||
extern ATOM AtomInternalPos;
|
||||
|
||||
/* PRIVATE FUNCTIONS **********************************************************/
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: paint.c,v 1.25 2004/03/23 21:47:37 weiden Exp $
|
||||
/* $Id: paint.c,v 1.26 2004/04/09 20:03:15 navaraf Exp $
|
||||
*
|
||||
* PROJECT: ReactOS user32.dll
|
||||
* FILE: lib/user32/windows/paint.c
|
||||
|
@ -38,6 +38,8 @@ static HBRUSH FrameBrushes[13];
|
|||
static HBITMAP hHatch;
|
||||
const DWORD HatchBitmap[4] = {0x5555AAAA, 0x5555AAAA, 0x5555AAAA, 0x5555AAAA};
|
||||
|
||||
BOOL STDCALL PolyPatBlt(HDC,DWORD,PPATRECT,INT,ULONG);
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
VOID
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: prop.c,v 1.11 2004/01/23 23:38:26 ekohl Exp $
|
||||
/* $Id: prop.c,v 1.12 2004/04/09 20:03:15 navaraf Exp $
|
||||
*
|
||||
* PROJECT: ReactOS user32.dll
|
||||
* FILE: lib/user32/windows/input.c
|
||||
|
@ -31,6 +31,8 @@
|
|||
#include <windows.h>
|
||||
#include <user32.h>
|
||||
#include <strpool.h>
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
#include <debug.h>
|
||||
|
||||
typedef struct _PROPLISTITEM
|
||||
|
@ -72,12 +74,12 @@ EnumPropsA(HWND hWnd, PROPENUMPROCA lpEnumFunc)
|
|||
|
||||
if(Count > 0)
|
||||
{
|
||||
pli = HEAP_alloc(Count);
|
||||
pli = RtlAllocateHeap(GetProcessHeap(), 0, Count);
|
||||
|
||||
Status = NtUserBuildPropList(hWnd, (LPVOID)pli, Count, &Count);
|
||||
if(!NT_SUCCESS(Status))
|
||||
{
|
||||
HEAP_free(pli);
|
||||
RtlFreeHeap(GetProcessHeap(), 0, pli);
|
||||
if(Status == STATUS_INVALID_HANDLE)
|
||||
SetLastError(ERROR_INVALID_WINDOW_HANDLE);
|
||||
else
|
||||
|
@ -98,7 +100,7 @@ EnumPropsA(HWND hWnd, PROPENUMPROCA lpEnumFunc)
|
|||
break;
|
||||
}
|
||||
|
||||
HEAP_free(pli);
|
||||
RtlFreeHeap(GetProcessHeap(), 0, pli);
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
@ -134,12 +136,12 @@ EnumPropsExA(HWND hWnd, PROPENUMPROCEXA lpEnumFunc, LPARAM lParam)
|
|||
|
||||
if(Count > 0)
|
||||
{
|
||||
pli = HEAP_alloc(Count);
|
||||
pli = RtlAllocateHeap(GetProcessHeap(), 0, Count);
|
||||
|
||||
Status = NtUserBuildPropList(hWnd, (LPVOID)pli, Count, &Count);
|
||||
if(!NT_SUCCESS(Status))
|
||||
{
|
||||
HEAP_free(pli);
|
||||
RtlFreeHeap(GetProcessHeap(), 0, pli);
|
||||
if(Status == STATUS_INVALID_HANDLE)
|
||||
SetLastError(ERROR_INVALID_WINDOW_HANDLE);
|
||||
else
|
||||
|
@ -160,7 +162,7 @@ EnumPropsExA(HWND hWnd, PROPENUMPROCEXA lpEnumFunc, LPARAM lParam)
|
|||
break;
|
||||
}
|
||||
|
||||
HEAP_free(pli);
|
||||
RtlFreeHeap(GetProcessHeap(), 0, pli);
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
@ -196,12 +198,12 @@ EnumPropsExW(HWND hWnd, PROPENUMPROCEXW lpEnumFunc, LPARAM lParam)
|
|||
|
||||
if(Count > 0)
|
||||
{
|
||||
pli = HEAP_alloc(Count);
|
||||
pli = RtlAllocateHeap(GetProcessHeap(), 0, Count);
|
||||
|
||||
Status = NtUserBuildPropList(hWnd, (LPVOID)pli, Count, &Count);
|
||||
if(!NT_SUCCESS(Status))
|
||||
{
|
||||
HEAP_free(pli);
|
||||
RtlFreeHeap(GetProcessHeap(), 0, pli);
|
||||
if(Status == STATUS_INVALID_HANDLE)
|
||||
SetLastError(ERROR_INVALID_WINDOW_HANDLE);
|
||||
else
|
||||
|
@ -222,7 +224,7 @@ EnumPropsExW(HWND hWnd, PROPENUMPROCEXW lpEnumFunc, LPARAM lParam)
|
|||
break;
|
||||
}
|
||||
|
||||
HEAP_free(pli);
|
||||
RtlFreeHeap(GetProcessHeap(), 0, pli);
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
@ -258,12 +260,12 @@ EnumPropsW(HWND hWnd, PROPENUMPROCW lpEnumFunc)
|
|||
|
||||
if(Count > 0)
|
||||
{
|
||||
pli = HEAP_alloc(Count);
|
||||
pli = RtlAllocateHeap(GetProcessHeap(), 0, Count);
|
||||
|
||||
Status = NtUserBuildPropList(hWnd, (LPVOID)pli, Count, &Count);
|
||||
if(!NT_SUCCESS(Status))
|
||||
{
|
||||
HEAP_free(pli);
|
||||
RtlFreeHeap(GetProcessHeap(), 0, pli);
|
||||
if(Status == STATUS_INVALID_HANDLE)
|
||||
SetLastError(ERROR_INVALID_WINDOW_HANDLE);
|
||||
else
|
||||
|
@ -284,7 +286,7 @@ EnumPropsW(HWND hWnd, PROPENUMPROCW lpEnumFunc)
|
|||
break;
|
||||
}
|
||||
|
||||
HEAP_free(pli);
|
||||
RtlFreeHeap(GetProcessHeap(), 0, pli);
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: text.c,v 1.8 2004/01/23 23:38:26 ekohl Exp $
|
||||
/* $Id: text.c,v 1.9 2004/04/09 20:03:15 navaraf Exp $
|
||||
*
|
||||
* PROJECT: ReactOS user32.dll
|
||||
* FILE: lib/user32/windows/input.c
|
||||
|
@ -32,12 +32,10 @@
|
|||
|
||||
#include <windows.h>
|
||||
#include <user32.h>
|
||||
|
||||
#include <ntos/rtl.h>
|
||||
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
#include <debug.h>
|
||||
|
||||
|
||||
const unsigned short wctype_table[] =
|
||||
{
|
||||
};
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: window.c,v 1.107 2004/04/08 21:14:21 navaraf Exp $
|
||||
/* $Id: window.c,v 1.108 2004/04/09 20:03:15 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS user32.dll
|
||||
|
@ -18,6 +18,8 @@
|
|||
#include <strpool.h>
|
||||
#include <user32/callback.h>
|
||||
#include <user32/regcontrol.h>
|
||||
#define NTOS_MODE_USER
|
||||
#include <ntos.h>
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
@ -1453,7 +1455,7 @@ GetWindowContextHelpId(HWND hwnd)
|
|||
/*
|
||||
* @implemented
|
||||
*/
|
||||
DWORD
|
||||
INT
|
||||
STDCALL
|
||||
InternalGetWindowText(HWND hWnd, LPWSTR lpString, int nMaxCount)
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: handle.c,v 1.16 2004/01/11 17:31:15 gvg Exp $
|
||||
/* $Id: handle.c,v 1.17 2004/04/09 20:03:15 navaraf Exp $
|
||||
*
|
||||
* reactos/subsys/csrss/api/handle.c
|
||||
*
|
||||
|
@ -9,9 +9,8 @@
|
|||
|
||||
/* INCLUDES ******************************************************************/
|
||||
|
||||
#include <ddk/ntddk.h>
|
||||
|
||||
#include <csrss/csrss.h>
|
||||
#include <ddk/ntddk.h>
|
||||
#include <ntdll/rtl.h>
|
||||
#include "api.h"
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: process.c,v 1.32 2004/01/11 17:31:15 gvg Exp $
|
||||
/* $Id: process.c,v 1.33 2004/04/09 20:03:15 navaraf Exp $
|
||||
*
|
||||
* reactos/subsys/csrss/api/process.c
|
||||
*
|
||||
|
@ -9,9 +9,8 @@
|
|||
|
||||
/* INCLUDES ******************************************************************/
|
||||
|
||||
#include <ddk/ntddk.h>
|
||||
|
||||
#include <csrss/csrss.h>
|
||||
#include <ddk/ntddk.h>
|
||||
#include <ntdll/rtl.h>
|
||||
#include "api.h"
|
||||
#include "conio.h"
|
||||
|
@ -172,8 +171,7 @@ CSR_API(CsrCreateProcess)
|
|||
CSRSS_API_REQUEST ApiRequest;
|
||||
CSRSS_API_REPLY ApiReply;
|
||||
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) -
|
||||
sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
|
||||
NewProcessData = CsrCreateProcessData(Request->Data.CreateProcessRequest.NewProcessId);
|
||||
|
@ -195,11 +193,11 @@ CSR_API(CsrCreateProcess)
|
|||
{
|
||||
ApiRequest.Type = CSRSS_ALLOC_CONSOLE;
|
||||
ApiRequest.Header.DataSize = sizeof(CSRSS_ALLOC_CONSOLE_REQUEST);
|
||||
ApiRequest.Header.MessageSize = sizeof(LPC_MESSAGE) + sizeof(CSRSS_ALLOC_CONSOLE_REQUEST);
|
||||
ApiRequest.Header.MessageSize = LPC_MESSAGE_BASE_SIZE + sizeof(CSRSS_ALLOC_CONSOLE_REQUEST);
|
||||
ApiRequest.Data.AllocConsoleRequest.CtrlDispatcher = Request->Data.CreateProcessRequest.CtrlDispatcher;
|
||||
|
||||
ApiReply.Header.DataSize = sizeof(CSRSS_ALLOC_CONSOLE_REPLY);
|
||||
ApiReply.Header.MessageSize = sizeof(LPC_MESSAGE) + sizeof(CSRSS_ALLOC_CONSOLE_REPLY);
|
||||
ApiReply.Header.MessageSize = LPC_MESSAGE_BASE_SIZE + sizeof(CSRSS_ALLOC_CONSOLE_REPLY);
|
||||
|
||||
CsrApiCallHandler(NewProcessData, &ApiRequest, &ApiReply);
|
||||
|
||||
|
@ -263,8 +261,7 @@ CSR_API(CsrTerminateProcess)
|
|||
{
|
||||
NTSTATUS Status;
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY)
|
||||
- sizeof(LPC_MESSAGE);
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY);
|
||||
|
||||
if (ProcessData == NULL)
|
||||
|
@ -281,8 +278,7 @@ CSR_API(CsrTerminateProcess)
|
|||
CSR_API(CsrConnectProcess)
|
||||
{
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) -
|
||||
sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
Reply->Status = STATUS_SUCCESS;
|
||||
|
||||
|
@ -292,8 +288,7 @@ CSR_API(CsrConnectProcess)
|
|||
CSR_API(CsrGetShutdownParameters)
|
||||
{
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) -
|
||||
sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
if (ProcessData == NULL)
|
||||
{
|
||||
|
@ -311,8 +306,7 @@ CSR_API(CsrGetShutdownParameters)
|
|||
CSR_API(CsrSetShutdownParameters)
|
||||
{
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) -
|
||||
sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
if (ProcessData == NULL)
|
||||
{
|
||||
|
@ -330,7 +324,7 @@ CSR_API(CsrSetShutdownParameters)
|
|||
CSR_API(CsrGetInputHandle)
|
||||
{
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
if (ProcessData == NULL)
|
||||
{
|
||||
|
@ -355,7 +349,7 @@ CSR_API(CsrGetInputHandle)
|
|||
CSR_API(CsrGetOutputHandle)
|
||||
{
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
if (ProcessData == NULL)
|
||||
{
|
||||
|
@ -382,7 +376,7 @@ CSR_API(CsrGetOutputHandle)
|
|||
CSR_API(CsrCloseHandle)
|
||||
{
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
if (ProcessData == NULL)
|
||||
{
|
||||
|
@ -398,7 +392,7 @@ CSR_API(CsrCloseHandle)
|
|||
CSR_API(CsrVerifyHandle)
|
||||
{
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
Reply->Status = CsrVerifyObject(ProcessData, Request->Data.VerifyHandleRequest.Handle);
|
||||
if (!NT_SUCCESS(Reply->Status))
|
||||
|
@ -414,7 +408,7 @@ CSR_API(CsrDuplicateHandle)
|
|||
Object_t *Object;
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
ProcessData = CsrGetProcessData(Request->Data.DuplicateHandleRequest.ProcessId);
|
||||
Reply->Status = CsrGetObject(ProcessData, Request->Data.DuplicateHandleRequest.Handle, &Object);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: user.c,v 1.2 2002/11/03 20:01:07 chorns Exp $
|
||||
/* $Id: user.c,v 1.3 2004/04/09 20:03:15 navaraf Exp $
|
||||
*
|
||||
* reactos/subsys/csrss/api/user.c
|
||||
*
|
||||
|
@ -32,8 +32,7 @@ CSR_API(CsrRegisterServicesProcess)
|
|||
NTSTATUS Status;
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) -
|
||||
sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
if (ServicesProcessIdValid == TRUE)
|
||||
{
|
||||
|
@ -56,10 +55,7 @@ CSR_API(CsrRegisterServicesProcess)
|
|||
CSR_API(CsrExitReactos)
|
||||
{
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) -
|
||||
sizeof(LPC_MESSAGE);
|
||||
|
||||
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
Reply->Status = STATUS_NOT_IMPLEMENTED;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: wapi.c,v 1.33 2003/12/30 05:10:32 hyperion Exp $
|
||||
/* $Id: wapi.c,v 1.34 2004/04/09 20:03:15 navaraf Exp $
|
||||
*
|
||||
* reactos/subsys/csrss/api/wapi.c
|
||||
*
|
||||
|
@ -10,10 +10,9 @@
|
|||
|
||||
/* INCLUDES ******************************************************************/
|
||||
|
||||
#include <ddk/ntddk.h>
|
||||
#include <windows.h>
|
||||
#include <ntdll/rtl.h>
|
||||
#include <csrss/csrss.h>
|
||||
#include <ddk/ntddk.h>
|
||||
#include <ntdll/rtl.h>
|
||||
#include <debug.h>
|
||||
|
||||
#include "api.h"
|
||||
|
@ -93,7 +92,7 @@ CsrApiCallHandler(PCSRSS_PROCESS_DATA ProcessData,
|
|||
{
|
||||
DPRINT1("CSR: Unknown request type 0x%x\n", Request->Type);
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
Reply->Status = STATUS_INVALID_SYSTEM_SERVICE;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: init.c,v 1.25 2003/12/03 21:50:49 gvg Exp $
|
||||
/* $Id: init.c,v 1.26 2004/04/09 20:03:15 navaraf Exp $
|
||||
*
|
||||
* reactos/subsys/csrss/init.c
|
||||
*
|
||||
|
@ -10,11 +10,11 @@
|
|||
|
||||
/* INCLUDES ******************************************************************/
|
||||
|
||||
#include <csrss/csrss.h>
|
||||
#include <ddk/ntddk.h>
|
||||
#include <ntdll/csr.h>
|
||||
#include <ntdll/rtl.h>
|
||||
#include <ntdll/ldr.h>
|
||||
#include <csrss/csrss.h>
|
||||
#include <win32k/win32k.h>
|
||||
#include <rosrtl/string.h>
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $Id: makefile,v 1.27 2003/12/30 05:11:54 hyperion Exp $
|
||||
# $Id: makefile,v 1.28 2004/04/09 20:03:15 navaraf Exp $
|
||||
|
||||
PATH_TO_TOP = ../..
|
||||
|
||||
|
@ -18,7 +18,7 @@ TARGET_CFLAGS = -D__NTAPP__ -Wall -Werror -Iinclude
|
|||
TARGET_LFLAGS = -nostdlib
|
||||
|
||||
# require os code to explicitly request A/W version of structs/functions
|
||||
TARGET_CFLAGS += -D_DISABLE_TIDENTS
|
||||
TARGET_CFLAGS += -D__USE_W32API -DWINVER=0x0600 -D_WIN32_WINNT=0x0501
|
||||
|
||||
SUBDIRS = win32csr
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: print.c,v 1.6 2003/10/20 18:02:04 gvg Exp $
|
||||
/* $Id: print.c,v 1.7 2004/04/09 20:03:15 navaraf Exp $
|
||||
*
|
||||
* smss.c - Session Manager
|
||||
*
|
||||
|
@ -27,17 +27,16 @@
|
|||
* Compiled successfully with egcs 1.1.2
|
||||
*/
|
||||
|
||||
#include <ddk/ntddk.h>
|
||||
|
||||
#include <csrss/csrss.h>
|
||||
|
||||
#include <ddk/ntddk.h>
|
||||
#include <ntos.h>
|
||||
|
||||
VOID STDCALL DisplayString(LPCWSTR lpwString)
|
||||
{
|
||||
UNICODE_STRING us;
|
||||
|
||||
RtlInitUnicodeString (&us, lpwString);
|
||||
NtDisplayString (&us);
|
||||
ZwDisplayString (&us);
|
||||
}
|
||||
|
||||
VOID STDCALL PrintString (char* fmt, ...)
|
||||
|
@ -48,7 +47,7 @@ VOID STDCALL PrintString (char* fmt, ...)
|
|||
ANSI_STRING AnsiString;
|
||||
|
||||
va_start(ap, fmt);
|
||||
vsprintf(buffer, fmt, ap);
|
||||
vsprintf(buffer, fmt, ap);
|
||||
va_end(ap);
|
||||
|
||||
RtlInitAnsiString (&AnsiString, buffer);
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
/* $Id: video.c,v 1.9 2003/12/26 09:52:37 navaraf Exp $
|
||||
/* $Id: video.c,v 1.10 2004/04/09 20:03:15 navaraf Exp $
|
||||
*
|
||||
* ReactOS Project
|
||||
*/
|
||||
|
||||
#include <windows.h>
|
||||
#include <ddk/ntddk.h>
|
||||
#include <ddk/ntapi.h>
|
||||
#include <rosrtl/string.h>
|
||||
|
||||
ULONG
|
||||
|
@ -28,7 +31,7 @@ InitializeVideoAddressSpace(VOID)
|
|||
0,
|
||||
NULL,
|
||||
NULL);
|
||||
Status = NtOpenSection(&PhysMemHandle, SECTION_ALL_ACCESS,
|
||||
Status = ZwOpenSection(&PhysMemHandle, SECTION_ALL_ACCESS,
|
||||
&ObjectAttributes);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: conio.c,v 1.9 2004/03/14 17:53:27 weiden Exp $
|
||||
/* $Id: conio.c,v 1.10 2004/04/09 20:03:16 navaraf Exp $
|
||||
*
|
||||
* reactos/subsys/csrss/win32csr/conio.c
|
||||
*
|
||||
|
@ -241,7 +241,7 @@ CSR_API(CsrAllocConsole)
|
|||
DPRINT("CsrAllocConsole\n");
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
if (ProcessData == NULL)
|
||||
{
|
||||
|
@ -326,7 +326,7 @@ CSR_API(CsrFreeConsole)
|
|||
DPRINT("CsrFreeConsole\n");
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
if (ProcessData == NULL || ProcessData->Console == NULL)
|
||||
{
|
||||
|
@ -516,7 +516,7 @@ CSR_API(CsrReadConsole)
|
|||
/* truncate length to CSRSS_MAX_READ_CONSOLE_REQUEST */
|
||||
nNumberOfCharsToRead = Request->Data.ReadConsoleRequest.NrCharactersToRead > CSRSS_MAX_READ_CONSOLE_REQUEST ? CSRSS_MAX_READ_CONSOLE_REQUEST : Request->Data.ReadConsoleRequest.NrCharactersToRead;
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = Reply->Header.MessageSize - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = Reply->Header.MessageSize - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
Buffer = Reply->Data.ReadConsoleReply.Buffer;
|
||||
Status = ConioLockConsole(ProcessData, Request->Data.ReadConsoleRequest.ConsoleHandle,
|
||||
|
@ -842,8 +842,7 @@ CSR_API(CsrWriteConsole)
|
|||
DPRINT("CsrWriteConsole\n");
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) -
|
||||
sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
if (Request->Header.DataSize
|
||||
< sizeof(CSRSS_WRITE_CONSOLE_REQUEST) - 1
|
||||
|
@ -1338,7 +1337,7 @@ CSR_API(CsrGetScreenBufferInfo)
|
|||
DPRINT("CsrGetScreenBufferInfo\n");
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
Status = ConioLockScreenBuffer(ProcessData, Request->Data.ScreenBufferInfoRequest.ConsoleHandle, &Buff);
|
||||
if (! NT_SUCCESS(Status))
|
||||
|
@ -1380,7 +1379,7 @@ CSR_API(CsrSetCursor)
|
|||
}
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
Status = ConioLockScreenBuffer(ProcessData, Request->Data.SetCursorRequest.ConsoleHandle, &Buff);
|
||||
if (! NT_SUCCESS(Status))
|
||||
|
@ -1453,8 +1452,7 @@ CSR_API(CsrWriteConsoleOutputChar)
|
|||
DPRINT("CsrWriteConsoleOutputChar\n");
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) -
|
||||
sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
if (Request->Header.DataSize
|
||||
< sizeof(CSRSS_WRITE_CONSOLE_OUTPUT_CHAR_REQUEST) - 1
|
||||
|
@ -1533,7 +1531,7 @@ CSR_API(CsrFillOutputChar)
|
|||
DPRINT("CsrFillOutputChar\n");
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
Status = ConioConsoleFromProcessData(ProcessData, &Console);
|
||||
if (! NT_SUCCESS(Status))
|
||||
|
@ -1598,7 +1596,7 @@ CSR_API(CsrReadInputEvent)
|
|||
DPRINT("CsrReadInputEvent\n");
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
Reply->Data.ReadInputReply.Event = ProcessData->ConsoleEvent;
|
||||
|
||||
Status = ConioLockConsole(ProcessData, Request->Data.ReadInputRequest.ConsoleHandle, &Console);
|
||||
|
@ -1655,8 +1653,7 @@ CSR_API(CsrWriteConsoleOutputAttrib)
|
|||
DPRINT("CsrWriteConsoleOutputAttrib\n");
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) -
|
||||
sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
if (Request->Header.DataSize
|
||||
< sizeof(CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB_REQUEST) - 1
|
||||
|
@ -1743,7 +1740,7 @@ CSR_API(CsrFillOutputAttrib)
|
|||
}
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
Status = ConioLockScreenBuffer(ProcessData, Request->Data.FillOutputAttribRequest.ConsoleHandle, &Buff);
|
||||
if (! NT_SUCCESS(Status))
|
||||
{
|
||||
|
@ -1799,7 +1796,7 @@ CSR_API(CsrGetCursorInfo)
|
|||
DPRINT("CsrGetCursorInfo\n");
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
Status = ConioLockScreenBuffer(ProcessData, Request->Data.GetCursorInfoRequest.ConsoleHandle, &Buff);
|
||||
if (! NT_SUCCESS(Status))
|
||||
|
@ -1823,7 +1820,7 @@ CSR_API(CsrSetCursorInfo)
|
|||
DPRINT("CsrSetCursorInfo\n");
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
Status = ConioConsoleFromProcessData(ProcessData, &Console);
|
||||
if (! NT_SUCCESS(Status))
|
||||
|
@ -1931,7 +1928,7 @@ CSR_API(CsrSetConsoleMode)
|
|||
DPRINT("CsrSetConsoleMode\n");
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
Status = Win32CsrGetObject(ProcessData,
|
||||
Request->Data.SetConsoleModeRequest.ConsoleHandle,
|
||||
(Object_t **) &Console);
|
||||
|
@ -1968,7 +1965,7 @@ CSR_API(CsrGetConsoleMode)
|
|||
DPRINT("CsrGetConsoleMode\n");
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
Status = Win32CsrGetObject(ProcessData, Request->Data.GetConsoleModeRequest.ConsoleHandle,
|
||||
(Object_t **) &Console);
|
||||
if (! NT_SUCCESS(Status))
|
||||
|
@ -2017,7 +2014,7 @@ CSR_API(CsrCreateScreenBuffer)
|
|||
}
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
Buff = HeapAlloc(Win32CsrApiHeap, 0, sizeof(CSRSS_SCREEN_BUFFER));
|
||||
if (NULL == Buff)
|
||||
|
@ -2060,7 +2057,7 @@ CSR_API(CsrSetScreenBuffer)
|
|||
}
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
Status = ConioLockScreenBuffer(ProcessData, Request->Data.SetScreenBufferRequest.OutputHandle, &Buff);
|
||||
if (! NT_SUCCESS(Status))
|
||||
|
@ -2102,7 +2099,7 @@ CSR_API(CsrSetTitle)
|
|||
DPRINT("CsrSetTitle\n");
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
if (Request->Header.DataSize
|
||||
< sizeof(CSRSS_SET_TITLE_REQUEST) - 1
|
||||
|
@ -2144,7 +2141,7 @@ CSR_API(CsrGetTitle)
|
|||
DPRINT("CsrGetTitle\n");
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
Status = ConioLockConsole(ProcessData,
|
||||
Request->Data.GetTitleRequest.ConsoleHandle,
|
||||
&Console);
|
||||
|
@ -2192,7 +2189,7 @@ CSR_API(CsrWriteConsoleOutput)
|
|||
}
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
Status = ConioLockScreenBuffer(ProcessData,
|
||||
Request->Data.WriteConsoleOutputRequest.ConsoleHandle,
|
||||
&Buff);
|
||||
|
@ -2276,7 +2273,7 @@ CSR_API(CsrFlushInputBuffer)
|
|||
DPRINT("CsrFlushInputBuffer\n");
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
Status = ConioLockConsole(ProcessData,
|
||||
Request->Data.FlushInputBufferRequest.ConsoleInput,
|
||||
&Console);
|
||||
|
@ -2327,7 +2324,7 @@ CSR_API(CsrScrollConsoleScreenBuffer)
|
|||
}
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
Status = ConioLockScreenBuffer(ProcessData, ConsoleHandle, &Buff);
|
||||
if (! NT_SUCCESS(Status))
|
||||
{
|
||||
|
@ -2424,7 +2421,7 @@ CSR_API(CsrReadConsoleOutputChar)
|
|||
DPRINT("CsrReadConsoleOutputChar\n");
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = Reply->Header.MessageSize - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = Reply->Header.MessageSize - LPC_MESSAGE_BASE_SIZE;
|
||||
ReadBuffer = Reply->Data.ReadConsoleOutputCharReply.String;
|
||||
|
||||
Status = ConioLockScreenBuffer(ProcessData, Request->Data.ReadConsoleOutputCharRequest.ConsoleHandle, &Buff);
|
||||
|
@ -2479,7 +2476,7 @@ CSR_API(CsrReadConsoleOutputAttrib)
|
|||
DPRINT("CsrReadConsoleOutputAttrib\n");
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = Reply->Header.MessageSize - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = Reply->Header.MessageSize - LPC_MESSAGE_BASE_SIZE;
|
||||
ReadBuffer = Reply->Data.ReadConsoleOutputAttribReply.String;
|
||||
|
||||
Status = ConioLockScreenBuffer(ProcessData, Request->Data.ReadConsoleOutputAttribRequest.ConsoleHandle, &Buff);
|
||||
|
@ -2535,7 +2532,7 @@ CSR_API(CsrGetNumberOfConsoleInputEvents)
|
|||
DPRINT("CsrGetNumberOfConsoleInputEvents\n");
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = Reply->Header.MessageSize - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = Reply->Header.MessageSize - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
Status = ConioLockConsole(ProcessData, Request->Data.GetNumInputEventsRequest.ConsoleHandle, &Console);
|
||||
if (! NT_SUCCESS(Status))
|
||||
|
@ -2580,7 +2577,7 @@ CSR_API(CsrPeekConsoleInput)
|
|||
DPRINT("CsrPeekConsoleInput\n");
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
Status = ConioLockConsole(ProcessData, Request->Data.GetNumInputEventsRequest.ConsoleHandle, &Console);
|
||||
if(! NT_SUCCESS(Status))
|
||||
|
@ -2650,7 +2647,7 @@ CSR_API(CsrReadConsoleOutput)
|
|||
DPRINT("CsrReadConsoleOutput\n");
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
Status = ConioLockScreenBuffer(ProcessData, Request->Data.ReadConsoleOutputRequest.ConsoleHandle, &Buff);
|
||||
if (! NT_SUCCESS(Status))
|
||||
|
@ -2727,7 +2724,7 @@ CSR_API(CsrWriteConsoleInput)
|
|||
DPRINT("CsrWriteConsoleInput\n");
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
Status = ConioLockConsole(ProcessData, Request->Data.WriteConsoleInputRequest.ConsoleHandle, &Console);
|
||||
if (! NT_SUCCESS(Status))
|
||||
|
@ -2817,7 +2814,7 @@ CSR_API(CsrHardwareStateProperty)
|
|||
DPRINT("CsrHardwareStateProperty\n");
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
Status = ConioLockConsole(ProcessData,
|
||||
Request->Data.ConsoleHardwareStateRequest.ConsoleHandle,
|
||||
|
@ -2857,7 +2854,7 @@ CSR_API(CsrGetConsoleWindow)
|
|||
DPRINT("CsrGetConsoleWindow\n");
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
Status = ConioLockConsole(ProcessData,
|
||||
Request->Data.ConsoleWindowRequest.ConsoleHandle,
|
||||
|
@ -2881,7 +2878,7 @@ CSR_API(CsrSetConsoleIcon)
|
|||
DPRINT("CsrSetConsoleIcon\n");
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
Status = ConioLockConsole(ProcessData,
|
||||
Request->Data.ConsoleSetWindowIconRequest.ConsoleHandle,
|
||||
|
@ -2893,7 +2890,7 @@ CSR_API(CsrSetConsoleIcon)
|
|||
|
||||
Console->hWindowIcon = Request->Data.ConsoleSetWindowIconRequest.WindowIcon;
|
||||
Reply->Status = (ConioChangeIcon(Console) ? STATUS_SUCCESS : STATUS_UNSUCCESSFUL);
|
||||
Reply->Data.ConsoleSetWindowIconReply.WindowIcon = Console->hWindow;
|
||||
Reply->Data.ConsoleSetWindowIconReply.WindowIcon = Console->hWindowIcon;
|
||||
|
||||
ConioUnlockConsole(Console);
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: desktopbg.c,v 1.6 2004/01/17 15:18:25 navaraf Exp $
|
||||
/* $Id: desktopbg.c,v 1.7 2004/04/09 20:03:16 navaraf Exp $
|
||||
*
|
||||
* reactos/subsys/csrss/win32csr/desktopbg.c
|
||||
*
|
||||
|
@ -7,6 +7,18 @@
|
|||
* ReactOS Operating System
|
||||
*/
|
||||
|
||||
/*
|
||||
* There is a problem with size of LPC_MESSAGE structure. In the old ReactOS
|
||||
* headers it doesn't contain the data field and so it has a different size.
|
||||
* We must use this workaround to get our Data field 0-sized.
|
||||
*/
|
||||
|
||||
#include <windef.h>
|
||||
#include <winnt.h>
|
||||
#undef ANYSIZE_ARRAY
|
||||
#define ANYSIZE_ARRAY 0
|
||||
#include <ddk/ntapi.h>
|
||||
|
||||
#include <windows.h>
|
||||
#include <csrss/csrss.h>
|
||||
|
||||
|
@ -187,7 +199,7 @@ CSR_API(CsrCreateDesktop)
|
|||
DPRINT("CsrCreateDesktop\n");
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
if (! Initialized)
|
||||
{
|
||||
|
@ -241,7 +253,7 @@ CSR_API(CsrShowDesktop)
|
|||
DPRINT("CsrShowDesktop\n");
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
Reply->Status = SendMessageW(Request->Data.ShowDesktopRequest.DesktopWindow,
|
||||
PM_SHOW_DESKTOP,
|
||||
|
@ -258,7 +270,7 @@ CSR_API(CsrHideDesktop)
|
|||
DPRINT("CsrHideDesktop\n");
|
||||
|
||||
Reply->Header.MessageSize = sizeof(CSRSS_API_REPLY);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - sizeof(LPC_MESSAGE);
|
||||
Reply->Header.DataSize = sizeof(CSRSS_API_REPLY) - LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
Reply->Status = SendMessageW(Request->Data.ShowDesktopRequest.DesktopWindow,
|
||||
PM_HIDE_DESKTOP, 0, 0)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: guiconsole.c,v 1.12 2004/03/14 17:53:27 weiden Exp $
|
||||
/* $Id: guiconsole.c,v 1.13 2004/04/09 20:03:16 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS system libraries
|
||||
|
@ -63,7 +63,6 @@ GuiConsoleHandleNcCreate(HWND hWnd, CREATESTRUCTW *Create)
|
|||
HDC Dc;
|
||||
HFONT OldFont;
|
||||
TEXTMETRICW Metrics;
|
||||
NTSTATUS Status;
|
||||
|
||||
GuiData = HeapAlloc(Win32CsrApiHeap, HEAP_ZERO_MEMORY,
|
||||
sizeof(GUI_CONSOLE_DATA) +
|
||||
|
@ -74,13 +73,7 @@ GuiConsoleHandleNcCreate(HWND hWnd, CREATESTRUCTW *Create)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
Status = RtlInitializeCriticalSection(&GuiData->Lock);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("RtlInitializeCriticalSection failed, Status=%x\n", Status);
|
||||
HeapFree(Win32CsrApiHeap, 0, GuiData);
|
||||
return FALSE;
|
||||
}
|
||||
InitializeCriticalSection(&GuiData->Lock);
|
||||
|
||||
GuiData->LineBuffer = (PWCHAR)(GuiData + 1);
|
||||
|
||||
|
@ -92,7 +85,7 @@ GuiConsoleHandleNcCreate(HWND hWnd, CREATESTRUCTW *Create)
|
|||
if (NULL == GuiData->Font)
|
||||
{
|
||||
DPRINT1("GuiConsoleNcCreate: CreateFont failed\n");
|
||||
RtlDeleteCriticalSection(&GuiData->Lock);
|
||||
DeleteCriticalSection(&GuiData->Lock);
|
||||
HeapFree(Win32CsrApiHeap, 0, GuiData);
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -101,7 +94,7 @@ GuiConsoleHandleNcCreate(HWND hWnd, CREATESTRUCTW *Create)
|
|||
{
|
||||
DPRINT1("GuiConsoleNcCreate: GetDC failed\n");
|
||||
DeleteObject(GuiData->Font);
|
||||
RtlDeleteCriticalSection(&GuiData->Lock);
|
||||
DeleteCriticalSection(&GuiData->Lock);
|
||||
HeapFree(Win32CsrApiHeap, 0, GuiData);
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -111,7 +104,7 @@ GuiConsoleHandleNcCreate(HWND hWnd, CREATESTRUCTW *Create)
|
|||
DPRINT1("GuiConsoleNcCreate: SelectObject failed\n");
|
||||
ReleaseDC(hWnd, Dc);
|
||||
DeleteObject(GuiData->Font);
|
||||
RtlDeleteCriticalSection(&GuiData->Lock);
|
||||
DeleteCriticalSection(&GuiData->Lock);
|
||||
HeapFree(Win32CsrApiHeap, 0, GuiData);
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -121,7 +114,7 @@ GuiConsoleHandleNcCreate(HWND hWnd, CREATESTRUCTW *Create)
|
|||
SelectObject(Dc, OldFont);
|
||||
ReleaseDC(hWnd, Dc);
|
||||
DeleteObject(GuiData->Font);
|
||||
RtlDeleteCriticalSection(&GuiData->Lock);
|
||||
DeleteCriticalSection(&GuiData->Lock);
|
||||
HeapFree(Win32CsrApiHeap, 0, GuiData);
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -498,7 +491,7 @@ GuiConsoleHandleNcDestroy(HWND hWnd)
|
|||
KillTimer(hWnd, 1);
|
||||
Console->PrivateData = NULL;
|
||||
DeleteDC(GuiData->MemoryDC);
|
||||
RtlDeleteCriticalSection(&GuiData->Lock);
|
||||
DeleteCriticalSection(&GuiData->Lock);
|
||||
HeapFree(Win32CsrApiHeap, 0, GuiData);
|
||||
}
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: bitblt.c,v 1.47 2004/04/07 19:57:43 navaraf Exp $
|
||||
/* $Id: bitblt.c,v 1.48 2004/04/09 20:03:16 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -113,7 +113,7 @@ BltMask(SURFOBJ* Dest,
|
|||
/* Pattern brushes */
|
||||
PGDIBRUSHOBJ GdiBrush;
|
||||
HBITMAP PatternSurface = NULL;
|
||||
PSURFOBJ PatternObj;
|
||||
SURFOBJ *PatternObj;
|
||||
ULONG PatternWidth, PatternHeight, PatternY;
|
||||
|
||||
if (Mask == NULL)
|
||||
|
@ -137,7 +137,7 @@ BltMask(SURFOBJ* Dest,
|
|||
PatternSurface = BitmapToSurf(PatternBitmap, Dest->hdev);
|
||||
BITMAPOBJ_UnlockBitmap(GdiBrush->hbmPattern);
|
||||
|
||||
PatternObj = (PSURFOBJ)AccessUserObject((ULONG)PatternSurface);
|
||||
PatternObj = (SURFOBJ*)AccessUserObject((ULONG)PatternSurface);
|
||||
PatternWidth = PatternObj->sizlBitmap.cx;
|
||||
PatternHeight = PatternObj->sizlBitmap.cy;
|
||||
}
|
||||
|
@ -176,7 +176,7 @@ BltMask(SURFOBJ* Dest,
|
|||
}
|
||||
|
||||
if (PatternSurface != NULL)
|
||||
EngDeleteSurface(PatternSurface);
|
||||
EngDeleteSurface((HSURF)PatternSurface);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -223,7 +223,16 @@ CallDibBitBlt(SURFOBJ* OutputObj,
|
|||
POINTL* BrushOrigin,
|
||||
ROP4 Rop4)
|
||||
{
|
||||
return OutputGDI->DIB_BitBlt(OutputObj, InputObj, OutputGDI, InputGDI, OutputRect, InputPoint, Brush, BrushOrigin, ColorTranslation, Rop4);
|
||||
POINTL RealBrushOrigin;
|
||||
if (BrushOrigin == NULL)
|
||||
{
|
||||
RealBrushOrigin.x = RealBrushOrigin.y = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
RealBrushOrigin = *BrushOrigin;
|
||||
}
|
||||
return OutputGDI->DIB_BitBlt(OutputObj, InputObj, OutputGDI, InputGDI, OutputRect, InputPoint, Brush, RealBrushOrigin, ColorTranslation, Rop4);
|
||||
}
|
||||
|
||||
INT abs(INT nm);
|
||||
|
@ -600,7 +609,16 @@ CallDibStretchBlt(SURFOBJ* OutputObj,
|
|||
POINTL* BrushOrigin,
|
||||
ULONG Mode)
|
||||
{
|
||||
return OutputGDI->DIB_StretchBlt(OutputObj, InputObj, OutputGDI, InputGDI, OutputRect, InputRect, MaskOrigin, BrushOrigin, ColorTranslation, Mode);
|
||||
POINTL RealBrushOrigin;
|
||||
if (BrushOrigin == NULL)
|
||||
{
|
||||
RealBrushOrigin.x = RealBrushOrigin.y = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
RealBrushOrigin = *BrushOrigin;
|
||||
}
|
||||
return OutputGDI->DIB_StretchBlt(OutputObj, InputObj, OutputGDI, InputGDI, OutputRect, InputRect, MaskOrigin, RealBrushOrigin, ColorTranslation, Mode);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: clip.c,v 1.18 2003/12/31 14:43:48 weiden Exp $
|
||||
/* $Id: clip.c,v 1.19 2004/04/09 20:03:16 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -43,7 +43,7 @@ VOID STDCALL IntEngDeleteClipRegion(CLIPOBJ *ClipObj)
|
|||
}
|
||||
|
||||
CLIPOBJ* STDCALL
|
||||
IntEngCreateClipRegion(ULONG count, PRECTL pRect, RECTL rcBounds)
|
||||
IntEngCreateClipRegion(ULONG count, PRECTL pRect, PRECTL rcBounds)
|
||||
{
|
||||
HCLIP hClip;
|
||||
CLIPGDI* clipInt;
|
||||
|
@ -68,7 +68,7 @@ IntEngCreateClipRegion(ULONG count, PRECTL pRect, RECTL rcBounds)
|
|||
clipUser->iDComplexity = DC_COMPLEX;
|
||||
clipUser->iFComplexity = (count <= 4) ? FC_RECT4: FC_COMPLEX;
|
||||
clipUser->iMode = TC_RECTANGLES;
|
||||
RtlCopyMemory(&(clipUser->rclBounds), &rcBounds, sizeof(RECTL));
|
||||
RtlCopyMemory(&(clipUser->rclBounds), rcBounds, sizeof(RECTL));
|
||||
|
||||
return clipUser;
|
||||
}
|
||||
|
@ -80,20 +80,20 @@ IntEngCreateClipRegion(ULONG count, PRECTL pRect, RECTL rcBounds)
|
|||
if (hClip)
|
||||
{
|
||||
clipInt = (CLIPGDI *) AccessInternalObject(hClip);
|
||||
RtlCopyMemory(clipInt->EnumRects.arcl, &rcBounds, sizeof(RECTL));
|
||||
RtlCopyMemory(clipInt->EnumRects.arcl, rcBounds, sizeof(RECTL));
|
||||
clipInt->EnumRects.c = 1;
|
||||
clipInt->EnumOrder = CD_ANY;
|
||||
|
||||
clipUser = (CLIPOBJ *) AccessUserObject(hClip);
|
||||
ASSERT(NULL != clipUser);
|
||||
|
||||
clipUser->iDComplexity = ((rcBounds.top==rcBounds.bottom)
|
||||
&& (rcBounds.left==rcBounds.right))
|
||||
clipUser->iDComplexity = ((rcBounds->top==rcBounds->bottom)
|
||||
&& (rcBounds->left==rcBounds->right))
|
||||
? DC_TRIVIAL : DC_RECT;
|
||||
clipUser->iFComplexity = FC_RECT;
|
||||
clipUser->iMode = TC_RECTANGLES;
|
||||
DPRINT("IntEngCreateClipRegion: iDComplexity: %d\n", clipUser->iDComplexity);
|
||||
RtlCopyMemory(&(clipUser->rclBounds), &rcBounds, sizeof(RECTL));
|
||||
RtlCopyMemory(&(clipUser->rclBounds), rcBounds, sizeof(RECTL));
|
||||
return clipUser;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
#define __WIN32K_CLIP_H
|
||||
|
||||
typedef ULONG HCLIP;
|
||||
CLIPOBJ* STDCALL IntEngCreateClipRegion( ULONG count, PRECTL pRect, RECTL rcBounds );
|
||||
CLIPOBJ* STDCALL IntEngCreateClipRegion( ULONG count, PRECTL pRect, PRECTL rcBounds );
|
||||
VOID STDCALL IntEngDeleteClipRegion(CLIPOBJ *ClipObj);
|
||||
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: copybits.c,v 1.22 2004/03/05 09:02:41 hbirr Exp $
|
||||
/* $Id: copybits.c,v 1.23 2004/04/09 20:03:16 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -55,6 +55,7 @@ EngCopyBits(SURFOBJ *Dest,
|
|||
POINTL ptlTmp;
|
||||
RECT_ENUM RectEnum;
|
||||
BOOL EnumMore;
|
||||
POINTL BrushOrigin;
|
||||
|
||||
MouseSafetyOnDrawStart(Source, SourceGDI, SourcePoint->x, SourcePoint->y,
|
||||
(SourcePoint->x + abs(DestRect->right - DestRect->left)),
|
||||
|
@ -127,10 +128,12 @@ EngCopyBits(SURFOBJ *Dest,
|
|||
SourceGDI = (PSURFGDI)AccessInternalObjectFromUserObject(Source);
|
||||
DestGDI = (PSURFGDI)AccessInternalObjectFromUserObject(Dest);
|
||||
|
||||
BrushOrigin.x = BrushOrigin.y = 0;
|
||||
|
||||
switch(clippingType)
|
||||
{
|
||||
case DC_TRIVIAL:
|
||||
DestGDI->DIB_BitBlt(Dest, Source, DestGDI, SourceGDI, DestRect, SourcePoint, NULL, NULL, ColorTranslation, SRCCOPY);
|
||||
DestGDI->DIB_BitBlt(Dest, Source, DestGDI, SourceGDI, DestRect, SourcePoint, NULL, BrushOrigin, ColorTranslation, SRCCOPY);
|
||||
|
||||
MouseSafetyOnDrawEnd(Dest, DestGDI);
|
||||
MouseSafetyOnDrawEnd(Source, SourceGDI);
|
||||
|
@ -144,7 +147,7 @@ EngCopyBits(SURFOBJ *Dest,
|
|||
ptlTmp.x = SourcePoint->x + rclTmp.left - DestRect->left;
|
||||
ptlTmp.y = SourcePoint->y + rclTmp.top - DestRect->top;
|
||||
|
||||
DestGDI->DIB_BitBlt(Dest, Source, DestGDI, SourceGDI, &rclTmp, &ptlTmp, NULL, NULL, ColorTranslation, SRCCOPY);
|
||||
DestGDI->DIB_BitBlt(Dest, Source, DestGDI, SourceGDI, &rclTmp, &ptlTmp, NULL, BrushOrigin, ColorTranslation, SRCCOPY);
|
||||
|
||||
MouseSafetyOnDrawEnd(Dest, DestGDI);
|
||||
MouseSafetyOnDrawEnd(Source, SourceGDI);
|
||||
|
@ -170,7 +173,7 @@ EngCopyBits(SURFOBJ *Dest,
|
|||
ptlTmp.y = SourcePoint->y + prcl->top - DestRect->top;
|
||||
|
||||
if(!DestGDI->DIB_BitBlt(Dest, Source, DestGDI, SourceGDI,
|
||||
prcl, &ptlTmp, NULL, NULL, ColorTranslation, SRCCOPY)) return FALSE;
|
||||
prcl, &ptlTmp, NULL, BrushOrigin, ColorTranslation, SRCCOPY)) return FALSE;
|
||||
|
||||
prcl++;
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: event.c,v 1.1 2004/03/08 07:04:56 dwelch Exp $
|
||||
/* $Id: event.c,v 1.2 2004/04/09 20:03:16 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -27,6 +27,9 @@
|
|||
* 2/10/1999: Created
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <windef.h>
|
||||
#include <winbase.h>
|
||||
#include <ddk/winddi.h>
|
||||
#include <ddk/ntddk.h>
|
||||
#include <include/eng.h>
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: float.c,v 1.1 2004/03/11 21:38:58 dwelch Exp $
|
||||
/* $Id: float.c,v 1.2 2004/04/09 20:03:16 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -52,7 +52,7 @@ EngRestoreFloatingPointState ( IN VOID *Buffer )
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL
|
||||
ULONG
|
||||
STDCALL
|
||||
EngSaveFloatingPointState(OUT VOID *Buffer,
|
||||
IN ULONG BufferSize)
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: gradient.c,v 1.7 2004/04/06 21:53:48 weiden Exp $
|
||||
/* $Id: gradient.c,v 1.8 2004/04/09 20:03:16 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -93,7 +93,7 @@ IntEngGradientFillRect(
|
|||
SURFOBJ *OutputObj;
|
||||
SURFGDI *OutputGDI;
|
||||
TRIVERTEX *v1, *v2;
|
||||
RECT rcGradient, rcSG;
|
||||
RECTL rcGradient, rcSG;
|
||||
RECT_ENUM RectEnum;
|
||||
BOOL EnumMore;
|
||||
ULONG i;
|
||||
|
@ -139,7 +139,7 @@ IntEngGradientFillRect(
|
|||
EnumMore = CLIPOBJ_bEnum(pco, (ULONG) sizeof(RectEnum), (PVOID) &RectEnum);
|
||||
for (i = 0; i < RectEnum.c && RectEnum.arcl[i].top <= rcSG.bottom; i++)
|
||||
{
|
||||
if(NtGdiIntersectRect(&FillRect, &RectEnum.arcl[i], &rcSG))
|
||||
if(NtGdiIntersectRect(&FillRect, (PRECT)&RectEnum.arcl[i], (PRECT)&rcSG))
|
||||
{
|
||||
HVINITCOL(Red, 0);
|
||||
HVINITCOL(Green, 1);
|
||||
|
@ -166,7 +166,7 @@ IntEngGradientFillRect(
|
|||
EnumMore = CLIPOBJ_bEnum(pco, (ULONG) sizeof(RectEnum), (PVOID) &RectEnum);
|
||||
for (i = 0; i < RectEnum.c && RectEnum.arcl[i].top <= rcSG.bottom; i++)
|
||||
{
|
||||
if(NtGdiIntersectRect(&FillRect, &RectEnum.arcl[i], &rcSG))
|
||||
if(NtGdiIntersectRect(&FillRect, (PRECT)&RectEnum.arcl[i], (PRECT)&rcSG))
|
||||
{
|
||||
HVINITCOL(Red, 0);
|
||||
HVINITCOL(Green, 1);
|
||||
|
@ -201,7 +201,7 @@ IntEngGradientFillRect(
|
|||
EnumMore = CLIPOBJ_bEnum(pco, (ULONG) sizeof(RectEnum), (PVOID) &RectEnum);
|
||||
for (i = 0; i < RectEnum.c && RectEnum.arcl[i].top <= rcSG.bottom; i++)
|
||||
{
|
||||
if(NtGdiIntersectRect(&FillRect, &RectEnum.arcl[i], &rcSG))
|
||||
if(NtGdiIntersectRect(&FillRect, (PRECT)&RectEnum.arcl[i], (PRECT)&rcSG))
|
||||
{
|
||||
for(; FillRect.top < FillRect.bottom; FillRect.top++)
|
||||
{
|
||||
|
@ -337,7 +337,7 @@ IntEngGradientFillTriangle(
|
|||
ULONG i;
|
||||
POINTL Translate;
|
||||
INTENG_ENTER_LEAVE EnterLeave;
|
||||
RECT FillRect;
|
||||
RECTL FillRect;
|
||||
ULONG Color;
|
||||
|
||||
BOOL sx[NLINES];
|
||||
|
@ -382,7 +382,7 @@ IntEngGradientFillTriangle(
|
|||
EnumMore = CLIPOBJ_bEnum(pco, (ULONG) sizeof(RectEnum), (PVOID) &RectEnum);
|
||||
for (i = 0; i < RectEnum.c && RectEnum.arcl[i].top <= prclExtents->bottom; i++)
|
||||
{
|
||||
if(NtGdiIntersectRect(&FillRect, &RectEnum.arcl[i], prclExtents))
|
||||
if(NtGdiIntersectRect((PRECT)&FillRect, (PRECT)&RectEnum.arcl[i], (PRECT)prclExtents))
|
||||
{
|
||||
BOOL InY;
|
||||
|
||||
|
@ -430,7 +430,7 @@ IntEngGradientFillTriangle(
|
|||
EnumMore = CLIPOBJ_bEnum(pco, (ULONG) sizeof(RectEnum), (PVOID) &RectEnum);
|
||||
for (i = 0; i < RectEnum.c && RectEnum.arcl[i].top <= prclExtents->bottom; i++)
|
||||
{
|
||||
if(NtGdiIntersectRect(&FillRect, &RectEnum.arcl[i], prclExtents))
|
||||
if(NtGdiIntersectRect((PRECT)&FillRect, (PRECT)&RectEnum.arcl[i], (PRECT)prclExtents))
|
||||
{
|
||||
S_INITLINE(v1, v3, 0);
|
||||
S_INITLINE(v1, v2, 1);
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* $Id: lineto.c,v 1.31 2004/03/27 00:35:02 weiden Exp $
|
||||
* $Id: lineto.c,v 1.32 2004/04/09 20:03:16 navaraf Exp $
|
||||
*/
|
||||
|
||||
#include <ddk/winddi.h>
|
||||
|
@ -502,9 +502,15 @@ IntEngLineTo(SURFOBJ *DestSurf,
|
|||
{
|
||||
BOOLEAN ret;
|
||||
SURFGDI *SurfGDI;
|
||||
PGDIBRUSHOBJ GdiBrush;
|
||||
RECTL b;
|
||||
|
||||
if (Brush->logbrush.lbStyle == BS_NULL)
|
||||
GdiBrush = CONTAINING_RECORD(
|
||||
Brush,
|
||||
GDIBRUSHOBJ,
|
||||
BrushObject);
|
||||
|
||||
if (GdiBrush->flAttrs & GDIBRUSH_IS_NULL)
|
||||
return TRUE;
|
||||
|
||||
/* No success yet */
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: misc.c,v 1.4 2004/02/11 19:26:51 weiden Exp $ */
|
||||
/* $Id: misc.c,v 1.5 2004/04/09 20:03:16 navaraf Exp $ */
|
||||
#include <ddk/winddi.h>
|
||||
#include <include/dib.h>
|
||||
#include <include/object.h>
|
||||
|
@ -110,7 +110,7 @@ IntEngEnter(PINTENG_ENTER_LEAVE EnterLeave,
|
|||
{
|
||||
EngDeleteClip(EnterLeave->TrivialClipObj);
|
||||
EngFreeMem((*OutputObj)->pvBits);
|
||||
EngDeleteSurface(EnterLeave->OutputBitmap);
|
||||
EngDeleteSurface((HSURF)EnterLeave->OutputBitmap);
|
||||
return FALSE;
|
||||
}
|
||||
EnterLeave->DestRect.left = DestRect->left;
|
||||
|
@ -182,7 +182,7 @@ IntEngLeave(PINTENG_ENTER_LEAVE EnterLeave)
|
|||
}
|
||||
}
|
||||
EngFreeMem(EnterLeave->OutputObj->pvBits);
|
||||
EngDeleteSurface(EnterLeave->OutputBitmap);
|
||||
EngDeleteSurface((HSURF)EnterLeave->OutputBitmap);
|
||||
EngDeleteClip(EnterLeave->TrivialClipObj);
|
||||
}
|
||||
else
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: mouse.c,v 1.64 2004/03/15 20:21:50 navaraf Exp $
|
||||
/* $Id: mouse.c,v 1.65 2004/04/09 20:03:16 navaraf Exp $
|
||||
*
|
||||
* PROJECT: ReactOS kernel
|
||||
* PURPOSE: Mouse
|
||||
|
@ -30,7 +30,7 @@
|
|||
#include <windows.h>
|
||||
#include <ddk/ntddk.h>
|
||||
#include <ddk/ntddmou.h>
|
||||
#include <win32k/win32k.h>
|
||||
#include <ddk/winddi.h>
|
||||
#include <win32k/dc.h>
|
||||
#include "objects.h"
|
||||
#include "include/msgqueue.h"
|
||||
|
@ -54,7 +54,7 @@
|
|||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
BOOL FASTCALL
|
||||
IntIsPrimarSurface(PSURFGDI SurfGDI);
|
||||
IntIsPrimarySurface(PSURFGDI SurfGDI);
|
||||
|
||||
|
||||
BOOL FASTCALL
|
||||
|
@ -84,7 +84,7 @@ IntSwapMouseButton(PWINSTATION_OBJECT WinStaObject, BOOL Swap)
|
|||
}
|
||||
|
||||
INT STDCALL
|
||||
MouseSafetyOnDrawStart(PSURFOBJ SurfObj, PSURFGDI SurfGDI, LONG HazardX1,
|
||||
MouseSafetyOnDrawStart(SURFOBJ *SurfObj, PSURFGDI SurfGDI, LONG HazardX1,
|
||||
LONG HazardY1, LONG HazardX2, LONG HazardY2)
|
||||
/*
|
||||
* FUNCTION: Notify the mouse driver that drawing is about to begin in
|
||||
|
@ -113,7 +113,7 @@ MouseSafetyOnDrawStart(PSURFOBJ SurfObj, PSURFGDI SurfGDI, LONG HazardX1,
|
|||
ObDereferenceObject(InputWindowStation);
|
||||
return(FALSE);
|
||||
}
|
||||
if (!IntIsPrimarSurface(SurfGDI) || MouseEnabled == FALSE)
|
||||
if (!IntIsPrimarySurface(SurfGDI) || MouseEnabled == FALSE)
|
||||
{
|
||||
ObDereferenceObject(InputWindowStation);
|
||||
return(FALSE);
|
||||
|
@ -176,7 +176,7 @@ SetPointerRect(PSYSTEM_CURSORINFO CurInfo, PRECTL PointerRect)
|
|||
}
|
||||
|
||||
INT FASTCALL
|
||||
MouseSafetyOnDrawEnd(PSURFOBJ SurfObj, PSURFGDI SurfGDI)
|
||||
MouseSafetyOnDrawEnd(SURFOBJ *SurfObj, SURFGDI *SurfGDI)
|
||||
/*
|
||||
* FUNCTION: Notify the mouse driver that drawing has finished on a surface.
|
||||
*/
|
||||
|
@ -201,7 +201,7 @@ MouseSafetyOnDrawEnd(PSURFOBJ SurfObj, PSURFGDI SurfGDI)
|
|||
}
|
||||
|
||||
MouseEnabled = CurInfo->Enabled && CurInfo->ShowingCursor;
|
||||
if (!IntIsPrimarSurface(SurfGDI) || MouseEnabled == FALSE)
|
||||
if (!IntIsPrimarySurface(SurfGDI) || MouseEnabled == FALSE)
|
||||
{
|
||||
ExReleaseFastMutex(&CurInfo->CursorMutex);
|
||||
ObDereferenceObject(InputWindowStation);
|
||||
|
@ -243,7 +243,7 @@ MouseMoveCursor(LONG X, LONG Y)
|
|||
HDC hDC;
|
||||
PDC dc;
|
||||
BOOL res = FALSE;
|
||||
PSURFOBJ SurfObj;
|
||||
SURFOBJ *SurfObj;
|
||||
PSURFGDI SurfGDI;
|
||||
PSYSTEM_CURSORINFO CurInfo;
|
||||
MSG Msg;
|
||||
|
@ -269,7 +269,7 @@ MouseMoveCursor(LONG X, LONG Y)
|
|||
return FALSE;
|
||||
}
|
||||
dc = DC_LockDc(hDC);
|
||||
SurfObj = (PSURFOBJ)AccessUserObject((ULONG) dc->Surface);
|
||||
SurfObj = (SURFOBJ*)AccessUserObject((ULONG) dc->Surface);
|
||||
SurfGDI = (PSURFGDI)AccessInternalObject((ULONG) dc->Surface);
|
||||
DC_UnlockDc( hDC );
|
||||
IntCheckClipCursor(&X, &Y, CurInfo);
|
||||
|
@ -323,7 +323,7 @@ MouseGDICallBack(PMOUSE_INPUT_DATA Data, ULONG InputCount)
|
|||
LONG dScroll = 0;
|
||||
HDC hDC;
|
||||
PDC dc;
|
||||
PSURFOBJ SurfObj;
|
||||
SURFOBJ *SurfObj;
|
||||
PSURFGDI SurfGDI;
|
||||
MSG Msg;
|
||||
RECTL PointerRect;
|
||||
|
@ -349,7 +349,7 @@ MouseGDICallBack(PMOUSE_INPUT_DATA Data, ULONG InputCount)
|
|||
return;
|
||||
|
||||
dc = DC_LockDc(hDC);
|
||||
SurfObj = (PSURFOBJ)AccessUserObject((ULONG) dc->Surface);
|
||||
SurfObj = (SURFOBJ*)AccessUserObject((ULONG) dc->Surface);
|
||||
SurfGDI = (PSURFGDI)AccessInternalObject((ULONG) dc->Surface);
|
||||
DC_UnlockDc( hDC );
|
||||
|
||||
|
@ -499,7 +499,7 @@ VOID FASTCALL
|
|||
EnableMouse(HDC hDisplayDC)
|
||||
{
|
||||
PDC dc;
|
||||
PSURFOBJ SurfObj;
|
||||
SURFOBJ *SurfObj;
|
||||
PSURFGDI SurfGDI;
|
||||
|
||||
if( hDisplayDC && InputWindowStation)
|
||||
|
@ -511,7 +511,7 @@ EnableMouse(HDC hDisplayDC)
|
|||
}
|
||||
|
||||
dc = DC_LockDc(hDisplayDC);
|
||||
SurfObj = (PSURFOBJ)AccessUserObject((ULONG) dc->Surface);
|
||||
SurfObj = (SURFOBJ*)AccessUserObject((ULONG) dc->Surface);
|
||||
SurfGDI = (PSURFGDI)AccessInternalObject((ULONG) dc->Surface);
|
||||
DC_UnlockDc( hDisplayDC );
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: nls.c,v 1.2 2003/07/11 15:59:37 royce Exp $
|
||||
/* $Id: nls.c,v 1.3 2004/04/09 20:03:16 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -31,7 +31,7 @@
|
|||
|
||||
#include <ddk/winddi.h>
|
||||
#include <ddk/ntddk.h>
|
||||
|
||||
#include <ntos.h>
|
||||
|
||||
/* FUNCTIONS ****************************************************************/
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: objects.h,v 1.29 2004/04/06 17:54:32 weiden Exp $
|
||||
/* $Id: objects.h,v 1.30 2004/04/09 20:03:16 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -157,12 +157,12 @@ typedef VOID (*PFN_DIB_VLine) (SURFOBJ *, LONG, LONG, LONG, ULONG);
|
|||
typedef BOOLEAN (*PFN_DIB_BitBlt) (SURFOBJ * DestSurf, SURFOBJ * SourceSurf,
|
||||
PSURFGDI DestGDI, PSURFGDI SourceGDI,
|
||||
RECTL * DestRect, POINTL * SourcePoint,
|
||||
BRUSHOBJ *BrushObj, POINTL * BrushOrigin,
|
||||
BRUSHOBJ *BrushObj, POINTL BrushOrigin,
|
||||
XLATEOBJ *ColorTranslation, ULONG Rop4);
|
||||
typedef BOOLEAN (*PFN_DIB_StretchBlt) (SURFOBJ * DestSurf, SURFOBJ * SourceSurf,
|
||||
PSURFGDI DestGDI, PSURFGDI SourceGDI,
|
||||
RECTL * DestRect, RECTL * SourceRect,
|
||||
POINTL *MaskOrigin, POINTL * BrushOrigin,
|
||||
POINTL *MaskOrigin, POINTL BrushOrigin,
|
||||
XLATEOBJ *ColorTranslation, ULONG Mode);
|
||||
typedef BOOLEAN (*PFN_DIB_TransparentBlt) (SURFOBJ *, SURFOBJ *, PSURFGDI, PSURFGDI,
|
||||
RECTL* , POINTL *, XLATEOBJ *,ULONG);
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: surface.c,v 1.36 2004/04/06 17:54:32 weiden Exp $
|
||||
/* $Id: surface.c,v 1.37 2004/04/09 20:03:16 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -111,7 +111,7 @@ static VOID Dummy_VLine(SURFOBJ* SurfObj, LONG x, LONG y1, LONG y2, ULONG c)
|
|||
static BOOLEAN Dummy_BitBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
||||
SURFGDI *DestGDI, SURFGDI *SourceGDI,
|
||||
RECTL* DestRect, POINTL *SourcePoint,
|
||||
BRUSHOBJ* BrushObj, POINTL* BrushOrign,
|
||||
BRUSHOBJ* BrushObj, POINTL BrushOrign,
|
||||
XLATEOBJ *ColorTranslation, ULONG Rop4)
|
||||
{
|
||||
return FALSE;
|
||||
|
@ -120,7 +120,7 @@ static BOOLEAN Dummy_BitBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
static BOOLEAN Dummy_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
||||
SURFGDI *DestGDI, SURFGDI *SourceGDI,
|
||||
RECTL* DestRect, RECTL *SourceRect,
|
||||
POINTL* MaskOrigin, POINTL* BrushOrign,
|
||||
POINTL* MaskOrigin, POINTL BrushOrign,
|
||||
XLATEOBJ *ColorTranslation, ULONG Mode)
|
||||
{
|
||||
return FALSE;
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: transblt.c,v 1.16 2004/04/07 22:17:36 weiden Exp $
|
||||
/* $Id: transblt.c,v 1.17 2004/04/09 20:03:18 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -47,10 +47,10 @@
|
|||
|
||||
|
||||
BOOL STDCALL
|
||||
EngTransparentBlt(PSURFOBJ Dest,
|
||||
PSURFOBJ Source,
|
||||
PCLIPOBJ Clip,
|
||||
PXLATEOBJ ColorTranslation,
|
||||
EngTransparentBlt(SURFOBJ *Dest,
|
||||
SURFOBJ *Source,
|
||||
CLIPOBJ *Clip,
|
||||
XLATEOBJ *ColorTranslation,
|
||||
PRECTL DestRect,
|
||||
PRECTL SourceRect,
|
||||
ULONG iTransColor,
|
||||
|
@ -217,10 +217,10 @@ EngTransparentBlt(PSURFOBJ Dest,
|
|||
}
|
||||
|
||||
BOOL FASTCALL
|
||||
IntEngTransparentBlt(PSURFOBJ Dest,
|
||||
PSURFOBJ Source,
|
||||
PCLIPOBJ Clip,
|
||||
PXLATEOBJ ColorTranslation,
|
||||
IntEngTransparentBlt(SURFOBJ *Dest,
|
||||
SURFOBJ *Source,
|
||||
CLIPOBJ *Clip,
|
||||
XLATEOBJ *ColorTranslation,
|
||||
PRECTL DestRect,
|
||||
PRECTL SourceRect,
|
||||
ULONG iTransColor,
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
#include <windows.h>
|
||||
#include <ddk/ntddk.h>
|
||||
#include <ddk/ntapi.h>
|
||||
#include <napi/win32.h>
|
||||
|
||||
#define IS_ATOM(x) \
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
#ifndef _WIN32K_COLOR_H
|
||||
#define _WIN32K_COLOR_H
|
||||
|
||||
#define NB_RESERVED_COLORS 20 /* number of fixed colors in system palette */
|
||||
|
||||
const PALETTEENTRY* FASTCALL COLOR_GetSystemPaletteTemplate (VOID);
|
||||
COLORREF STDCALL COLOR_LookupNearestColor (PALETTEENTRY* palPalEntry, INT size, COLORREF color);
|
||||
INT STDCALL COLOR_PaletteLookupExactIndex (PALETTEENTRY* palPalEntry, INT size, COLORREF col);
|
||||
INT STDCALL COLOR_PaletteLookupPixel(PALETTEENTRY *palPalEntry, INT size, PXLATEOBJ XlateObj, COLORREF col, BOOL skipReserved);
|
||||
INT STDCALL COLOR_PaletteLookupPixel(PALETTEENTRY *palPalEntry, INT size, XLATEOBJ *XlateObj, COLORREF col, BOOL skipReserved);
|
||||
|
||||
#endif /* _WIN32K_COLOR_H */
|
||||
|
|
|
@ -68,13 +68,13 @@ BOOL STDCALL IntEngPolyline(SURFOBJ *DestSurf,
|
|||
MIX mix);
|
||||
CLIPOBJ* STDCALL IntEngCreateClipRegion(ULONG count,
|
||||
PRECTL pRect,
|
||||
RECTL rcBounds);
|
||||
PRECTL rcBounds);
|
||||
|
||||
BOOL FASTCALL
|
||||
IntEngTransparentBlt(PSURFOBJ Dest,
|
||||
PSURFOBJ Source,
|
||||
PCLIPOBJ Clip,
|
||||
PXLATEOBJ ColorTranslation,
|
||||
IntEngTransparentBlt(SURFOBJ *Dest,
|
||||
SURFOBJ *Source,
|
||||
CLIPOBJ *Clip,
|
||||
XLATEOBJ *ColorTranslation,
|
||||
PRECTL DestRect,
|
||||
PRECTL SourceRect,
|
||||
ULONG iTransColor,
|
||||
|
|
|
@ -21,7 +21,7 @@ IntPatBlt(DC *dc,
|
|||
INT Width,
|
||||
INT Height,
|
||||
DWORD ROP,
|
||||
PBRUSHOBJ BrushObj);
|
||||
BRUSHOBJ *BrushObj);
|
||||
|
||||
/* Pen functions */
|
||||
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef _WIN32K_PALETTE_H
|
||||
#define _WIN32K_PALETTE_H
|
||||
|
||||
#define NO_MAPPING
|
||||
|
||||
#define PALETTE_FIXED 0x0001 /* read-only colormap - have to use XAllocColor (if not virtual) */
|
||||
#define PALETTE_VIRTUAL 0x0002 /* no mapping needed - pixel == pixel color */
|
||||
|
||||
|
@ -14,8 +16,8 @@ typedef struct {
|
|||
} ColorShifts;
|
||||
|
||||
typedef struct _PALGDI {
|
||||
PALOBJ PalObj;
|
||||
|
||||
PALOBJ PalObj;
|
||||
XLATEOBJ *logicalToSystem;
|
||||
HPALETTE Self;
|
||||
ULONG Mode; // PAL_INDEXED, PAL_BITFIELDS, PAL_RGB, PAL_BGR
|
||||
ULONG NumColors;
|
||||
|
@ -37,7 +39,9 @@ HPALETTE FASTCALL PALETTE_AllocPalette(ULONG Mode,
|
|||
|
||||
HPALETTE FASTCALL PALETTE_Init (VOID);
|
||||
VOID FASTCALL PALETTE_ValidateFlags (PALETTEENTRY* lpPalE, INT size);
|
||||
#ifndef NO_MAPPING
|
||||
INT STDCALL PALETTE_SetMapping(PALOBJ* palPtr, UINT uStart, UINT uNum, BOOL mapOnly);
|
||||
#endif
|
||||
INT FASTCALL PALETTE_ToPhysical (PDC dc, COLORREF color);
|
||||
|
||||
PPALETTEENTRY FASTCALL ReturnSystemPalette (VOID);
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#define _WIN32K_USERATOM_H
|
||||
|
||||
#include <windows.h>
|
||||
#include <ddk/ntapi.h>
|
||||
|
||||
RTL_ATOM FASTCALL
|
||||
IntAddAtom(LPWSTR AtomName);
|
||||
|
|
|
@ -16,16 +16,70 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: loader.c,v 1.14 2004/03/07 04:44:41 dwelch Exp $
|
||||
/* $Id: loader.c,v 1.15 2004/04/09 20:03:18 navaraf Exp $
|
||||
*
|
||||
*/
|
||||
|
||||
#include <ddk/ntddk.h>
|
||||
#include <ddk/winddi.h>
|
||||
#include <ddk/ntapi.h>
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
#ifdef __USE_W32API
|
||||
PIMAGE_NT_HEADERS STDCALL
|
||||
RtlImageNtHeader(IN PVOID BaseAddress);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* This is copied from ntdll... It's needed for loading keyboard dlls.
|
||||
*/
|
||||
|
||||
PVOID
|
||||
STDCALL
|
||||
RtlImageDirectoryEntryToData (
|
||||
PVOID BaseAddress,
|
||||
BOOLEAN bFlag,
|
||||
ULONG Directory,
|
||||
PULONG Size
|
||||
)
|
||||
{
|
||||
PIMAGE_NT_HEADERS NtHeader;
|
||||
PIMAGE_SECTION_HEADER SectionHeader;
|
||||
ULONG Va;
|
||||
ULONG Count;
|
||||
|
||||
NtHeader = RtlImageNtHeader (BaseAddress);
|
||||
if (NtHeader == NULL)
|
||||
return NULL;
|
||||
|
||||
if (Directory >= NtHeader->OptionalHeader.NumberOfRvaAndSizes)
|
||||
return NULL;
|
||||
|
||||
Va = NtHeader->OptionalHeader.DataDirectory[Directory].VirtualAddress;
|
||||
if (Va == 0)
|
||||
return NULL;
|
||||
|
||||
if (Size)
|
||||
*Size = NtHeader->OptionalHeader.DataDirectory[Directory].Size;
|
||||
|
||||
if (bFlag)
|
||||
return (PVOID)(BaseAddress + Va);
|
||||
|
||||
/* image mapped as ordinary file, we must find raw pointer */
|
||||
SectionHeader = (PIMAGE_SECTION_HEADER)(NtHeader + 1);
|
||||
Count = NtHeader->FileHeader.NumberOfSections;
|
||||
while (Count--)
|
||||
{
|
||||
if (SectionHeader->VirtualAddress == Va)
|
||||
return (PVOID)(BaseAddress + SectionHeader->PointerToRawData);
|
||||
SectionHeader++;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* Blatantly stolen from ldr/utils.c in ntdll. I can't link ntdll from
|
||||
* here, though.
|
||||
|
@ -147,52 +201,4 @@ EngLoadModule(LPWSTR ModuleName)
|
|||
return (HANDLE)GdiDriverInfo.ModuleBase;
|
||||
}
|
||||
|
||||
/*
|
||||
* This is copied from ntdll... It's needed for loading keyboard dlls.
|
||||
*/
|
||||
|
||||
PVOID
|
||||
STDCALL
|
||||
RtlImageDirectoryEntryToData (
|
||||
PVOID BaseAddress,
|
||||
BOOLEAN bFlag,
|
||||
ULONG Directory,
|
||||
PULONG Size
|
||||
)
|
||||
{
|
||||
PIMAGE_NT_HEADERS NtHeader;
|
||||
PIMAGE_SECTION_HEADER SectionHeader;
|
||||
ULONG Va;
|
||||
ULONG Count;
|
||||
|
||||
NtHeader = RtlImageNtHeader (BaseAddress);
|
||||
if (NtHeader == NULL)
|
||||
return NULL;
|
||||
|
||||
if (Directory >= NtHeader->OptionalHeader.NumberOfRvaAndSizes)
|
||||
return NULL;
|
||||
|
||||
Va = NtHeader->OptionalHeader.DataDirectory[Directory].VirtualAddress;
|
||||
if (Va == 0)
|
||||
return NULL;
|
||||
|
||||
if (Size)
|
||||
*Size = NtHeader->OptionalHeader.DataDirectory[Directory].Size;
|
||||
|
||||
if (bFlag)
|
||||
return (PVOID)(BaseAddress + Va);
|
||||
|
||||
/* image mapped as ordinary file, we must find raw pointer */
|
||||
SectionHeader = (PIMAGE_SECTION_HEADER)(NtHeader + 1);
|
||||
Count = NtHeader->FileHeader.NumberOfSections;
|
||||
while (Count--)
|
||||
{
|
||||
if (SectionHeader->VirtualAddress == Va)
|
||||
return (PVOID)(BaseAddress + SectionHeader->PointerToRawData);
|
||||
SectionHeader++;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: dllmain.c,v 1.67 2004/02/24 01:30:57 weiden Exp $
|
||||
/* $Id: dllmain.c,v 1.68 2004/04/09 20:03:18 navaraf Exp $
|
||||
*
|
||||
* Entry Point for win32k.sys
|
||||
*/
|
||||
|
@ -26,6 +26,10 @@
|
|||
#include <windows.h>
|
||||
#define NTOS_MODE_KERNEL
|
||||
#include <ntos.h>
|
||||
|
||||
#ifdef __USE_W32API
|
||||
#include <ddk/ddrawint.h>
|
||||
#endif
|
||||
#include <ddk/winddi.h>
|
||||
|
||||
#include <win32k/win32k.h>
|
||||
|
@ -49,6 +53,25 @@
|
|||
#define NDEBUG
|
||||
#include <win32k/debug1.h>
|
||||
|
||||
#ifdef __USE_W32API
|
||||
typedef NTSTATUS (STDCALL *PW32_PROCESS_CALLBACK)(
|
||||
struct _EPROCESS *Process,
|
||||
BOOLEAN Create);
|
||||
|
||||
typedef NTSTATUS (STDCALL *PW32_THREAD_CALLBACK)(
|
||||
struct _ETHREAD *Thread,
|
||||
BOOLEAN Create);
|
||||
|
||||
VOID STDCALL
|
||||
PsEstablishWin32Callouts(
|
||||
PW32_PROCESS_CALLBACK W32ProcessCallback,
|
||||
PW32_THREAD_CALLBACK W32ThreadCallback,
|
||||
PVOID Param3,
|
||||
PVOID Param4,
|
||||
ULONG W32ThreadSize,
|
||||
ULONG W32ProcessSize);
|
||||
#endif
|
||||
|
||||
extern SSDT Win32kSSDT[];
|
||||
extern SSPT Win32kSSPT[];
|
||||
extern ULONG Win32kNumberOfSysCalls;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $Id: makefile,v 1.96 2004/03/11 21:38:58 dwelch Exp $
|
||||
# $Id: makefile,v 1.97 2004/04/09 20:03:18 navaraf Exp $
|
||||
|
||||
PATH_TO_TOP = ../..
|
||||
|
||||
|
@ -27,11 +27,9 @@ TARGET_CFLAGS =\
|
|||
-I$(PATH_TO_TOP)/ntoskrnl/include \
|
||||
-I$(FREETYPE_DIR)/include \
|
||||
-DUNICODE \
|
||||
-Wall -Werror
|
||||
|
||||
# require os code to explicitly request A/W version of structs/functions
|
||||
#TARGET_CFLAGS += -D_DISABLE_TIDENTS -D__USE_W32API
|
||||
TARGET_CFLAGS += -D_DISABLE_TIDENTS
|
||||
-Wall -Werror \
|
||||
-D__USE_W32API -D_WIN32_WINNT=0x0500 \
|
||||
-DWINVER=0x600 -D_WIN32K_
|
||||
|
||||
TARGET_LFLAGS =\
|
||||
$(PATH_TO_TOP)/dk/nkm/lib/freetype.a \
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: driver.c,v 1.37 2004/03/06 01:22:03 navaraf Exp $
|
||||
/* $Id: driver.c,v 1.38 2004/04/09 20:03:19 navaraf Exp $
|
||||
*
|
||||
* GDI Driver support routines
|
||||
* (mostly swiped from Wine)
|
||||
|
@ -33,6 +33,7 @@
|
|||
#include <wchar.h>
|
||||
#include <ddk/winddi.h>
|
||||
#include <ddk/ntddvid.h>
|
||||
#include <ddk/ntapi.h>
|
||||
#include <rosrtl/string.h>
|
||||
#include <include/tags.h>
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: class.c,v 1.50 2004/04/05 14:42:30 weiden Exp $
|
||||
/* $Id: class.c,v 1.51 2004/04/09 20:03:19 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -161,9 +161,11 @@ NtUserGetClassInfo(HINSTANCE hInstance, LPCWSTR lpClassName,
|
|||
NTSTATUS Status;
|
||||
RTL_ATOM Atom;
|
||||
|
||||
DPRINT("NtUserGetClassInfo(%S)\n", lpClassName);
|
||||
Status = ClassReferenceClassByNameOrAtom(&Class, lpClassName);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("Error (%x)\n", Status);
|
||||
SetLastNtError(Status);
|
||||
return 0;
|
||||
}
|
||||
|
@ -173,6 +175,7 @@ NtUserGetClassInfo(HINSTANCE hInstance, LPCWSTR lpClassName,
|
|||
lpWndClassEx->lpfnWndProc = Class->lpfnWndProcA;
|
||||
else
|
||||
lpWndClassEx->lpfnWndProc = Class->lpfnWndProcW;
|
||||
DPRINT("%x\n", lpWndClassEx->lpfnWndProc);
|
||||
lpWndClassEx->cbClsExtra = Class->cbClsExtra;
|
||||
lpWndClassEx->cbWndExtra = Class->cbWndExtra;
|
||||
lpWndClassEx->hInstance = Class->hInstance;
|
||||
|
@ -414,6 +417,7 @@ NtUserRegisterClassExWOW(
|
|||
}
|
||||
if (!IS_ATOM(SafeClass.lpszClassName))
|
||||
{
|
||||
DPRINT("NtUserRegisterClassExWOW(%S)\n", SafeClass.lpszClassName);
|
||||
/* FIXME - Safely copy/verify the buffer first!!! */
|
||||
Status = RtlAddAtomToAtomTable(WinStaObject->AtomTable,
|
||||
(LPWSTR)SafeClass.lpszClassName,
|
||||
|
@ -642,6 +646,8 @@ NtUserUnregisterClass(
|
|||
PWNDCLASS_OBJECT Class;
|
||||
PWINSTATION_OBJECT WinStaObject;
|
||||
|
||||
DPRINT("NtUserUnregisterClass(%S)\n", ClassNameOrAtom);
|
||||
|
||||
if (!ClassNameOrAtom)
|
||||
{
|
||||
SetLastWin32Error(ERROR_INVALID_PARAMETER);
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* $Id: desktop.c,v 1.9 2004/02/21 13:13:26 navaraf Exp $
|
||||
* $Id: desktop.c,v 1.10 2004/04/09 20:03:19 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -30,11 +30,9 @@
|
|||
/* INCLUDES ******************************************************************/
|
||||
|
||||
#define __WIN32K__
|
||||
#define NTOS_MODE_KERNEL
|
||||
#include <ntos.h>
|
||||
#include <ddk/ntddmou.h>
|
||||
#include <csrss/csrss.h>
|
||||
#include <win32k/win32k.h>
|
||||
#include <csrss/csrss.h>
|
||||
#include <include/winsta.h>
|
||||
#include <include/desktop.h>
|
||||
#include <include/object.h>
|
||||
|
@ -116,9 +114,9 @@ IntGetDesktopWorkArea(PDESKTOP_OBJECT Desktop)
|
|||
if((Ret->right == -1) && ScreenDeviceContext)
|
||||
{
|
||||
PDC dc;
|
||||
PSURFOBJ SurfObj;
|
||||
SURFOBJ *SurfObj;
|
||||
dc = DC_LockDc(ScreenDeviceContext);
|
||||
SurfObj = (PSURFOBJ)AccessUserObject((ULONG) dc->Surface);
|
||||
SurfObj = (SURFOBJ*)AccessUserObject((ULONG) dc->Surface);
|
||||
if(SurfObj)
|
||||
{
|
||||
Ret->right = SurfObj->sizlBitmap.cx;
|
||||
|
@ -197,7 +195,7 @@ NotifyCsrss(PCSRSS_API_REQUEST Request, PCSRSS_API_REPLY Reply)
|
|||
return Status;
|
||||
}
|
||||
|
||||
Request->Header.DataSize = sizeof(CSRSS_API_REQUEST) - sizeof(LPC_MESSAGE);
|
||||
Request->Header.DataSize = sizeof(CSRSS_API_REQUEST) - LPC_MESSAGE_BASE_SIZE;
|
||||
Request->Header.MessageSize = sizeof(CSRSS_API_REQUEST);
|
||||
|
||||
Status = ZwRequestWaitReplyPort(WindowsApiPort,
|
||||
|
@ -347,7 +345,7 @@ NtUserCreateDesktop(
|
|||
UserMode,
|
||||
dwDesiredAccess,
|
||||
NULL,
|
||||
&Desktop);
|
||||
(HANDLE*)&Desktop);
|
||||
|
||||
if (NT_SUCCESS(Status))
|
||||
{
|
||||
|
@ -395,7 +393,7 @@ NtUserCreateDesktop(
|
|||
STANDARD_RIGHTS_REQUIRED,
|
||||
0,
|
||||
NULL,
|
||||
&Desktop);
|
||||
(HANDLE*)&Desktop);
|
||||
|
||||
DesktopObject->Self = (HANDLE)Desktop;
|
||||
|
||||
|
@ -506,7 +504,7 @@ NtUserOpenDesktop(
|
|||
UserMode,
|
||||
dwDesiredAccess,
|
||||
NULL,
|
||||
&Desktop);
|
||||
(HANDLE*)&Desktop);
|
||||
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
|
@ -558,7 +556,7 @@ NtUserOpenInputDesktop(
|
|||
/* Get a pointer to the desktop object */
|
||||
|
||||
Status = IntValidateDesktopHandle(
|
||||
InputDesktop,
|
||||
InputDesktopHandle,
|
||||
UserMode,
|
||||
0,
|
||||
&Object);
|
||||
|
@ -578,7 +576,7 @@ NtUserOpenInputDesktop(
|
|||
dwDesiredAccess,
|
||||
ExDesktopObjectType,
|
||||
UserMode,
|
||||
&Desktop);
|
||||
(HANDLE*)&Desktop);
|
||||
|
||||
ObDereferenceObject(Object);
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: misc.c,v 1.58 2004/04/02 22:16:09 weiden Exp $
|
||||
/* $Id: misc.c,v 1.59 2004/04/09 20:03:19 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -665,14 +665,14 @@ NtUserSystemParametersInfo(
|
|||
{
|
||||
HDC hDC;
|
||||
PDC dc;
|
||||
PSURFOBJ SurfObj;
|
||||
SURFOBJ *SurfObj;
|
||||
BOOL Ret = GradientCaptions;
|
||||
|
||||
hDC = IntGetScreenDC();
|
||||
if(hDC)
|
||||
{
|
||||
dc = DC_LockDc(hDC);
|
||||
SurfObj = (PSURFOBJ)AccessUserObject((ULONG) dc->Surface);
|
||||
SurfObj = (SURFOBJ*)AccessUserObject((ULONG) dc->Surface);
|
||||
if(SurfObj)
|
||||
Ret = (SurfObj->iBitmapFormat > BMF_8BPP);
|
||||
DC_UnlockDc(hDC);
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: msgqueue.c,v 1.81 2004/04/07 21:12:08 gvg Exp $
|
||||
/* $Id: msgqueue.c,v 1.82 2004/04/09 20:03:19 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -246,7 +246,8 @@ MsqTranslateMouseMessage(HWND hWnd, UINT FilterLow, UINT FilterHigh,
|
|||
{
|
||||
PUSER_MESSAGE_QUEUE ThreadQueue;
|
||||
USHORT Msg = Message->Msg.message;
|
||||
PWINDOW_OBJECT CaptureWin, Window = NULL;
|
||||
PWINDOW_OBJECT Window = NULL;
|
||||
HWND CaptureWin;
|
||||
POINT Point;
|
||||
|
||||
if (Msg == WM_LBUTTONDOWN ||
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* $Id: painting.c,v 1.79 2004/03/23 18:08:07 weiden Exp $
|
||||
* $Id: painting.c,v 1.80 2004/04/09 20:03:19 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -54,6 +54,8 @@
|
|||
#define NDEBUG
|
||||
#include <win32k/debug1.h>
|
||||
|
||||
#define DCX_USESTYLE 0x10000
|
||||
|
||||
/* PRIVATE FUNCTIONS **********************************************************/
|
||||
|
||||
VOID FASTCALL
|
||||
|
@ -755,7 +757,7 @@ NtUserBeginPaint(HWND hWnd, PAINTSTRUCT* lPs)
|
|||
}
|
||||
else
|
||||
{
|
||||
NtUserGetClientRect(Window, &lPs->rcPaint);
|
||||
NtUserGetClientRect(Window->Self, &lPs->rcPaint);
|
||||
}
|
||||
IntUnLockWindowUpdate(Window);
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: scrollbar.c,v 1.28 2004/03/27 10:46:31 gvg Exp $
|
||||
/* $Id: scrollbar.c,v 1.29 2004/04/09 20:03:19 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -42,6 +42,9 @@
|
|||
#include <include/scroll.h>
|
||||
#include <include/painting.h>
|
||||
#include <include/tags.h>
|
||||
#ifdef __USE_W32API
|
||||
#include <oleacc.h>
|
||||
#endif
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: timer.c,v 1.29 2004/03/31 18:37:12 gvg Exp $
|
||||
/* $Id: timer.c,v 1.30 2004/04/09 20:03:19 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -75,14 +75,22 @@ static CLIENT_ID MsgTimerThreadId;
|
|||
BOOL FASTCALL
|
||||
IntInsertTimerAscendingOrder(PMSG_TIMER_ENTRY NewTimer)
|
||||
{
|
||||
PLIST_ENTRY current;
|
||||
|
||||
InsertAscendingList(&TimerListHead,
|
||||
MSG_TIMER_ENTRY,
|
||||
ListEntry,
|
||||
NewTimer,
|
||||
Timeout.QuadPart);
|
||||
|
||||
return IsFirstEntry(&TimerListHead, &NewTimer->ListEntry);
|
||||
current = TimerListHead.Flink;
|
||||
while (current != &TimerListHead)
|
||||
{
|
||||
if (CONTAINING_RECORD(current, MSG_TIMER_ENTRY, ListEntry)->Timeout.QuadPart >=\
|
||||
NewTimer->Timeout.QuadPart)
|
||||
{
|
||||
break;
|
||||
}
|
||||
current = current->Flink;
|
||||
}
|
||||
|
||||
InsertTailList(current, &NewTimer->ListEntry);
|
||||
|
||||
return TimerListHead.Flink == &NewTimer->ListEntry;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: windc.c,v 1.64 2004/04/05 21:26:30 weiden Exp $
|
||||
/* $Id: windc.c,v 1.65 2004/04/09 20:03:19 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -47,6 +47,8 @@
|
|||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
#define DCX_USESTYLE 0x10000
|
||||
|
||||
/* GLOBALS *******************************************************************/
|
||||
|
||||
/* NOTE - I think we should store this per window station (including gdi objects) */
|
||||
|
@ -101,6 +103,25 @@ DceGetVisRgn(HWND hWnd, ULONG Flags, HWND hWndChild, ULONG CFlags)
|
|||
return VisRgn;
|
||||
}
|
||||
|
||||
/*
|
||||
* NtUserGetWindowDC
|
||||
*
|
||||
* The NtUserGetWindowDC function retrieves the device context (DC) for the
|
||||
* entire window, including title bar, menus, and scroll bars. A window device
|
||||
* context permits painting anywhere in a window, because the origin of the
|
||||
* device context is the upper-left corner of the window instead of the client
|
||||
* area.
|
||||
*
|
||||
* Status
|
||||
* @implemented
|
||||
*/
|
||||
|
||||
DWORD STDCALL
|
||||
NtUserGetWindowDC(HWND hWnd)
|
||||
{
|
||||
return (DWORD)NtUserGetDCEx(hWnd, 0, DCX_USESTYLE | DCX_WINDOW);
|
||||
}
|
||||
|
||||
HDC STDCALL
|
||||
NtUserGetDC(HWND hWnd)
|
||||
{
|
||||
|
@ -565,7 +586,7 @@ NtUserGetDCEx(HWND hWnd, HANDLE ClipRegion, ULONG Flags)
|
|||
|
||||
DceSetDrawable(Window, Dce->hDC, Flags, UpdateClipOrigin);
|
||||
|
||||
if (UpdateVisRgn)
|
||||
// if (UpdateVisRgn)
|
||||
{
|
||||
DceUpdateVisRgn(Dce, Window, Flags);
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue