- Remove exports for IsProcess16Bit and IsSETEnabled
- Redirect CalcMenuBar, PaintMenuBar and SetConsoleReserveKeys to NtUser*
- Implement stubs for BuildReasonArray, CreateSystemThreads, DestroyReasons, DeviceEventWorker, GetCursorFrameInfo, GetReasonTitleFromReasonCode, RecordShutdownReason, UserLpkPSMTextOut, UserLpkTabbedTextOut, Win32PoolAllocationStats
- Remove implementations of SetCursor, ClipCursor, GetClipCursor and HiliteMenuItem
- Remove auto stub file from sources
- Fix resource include path

svn path=/branches/cmake-bringup/; revision=50590
This commit is contained in:
Timo Kreuzer 2011-02-02 13:15:26 +00:00
parent a2ceee354a
commit ca768add12
6 changed files with 130 additions and 91 deletions

View file

@ -64,7 +64,6 @@ list(APPEND SOURCE
windows/window.c windows/window.c
windows/winpos.c windows/winpos.c
user32.rc user32.rc
${CMAKE_CURRENT_BINARY_DIR}/user32_stubs.c
${CMAKE_CURRENT_BINARY_DIR}/user32.def) ${CMAKE_CURRENT_BINARY_DIR}/user32.def)
add_library(user32 SHARED add_library(user32 SHARED

View file

@ -541,3 +541,94 @@ DWORD WINAPI UserRegisterWowHandlers(PVOID Unknown1, PVOID Unknown2)
return 0; return 0;
} }
BOOL
WINAPI
BuildReasonArray(PVOID Pointer)
{
UNIMPLEMENTED;
return FALSE;
}
VOID
WINAPI
CreateSystemThreads(DWORD dwUnknown)
{
NtUserCallOneParam(dwUnknown, ONEPARAM_ROUTINE_CREATESYSTEMTHREADS);
}
BOOL
WINAPI
DestroyReasons(PVOID Pointer)
{
UNIMPLEMENTED;
return FALSE;
}
BOOL
WINAPI
DeviceEventWorker(DWORD dw1, DWORD dw2, DWORD dw3, DWORD dw4, DWORD dw5)
{
UNIMPLEMENTED;
return FALSE;
}
BOOL
WINAPI
GetCursorFrameInfo(DWORD dw1, DWORD dw2, DWORD dw3, DWORD dw4, DWORD dw5)
{
UNIMPLEMENTED;
return FALSE;
}
BOOL
WINAPI
GetReasonTitleFromReasonCode(DWORD dw1, DWORD dw2, DWORD dw3)
{
UNIMPLEMENTED;
return FALSE;
}
BOOL
WINAPI
RecordShutdownReason(DWORD dw0)
{
UNIMPLEMENTED;
return FALSE;
}
BOOL
WINAPI
UserLpkPSMTextOut(DWORD dw1, DWORD dw2, DWORD dw3, DWORD dw4, DWORD dw5, DWORD dw6)
{
UNIMPLEMENTED;
return FALSE;
}
BOOL
WINAPI
UserLpkTabbedTextOut(
DWORD dw1,
DWORD dw2,
DWORD dw3,
DWORD dw4,
DWORD dw5,
DWORD dw6,
DWORD dw7,
DWORD dw8,
DWORD dw9,
DWORD dw10,
DWORD dw11,
DWORD dw12)
{
UNIMPLEMENTED;
return FALSE;
}
BOOL
WINAPI
Win32PoolAllocationStats(DWORD dw1, DWORD dw2, DWORD dw3, DWORD dw4, DWORD dw5)
{
UNIMPLEMENTED;
return FALSE;
}

View file

@ -1,7 +1,7 @@
/* $Id$ */ /* $Id$ */
#include <windows.h> #include <windows.h>
#include "resource.h" #include "include/resource.h"
#define REACTOS_VERSION_DLL #define REACTOS_VERSION_DLL
#define REACTOS_STR_FILE_DESCRIPTION "ReactOS User API Client Dll\0" #define REACTOS_STR_FILE_DESCRIPTION "ReactOS User API Client Dll\0"

View file

