Moved some 16-bit functions from windows/cursoricon.c to
dlls/user/user16.c.
This commit is contained in:
parent
4610c0a902
commit
2d0acacb45
|
@ -21,6 +21,90 @@
|
|||
#include "wine/winuser16.h"
|
||||
#include "winbase.h"
|
||||
|
||||
/* handle to handle 16 conversions */
|
||||
#define HANDLE_16(h32) (LOWORD(h32))
|
||||
#define HBITMAP_16(h32) (LOWORD(h32))
|
||||
#define HCURSOR_16(h32) (LOWORD(h32))
|
||||
#define HICON_16(h32) (LOWORD(h32))
|
||||
|
||||
/* handle16 to handle conversions */
|
||||
#define HANDLE_32(h16) ((HANDLE)(ULONG_PTR)(h16))
|
||||
#define HBRUSH_32(h16) ((HBRUSH)(ULONG_PTR)(h16))
|
||||
#define HCURSOR_32(h16) ((HCURSOR)(ULONG_PTR)(h16))
|
||||
#define HDC_32(h16) ((HDC)(ULONG_PTR)(h16))
|
||||
#define HICON_32(h16) ((HICON)(ULONG_PTR)(h16))
|
||||
#define HINSTANCE_32(h16) ((HINSTANCE)(ULONG_PTR)(h16))
|
||||
|
||||
WORD WINAPI DestroyIcon32(HGLOBAL16, UINT16);
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* SetCursor (USER.69)
|
||||
*/
|
||||
HCURSOR16 WINAPI SetCursor16(HCURSOR16 hCursor)
|
||||
{
|
||||
return HCURSOR_16(SetCursor(HCURSOR_32(hCursor)));
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* ShowCursor (USER.71)
|
||||
*/
|
||||
INT16 WINAPI ShowCursor16(BOOL16 bShow)
|
||||
{
|
||||
return ShowCursor(bShow);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* DrawIcon (USER.84)
|
||||
*/
|
||||
BOOL16 WINAPI DrawIcon16(HDC16 hdc, INT16 x, INT16 y, HICON16 hIcon)
|
||||
{
|
||||
return DrawIcon(HDC_32(hdc), x, y, HICON_32(hIcon));
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* IconSize (USER.86)
|
||||
*
|
||||
* See "Undocumented Windows". Used by W2.0 paint.exe.
|
||||
*/
|
||||
DWORD WINAPI IconSize16(void)
|
||||
{
|
||||
return MAKELONG(GetSystemMetrics(SM_CYICON), GetSystemMetrics(SM_CXICON));
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* LoadCursor (USER.173)
|
||||
*/
|
||||
HCURSOR16 WINAPI LoadCursor16(HINSTANCE16 hInstance, LPCSTR name)
|
||||
{
|
||||
return HCURSOR_16(LoadCursorA(HINSTANCE_32(hInstance), name));
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* LoadIcon (USER.174)
|
||||
*/
|
||||
HICON16 WINAPI LoadIcon16(HINSTANCE16 hInstance, LPCSTR name)
|
||||
{
|
||||
return HICON_16(LoadIconA(HINSTANCE_32(hInstance), name));
|
||||
}
|
||||
|
||||
/**********************************************************************
|
||||
* LoadBitmap (USER.175)
|
||||
*/
|
||||
HBITMAP16 WINAPI LoadBitmap16(HINSTANCE16 hInstance, LPCSTR name)
|
||||
{
|
||||
return HBITMAP_16(LoadBitmapA(HINSTANCE_32(hInstance), name));
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* GetCursor (USER.247)
|
||||
*/
|
||||
HCURSOR16 WINAPI GetCursor16(void)
|
||||
{
|
||||
return HCURSOR_16(GetCursor());
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* GlobalAddAtom (USER.268)
|
||||
*/
|
||||
|
@ -52,3 +136,104 @@ UINT16 WINAPI GlobalGetAtomName16(ATOM nAtom, LPSTR lpBuffer, INT16 nSize)
|
|||
{
|
||||
return GlobalGetAtomNameA(nAtom, lpBuffer, nSize);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* LoadImage (USER.389)
|
||||
*
|
||||
*/
|
||||
HANDLE16 WINAPI LoadImage16(HINSTANCE16 hinst, LPCSTR name, UINT16 type,
|
||||
INT16 desiredx, INT16 desiredy, UINT16 loadflags)
|
||||
{
|
||||
return HANDLE_16(LoadImageA(HINSTANCE_32(hinst), name, type, desiredx,
|
||||
desiredy, loadflags));
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* CopyImage (USER.390) Creates new image and copies attributes to it
|
||||
*
|
||||
*/
|
||||
HICON16 WINAPI CopyImage16(HANDLE16 hnd, UINT16 type, INT16 desiredx,
|
||||
INT16 desiredy, UINT16 flags)
|
||||
{
|
||||
return HICON_16(CopyImage(HANDLE_32(hnd), (UINT)type, (INT)desiredx,
|
||||
(INT)desiredy, (UINT)flags));
|
||||
}
|
||||
|
||||
/**********************************************************************
|
||||
* DrawIconEx (USER.394)
|
||||
*/
|
||||
BOOL16 WINAPI DrawIconEx16(HDC16 hdc, INT16 xLeft, INT16 yTop, HICON16 hIcon,
|
||||
INT16 cxWidth, INT16 cyWidth, UINT16 istep,
|
||||
HBRUSH16 hbr, UINT16 flags)
|
||||
{
|
||||
return DrawIconEx(HDC_32(hdc), xLeft, yTop, HICON_32(hIcon), cxWidth, cyWidth,
|
||||
istep, HBRUSH_32(hbr), flags);
|
||||
}
|
||||
|
||||
/**********************************************************************
|
||||
* GetIconInfo (USER.395)
|
||||
*/
|
||||
BOOL16 WINAPI GetIconInfo16(HICON16 hIcon, LPICONINFO16 iconinfo)
|
||||
{
|
||||
ICONINFO ii32;
|
||||
BOOL16 ret = GetIconInfo(HICON_32(hIcon), &ii32);
|
||||
|
||||
iconinfo->fIcon = ii32.fIcon;
|
||||
iconinfo->xHotspot = ii32.xHotspot;
|
||||
iconinfo->yHotspot = ii32.yHotspot;
|
||||
iconinfo->hbmMask = ii32.hbmMask;
|
||||
iconinfo->hbmColor = ii32.hbmColor;
|
||||
return ret;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* CreateCursor (USER.406)
|
||||
*/
|
||||
HCURSOR16 WINAPI CreateCursor16(HINSTANCE16 hInstance,
|
||||
INT16 xHotSpot, INT16 yHotSpot,
|
||||
INT16 nWidth, INT16 nHeight,
|
||||
LPCVOID lpANDbits, LPCVOID lpXORbits)
|
||||
{
|
||||
CURSORICONINFO info;
|
||||
|
||||
info.ptHotSpot.x = xHotSpot;
|
||||
info.ptHotSpot.y = yHotSpot;
|
||||
info.nWidth = nWidth;
|
||||
info.nHeight = nHeight;
|
||||
info.nWidthBytes = 0;
|
||||
info.bPlanes = 1;
|
||||
info.bBitsPerPixel = 1;
|
||||
|
||||
return CreateCursorIconIndirect16(HINSTANCE_32(hInstance), &info, lpANDbits,
|
||||
lpXORbits);
|
||||
}
|
||||
|
||||
/**********************************************************************
|
||||
* CreateIconFromResourceEx (USER.450)
|
||||
*
|
||||
* FIXME: not sure about exact parameter types
|
||||
*/
|
||||
HICON16 WINAPI CreateIconFromResourceEx16(LPBYTE bits, UINT16 cbSize,
|
||||
BOOL16 bIcon, DWORD dwVersion,
|
||||
INT16 width, INT16 height,
|
||||
UINT16 cFlag)
|
||||
{
|
||||
return HICON_16(CreateIconFromResourceEx(bits, cbSize, bIcon, dwVersion,
|
||||
width, height, cFlag));
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* DestroyIcon (USER.457)
|
||||
*/
|
||||
BOOL16 WINAPI DestroyIcon16(HICON16 hIcon)
|
||||
{
|
||||
return DestroyIcon32(hIcon, 0);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* DestroyCursor (USER.458)
|
||||
*/
|
||||
BOOL16 WINAPI DestroyCursor16(HCURSOR16 hCursor)
|
||||
{
|
||||
return DestroyIcon32(hCursor, 0);
|
||||
}
|
||||
|
|
|
@ -690,19 +690,6 @@ static HGLOBAL16 CURSORICON_CreateFromResource( HINSTANCE16 hInstance, HGLOBAL16
|
|||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* CreateIconFromResourceEx (USER.450)
|
||||
*
|
||||
* FIXME: not sure about exact parameter types
|
||||
*/
|
||||
HICON16 WINAPI CreateIconFromResourceEx16( LPBYTE bits, UINT16 cbSize, BOOL16 bIcon,
|
||||
DWORD dwVersion, INT16 width, INT16 height, UINT16 cFlag )
|
||||
{
|
||||
return CreateIconFromResourceEx(bits, cbSize, bIcon, dwVersion,
|
||||
width, height, cFlag);
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* CreateIconFromResource (USER32.@)
|
||||
*/
|
||||
|
@ -985,49 +972,6 @@ HGLOBAL CURSORICON_ExtCopy(HGLOBAL Handle, UINT nType,
|
|||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* LoadCursor (USER.173)
|
||||
*/
|
||||
HCURSOR16 WINAPI LoadCursor16( HINSTANCE16 hInstance, LPCSTR name )
|
||||
{
|
||||
return LoadCursorA( hInstance, name );
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* LoadIcon (USER.174)
|
||||
*/
|
||||
HICON16 WINAPI LoadIcon16( HINSTANCE16 hInstance, LPCSTR name )
|
||||
{
|
||||
return LoadIconA( hInstance, name );
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* CreateCursor (USER.406)
|
||||
*/
|
||||
HCURSOR16 WINAPI CreateCursor16( HINSTANCE16 hInstance,
|
||||
INT16 xHotSpot, INT16 yHotSpot,
|
||||
INT16 nWidth, INT16 nHeight,
|
||||
LPCVOID lpANDbits, LPCVOID lpXORbits )
|
||||
{
|
||||
CURSORICONINFO info;
|
||||
|
||||
TRACE_(cursor)("%dx%d spot=%d,%d xor=%p and=%p\n",
|
||||
nWidth, nHeight, xHotSpot, yHotSpot, lpXORbits, lpANDbits);
|
||||
|
||||
info.ptHotSpot.x = xHotSpot;
|
||||
info.ptHotSpot.y = yHotSpot;
|
||||
info.nWidth = nWidth;
|
||||
info.nHeight = nHeight;
|
||||
info.nWidthBytes = 0;
|
||||
info.bPlanes = 1;
|
||||
info.bBitsPerPixel = 1;
|
||||
|
||||
return CreateCursorIconIndirect16( hInstance, &info, lpANDbits, lpXORbits );
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* CreateCursor (USER32.@)
|
||||
*/
|
||||
|
@ -1273,14 +1217,6 @@ WORD WINAPI DestroyIcon32( HGLOBAL16 handle, UINT16 flags )
|
|||
return (flags & CID_RESOURCE)? retv : TRUE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* DestroyIcon (USER.457)
|
||||
*/
|
||||
BOOL16 WINAPI DestroyIcon16( HICON16 hIcon )
|
||||
{
|
||||
return DestroyIcon32( hIcon, 0 );
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* DestroyIcon (USER32.@)
|
||||
*/
|
||||
|
@ -1289,13 +1225,6 @@ BOOL WINAPI DestroyIcon( HICON hIcon )
|
|||
return DestroyIcon32( hIcon, CID_WIN32 );
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* DestroyCursor (USER.458)
|
||||
*/
|
||||
BOOL16 WINAPI DestroyCursor16( HCURSOR16 hCursor )
|
||||
{
|
||||
return DestroyIcon32( hCursor, 0 );
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* DestroyCursor (USER32.@)
|
||||
|
@ -1306,15 +1235,6 @@ BOOL WINAPI DestroyCursor( HCURSOR hCursor )
|
|||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* DrawIcon (USER.84)
|
||||
*/
|
||||
BOOL16 WINAPI DrawIcon16( HDC16 hdc, INT16 x, INT16 y, HICON16 hIcon )
|
||||
{
|
||||
return DrawIcon( hdc, x, y, hIcon );
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* DrawIcon (USER32.@)
|
||||
*/
|
||||
|
@ -1352,18 +1272,6 @@ BOOL WINAPI DrawIcon( HDC hdc, INT x, INT y, HICON hIcon )
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* IconSize (USER.86)
|
||||
*
|
||||
* See "Undocumented Windows". Used by W2.0 paint.exe.
|
||||
*/
|
||||
DWORD WINAPI IconSize16( void )
|
||||
{
|
||||
return MAKELONG(GetSystemMetrics(SM_CYICON), GetSystemMetrics(SM_CXICON));
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* DumpIcon (USER.459)
|
||||
*/
|
||||
|
@ -1383,15 +1291,6 @@ DWORD WINAPI DumpIcon16( SEGPTR pInfo, WORD *lpLen,
|
|||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* SetCursor (USER.69)
|
||||
*/
|
||||
HCURSOR16 WINAPI SetCursor16( HCURSOR16 hCursor )
|
||||
{
|
||||
return (HCURSOR16)SetCursor( hCursor );
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* SetCursor (USER32.@)
|
||||
* RETURNS:
|
||||
|
@ -1415,16 +1314,6 @@ HCURSOR WINAPI SetCursor( HCURSOR hCursor /* [in] Handle of cursor to show */ )
|
|||
return hOldCursor;
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* ShowCursor (USER.71)
|
||||
*/
|
||||
INT16 WINAPI ShowCursor16( BOOL16 bShow )
|
||||
{
|
||||
return ShowCursor( bShow );
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* ShowCursor (USER32.@)
|
||||
*/
|
||||
|
@ -1450,16 +1339,6 @@ INT WINAPI ShowCursor( BOOL bShow )
|
|||
return queue->cursor_count;
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* GetCursor (USER.247)
|
||||
*/
|
||||
HCURSOR16 WINAPI GetCursor16(void)
|
||||
{
|
||||
return GetCursor();
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* GetCursor (USER32.@)
|
||||
*/
|
||||
|
@ -1723,22 +1602,6 @@ HICON WINAPI LoadIconA(HINSTANCE hInstance, LPCSTR name)
|
|||
LR_SHARED | LR_DEFAULTSIZE );
|
||||
}
|
||||
|
||||
/**********************************************************************
|
||||
* GetIconInfo (USER.395)
|
||||
*/
|
||||
BOOL16 WINAPI GetIconInfo16(HICON16 hIcon,LPICONINFO16 iconinfo)
|
||||
{
|
||||
ICONINFO ii32;
|
||||
BOOL16 ret = GetIconInfo((HICON)hIcon, &ii32);
|
||||
|
||||
iconinfo->fIcon = ii32.fIcon;
|
||||
iconinfo->xHotspot = ii32.xHotspot;
|
||||
iconinfo->yHotspot = ii32.yHotspot;
|
||||
iconinfo->hbmMask = ii32.hbmMask;
|
||||
iconinfo->hbmColor = ii32.hbmColor;
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**********************************************************************
|
||||
* GetIconInfo (USER32.@)
|
||||
*/
|
||||
|
@ -1826,19 +1689,6 @@ HICON WINAPI CreateIconIndirect(PICONINFO iconinfo)
|
|||
return hObj;
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* DrawIconEx (USER.394)
|
||||
*/
|
||||
BOOL16 WINAPI DrawIconEx16 (HDC16 hdc, INT16 xLeft, INT16 yTop, HICON16 hIcon,
|
||||
INT16 cxWidth, INT16 cyWidth, UINT16 istep,
|
||||
HBRUSH16 hbr, UINT16 flags)
|
||||
{
|
||||
return DrawIconEx(hdc, xLeft, yTop, hIcon, cxWidth, cyWidth,
|
||||
istep, hbr, flags);
|
||||
}
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
* DrawIconEx (USER32.@) Draws an icon or cursor on device context
|
||||
*
|
||||
|
@ -2108,17 +1958,6 @@ static HBITMAP BITMAP_Load( HINSTANCE instance,LPCWSTR name, UINT loadflags )
|
|||
return hbitmap;
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* LoadImage (USER.389)
|
||||
*
|
||||
*/
|
||||
HANDLE16 WINAPI LoadImage16( HINSTANCE16 hinst, LPCSTR name, UINT16 type,
|
||||
INT16 desiredx, INT16 desiredy, UINT16 loadflags)
|
||||
{
|
||||
return LoadImageA( hinst, name, type, desiredx, desiredy, loadflags );
|
||||
}
|
||||
|
||||
/**********************************************************************
|
||||
* LoadImageA (USER32.@)
|
||||
*
|
||||
|
@ -2219,18 +2058,6 @@ HANDLE WINAPI LoadImageW( HINSTANCE hinst, LPCWSTR name, UINT type,
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
* CopyImage (USER.390) Creates new image and copies attributes to it
|
||||
*
|
||||
*/
|
||||
HICON16 WINAPI CopyImage16( HANDLE16 hnd, UINT16 type, INT16 desiredx,
|
||||
INT16 desiredy, UINT16 flags )
|
||||
{
|
||||
return (HICON16)CopyImage((HANDLE)hnd, (UINT)type, (INT)desiredx,
|
||||
(INT)desiredy, (UINT)flags);
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* CopyImage (USER32.@) Creates new image and copies attributes to it
|
||||
*
|
||||
|
@ -2302,11 +2129,3 @@ HBITMAP WINAPI LoadBitmapA( HINSTANCE instance, LPCSTR name )
|
|||
{
|
||||
return LoadImageA( instance, name, IMAGE_BITMAP, 0, 0, 0 );
|
||||
}
|
||||
|
||||
/**********************************************************************
|
||||
* LoadBitmap (USER.175)
|
||||
*/
|
||||
HBITMAP16 WINAPI LoadBitmap16( HINSTANCE16 instance, LPCSTR name )
|
||||
{
|
||||
return LoadBitmapA( instance, name );
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue