Release 980503
Thu Apr 30 16:28:12 1998 James Juran <jrj120@psu.edu>
* [scheduler/process.c]
Implemented GetExitCodeProcess. The code is a direct translation
of GetExitCodeThread.
Mon Apr 27 22:20:25 1998 Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
* [loader/pe_image.c]
Unload dummy module when PE_LoadLibraryEx32A fails with
PE_LoadImage (makes Encarta 98 installer proceed).
* [files/drive.c]
Make GetDriveType16 return DRIVE_REMOVABLE for TYPE_CDROM.
Make GetCurrentDirectory32 behave like the code does and not
like the help describes.
* [files/profile.c]
Revoke recent change in PROFILE_GetSection and try better
handling of special case.
* [include/windows.h]
Change definition of ACCEL32.
* [misc/commdlg.c]
Replace the GetXXXFilename32 macros by normal code.
Fix two reported bugs in my changes to commdlg.
* [windows/win.c]
Add a hook to catch bogus WM_SIZE messages by emitting a warning
in the appropriate case.
* [objects/bitmap.c]
Reject unreasonbable large size arguments in
CreateCompatibleBitmap32 and add an fixme for that situation.
Sun Apr 26 18:30:07 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [include/ldt.h] [debugger/*.c] [miscemu/instr.c]
Added IS_SELECTOR_SYSTEM and IS_SELECTOR_32BIT macros.
Make instruction emulation support system selectors.
* [loader/*.c]
Started moving NE specific functions to the new loader/ne
directory.
* [memory/environ.c]
Enforce the 127 chars limit only when creating the environment of
a Win16 process.
Sun Apr 26 12:22:23 1998 Andreas Mohr <100.30936@germany.net>
* [files/file.c]
Fixed an incredible typo in CopyFile32A that made it unusable
since a rewrite in 970112 (!!).
* [files/directory.c]
Fixed GetTempPath32A/W to include trailing backslash.
* [misc/ver.c]
Make find_pe_resource "work" with corrupt files.
* [misc/wsprintf.c]
Altered WPRINTF_ParseFormatA/W to treat invalid format chars
as normal output, too.
* [msdos/dpmi.c]
Implemented "Allocate/Free real mode callback" (0x0303/0x0304).
Cross your fingers if you need to use it ;) (completely untested)
Implemented "Call real mode proc with far return" (0x0301, tested).
* [msdos/int21.c]
Fixed ioctlGenericBlkDevReq/0x60.
* [relay32/dplayx.spec] [relay32/builtin32.c] [relay32/Makefile.in]
Added built-in DPLAYX.DLL.
* [windows/win.c]
Fixed GetWindowWord()/GWW_HWNDPARENT to return the window's owner
if it has no parent (SDK).
Sat Apr 25 15:09:53 1998 M.T.Fortescue <mark@mtfhpc.demon.co.uk>
* [debugger/db_disasm.c]
Fixed disassemble bug for no-display option and 'lock',
'repne' and 'repe' prefixes.
* [debugger/registers.c]
Added textual flag description output on 'info regs'.
Sat Apr 25 14:18:26 1998 Matthew Becker <mbecker@glasscity.net>
* [*/*.c]
Added stubs and/or documentation for the following functions:
LookupPrivilegeValue, OpenService, ControlService, RegGetKeySecurity,
StartService, SetComputerName, DeleteService, CloseServiceHandle,
OpenProcessToken, OpenSCManager, DeregisterEventSource,
WaitForDebugEvent, WaitForInputIdle, RegisterEventSource,
SetDebugErrorLevel, SetConsoleCursorPosition, ChoosePixelFormat,
SetPixelFormat, GetPixelFormat, DescribePixelFormat, SwapBuffers,
PolyBezier, AbortPath, DestroyAcceleratorTable, HeapWalk,
DdeInitialize, DdeUninitialize, DdeConnectList, DdeDisconnectList,
DdeCreateStringHandle, DdePostAdvise, DdeGetData, DdeNameService,
DdeGetLastError, WNetGetDirectoryType, EnumPrinters, RegFlushKey,
RegGetKeySecurity, DllGetClassObject, DllCanUnloadNow, CreateBitmap,
CreateCompatibleBitmap, CreateBitmapIndirect, GetBitmapBits,
SetBitmapBits, LoadImage, CopyImage, LoadBitmap, DrawIcon,
CreateDiscardableBitmap, SetDIBits, GetCharABCWidths, LoadTypeLib,
SetConsoleCtrlHandler, CreateConsoleScreenBuffer, ReadConsoleInput,
GetConsoleCursorInfo, SetConsoleCursorInfo, SetConsoleWindowInfo,
SetConsoleTextAttribute, SetConsoleScreenBufferSize,
FillConsoleOutputCharacter, FillConsoleOutputAttribute,
CreateMailslot, GetMailslotInfo, GetCompressedFileSize,
GetProcessWindowStation, GetThreadDesktop, SetDebugErrorLevel,
WaitForDebugEvent, SetComputerName, CreateMDIWindow.
Thu Apr 23 23:54:04 1998 Douglas Ridgway <ridgway@winehq.com>
* [include/windows.h] [objects/enhmetafile.c] [relay32/gdi32.spec]
Implement CopyEnhMetaFile, Get/SetEnhMetaFileBits, other fixes.
* [include/windows.h] [objects/metafile.c] [relay32/gdi32.spec]
32-bit metafile fixes, implement EnumMetaFile32, GetMetaFileBitsEx.
* [objects/font.c] [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
Some rotated text support for X11R6 displays.
* [win32/newfns.c] [ole/ole2nls.c]
Moved GetNumberFormat32A.
Wed Apr 22 17:38:20 1998 David Lee Lambert <lamber45@egr.msu.edu>
* [ole/ole2nls.c] [misc/network.c]
Changed some function documentation to the new style.
* [misc/network.c] [include/windows.h] [if1632/user.spec]
[relay32/mpr.spec] [misc/mpr.c]
Added stubs for some Win32 network functions; renamed some
16-bit ones with 32-bit counterparts, as well as
WNetGetDirectoryType; moved the stubs in misc/mpr.c (three of
them!) to misc/network.c.
* [ole/compobj.c] [ole/storage.c] [ole/ole2disp.c]
[ole/ole2nls.c] [ole/folders.c] [ole/moniker.c] [ole/ole2.c]
[graphics/fontengine.c] [graphics/ddraw.c] [graphics/env.c]
[graphics/driver.c] [graphics/escape.c]
Changed fprintf's to proper debug-macros.
* [include/winnls.h]
Added some flags (for internal use).
* [ole/ole2nls.c]
Added the Unicode core function, and worked out a way to hide
the commonality of the core.
* [relay32/kernel32.spec]
Added support for GetDate/Time32A/W.
Wed Apr 22 09:16:03 1998 Gordon Chaffee <chaffee@cs.berkeley.edu>
* [win32/code_page.c]
Fixed problem with MultiByteToWideChar that was introduced in
last release. Made MultiByteToWideChar more compatible with Win32.
* [graphics/x11drv/graphics.c]
Fixed problem with drawing arcs.
Tue Apr 21 11:24:58 1998 Constantine Sapuntzakis <csapuntz@tma-1.lcs.mit.edu>
* [ole/ole2nls.c]
Move stuff from 0x409 case to Lang_En.
* [relay32/user32.spec] [windows/winpos.c]
Added stubs for GetWindowRgn32 and SetWindowRgn32. Makes Office
Paperclip happy.
Tue Apr 21 11:16:16 1998 Constantine Sapuntzakis <csapuntz@tma-1.lcs.mit.edu>
* [loader/pe_image.c]
If image is relocated, TLS addresses need to be adjusted.
* [debugger/*.c]
Generalized tests for 32-bit segments.
Tue Apr 21 02:04:59 1998 James Juran <jrj120@psu.edu>
* [misc/*.c] [miscemu/*.c] [msdos/*.c] [if1632/*.c]
[include/*.h] [loader/*.c] [memory/*.c] [multimedia/*.c]
[objects/*.c]
Almost all fprintf statements converted to appropriate
debug messages.
* [README]
Updated "GETTING MORE INFORMATION" section to include WineHQ.
* [documentation/debugger]
Fixed typo.
* [windows/defwnd.c]
Added function documentation.
Sun Apr 19 16:30:58 1998 Marcus Meissner <marcus@mud.de>
* [Make.rules.in]
Added lint target (using lclint).
* [relay32/oleaut32.spec][relay32/Makefile.in][ole/typelib.c]
[ole/ole2disp.c]
Added oleaut32 spec, added some SysString functions.
* [if1632/signal.c]
Added printing of faultaddress in Linux (using CR2 debug register).
* [configure.in]
Added <sys/types.h> for statfs checks.
* [loader/*.c][debugger/break.c][debugger/hash.c]
Started to split win32/win16 module handling, preparing support
for other binary formats (like ELF).
Sat Apr 18 10:07:41 1998 Rein Klazes <rklazes@casema.net>
* [misc/registry.c]
Fixed a bug that made RegQueryValuexxx returning
incorrect registry values.
Fri Apr 17 22:59:22 1998 Alexander V. Lukyanov <lav@long.yar.ru>
* [misc/lstr.c]
FormatMessage32*: remove linefeed when nolinefeed set;
check for target underflow.
Fri Apr 17 00:38:14 1998 Alexander V. Lukyanov <lav@long.yar.ru>
* [misc/crtdll.c]
Implement xlat_file_ptr for CRT stdin/stdout/stderr address
translation.
Wed Apr 15 20:43:56 1998 Jim Peterson <jspeter@birch.ee.vt.edu>
* [controls/menu.c]
Added 'odaction' parameter to MENU_DrawMenuItem() and redirected
WM_DRAWITEM messages to GetWindow(hwnd,GW_OWNER).
Tue Apr 14 16:17:55 1998 Berend Reitsma <berend@united-info.com>
* [graphics/metafiledrv/init.c] [graphics/painting.c]
[graphics/win16drv/init.c] [graphics/x11drv/graphics.c]
[graphics/x11drv/init.c] [include/gdi.h] [include/x11drv.h]
[relay32/gdi32.spec]
Added PolyPolyline routine.
* [windows/winproc.c]
Changed WINPROC_GetProc() to return proc instead of &(jmp proc).
diff --git a/objects/bitmap.c b/objects/bitmap.c
index 71fc644..241eaf3 100644
--- a/objects/bitmap.c
+++ b/objects/bitmap.c
@@ -81,7 +81,7 @@
break;
default:
- fprintf(stderr,"GetBitsPadding: unknown depth %d, please report.\n", bpp );
+ WARN(bitmap,"Unknown depth %d, please report.\n", bpp );
return -1;
}
return pad;
@@ -115,7 +115,7 @@
return 2 * ((bmWidth+3) >> 2);
default:
- fprintf(stderr,"GetBitsPadding: unknown depth %d, please report.\n", bpp );
+ WARN(bitmap,"Unknown depth %d, please report.\n", bpp );
}
return -1;
}
@@ -130,8 +130,19 @@
}
-/***********************************************************************
- * CreateBitmap32 (GDI32.25)
+/******************************************************************************
+ * CreateBitmap32 [GDI32.25] Creates a bitmap with the specified info
+ *
+ * PARAMS
+ * width [I] bitmap width
+ * height [I] bitmap height
+ * planes [I] Number of color planes
+ * bpp [I] Number of bits to identify a color
+ * bits [I] Pointer to array containing color data
+ *
+ * RETURNS
+ * Success: Handle to bitmap
+ * Failure: NULL
*/
HBITMAP32 WINAPI CreateBitmap32( INT32 width, INT32 height, UINT32 planes,
UINT32 bpp, LPCVOID bits )
@@ -142,8 +153,7 @@
planes = (BYTE)planes;
bpp = (BYTE)bpp;
- TRACE(gdi, "%dx%d, %d colors\n",
- width, height, 1 << (planes*bpp) );
+ TRACE(gdi, "%dx%d, %d colors\n", width, height, 1 << (planes*bpp) );
/* Check parameters */
if (!height || !width || planes != 1) return 0;
@@ -190,17 +200,31 @@
}
-/***********************************************************************
- * CreateCompatibleBitmap32 (GDI32.30)
+/******************************************************************************
+ * CreateCompatibleBitmap32 [GDI32.30] Creates a bitmap compatible with the DC
+ *
+ * PARAMS
+ * hdc [I] Handle to device context
+ * width [I] Width of bitmap
+ * height [I] Height of bitmap
+ *
+ * RETURNS
+ * Success: Handle to bitmap
+ * Failure: NULL
*/
-HBITMAP32 WINAPI CreateCompatibleBitmap32(HDC32 hdc, INT32 width, INT32 height)
+HBITMAP32 WINAPI CreateCompatibleBitmap32( HDC32 hdc, INT32 width, INT32 height)
{
HBITMAP32 hbmpRet = 0;
DC *dc;
- TRACE(gdi, "(%04x,%d,%d) = \n",
- hdc, width, height );
+ TRACE(gdi, "(%04x,%d,%d) = \n", hdc, width, height );
if (!(dc = DC_GetDCPtr( hdc ))) return 0;
+ if ((width >0x1000) || (height > 0x1000))
+ {
+ FIXME(gdi,"got bad width %d or height %d, please look for reason\n",
+ width, height );
+ return 0;
+ }
hbmpRet = CreateBitmap32( width, height, 1, dc->w.bitsPerPixel, NULL );
TRACE(gdi,"\t\t%04x\n", hbmpRet);
return hbmpRet;
@@ -217,10 +241,15 @@
}
-/***********************************************************************
- * CreateBitmapIndirect32 (GDI32.26)
+/******************************************************************************
+ * CreateBitmapIndirect32 [GDI32.26] Creates a bitmap with the specifies info
+ *
+ * RETURNS
+ * Success: Handle to bitmap
+ * Failure: NULL
*/
-HBITMAP32 WINAPI CreateBitmapIndirect32( const BITMAP32 * bmp )
+HBITMAP32 WINAPI CreateBitmapIndirect32(
+ const BITMAP32 * bmp) /* [in] Pointer to the bitmap data */
{
return CreateBitmap32( bmp->bmWidth, bmp->bmHeight, bmp->bmPlanes,
bmp->bmBitsPixel, bmp->bmBits );
@@ -249,9 +278,16 @@
/***********************************************************************
- * GetBitmapBits32 (GDI32.143)
+ * GetBitmapBits32 [GDI32.143] Copies bitmap bits of bitmap to buffer
+ *
+ * RETURNS
+ * Success: Number of bytes copied
+ * Failure: 0
*/
-LONG WINAPI GetBitmapBits32( HBITMAP32 hbitmap, LONG count, LPVOID buffer )
+LONG WINAPI GetBitmapBits32(
+ HBITMAP32 hbitmap, /* [in] Handle to bitmap */
+ LONG count, /* [in] Number of bytes to copy */
+ LPVOID buffer) /* [out] Pointer to buffer to receive bits */
{
BITMAPOBJ * bmp;
LONG height, old_height;
@@ -261,7 +297,7 @@
/* KLUDGE! */
if (count < 0) {
- fprintf(stderr, "Negative number of bytes (%ld) passed to GetBitmapBits???\n", count );
+ WARN(bitmap, "(%ld): Negative number of bytes passed???\n", count );
count = -count;
}
bmp = (BITMAPOBJ *) GDI_GetObjPtr( hbitmap, BITMAP_MAGIC );
@@ -356,6 +392,9 @@
}
tbuf += pad;
}
+ break;
+ default:
+ FIXME(bitmap, "Unhandled bits:%d\n", bmp->bitmap.bmBitsPixel);
}
XDestroyImage( image );
LeaveCriticalSection( &X11DRV_CritSection );
@@ -374,10 +413,17 @@
}
-/***********************************************************************
- * SetBitmapBits32 (GDI32.303)
+/******************************************************************************
+ * SetBitmapBits32 [GDI32.303] Sets bits of color data for a bitmap
+ *
+ * RETURNS
+ * Success: Number of bytes used in setting the bitmap bits
+ * Failure: 0
*/
-LONG WINAPI SetBitmapBits32( HBITMAP32 hbitmap, LONG count, LPCVOID buffer )
+LONG WINAPI SetBitmapBits32(
+ HBITMAP32 hbitmap, /* [in] Handle to bitmap */
+ LONG count, /* [in] Number of bytes in bitmap array */
+ LPCVOID buffer) /* [in] Address of array with bitmap bits */
{
struct XPutImage_descr descr;
BITMAPOBJ * bmp;
@@ -388,7 +434,7 @@
/* KLUDGE! */
if (count < 0) {
- fprintf(stderr, "Negative number of bytes (%ld) passed to SetBitmapBits???\n", count );
+ WARN(bitmap, "(%ld): Negative number of bytes passed???\n", count );
count = -count;
}
bmp = (BITMAPOBJ *) GDI_GetObjPtr( hbitmap, BITMAP_MAGIC );
@@ -491,17 +537,19 @@
return height * bmp->bitmap.bmWidthBytes;
}
+/***********************************************************************
+ * LoadImage16 [USER.389]
+ *
+ */
HANDLE16 WINAPI LoadImage16( HINSTANCE16 hinst, LPCSTR name, UINT16 type,
INT16 desiredx, INT16 desiredy, UINT16 loadflags)
{
if (HIWORD(name)) {
- fprintf(stddeb,"LoadImage16(0x%04x,%s,%d,%d,%d,0x%08x)\n",
- hinst,(char *)PTR_SEG_TO_LIN(name),type,desiredx,desiredy,loadflags
- );
+ TRACE(resource,"(0x%04x,%s,%d,%d,%d,0x%08x)\n",
+ hinst,(char *)PTR_SEG_TO_LIN(name),type,desiredx,desiredy,loadflags);
} else {
- fprintf(stddeb,"LoadImage16(0x%04x,%p,%d,%d,%d,0x%08x)\n",
- hinst,name,type,desiredx,desiredy,loadflags
- );
+ TRACE(resource,"LoadImage16(0x%04x,%p,%d,%d,%d,0x%08x)\n",
+ hinst,name,type,desiredx,desiredy,loadflags);
}
switch (type) {
case IMAGE_BITMAP:
@@ -514,8 +562,10 @@
return 0;
}
+
/**********************************************************************
* LoadImage32A (USER32.365)
+ *
* FIXME: implementation still lacks nearly all features, see LR_*
* defines in windows.h
*/
@@ -543,8 +593,35 @@
return 0;
}
+/**********************************************************************
+ * LoadImage32W (USER32.366)
+ *
+ * FIXME: implementation still lacks nearly all features, see LR_*
+ * defines in windows.h
+ */
+
+
+/******************************************************************************
+ * LoadImage32W [USER32.366] Loads an icon, cursor, or bitmap
+ *
+ * PARAMS
+ * hinst [I] Handle of instance that contains image
+ * name [I] Name of image
+ * type [I] Type of image
+ * desiredx [I] Desired width
+ * desiredy [I] Desired height
+ * loadflags [I] Load flags
+ *
+ * RETURNS
+ * Success: Handle to newly loaded image
+ * Failure: NULL
+ *
+ * BUGS
+ * Implementation still lacks nearly all features, see LR_*
+ * defines in windows.h
+ */
HANDLE32 WINAPI LoadImage32W( HINSTANCE32 hinst, LPCWSTR name, UINT32 type,
- INT32 desiredx, INT32 desiredy, UINT32 loadflags)
+ INT32 desiredx, INT32 desiredy, UINT32 loadflags )
{
if (HIWORD(name)) {
TRACE(resource,"(0x%04x,%p,%d,%d,%d,0x%08x)\n",
@@ -555,20 +632,25 @@
hinst,name,type,desiredx,desiredy,loadflags
);
}
- switch (type) {
- case IMAGE_BITMAP:
- return LoadBitmap32W(hinst,name);
- case IMAGE_ICON:
- return LoadIcon32W(hinst,name);
- case IMAGE_CURSOR:
- return LoadCursor32W(hinst,name);
- }
- return 0;
+
+ switch (type) {
+ case IMAGE_BITMAP:
+ return LoadBitmap32W(hinst,name);
+ case IMAGE_ICON:
+ return LoadIcon32W(hinst,name);
+ case IMAGE_CURSOR:
+ return LoadCursor32W(hinst,name);
+ }
+ return NULL;
}
+
/**********************************************************************
* CopyBitmap32 (not an API)
*
+ * NOTES
+ * If it is not an API, why is it declared with WINAPI?
+ *
*/
HBITMAP32 WINAPI CopyBitmap32 (HBITMAP32 hnd)
{
@@ -583,8 +665,20 @@
return res;
}
-/**********************************************************************
- * CopyImage32 (USER32.61)
+
+/******************************************************************************
+ * CopyImage32 [USER32.61] Creates new image and copies attributes to it
+ *
+ * PARAMS
+ * hnd [I] Handle to image to copy
+ * type [I] Type of image to copy
+ * desiredx [I] Desired width of new image
+ * desiredy [I] Desired height of new image
+ * flags [I] Copy flags
+ *
+ * RETURNS
+ * Success: Handle to newly created image
+ * Failure: NULL
*
* FIXME: implementation still lacks nearly all features, see LR_*
* defines in windows.h
@@ -607,6 +701,9 @@
/**********************************************************************
* LoadBitmap16 (USER.175)
+ *
+ * NOTES
+ * Can this call LoadBitmap32?
*/
HBITMAP16 WINAPI LoadBitmap16( HINSTANCE16 instance, SEGPTR name )
{
@@ -647,10 +744,17 @@
return hbitmap;
}
-/**********************************************************************
- * LoadBitmap32W (USER32.358)
+
+/******************************************************************************
+ * LoadBitmap32W [USER32.358] Loads bitmap from the executable file
+ *
+ * RETURNS
+ * Success: Handle to specified bitmap
+ * Failure: NULL
*/
-HBITMAP32 WINAPI LoadBitmap32W( HINSTANCE32 instance, LPCWSTR name )
+HBITMAP32 WINAPI LoadBitmap32W(
+ HINSTANCE32 instance, /* [in] Handle to application instance */
+ LPCWSTR name) /* [in] Address of bitmap resource name */
{
HBITMAP32 hbitmap = 0;
HDC32 hdc;
@@ -754,7 +858,6 @@
}
-
/***********************************************************************
* CreateDiscardableBitmap16 (GDI.156)
*/
@@ -765,11 +868,17 @@
}
-/***********************************************************************
- * CreateDiscardableBitmap32 (GDI32.38)
+/******************************************************************************
+ * CreateDiscardableBitmap32 [GDI32.38] Creates a discardable bitmap
+ *
+ * RETURNS
+ * Success: Handle to bitmap
+ * Failure: NULL
*/
-HBITMAP32 WINAPI CreateDiscardableBitmap32( HDC32 hdc, INT32 width,
- INT32 height )
+HBITMAP32 WINAPI CreateDiscardableBitmap32(
+ HDC32 hdc, /* [in] Handle to device context */
+ INT32 width, /* [in] Bitmap width */
+ INT32 height) /* [in] Bitmap height */
{
return CreateCompatibleBitmap32( hdc, width, height );
}
@@ -777,6 +886,9 @@
/***********************************************************************
* GetBitmapDimensionEx16 (GDI.468)
+ *
+ * NOTES
+ * Can this call GetBitmapDimensionEx32?
*/
BOOL16 WINAPI GetBitmapDimensionEx16( HBITMAP16 hbitmap, LPSIZE16 size )
{
@@ -788,10 +900,16 @@
}
-/***********************************************************************
- * GetBitmapDimensionEx32 (GDI32.144)
+/******************************************************************************
+ * GetBitmapDimensionEx32 [GDI32.144] Retrieves dimensions of a bitmap
+ *
+ * RETURNS
+ * Success: TRUE
+ * Failure: FALSE
*/
-BOOL32 WINAPI GetBitmapDimensionEx32( HBITMAP32 hbitmap, LPSIZE32 size )
+BOOL32 WINAPI GetBitmapDimensionEx32(
+ HBITMAP32 hbitmap, /* [in] Handle to bitmap */
+ LPSIZE32 size) /* [out] Address of struct receiving dimensions */
{
BITMAPOBJ * bmp = (BITMAPOBJ *) GDI_GetObjPtr( hbitmap, BITMAP_MAGIC );
if (!bmp) return FALSE;
@@ -829,11 +947,18 @@
}
-/***********************************************************************
- * SetBitmapDimensionEx32 (GDI32.304)
+/******************************************************************************
+ * SetBitmapDimensionEx32 [GDI32.304] Assignes dimensions to a bitmap
+ *
+ * RETURNS
+ * Success: TRUE
+ * Failure: FALSE
*/
-BOOL32 WINAPI SetBitmapDimensionEx32( HBITMAP32 hbitmap, INT32 x, INT32 y,
- LPSIZE32 prevSize )
+BOOL32 WINAPI SetBitmapDimensionEx32(
+ HBITMAP32 hbitmap, /* [in] Handle to bitmap */
+ INT32 x, /* [in] Bitmap width */
+ INT32 y, /* [in] Bitmap height */
+ LPSIZE32 prevSize) /* [out] Address of structure for orig dims */
{
BITMAPOBJ * bmp = (BITMAPOBJ *) GDI_GetObjPtr( hbitmap, BITMAP_MAGIC );
if (!bmp) return FALSE;