@ -20,8 +20,8 @@
@ stdcall BroadcastSystemMessageExA(long ptr long long long ptr) @ stdcall BroadcastSystemMessageExA(long ptr long long long ptr)
@ stdcall BroadcastSystemMessageExW(long ptr long long long ptr) @ stdcall BroadcastSystemMessageExW(long ptr long long long ptr)
@ stdcall BroadcastSystemMessageW(long ptr long long long) @ stdcall BroadcastSystemMessageW(long ptr long long long)
@ stub BuildReasonArray @ stdcall BuildReasonArray(ptr)
@ stub CalcMenuBar @ stdcall CalcMenuBar(long long long long long) NtUserCalcMenuBar
@ stdcall CallMsgFilter(ptr long) CallMsgFilterA @ stdcall CallMsgFilter(ptr long) CallMsgFilterA
@ stdcall CallMsgFilterA(ptr long) @ stdcall CallMsgFilterA(ptr long)
@ stdcall CallMsgFilterW(ptr long) @ stdcall CallMsgFilterW(ptr long)
@ -94,7 +94,7 @@
@ stdcall CreateMDIWindowW(ptr ptr long long long long long long long long) @ stdcall CreateMDIWindowW(ptr ptr long long long long long long long long)
@ stdcall CreateMenu() @ stdcall CreateMenu()
@ stdcall CreatePopupMenu() @ stdcall CreatePopupMenu()
@ stub CreateSystemThreads @ stdcall CreateSystemThreads(long)
@ stdcall CreateWindowExA(long str str long long long long long long long long ptr) @ stdcall CreateWindowExA(long str str long long long long long long long long ptr)
@ stdcall CreateWindowExW(long wstr wstr long long long long long long long long ptr) @ stdcall CreateWindowExW(long wstr wstr long long long long long long long long ptr)
@ stdcall CreateWindowStationA(str long long ptr) @ stdcall CreateWindowStationA(str long long ptr)
@ -151,9 +151,9 @@
@ stdcall DestroyCursor(long) @ stdcall DestroyCursor(long)
@ stdcall DestroyIcon(long) @ stdcall DestroyIcon(long)
@ stdcall DestroyMenu(long) NtUserDestroyMenu @ stdcall DestroyMenu(long) NtUserDestroyMenu
@ stub DestroyReasons @ stdcall DestroyReasons(ptr)
@ stdcall DestroyWindow(long) NtUserDestroyWindow @ stdcall DestroyWindow(long) NtUserDestroyWindow
@ stub DeviceEventWorker @ stdcall DeviceEventWorker(long long long long long)
@ stdcall DialogBoxIndirectParamA(long ptr long ptr long) @ stdcall DialogBoxIndirectParamA(long ptr long ptr long)
@ stdcall DialogBoxIndirectParamAorW(long ptr long ptr long long) @ stdcall DialogBoxIndirectParamAorW(long ptr long ptr long long)
@ stdcall DialogBoxIndirectParamW(long ptr long ptr long) @ stdcall DialogBoxIndirectParamW(long ptr long ptr long)
@ -201,7 +201,7 @@
@ stdcall EndMenu() @ stdcall EndMenu()
@ stdcall EndPaint(long ptr) NtUserEndPaint @ stdcall EndPaint(long ptr) NtUserEndPaint
@ stdcall EndTask(ptr long long) @ stdcall EndTask(ptr long long)
@ stub EnterReaderModeHelper @ stdcall EnterReaderModeHelper(ptr)
@ stdcall EnumChildWindows(long ptr long) @ stdcall EnumChildWindows(long ptr long)
@ stdcall EnumClipboardFormats(long) @ stdcall EnumClipboardFormats(long)
@ stdcall EnumDesktopWindows(long ptr ptr) @ stdcall EnumDesktopWindows(long ptr ptr)
@ -266,7 +266,7 @@
@ stdcall GetClipboardViewer() NtUserGetClipboardViewer @ stdcall GetClipboardViewer() NtUserGetClipboardViewer
@ stdcall GetComboBoxInfo(long ptr) ; Direct call NtUserGetComboBoxInfo @ stdcall GetComboBoxInfo(long ptr) ; Direct call NtUserGetComboBoxInfo
@ stdcall GetCursor() @ stdcall GetCursor()
@ stub GetCursorFrameInfo @ stdcall GetCursorFrameInfo(long long long long long)
@ stdcall GetCursorInfo(ptr) NtUserGetCursorInfo @ stdcall GetCursorInfo(ptr) NtUserGetCursorInfo
@ stdcall GetCursorPos(ptr) @ stdcall GetCursorPos(ptr)
@ stdcall GetDC(long) NtUserGetDC @ stdcall GetDC(long) NtUserGetDC
@ -339,7 +339,7 @@
@ stdcall GetRawInputDeviceInfoA(ptr long ptr ptr) @ stdcall GetRawInputDeviceInfoA(ptr long ptr ptr)
@ stdcall GetRawInputDeviceInfoW(ptr long ptr ptr) @ stdcall GetRawInputDeviceInfoW(ptr long ptr ptr)
@ stdcall GetRawInputDeviceList(ptr ptr long) @ stdcall GetRawInputDeviceList(ptr ptr long)
@ stub GetReasonTitleFromReasonCode @ stdcall GetReasonTitleFromReasonCode(long long long)
@ stdcall GetRegisteredRawInputDevices(ptr ptr long) @ stdcall GetRegisteredRawInputDevices(ptr ptr long)
@ stdcall GetScrollBarInfo(long long ptr) NtUserGetScrollBarInfo @ stdcall GetScrollBarInfo(long long ptr) NtUserGetScrollBarInfo
@ stdcall GetScrollInfo(long long ptr) @ stdcall GetScrollInfo(long long ptr)
@ -399,7 +399,7 @@
@ stdcall InSendMessageEx(ptr) @ stdcall InSendMessageEx(ptr)
@ stdcall InflateRect(ptr long long) @ stdcall InflateRect(ptr long long)
@ stdcall InitializeLpkHooks(ptr) @ stdcall InitializeLpkHooks(ptr)
@ stub InitializeWin32EntryTable @ stdcall InitializeWin32EntryTable(ptr)
@ stdcall InsertMenuA(long long long long ptr) @ stdcall InsertMenuA(long long long long ptr)
@ stdcall InsertMenuItemA(long long long ptr) @ stdcall InsertMenuItemA(long long long ptr)
@ stdcall InsertMenuItemW(long long long ptr) @ stdcall InsertMenuItemW(long long long ptr)
@ -427,9 +427,7 @@
@ stdcall IsHungAppWindow(long) @ stdcall IsHungAppWindow(long)
@ stdcall IsIconic(long) @ stdcall IsIconic(long)
@ stdcall IsMenu(long) @ stdcall IsMenu(long)
@ stub IsProcess16Bit
@ stdcall IsRectEmpty(ptr) @ stdcall IsRectEmpty(ptr)
@ stub IsSETEnabled
@ stdcall IsServerSideWindow(long) @ stdcall IsServerSideWindow(long)
@ stdcall IsWinEventHookInstalled(long) @ stdcall IsWinEventHookInstalled(long)
@ stdcall IsWindow(long) @ stdcall IsWindow(long)
@ -437,7 +435,7 @@
@ stdcall IsWindowInDestroy(long) @ stdcall IsWindowInDestroy(long)
@ stdcall IsWindowUnicode(long) @ stdcall IsWindowUnicode(long)
@ stdcall IsWindowVisible(long) @ stdcall IsWindowVisible(long)
@ stub IsWow64Message # @ stub IsWow64Message
@ stdcall IsZoomed(long) @ stdcall IsZoomed(long)
@ stdcall KillSystemTimer(long long) @ stdcall KillSystemTimer(long long)
@ stdcall KillTimer(long long) NtUserKillTimer @ stdcall KillTimer(long long) NtUserKillTimer
@ -454,7 +452,7 @@
@ stdcall LoadImageA(long str long long long long) @ stdcall LoadImageA(long str long long long long)
@ stdcall LoadImageW(long wstr long long long long) @ stdcall LoadImageW(long wstr long long long long)
@ stdcall LoadKeyboardLayoutA(str long) @ stdcall LoadKeyboardLayoutA(str long)
@ stub LoadKeyboardLayoutEx @ stdcall LoadKeyboardLayoutEx(long ptr long)
@ stdcall LoadKeyboardLayoutW(wstr long) @ stdcall LoadKeyboardLayoutW(wstr long)
@ stdcall LoadLocalFonts() @ stdcall LoadLocalFonts()
@ stdcall LoadMenuA(long str) @ stdcall LoadMenuA(long str)
@ -487,8 +485,8 @@
@ stdcall MessageBoxExW(long wstr wstr long long) @ stdcall MessageBoxExW(long wstr wstr long long)
@ stdcall MessageBoxIndirectA(ptr) @ stdcall MessageBoxIndirectA(ptr)
@ stdcall MessageBoxIndirectW(ptr) @ stdcall MessageBoxIndirectW(ptr)
@ stub MessageBoxTimeoutA @ stdcall MessageBoxTimeoutA(ptr str str long long long)
@ stub MessageBoxTimeoutW @ stdcall MessageBoxTimeoutW(ptr wstr wstr long long long)
@ stdcall MessageBoxW(long wstr wstr long) @ stdcall MessageBoxW(long wstr wstr long)
@ stdcall ModifyMenuA(long long long long ptr) @ stdcall ModifyMenuA(long long long long ptr)
@ stdcall ModifyMenuW(long long long long ptr) @ stdcall ModifyMenuW(long long long long ptr)
@ -514,7 +512,7 @@
@ stdcall OpenWindowStationW(wstr long long) @ stdcall OpenWindowStationW(wstr long long)
@ stdcall PackDDElParam(long long long) @ stdcall PackDDElParam(long long long)
@ stdcall PaintDesktop(long) NtUserPaintDesktop @ stdcall PaintDesktop(long) NtUserPaintDesktop
@ stub PaintMenuBar @ stdcall PaintMenuBar(long long long long long long) NtUserPaintMenuBar
@ stdcall PeekMessageA(ptr long long long long) @ stdcall PeekMessageA(ptr long long long long)
@ stdcall PeekMessageW(ptr long long long long) @ stdcall PeekMessageW(ptr long long long long)
@ stdcall PostMessageA(long long long long) @ stdcall PostMessageA(long long long long)
@ -533,9 +531,9 @@
@ stdcall RealGetWindowClass(long ptr long) RealGetWindowClassA @ stdcall RealGetWindowClass(long ptr long) RealGetWindowClassA
@ stdcall RealGetWindowClassA(long ptr long) @ stdcall RealGetWindowClassA(long ptr long)
@ stdcall RealGetWindowClassW(long ptr long) @ stdcall RealGetWindowClassW(long ptr long)
@ stub ReasonCodeNeedsBugID @ stdcall ReasonCodeNeedsBugID(long)
@ stub ReasonCodeNeedsComment @ stdcall ReasonCodeNeedsComment(long)
@ stub RecordShutdownReason @ stdcall RecordShutdownReason(long)
@ stdcall RedrawWindow(long ptr long long) NtUserRedrawWindow @ stdcall RedrawWindow(long ptr long long) NtUserRedrawWindow
@ stdcall RegisterClassA(ptr) @ stdcall RegisterClassA(ptr)
@ stdcall RegisterClassExA(ptr) @ stdcall RegisterClassExA(ptr)
@ -547,7 +545,7 @@
@ stdcall RegisterDeviceNotificationW(long ptr long) @ stdcall RegisterDeviceNotificationW(long ptr long)
@ stdcall RegisterHotKey(long long long long) NtUserRegisterHotKey @ stdcall RegisterHotKey(long long long long) NtUserRegisterHotKey
@ stdcall RegisterLogonProcess(long long) @ stdcall RegisterLogonProcess(long long)
@ stub RegisterMessagePumpHook @ stdcall RegisterMessagePumpHook(ptr)
@ stdcall RegisterRawInputDevices(ptr long long) @ stdcall RegisterRawInputDevices(ptr long long)
@ stdcall RegisterServicesProcess(long) @ stdcall RegisterServicesProcess(long)
@ stdcall RegisterShellHookWindow(long) @ stdcall RegisterShellHookWindow(long)
@ -593,7 +591,7 @@
@ stdcall SetClassWord(long long long) ; Direct call NtUserSetClassWord @ stdcall SetClassWord(long long long) ; Direct call NtUserSetClassWord
@ stdcall SetClipboardData(long long) @ stdcall SetClipboardData(long long)
@ stdcall SetClipboardViewer(long) NtUserSetClipboardViewer @ stdcall SetClipboardViewer(long) NtUserSetClipboardViewer
@ stub SetConsoleReserveKeys @ stdcall SetConsoleReserveKeys(long long) NtUserSetConsoleReserveKeys
@ stdcall SetCursor(long) NtUserSetCursor @ stdcall SetCursor(long) NtUserSetCursor
@ stdcall SetCursorContents(ptr ptr) NtUserSetCursorContents @ stdcall SetCursorContents(ptr ptr) NtUserSetCursorContents
@ stdcall SetCursorPos(long long) @ stdcall SetCursorPos(long long)
@ -667,7 +665,7 @@
@ stdcall ShowStartGlass(long) @ stdcall ShowStartGlass(long)
@ stdcall ShowWindow(long long) NtUserShowWindow @ stdcall ShowWindow(long long) NtUserShowWindow
@ stdcall ShowWindowAsync(long long) NtUserShowWindowAsync @ stdcall ShowWindowAsync(long long) NtUserShowWindowAsync
@ stub SoftModalMessageBox @ stdcall SoftModalMessageBox(long)
@ stdcall SubtractRect(ptr ptr ptr) @ stdcall SubtractRect(ptr ptr ptr)
@ stdcall SwapMouseButton(long) @ stdcall SwapMouseButton(long)
@ stdcall SwitchDesktop(long) NtUserSwitchDesktop @ stdcall SwitchDesktop(long) NtUserSwitchDesktop
@ -690,7 +688,7 @@
@ stdcall TranslateAcceleratorW(long long ptr) @ stdcall TranslateAcceleratorW(long long ptr)
@ stdcall TranslateMDISysAccel(long ptr) @ stdcall TranslateMDISysAccel(long ptr)
@ stdcall TranslateMessage(ptr) @ stdcall TranslateMessage(ptr)
@ stub TranslateMessageEx @ stdcall TranslateMessageEx(ptr long)
@ stdcall UnhookWinEvent(long) NtUserUnhookWinEvent @ stdcall UnhookWinEvent(long) NtUserUnhookWinEvent
@ stdcall UnhookWindowsHook(long ptr) @ stdcall UnhookWindowsHook(long ptr)
@ stdcall UnhookWindowsHookEx(long) NtUserUnhookWindowsHookEx @ stdcall UnhookWindowsHookEx(long) NtUserUnhookWindowsHookEx
@ -702,7 +700,7 @@
@ stdcall UnregisterClassW(wstr long) @ stdcall UnregisterClassW(wstr long)
@ stdcall UnregisterDeviceNotification(long) @ stdcall UnregisterDeviceNotification(long)
@ stdcall UnregisterHotKey(long long) NtUserUnregisterHotKey @ stdcall UnregisterHotKey(long long) NtUserUnregisterHotKey
@ stub UnregisterMessagePumpHook @ stdcall UnregisterMessagePumpHook()
@ stdcall UnregisterUserApiHook() NtUserUnregisterUserApiHook @ stdcall UnregisterUserApiHook() NtUserUnregisterUserApiHook
@ stdcall UpdateLayeredWindow(long long ptr ptr long ptr long ptr long) @ stdcall UpdateLayeredWindow(long long ptr ptr long ptr long ptr long)
@ stdcall UpdateLayeredWindowIndirect(long ptr) @ stdcall UpdateLayeredWindowIndirect(long ptr)
@ -711,8 +709,8 @@
@ stdcall User32InitializeImmEntryTable(ptr) @ stdcall User32InitializeImmEntryTable(ptr)
@ stdcall UserClientDllInitialize(long long ptr) DllMain @ stdcall UserClientDllInitialize(long long ptr) DllMain
@ stdcall UserHandleGrantAccess(ptr ptr long) NtUserUserHandleGrantAccess @ stdcall UserHandleGrantAccess(ptr ptr long) NtUserUserHandleGrantAccess
@ stub UserLpkPSMTextOut @ stdcall UserLpkPSMTextOut(long long long long long long)
@ stub UserLpkTabbedTextOut @ stdcall UserLpkTabbedTextOut(long long long long long long long long long long long long)
@ stdcall UserRealizePalette(long) @ stdcall UserRealizePalette(long)
@ stdcall UserRegisterWowHandlers(ptr ptr) @ stdcall UserRegisterWowHandlers(ptr ptr)
@ stdcall ValidateRect(long ptr) NtUserValidateRect @ stdcall ValidateRect(long ptr) NtUserValidateRect
@ -727,7 +725,7 @@
@ stdcall WINNLSGetIMEHotkey(long) @ stdcall WINNLSGetIMEHotkey(long)
@ stdcall WaitForInputIdle(long long) @ stdcall WaitForInputIdle(long long)
@ stdcall WaitMessage() NtUserWaitMessage @ stdcall WaitMessage() NtUserWaitMessage
@ stub Win32PoolAllocationStats @ stdcall Win32PoolAllocationStats(long long long long long)
@ stdcall WinHelpA(long str long long) @ stdcall WinHelpA(long str long long)
@ stdcall WinHelpW(long wstr long long) @ stdcall WinHelpW(long wstr long long)
@ stdcall WindowFromDC(long) @ stdcall WindowFromDC(long)

