Release 970329
Fri Mar 28 14:18:32 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [misc/main.c] [ANNOUNCE]
Update the list of contributors. Please let me know if I forgot
someone.
* [controls/combo.c]
Fixed bug in CB_DIR16 handling.
Use correct text color in CBPaintText.
* [controls/listbox.c]
Fixed WM_CTLCOLOR handling.
* [windows/winproc.c]
Added translation for EM_*32 messages.
Mon Mar 24 01:31:52 1997 Steffen Moeller <moeller@mpimg-berlin-dahlem.mpg.de>
* [files/drive.c]
Added information on device and inode numbers to the DOSDRIVE
struct, using it to find DOS drives in a path even if it contains
symbolic links, eliminating annoying messages at startup.
Edited functions DRIVE_Init and rewrote DRIVE_FindDriveRoot.
Wed Mar 19 16:31:18 1997 John Harvey <john@division.co.uk>
* [graphics/win16drv/font.c] [graphics/win16drv/init.c]
[graphics/x11drv/font.c] [objects/font.c] [include/gdi.h]
[include/win16drv.h] [include/x11drv.h]
Implemented GetCharWidth via graphics drivers.
* [graphics/win16drv/Makefile.in] [graphics/win16drv/prtdrv.c]
Moved printer driver interfaces into a separate file.
* [graphics/win16drv/text.c]
Fixed bugs that seg-faulted write.
Wed Mar 19 13:52:41 1997 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [BUGS]
Update.
* [controls/edit.c]
Removed useless parameters from a lot of functions.
* [controls/menu.c]
Improved keyboard shortcuts. Added check for entries with popup
menu in EnableMenuItem().
* [windows/winproc.c] [windows/win.c] [memory/selector.c]
Do not allocate separate thunks for new windows.
* [misc/clipboard.c] [windows/painting.c]
Fixed problems with ClipBook.
* [controls/combo.c] [controls/edit.c] [controls/listbox.c]
[controls/widgets.c] [windows/graphics.c] [windows/defdlg.c]
Combo rewrite.
* [objects/dib.c]
Slight improvements.
Wed Mar 19 11:21:17 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [misc/crtdll.c]
Added chdir/mkdir.
* [misc/ntdll.c]
Fixed some bugs, added RtlUnicodeStringToAnsiString.
* [win32/process.c]
Added initialisation of events/semaphores/mutices.
Wed Mar 19 01:55:40 1997 Ricardo R. Massaro <massaro@ime.usp.br>
* [resources/sysres_Po.rc]
Added support for Portuguese language.
Sat Mar 18 18:00:14 1997 Uwe Bonnes <bon@elektron.ikp.physik.th-darmstadt.de>
* [windows/winpos.c] [if1632/user.spec] [if1632/user32.spec]
Implemented SwitchToThisWindow().
* [misc/ver.c]
Corrected a flaw in VerInstallFile32A.
* [msdos/int21.c]
Corrected wrong number in Int21 3305
Corrected Int21 714e, implemented Int21 7160,CL=2, 7143 and 7147
Sun Mar 16 09:53:04 1997 Andreas Mohr <100.30936@germany.net>
* [loader/ne_module.c]
Fixed NE_LoadSegments() to set size to pSeg->minsize rather than
setting it to 0x10000 if pSeg->size is 0.
Thu Mar 13 12:15:00 1997 Anand Kumria <akumria@ozemail.com.au>
* [ANNOUNCE]
Added ftp.progsoc.uts.edu.au as a mirror of Wine.
* [memory/global.c]
Removed MemManInfo sizeof check.
Mon Mar 10 10:35:44 MET 1997 Sven Verdoolaege <skimo@breughel.ufsia.ac.be>
* [files/dos_fs.c]
Pick up kernel dirent on glibc systems.
* [loader/signal.c]
Pick up kernel sigaction on glibc systems.
Sat Mar 8 21:05:37 1997 Jimen Ching <jching@aloha.com>
* [debugger/stabs.c] [debugger/msc.c]
Check return value of mmap.
Fri Mar 7 05:42:03 1997 Lee Jaekil <juria@seodu.co.kr>
* [win32/code_page.c]
Added IsValidCodePage.
diff --git a/include/combo.h b/include/combo.h
index 82fe86c..7060bdb 100644
--- a/include/combo.h
+++ b/include/combo.h
@@ -2,20 +2,55 @@
* Combo box definitions
*/
+#ifndef __WINE_COMBO_H
+#define __WINE_COMBO_H
-typedef struct {
- WND* wndSelf;
- DWORD dwStyle;
- DWORD dwState;
- HWND16 hWndEdit;
- HWND16 hWndLBox;
- WORD LBoxTop;
- BOOL16 DropDownVisible;
- short LastSel;
- RECT16 RectEdit;
- RECT16 RectButton;
- BOOL16 bRedrawFlag;
+#define ID_CB_LISTBOX 1000
+#define ID_CB_EDIT 1001
+
+/* Internal flags */
+
+#define CBF_DROPPED 0x0001
+#define CBF_BUTTONDOWN 0x0002
+#define CBF_NOROLLUP 0x0004
+#define CBF_MEASUREITEM 0x0008
+#define CBF_FOCUSED 0x0010
+#define CBF_CAPTURE 0x0020
+#define CBF_EDIT 0x0040
+#define CBF_NORESIZE 0x0080
+#define CBF_EUI 0x8000
+
+/* Combo state struct */
+
+typedef struct
+{
+ WND* self;
+ HWND32 owner;
+ UINT32 dwStyle;
+ HWND32 hWndEdit;
+ HWND32 hWndLBox;
+ UINT16 wState;
+ HFONT16 hFont;
+ RECT16 RectCombo;
+ RECT16 RectEdit;
+ RECT16 RectButton;
+ INT32 droppedWidth; /* last two are not used unless set */
+ INT32 editHeight; /* explicitly */
} HEADCOMBO,*LPHEADCOMBO;
-LRESULT ComboBoxWndProc(HWND16 hwnd, UINT16 message, WPARAM16 wParam, LPARAM lParam);
-LRESULT ComboLBoxWndProc(HWND16 hwnd, UINT16 message, WPARAM16 wParam, LPARAM lParam);
+/*
+ * Note, that CBS_DROPDOWNLIST style is actually (CBS_SIMPLE | CBS_DROPDOWN)!
+ */
+
+#define CB_GETTYPE( lphc ) ((lphc)->dwStyle & (CBS_DROPDOWNLIST))
+#define CB_DISABLED( lphc ) ((lphc)->self->dwStyle & WS_DISABLED)
+#define CB_OWNERDRAWN( lphc ) ((lphc)->dwStyle & (CBS_OWNERDRAWFIXED | CBS_OWNERDRAWVARIABLE))
+#define CB_HASSTRINGS( lphc ) ((lphc)->dwStyle & CBS_HASSTRINGS)
+#define CB_HWND( lphc ) ((lphc)->self->hwndSelf)
+
+BOOL32 COMBO_FlipListbox( LPHEADCOMBO, BOOL32 );
+HWND32 COMBO_GetLBWindow( WND* );
+LRESULT COMBO_Directory( LPHEADCOMBO, UINT32, LPSTR, BOOL32 );
+
+#endif /* __WINE_COMBO_H */
+
diff --git a/include/dialog.h b/include/dialog.h
index a9db72e..ac3a14d 100644
--- a/include/dialog.h
+++ b/include/dialog.h
@@ -28,15 +28,17 @@
HWND16 hwndFocus; /* Current control with focus */
HFONT16 hUserFont; /* Dialog font */
HMENU16 hMenu; /* Dialog menu */
- WORD xBaseUnit; /* Dialog units (depends on the font) */
- WORD yBaseUnit;
+ UINT16 xBaseUnit; /* Dialog units (depends on the font) */
+ UINT16 yBaseUnit;
INT32 idResult; /* EndDialog() result / default pushbutton ID */
- WORD fEnd; /* EndDialog() called for this dialog */
+ UINT16 flags; /* EndDialog() called for this dialog */
HGLOBAL16 hDialogHeap;
} DIALOGINFO;
#pragma pack(4)
+#define DF_END 0x0001
+
extern BOOL32 DIALOG_Init(void);
extern HWND32 DIALOG_CreateIndirect( HINSTANCE32 hInst, LPCSTR dlgTemplate,
BOOL32 win32Template, HWND32 owner,
diff --git a/include/gdi.h b/include/gdi.h
index ad48849..8403005 100644
--- a/include/gdi.h
+++ b/include/gdi.h
@@ -158,6 +158,7 @@
INT32 (*pExcludeVisRect)(DC*,INT32,INT32,INT32,INT32);
BOOL32 (*pExtFloodFill)(DC*,INT32,INT32,COLORREF,UINT32);
BOOL32 (*pExtTextOut)(DC*,INT32,INT32,UINT32,const RECT32*,LPCSTR,UINT32,const INT32*);
+ BOOL32 (*pGetCharWidth)(DC*,UINT32,UINT32,LPINT32);
COLORREF (*pGetPixel)(DC*,INT32,INT32);
BOOL32 (*pGetTextExtentPoint)(DC*,LPCSTR,INT32,LPSIZE32);
BOOL32 (*pGetTextMetrics)(DC*,TEXTMETRIC32A*);
diff --git a/include/graphics.h b/include/graphics.h
index 9ffdbb3..6d933fd 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -13,8 +13,13 @@
extern void GRAPH_DrawReliefRect( HDC32 hdc, const RECT32 *rect,
INT32 highlight_size, INT32 shadow_size,
BOOL32 pressed );
+extern BOOL32 GRAPH_DrawLines( HDC32 hdc, LPPOINT32 pXY, INT32 N, HPEN32 hPen);
+extern void GRAPH_DrawRectangle( HDC32 hdc, INT32 x, INT32 y,
+ INT32 width, INT32 height, HPEN32 hPen);
extern BOOL32 GRAPH_DrawBitmap( HDC32 hdc, HBITMAP32 hbitmap,
- int xdest, int ydest, int xsrc, int ysrc,
- int width, int height );
+ INT32 xdest, INT32 ydest, INT32 xsrc,
+ INT32 ysrc, INT32 width, INT32 height );
+extern BOOL32 GRAPH_SelectClipMask( HDC32 hdc, HBITMAP32 hMono,
+ INT32 x, INT32 y );
#endif /* __WINE_GRAPHICS_H */
diff --git a/include/options.h b/include/options.h
index 3f051d6..36bfb5c 100644
--- a/include/options.h
+++ b/include/options.h
@@ -24,7 +24,8 @@
LANG_It, /* Italian */
LANG_Ko, /* Korean */
LANG_Hu, /* Hungarian */
- LANG_Pl /* Polish */
+ LANG_Pl, /* Polish */
+ LANG_Po /* Portuguese */
} WINE_LANGUAGE;
typedef struct
diff --git a/include/pe_image.h b/include/pe_image.h
index 12f6895..433bcdc 100644
--- a/include/pe_image.h
+++ b/include/pe_image.h
@@ -23,15 +23,15 @@
extern int PE_unloadImage(HMODULE32 hModule);
extern FARPROC32 PE_FindExportedFunction(struct pe_data *pe, LPCSTR funcName);
extern void my_wcstombs(char * result, u_short * source, int len);
-extern PE_EnumResourceTypes32A(HMODULE32,ENUMRESTYPEPROC32A,LONG);
-extern PE_EnumResourceTypes32W(HMODULE32,ENUMRESTYPEPROC32W,LONG);
-extern PE_EnumResourceNames32A(HMODULE32,LPCSTR,ENUMRESNAMEPROC32A,LONG);
-extern PE_EnumResourceNames32W(HMODULE32,LPCWSTR,ENUMRESNAMEPROC32W,LONG);
-extern PE_EnumResourceLanguages32A(HMODULE32,LPCSTR,LPCSTR,ENUMRESLANGPROC32A,LONG);
-extern PE_EnumResourceLanguages32W(HMODULE32,LPCWSTR,LPCWSTR,ENUMRESLANGPROC32W,LONG);
+extern BOOL32 PE_EnumResourceTypes32A(HMODULE32,ENUMRESTYPEPROC32A,LONG);
+extern BOOL32 PE_EnumResourceTypes32W(HMODULE32,ENUMRESTYPEPROC32W,LONG);
+extern BOOL32 PE_EnumResourceNames32A(HMODULE32,LPCSTR,ENUMRESNAMEPROC32A,LONG);
+extern BOOL32 PE_EnumResourceNames32W(HMODULE32,LPCWSTR,ENUMRESNAMEPROC32W,LONG);
+extern BOOL32 PE_EnumResourceLanguages32A(HMODULE32,LPCSTR,LPCSTR,ENUMRESLANGPROC32A,LONG);
+extern BOOL32 PE_EnumResourceLanguages32W(HMODULE32,LPCWSTR,LPCWSTR,ENUMRESLANGPROC32W,LONG);
extern HRSRC32 PE_FindResourceEx32W(HINSTANCE32,LPCWSTR,LPCWSTR,WORD);
extern DWORD PE_SizeofResource32(HINSTANCE32,HRSRC32);
extern HGLOBAL32 PE_LoadResource32(HINSTANCE32,HRSRC32);
-extern void PE_InitializeDLLs(HMODULE16);
+extern void PE_InitializeDLLs(HMODULE16,DWORD,LPVOID);
#endif /* __WINE_PE_IMAGE_H */
diff --git a/include/win.h b/include/win.h
index 0179249..aabfe63 100644
--- a/include/win.h
+++ b/include/win.h
@@ -28,6 +28,21 @@
#define WINSWITCH_CLASS_ATOM MAKEINTATOM(32771) /* WinSwitch */
#define ICONTITLE_CLASS_ATOM MAKEINTATOM(32772) /* IconTitle */
+/* Built-in 32-bit classes */
+typedef enum
+{
+ BIC32_BUTTON,
+ BIC32_EDIT,
+ BIC32_LISTBOX,
+ BIC32_COMBO,
+ BIC32_COMBOLB,
+ BIC32_POPUPMENU,
+ BIC32_SCROLL,
+ BIC32_DESKTOP,
+ BIC32_DIALOG,
+ BIC32_NB_CLASSES
+} BUILTIN_CLASS32;
+
/* PAINT_RedrawWindow() control flags */
#define RDW_C_USEHRGN 0x0001
#define RDW_C_DELETEHRGN 0x0002
@@ -108,6 +123,8 @@
HRGN32 hrgnUpdate, UINT32 flags,
UINT32 control ); /* windows/painting.c */
+extern BOOL32 WIDGETS_IsControl32( WND* pWnd, BUILTIN_CLASS32 cls ); /* controls/widgets.c */
+
extern Display * display;
extern Screen * screen;
extern Window rootWindow;
diff --git a/include/win16drv.h b/include/win16drv.h
index 6b2c8a8..04df416 100644
--- a/include/win16drv.h
+++ b/include/win16drv.h
@@ -152,8 +152,34 @@
SEGPTR segptrFontInfo; /* Current font realized by printer driver */
} WIN16DRV_PDEVICE;
+/*
+ * Printer driver functions
+ */
+typedef SEGPTR LPPDEVICE;
+LOADED_PRINTER_DRIVER *LoadPrinterDriver(const char *pszDriver);
+
+extern INT16 PRTDRV_Control(LPPDEVICE lpDestDev, WORD wfunction, SEGPTR lpInData, SEGPTR lpOutData);
+extern WORD PRTDRV_Enable(LPVOID lpDevInfo, WORD wStyle, LPCSTR lpDestDevType,
+ LPCSTR lpDeviceName, LPCSTR lpOutputFile, LPVOID lpData);
+extern WORD PRTDRV_EnumDFonts(LPPDEVICE lpDestDev, LPSTR lpFaceName,
+ FARPROC16 lpCallbackFunc, LPVOID lpClientData);
+extern DWORD PRTDRV_RealizeObject(LPPDEVICE lpDestDev, WORD wStyle,
+ LPVOID lpInObj, LPVOID lpOutObj,
+ LPTEXTXFORM16 lpTextXForm);
+
+extern BOOL16 PRTDRV_EnumObj(LPPDEVICE lpDestDev, WORD iStyle, FARPROC16 lpfn, LPVOID lpb);
+extern DWORD PRTDRV_ExtTextOut(LPPDEVICE lpDestDev, WORD wDestXOrg, WORD wDestYOrg,
+ RECT16 *lpClipRect, LPCSTR lpString, WORD wCount,
+ SEGPTR lpFontInfo, LPDRAWMODE lpDrawMode,
+ LPTEXTXFORM16 lpTextXForm, SHORT *lpCharWidths,
+ RECT16 * lpOpaqueRect, WORD wOptions);
+
+
/* Wine driver functions */
+extern BOOL32 WIN16DRV_GetCharWidth( struct tagDC *dc, UINT32 firstChar, UINT32 lastChar,
+ LPINT32 buffer );
+
extern BOOL32 WIN16DRV_GetTextExtentPoint( DC *dc, LPCSTR str, INT32 count,
LPSIZE32 size );
extern BOOL32 WIN16DRV_GetTextMetrics( DC *dc, TEXTMETRIC32A *metrics );
@@ -164,4 +190,5 @@
extern HGDIOBJ32 WIN16DRV_SelectObject( DC *dc, HGDIOBJ32 handle );
+
#endif /* __WINE_WIN16DRV_H */
diff --git a/include/windows.h b/include/windows.h
index 6448f63..e55bf16 100644
--- a/include/windows.h
+++ b/include/windows.h
@@ -3300,6 +3300,10 @@
#define CBS_NOINTEGRALHEIGHT 0x0400L
#define CBS_DISABLENOSCROLL 0x0800L
+#define CBS_UPPERCASE 0x2000L
+#define CBS_LOWERCASE 0x4000L
+
+
/* Combo box messages */
#define CB_GETEDITSEL16 (WM_USER+0)
#define CB_GETEDITSEL32 0x0140
@@ -4777,6 +4781,10 @@
#define C3_ALPHA 0x8000
#define C3_NOTAPPLICABLE 0x0000
+/* flags that can be passed to LoadLibraryEx */
+#define DONT_RESOLVE_DLL_REFERENCES 0x00000001
+#define LOAD_LIBRARY_AS_DATAFILE 0x00000002
+#define LOAD_WITH_ALTERED_SEARCH_PATH 0x00000008
#pragma pack(4)
@@ -4918,7 +4926,6 @@
VOID Yield(void);
/* Declarations for functions that exist only in Win32 */
-
BOOL32 Beep(DWORD,DWORD);
BOOL32 ClearCommError(INT32,LPDWORD,LPCOMSTAT);
BOOL32 CloseHandle(HANDLE32);
@@ -4926,12 +4933,21 @@
BOOL32 CopyFile32W(LPCWSTR,LPCWSTR,BOOL32);
#define CopyFile WINELIB_NAME_AW(CopyFile)
INT32 CompareFileTime(LPFILETIME,LPFILETIME);
+HANDLE32 CreateEvent32A(LPSECURITY_ATTRIBUTES,BOOL32,BOOL32,LPCSTR);
+HANDLE32 CreateEvent32W(LPSECURITY_ATTRIBUTES,BOOL32,BOOL32,LPCWSTR);
+#define CreateEvent WINELIB_NAME_AW(CreateEvent)
HFILE32 CreateFile32A(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE32);
HFILE32 CreateFile32W(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE32);
#define CreateFile WINELIB_NAME_AW(CreateFile)
HANDLE32 CreateFileMapping32A(HANDLE32,LPSECURITY_ATTRIBUTES,DWORD,DWORD,DWORD,LPCSTR);
HANDLE32 CreateFileMapping32W(HANDLE32,LPSECURITY_ATTRIBUTES,DWORD,DWORD,DWORD,LPCWSTR);
#define CreateFileMapping WINELIB_NAME_AW(CreateFileMapping)
+HANDLE32 CreateMutex32A(LPSECURITY_ATTRIBUTES,BOOL32,LPCSTR);
+HANDLE32 CreateMutex32W(LPSECURITY_ATTRIBUTES,BOOL32,LPCWSTR);
+#define CreateMutex WINELIB_NAME_AW(CreateMutex)
+HANDLE32 CreateSemaphore32A(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCSTR);
+HANDLE32 CreateSemaphore32W(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCWSTR);
+#define CreateSemaphore WINELIB_NAME_AW(CreateSemaphore)
BOOL32 DosDateTimeToFileTime(WORD,WORD,LPFILETIME);
INT32 EnumPropsEx32A(HWND32,PROPENUMPROCEX32A,LPARAM);
INT32 EnumPropsEx32W(HWND32,PROPENUMPROCEX32W,LPARAM);
@@ -5024,6 +5040,8 @@
BOOL32 IsWindowUnicode(HWND32);
BOOL32 IsValidLocale(DWORD,DWORD);
BOOL32 LocalFileTimeToFileTime(const FILETIME*,LPFILETIME);
+SEGPTR MapLS(LPVOID);
+LPVOID MapSL(SEGPTR);
LPVOID MapViewOfFile(HANDLE32,DWORD,DWORD,DWORD,DWORD);
LPVOID MapViewOfFileEx(HANDLE32,DWORD,DWORD,DWORD,DWORD,LPVOID);
INT32 MessageBoxEx32A(HWND32,LPCSTR,LPCSTR,UINT32,WORD);
@@ -5032,9 +5050,18 @@
BOOL32 MoveFile32A(LPCSTR,LPCSTR);
BOOL32 MoveFile32W(LPCWSTR,LPCWSTR);
#define MoveFile WINELIB_NAME_AW(MoveFile)
+HANDLE32 OpenEvent32A(DWORD,BOOL32,LPCSTR);
+HANDLE32 OpenEvent32W(DWORD,BOOL32,LPCWSTR);
+#define OpenEvent WINELIB_NAME_AW(OpenEvent)
HANDLE32 OpenFileMapping32A(DWORD,BOOL32,LPCSTR);
HANDLE32 OpenFileMapping32W(DWORD,BOOL32,LPCWSTR);
#define OpenFileMapping WINELIB_NAME_AW(OpenFileMapping)
+HANDLE32 OpenMutex32A(DWORD,BOOL32,LPCSTR);
+HANDLE32 OpenMutex32W(DWORD,BOOL32,LPCWSTR);
+#define OpenMutex WINELIB_NAME_AW(OpenMutex)
+HANDLE32 OpenSemaphore32A(DWORD,BOOL32,LPCSTR);
+HANDLE32 OpenSemaphore32W(DWORD,BOOL32,LPCWSTR);
+#define OpenSemaphore WINELIB_NAME_AW(OpenSemaphore)
DWORD QueryDosDevice32A(LPCSTR,LPSTR,DWORD);
DWORD QueryDosDevice32W(LPCWSTR,LPWSTR,DWORD);
#define QueryDosDevice WINELIB_NAME_AW(QueryDosDevice)
@@ -5059,6 +5086,7 @@
DWORD RegQueryInfoKey32A(HKEY,LPSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD,
LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPFILETIME);
#define RegQueryInfoKey WINELIB_NAME_AW(RegQueryInfoKey)
+BOOL32 ReleaseSemaphore(HANDLE32,LONG,LPLONG);
VOID RtlFillMemory(LPVOID,UINT32,UINT32);
VOID RtlMoveMemory(LPVOID,LPCVOID,UINT32);
VOID RtlZeroMemory(LPVOID,UINT32);
@@ -5091,6 +5119,7 @@
BOOL32 TlsFree(DWORD);
LPVOID TlsGetValue(DWORD);
BOOL32 TlsSetValue(DWORD,LPVOID);
+VOID UnMapLS(SEGPTR);
BOOL32 UnmapViewOfFile(LPVOID);
LPVOID VirtualAlloc(LPVOID,DWORD,DWORD,DWORD);
BOOL32 VirtualFree(LPVOID,DWORD,DWORD);
@@ -6474,6 +6503,9 @@
HGLOBAL16 LockSegment16(HGLOBAL16);
#define LockSegment32(handle) GlobalFix32((HANDLE32)(handle))
#define LockSegment WINELIB_NAME(LockSegment)
+BOOL16 LockWindowUpdate16(HWND16);
+BOOL32 LockWindowUpdate32(HWND32);
+#define LockWindowUpdate WINELIB_NAME(LockWindowUpdate)
BOOL16 LPtoDP16(HDC16,LPPOINT16,INT16);
BOOL32 LPtoDP32(HDC32,LPPOINT32,INT32);
#define LPtoDP WINELIB_NAME(LPtoDP)
@@ -7051,6 +7083,9 @@
BOOL16 SwapMouseButton16(BOOL16);
BOOL32 SwapMouseButton32(BOOL32);
#define SwapMouseButton WINELIB_NAME(SwapMouseButton)
+VOID SwitchToThisWindow16(HWND16,BOOL16);
+VOID SwitchToThisWindow32(HWND32,BOOL32);
+#define SwitchToThisWindow WINELIB_NAME(SwitchToThisWindow)
INT16 SyncAllVoices16(void);
DWORD SyncAllVoices32(void);
#define SyncAllVoices WINELIB_NAME(SyncAllVoices)
diff --git a/include/winproc.h b/include/winproc.h
index 1a5ba11..7a1c696 100644
--- a/include/winproc.h
+++ b/include/winproc.h
@@ -17,13 +17,20 @@
WIN_PROC_32W
} WINDOWPROCTYPE;
+typedef enum
+{
+ WIN_PROC_CLASS,
+ WIN_PROC_WINDOW,
+ WIN_PROC_TIMER
+} WINDOWPROCUSER;
+
typedef void *HWINDOWPROC; /* Really a pointer to a WINDOWPROC */
extern BOOL32 WINPROC_Init(void);
extern WNDPROC16 WINPROC_GetProc( HWINDOWPROC proc, WINDOWPROCTYPE type );
extern BOOL32 WINPROC_SetProc( HWINDOWPROC *pFirst, WNDPROC16 func,
- WINDOWPROCTYPE type );
-extern void WINPROC_FreeProc( HWINDOWPROC proc );
+ WINDOWPROCTYPE type, WINDOWPROCUSER user );
+extern void WINPROC_FreeProc( HWINDOWPROC proc, WINDOWPROCUSER user );
extern WINDOWPROCTYPE WINPROC_GetProcType( HWINDOWPROC proc );
extern INT32 WINPROC_MapMsg32ATo32W( UINT32 msg, WPARAM32 wParam,
@@ -51,8 +58,8 @@
extern void WINPROC_UnmapMsg16To32W( UINT32 msg, WPARAM32 wParam,
LPARAM lParam );
extern void WINPROC_UnmapMsg32ATo16( UINT32 msg, WPARAM16 wParam,
- LPARAM lParam );
+ LPARAM lParam, LRESULT lResult );
extern void WINPROC_UnmapMsg32WTo16( UINT32 msg, WPARAM16 wParam,
- LPARAM lParam );
+ LPARAM lParam, LRESULT lResult );
#endif /* __WINE_WINPROC_H */
diff --git a/include/x11drv.h b/include/x11drv.h
index a08831e..26336c9 100644
--- a/include/x11drv.h
+++ b/include/x11drv.h
@@ -53,6 +53,8 @@
extern BOOL32 X11DRV_BitBlt( struct tagDC *dcDst, INT32 xDst, INT32 yDst,
INT32 width, INT32 height, struct tagDC *dcSrc,
INT32 xSrc, INT32 ySrc, DWORD rop );
+extern BOOL32 X11DRV_GetCharWidth( struct tagDC *dc, UINT32 firstChar,
+ UINT32 lastChar, LPINT32 buffer );
extern BOOL32 X11DRV_GetTextExtentPoint( struct tagDC *dc, LPCSTR str,
INT32 count, LPSIZE32 size );
extern BOOL32 X11DRV_GetTextMetrics(struct tagDC *dc, TEXTMETRIC32A *metrics);