win32u: Move NtUserIsClipboardFormatAvailable implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Huw Davies <huw@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
70f8330d0e
commit
a4e800f380
|
@ -939,28 +939,6 @@ UINT WINAPI EnumClipboardFormats( UINT format )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**************************************************************************
|
|
||||||
* IsClipboardFormatAvailable (USER32.@)
|
|
||||||
*/
|
|
||||||
BOOL WINAPI IsClipboardFormatAvailable( UINT format )
|
|
||||||
{
|
|
||||||
BOOL ret = FALSE;
|
|
||||||
|
|
||||||
if (!format) return FALSE;
|
|
||||||
|
|
||||||
USER_Driver->pUpdateClipboard();
|
|
||||||
|
|
||||||
SERVER_START_REQ( get_clipboard_formats )
|
|
||||||
{
|
|
||||||
req->format = format;
|
|
||||||
if (!wine_server_call_err( req )) ret = (reply->count > 0);
|
|
||||||
}
|
|
||||||
SERVER_END_REQ;
|
|
||||||
TRACE( "%s -> %u\n", debugstr_format( format ), ret );
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* GetUpdatedClipboardFormats (USER32.@)
|
* GetUpdatedClipboardFormats (USER32.@)
|
||||||
*/
|
*/
|
||||||
|
@ -1080,7 +1058,7 @@ INT WINAPI GetPriorityClipboardFormat(UINT *list, INT nCount)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
for (i = 0; i < nCount; i++)
|
for (i = 0; i < nCount; i++)
|
||||||
if (IsClipboardFormatAvailable(list[i]))
|
if (NtUserIsClipboardFormatAvailable(list[i]))
|
||||||
return list[i];
|
return list[i];
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
|
|
|
@ -3313,7 +3313,7 @@ static void EDIT_WM_ContextMenu(EDITSTATE *es, INT x, INT y)
|
||||||
/* copy */
|
/* copy */
|
||||||
EnableMenuItem(popup, 3, MF_BYPOSITION | ((end - start) && !(es->style & ES_PASSWORD) ? MF_ENABLED : MF_GRAYED));
|
EnableMenuItem(popup, 3, MF_BYPOSITION | ((end - start) && !(es->style & ES_PASSWORD) ? MF_ENABLED : MF_GRAYED));
|
||||||
/* paste */
|
/* paste */
|
||||||
EnableMenuItem(popup, 4, MF_BYPOSITION | (IsClipboardFormatAvailable(CF_UNICODETEXT) && !(es->style & ES_READONLY) ? MF_ENABLED : MF_GRAYED));
|
EnableMenuItem(popup, 4, MF_BYPOSITION | (NtUserIsClipboardFormatAvailable(CF_UNICODETEXT) && !(es->style & ES_READONLY) ? MF_ENABLED : MF_GRAYED));
|
||||||
/* delete */
|
/* delete */
|
||||||
EnableMenuItem(popup, 5, MF_BYPOSITION | ((end - start) && !(es->style & ES_READONLY) ? MF_ENABLED : MF_GRAYED));
|
EnableMenuItem(popup, 5, MF_BYPOSITION | ((end - start) && !(es->style & ES_READONLY) ? MF_ENABLED : MF_GRAYED));
|
||||||
/* select all */
|
/* select all */
|
||||||
|
|
|
@ -460,7 +460,7 @@
|
||||||
@ stdcall -import IsCharUpperA(long)
|
@ stdcall -import IsCharUpperA(long)
|
||||||
@ stdcall -import IsCharUpperW(long)
|
@ stdcall -import IsCharUpperW(long)
|
||||||
@ stdcall IsChild(long long)
|
@ stdcall IsChild(long long)
|
||||||
@ stdcall IsClipboardFormatAvailable(long)
|
@ stdcall IsClipboardFormatAvailable(long) NtUserIsClipboardFormatAvailable
|
||||||
@ stdcall IsDialogMessage(long ptr) IsDialogMessageA
|
@ stdcall IsDialogMessage(long ptr) IsDialogMessageA
|
||||||
@ stdcall IsDialogMessageA(long ptr)
|
@ stdcall IsDialogMessageA(long ptr)
|
||||||
@ stdcall IsDialogMessageW(long ptr)
|
@ stdcall IsDialogMessageW(long ptr)
|
||||||
|
|
|
@ -34,6 +34,47 @@
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(clipboard);
|
WINE_DEFAULT_DEBUG_CHANNEL(clipboard);
|
||||||
|
|
||||||
|
|
||||||
|
/* get a debug string for a format id */
|
||||||
|
static const char *debugstr_format( UINT id )
|
||||||
|
{
|
||||||
|
WCHAR buffer[256];
|
||||||
|
DWORD le = GetLastError();
|
||||||
|
BOOL r = NtUserGetClipboardFormatName( id, buffer, ARRAYSIZE(buffer) );
|
||||||
|
SetLastError(le);
|
||||||
|
|
||||||
|
if (r)
|
||||||
|
return wine_dbg_sprintf( "%04x %s", id, debugstr_w(buffer) );
|
||||||
|
|
||||||
|
switch (id)
|
||||||
|
{
|
||||||
|
#define BUILTIN(id) case id: return #id;
|
||||||
|
BUILTIN(CF_TEXT)
|
||||||
|
BUILTIN(CF_BITMAP)
|
||||||
|
BUILTIN(CF_METAFILEPICT)
|
||||||
|
BUILTIN(CF_SYLK)
|
||||||
|
BUILTIN(CF_DIF)
|
||||||
|
BUILTIN(CF_TIFF)
|
||||||
|
BUILTIN(CF_OEMTEXT)
|
||||||
|
BUILTIN(CF_DIB)
|
||||||
|
BUILTIN(CF_PALETTE)
|
||||||
|
BUILTIN(CF_PENDATA)
|
||||||
|
BUILTIN(CF_RIFF)
|
||||||
|
BUILTIN(CF_WAVE)
|
||||||
|
BUILTIN(CF_UNICODETEXT)
|
||||||
|
BUILTIN(CF_ENHMETAFILE)
|
||||||
|
BUILTIN(CF_HDROP)
|
||||||
|
BUILTIN(CF_LOCALE)
|
||||||
|
BUILTIN(CF_DIBV5)
|
||||||
|
BUILTIN(CF_OWNERDISPLAY)
|
||||||
|
BUILTIN(CF_DSPTEXT)
|
||||||
|
BUILTIN(CF_DSPBITMAP)
|
||||||
|
BUILTIN(CF_DSPMETAFILEPICT)
|
||||||
|
BUILTIN(CF_DSPENHMETAFILE)
|
||||||
|
#undef BUILTIN
|
||||||
|
default: return wine_dbg_sprintf( "%04x", id );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* NtUserCountClipboardFormats (win32u.@)
|
* NtUserCountClipboardFormats (win32u.@)
|
||||||
*/
|
*/
|
||||||
|
@ -54,6 +95,27 @@ INT WINAPI NtUserCountClipboardFormats(void)
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
* NtUserIsClipboardFormatAvailable (win32u.@)
|
||||||
|
*/
|
||||||
|
BOOL WINAPI NtUserIsClipboardFormatAvailable( UINT format )
|
||||||
|
{
|
||||||
|
BOOL ret = FALSE;
|
||||||
|
|
||||||
|
if (!format) return FALSE;
|
||||||
|
|
||||||
|
user_driver->pUpdateClipboard();
|
||||||
|
|
||||||
|
SERVER_START_REQ( get_clipboard_formats )
|
||||||
|
{
|
||||||
|
req->format = format;
|
||||||
|
if (!wine_server_call_err( req )) ret = (reply->count > 0);
|
||||||
|
}
|
||||||
|
SERVER_END_REQ;
|
||||||
|
TRACE( "%s -> %u\n", debugstr_format( format ), ret );
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* NtUserGetClipboardFormatName (win32u.@)
|
* NtUserGetClipboardFormatName (win32u.@)
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1168,6 +1168,7 @@ static struct unix_funcs unix_funcs =
|
||||||
NtGdiUpdateColors,
|
NtGdiUpdateColors,
|
||||||
NtGdiWidenPath,
|
NtGdiWidenPath,
|
||||||
NtUserCountClipboardFormats,
|
NtUserCountClipboardFormats,
|
||||||
|
NtUserIsClipboardFormatAvailable,
|
||||||
|
|
||||||
GDIRealizePalette,
|
GDIRealizePalette,
|
||||||
GDISelectPalette,
|
GDISelectPalette,
|
||||||
|
|
|
@ -1050,7 +1050,7 @@
|
||||||
@ stub NtUserInvalidateRect
|
@ stub NtUserInvalidateRect
|
||||||
@ stub NtUserInvalidateRgn
|
@ stub NtUserInvalidateRgn
|
||||||
@ stub NtUserIsChildWindowDpiMessageEnabled
|
@ stub NtUserIsChildWindowDpiMessageEnabled
|
||||||
@ stub NtUserIsClipboardFormatAvailable
|
@ stdcall NtUserIsClipboardFormatAvailable(long)
|
||||||
@ stub NtUserIsMouseInPointerEnabled
|
@ stub NtUserIsMouseInPointerEnabled
|
||||||
@ stub NtUserIsMouseInputEnabled
|
@ stub NtUserIsMouseInputEnabled
|
||||||
@ stub NtUserIsNonClientDpiScalingEnabled
|
@ stub NtUserIsNonClientDpiScalingEnabled
|
||||||
|
|
|
@ -195,6 +195,7 @@ struct unix_funcs
|
||||||
BOOL (WINAPI *pNtGdiUpdateColors)( HDC hdc );
|
BOOL (WINAPI *pNtGdiUpdateColors)( HDC hdc );
|
||||||
BOOL (WINAPI *pNtGdiWidenPath)( HDC hdc );
|
BOOL (WINAPI *pNtGdiWidenPath)( HDC hdc );
|
||||||
INT (WINAPI *pNtUserCountClipboardFormats)(void);
|
INT (WINAPI *pNtUserCountClipboardFormats)(void);
|
||||||
|
BOOL (WINAPI *pNtUserIsClipboardFormatAvailable)( UINT format );
|
||||||
|
|
||||||
/* Wine-specific functions */
|
/* Wine-specific functions */
|
||||||
UINT (WINAPI *pGDIRealizePalette)( HDC hdc );
|
UINT (WINAPI *pGDIRealizePalette)( HDC hdc );
|
||||||
|
|
|
@ -601,6 +601,11 @@ INT WINAPI NtUserCountClipboardFormats(void)
|
||||||
return unix_funcs->pNtUserCountClipboardFormats();
|
return unix_funcs->pNtUserCountClipboardFormats();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOL WINAPI NtUserIsClipboardFormatAvailable( UINT format )
|
||||||
|
{
|
||||||
|
return unix_funcs->pNtUserIsClipboardFormatAvailable( format );
|
||||||
|
}
|
||||||
|
|
||||||
UINT WINAPI GDIRealizePalette( HDC hdc )
|
UINT WINAPI GDIRealizePalette( HDC hdc )
|
||||||
{
|
{
|
||||||
return unix_funcs->pGDIRealizePalette( hdc );
|
return unix_funcs->pGDIRealizePalette( hdc );
|
||||||
|
|
|
@ -38,6 +38,7 @@ BOOL WINAPI NtUserGetObjectInformation( HANDLE handle, INT index, void *info,
|
||||||
HWINSTA WINAPI NtUserGetProcessWindowStation(void);
|
HWINSTA WINAPI NtUserGetProcessWindowStation(void);
|
||||||
HANDLE WINAPI NtUserGetProp( HWND hwnd, const WCHAR *str );
|
HANDLE WINAPI NtUserGetProp( HWND hwnd, const WCHAR *str );
|
||||||
HDESK WINAPI NtUserGetThreadDesktop( DWORD thread );
|
HDESK WINAPI NtUserGetThreadDesktop( DWORD thread );
|
||||||
|
BOOL WINAPI NtUserIsClipboardFormatAvailable( UINT format );
|
||||||
HWINSTA WINAPI NtUserOpenWindowStation( OBJECT_ATTRIBUTES *attr, ACCESS_MASK access );
|
HWINSTA WINAPI NtUserOpenWindowStation( OBJECT_ATTRIBUTES *attr, ACCESS_MASK access );
|
||||||
BOOL WINAPI NtUserSetObjectInformation( HANDLE handle, INT index, void *info, DWORD len );
|
BOOL WINAPI NtUserSetObjectInformation( HANDLE handle, INT index, void *info, DWORD len );
|
||||||
HDESK WINAPI NtUserOpenDesktop( OBJECT_ATTRIBUTES *attr, DWORD flags, ACCESS_MASK access );
|
HDESK WINAPI NtUserOpenDesktop( OBJECT_ATTRIBUTES *attr, DWORD flags, ACCESS_MASK access );
|
||||||
|
|
Loading…
Reference in New Issue