View file

@ -1244,19 +1244,6 @@ BOOL WINAPI DrawIcon( HDC hdc, INT x, INT y, HICON hIcon )
return DrawIconEx( hdc, x, y, hIcon, 0, 0, 0, 0, DI_NORMAL | DI_COMPAT | DI_DEFAULTSIZE ); return DrawIconEx( hdc, x, y, hIcon, 0, 0, 0, 0, DI_NORMAL | DI_COMPAT | DI_DEFAULTSIZE );
} }
/***********************************************************************
* SetCursor (USER32.@)
*
* Set the cursor shape.
*
* RETURNS
* A handle to the previous cursor shape.
*/
HCURSOR WINAPI /*DECLSPEC_HOTPATCH*/ SetCursor( HCURSOR hCursor /* [in] Handle of cursor to show */ )
{
return NtUserSetCursor(hCursor);
}
/*********************************************************************** /***********************************************************************
* ShowCursor (USER32.@) * ShowCursor (USER32.@)
*/ */
@ -1279,23 +1266,6 @@ HCURSOR WINAPI GetCursor(void)
} }
/***********************************************************************
* ClipCursor (USER32.@)
*/
BOOL WINAPI /*DECLSPEC_HOTPATCH*/ ClipCursor( const RECT *rect )
{
return NtUserClipCursor((RECT *)rect);
}
/***********************************************************************
* GetClipCursor (USER32.@)
*/
BOOL WINAPI /*DECLSPEC_HOTPATCH*/ GetClipCursor( RECT *rect )
{
return NtUserGetClipCursor(rect);
}
/*********************************************************************** /***********************************************************************
* SetSystemCursor (USER32.@) * SetSystemCursor (USER32.@)
@ -1504,7 +1474,7 @@ HICON WINAPI CreateIconIndirect(PICONINFO iconinfo)
return NULL; return NULL;
} }
} }
else else
{ {
mask = CreateBitmap( width, height * 2, 1, 1, NULL ); mask = CreateBitmap( width, height * 2, 1, 1, NULL );
if(!mask) if(!mask)
@ -1775,7 +1745,7 @@ static HBITMAP BITMAP_Load( HINSTANCE instance, LPCWSTR name,
if (is_dib_monochrome(fix_info)) if (is_dib_monochrome(fix_info))
hbitmap = CreateBitmap(new_width, new_height, 1, 1, NULL); hbitmap = CreateBitmap(new_width, new_height, 1, 1, NULL);
else else
hbitmap = CreateCompatibleBitmap(screen_dc, new_width, new_height); hbitmap = CreateCompatibleBitmap(screen_dc, new_width, new_height);
} }
orig_bm = SelectObject(screen_mem_dc, hbitmap); orig_bm = SelectObject(screen_mem_dc, hbitmap);
@ -1985,7 +1955,7 @@ HANDLE WINAPI CopyImage( HANDLE hnd, UINT type, INT desiredx,
{ {
/* Look if the colors of the DIB are black and white */ /* Look if the colors of the DIB are black and white */
monochrome = monochrome =
(bi->bmiColors[0].rgbRed == 0xff (bi->bmiColors[0].rgbRed == 0xff
&& bi->bmiColors[0].rgbGreen == 0xff && bi->bmiColors[0].rgbGreen == 0xff
&& bi->bmiColors[0].rgbBlue == 0xff && bi->bmiColors[0].rgbBlue == 0xff

View file

@ -777,7 +777,7 @@ static void FASTCALL MenuCalcItemSize( HDC hdc, PROSMENUITEMINFO lpitem, PROSMEN
mis.itemWidth = 0; mis.itemWidth = 0;
SendMessageW( hwndOwner, WM_MEASUREITEM, 0, (LPARAM)&mis ); SendMessageW( hwndOwner, WM_MEASUREITEM, 0, (LPARAM)&mis );
/* Tests reveal that Windows ( Win95 thru WinXP) adds twice the average /* Tests reveal that Windows ( Win95 thru WinXP) adds twice the average
* width of a menufont character to the width of an owner-drawn menu. * width of a menufont character to the width of an owner-drawn menu.
*/ */
lpitem->Rect.right += mis.itemWidth + 2 * MenuCharSize.cx; lpitem->Rect.right += mis.itemWidth + 2 * MenuCharSize.cx;
@ -857,7 +857,7 @@ static void FASTCALL MenuCalcItemSize( HDC hdc, PROSMENUITEMINFO lpitem, PROSMEN
} }
if (menuBar) { if (menuBar) {
txtheight = DrawTextW( hdc, lpitem->dwTypeData, -1, &rc, txtheight = DrawTextW( hdc, lpitem->dwTypeData, -1, &rc,
DT_SINGLELINE|DT_CALCRECT); DT_SINGLELINE|DT_CALCRECT);
lpitem->Rect.right += rc.right - rc.left; lpitem->Rect.right += rc.right - rc.left;
itemheight = max( max( itemheight, txtheight), itemheight = max( max( itemheight, txtheight),
GetSystemMetrics( SM_CYMENU) - 1); GetSystemMetrics( SM_CYMENU) - 1);
@ -1159,7 +1159,7 @@ static void FASTCALL MenuDrawMenuItem(HWND hWnd, PROSMENUINFO MenuInfo, HWND Wnd
SystemParametersInfoW (SPI_GETFLATMENU, 0, &flat_menu, 0); SystemParametersInfoW (SPI_GETFLATMENU, 0, &flat_menu, 0);
bkgnd = (menuBar && flat_menu) ? COLOR_MENUBAR : COLOR_MENU; bkgnd = (menuBar && flat_menu) ? COLOR_MENUBAR : COLOR_MENU;
/* Setup colors */ /* Setup colors */
if (lpitem->fState & MF_HILITE) if (lpitem->fState & MF_HILITE)
@ -1319,7 +1319,7 @@ static void FASTCALL MenuDrawMenuItem(HWND hWnd, PROSMENUINFO MenuInfo, HWND Wnd
* Custom checkmark bitmaps are monochrome but not always 1bpp. * Custom checkmark bitmaps are monochrome but not always 1bpp.
*/ */
if( !(MenuInfo->dwStyle & MNS_NOCHECK)) { if( !(MenuInfo->dwStyle & MNS_NOCHECK)) {
bm = (lpitem->fState & MF_CHECKED) ? lpitem->hbmpChecked : bm = (lpitem->fState & MF_CHECKED) ? lpitem->hbmpChecked :
lpitem->hbmpUnchecked; lpitem->hbmpUnchecked;
if (bm) /* we have a custom bitmap */ if (bm) /* we have a custom bitmap */
{ {
@ -1490,7 +1490,7 @@ static void FASTCALL MenuDrawPopupMenu(HWND hwnd, HDC hdc, HMENU hmenu )
if (MenuGetRosMenuInfo(&MenuInfo, hmenu) && MenuInfo.MenuItemCount) if (MenuGetRosMenuInfo(&MenuInfo, hmenu) && MenuInfo.MenuItemCount)
{ {
UINT u; UINT u;
MenuInitRosMenuItemInfo(&ItemInfo); MenuInitRosMenuItemInfo(&ItemInfo);
for (u = 0; u < MenuInfo.MenuItemCount; u++) for (u = 0; u < MenuInfo.MenuItemCount; u++)
@ -1855,7 +1855,7 @@ LRESULT WINAPI PopupMenuWndProcA(HWND Wnd, UINT Message, WPARAM wParam, LPARAM l
break; break;
case MM_GETMENUHANDLE: case MM_GETMENUHANDLE:
case MN_GETHMENU: case MN_GETHMENU:
return GetWindowLongPtrA(Wnd, 0); return GetWindowLongPtrA(Wnd, 0);
default: default:
@ -3480,7 +3480,7 @@ static INT FASTCALL MenuTrackMenu(HMENU hmenu, UINT wFlags, INT x, INT y,
static BOOL FASTCALL MenuInitTracking(HWND hWnd, HMENU hMenu, BOOL bPopup, UINT wFlags) static BOOL FASTCALL MenuInitTracking(HWND hWnd, HMENU hMenu, BOOL bPopup, UINT wFlags)
{ {
ROSMENUINFO MenuInfo; ROSMENUINFO MenuInfo;
TRACE("hwnd=%p hmenu=%p\n", hWnd, hMenu); TRACE("hwnd=%p hmenu=%p\n", hWnd, hMenu);
HideCaret(0); HideCaret(0);
@ -3651,7 +3651,7 @@ BOOL WINAPI TrackPopupMenuEx( HMENU Menu, UINT Flags, int x, int y,
BOOL ret = FALSE; BOOL ret = FALSE;
ROSMENUINFO MenuInfo; ROSMENUINFO MenuInfo;
if (!IsMenu(Menu)) if (!IsMenu(Menu))
{ {
SetLastError( ERROR_INVALID_MENU_HANDLE ); SetLastError( ERROR_INVALID_MENU_HANDLE );
return FALSE; return FALSE;
@ -3838,10 +3838,10 @@ NTSTATUS WINAPI
User32CallLoadMenuFromKernel(PVOID Arguments, ULONG ArgumentLength) User32CallLoadMenuFromKernel(PVOID Arguments, ULONG ArgumentLength)
{ {
PLOADMENU_CALLBACK_ARGUMENTS Common; PLOADMENU_CALLBACK_ARGUMENTS Common;
LRESULT Result; LRESULT Result;
Common = (PLOADMENU_CALLBACK_ARGUMENTS) Arguments; Common = (PLOADMENU_CALLBACK_ARGUMENTS) Arguments;
Result = (LRESULT)LoadMenuW( Common->hModule, Result = (LRESULT)LoadMenuW( Common->hModule,
IS_INTRESOURCE(Common->MenuName[0]) ? IS_INTRESOURCE(Common->MenuName[0]) ?
MAKEINTRESOURCE(Common->MenuName[0]) : MAKEINTRESOURCE(Common->MenuName[0]) :
@ -4122,25 +4122,6 @@ EndMenu(VOID)
return TRUE; return TRUE;
} }
// So this one maybe one day it will be a callback!
BOOL WINAPI HiliteMenuItem( HWND hWnd, HMENU hMenu, UINT wItemID,
UINT wHilite )
{
ROSMENUINFO MenuInfo;
ROSMENUITEMINFO mii;
TRACE("(%p, %p, %04x, %04x);\n", hWnd, hMenu, wItemID, wHilite);
if (!hWnd)
{
SetLastError(ERROR_INVALID_WINDOW_HANDLE);
return FALSE;
}
if (!NtUserMenuItemInfo(hMenu, wItemID, wHilite, &mii, FALSE)) return FALSE;
if (!NtUserMenuInfo(hMenu, &MenuInfo, FALSE)) return FALSE;
if (MenuInfo.FocusedItem == wItemID) return TRUE;
MenuHideSubPopups( hWnd, &MenuInfo, FALSE, 0 );
MenuSelectItem( hWnd, &MenuInfo, wItemID, TRUE, 0 );
return TRUE;
}
/* /*
* @implemented * @implemented