wine/dlls/winex11.drv/x11drv.h

754 lines
33 KiB
C
Raw Normal View History

Release 960824 Sat Aug 24 13:57:01 1996 Alexandre Julliard <julliard@lrc.epfl.ch> * [controls/scroll.c] Renamed SCROLLINFO to SCROLLBAR_INFO to avoid conflict with Win32. * [graphics/driver.c] [include/x11drv.h] New files for graphics driver handling. * [if1632/relay.c] [include/registers.h] [tools/build.c] Implemented Win32 register functions. Not really tested yet. * [include/gdi.h] Added a lot of functions to the DC func table. * [loader/pe_image.c] Initialise %fs before calling out to 32-bit code. * [windows/hook.c] Fixed bug in HOOK_GetHook(). * [windows/win.c] Fixed FindWindow to return an error if the class name doesn't exist. Wed Aug 21 15:15:53 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de> * [if1632/Makefile.in] [misc/mpr.c] [if1632/mpr.spec] mpr.dll specs added. * [if1632/kernel32.spec] [win32/newfns.c] [memory/global.c] QueryPerformanceCounter(), GlobalMemoryStatus() added. * [if1632/user32.spec] [win32/error.c] SetLastErrorEx() added. * [misc/commdlg.c] lpstrFilter might be NULL in FILE_WMInitDialog (NS 3.0 setup). * [misc/registry.c] Some missing NULL ptr checks added, misc clean up. Tue Aug 20 21:00:00 1996 Alex Korobka <alex@pharm.sunysb.edu> * [controls/menu.c] Adjust popup menu coordinates so that it always stays within the desktop. * [misc/main.c] Fixed GetEnvironment() return value for lpEnv == NULL case. Mon Aug 19 22:48:36 1996 Jukka Iivonen <iivonen@cc.helsinki.fi> * [misc/crtdll.c] [if1632/crtdll.spec] Added some is* functions, strlen and tolower. Mon Aug 19 13:33:13 1996 Stephen Simmons <ssimmons@vitsemi.com> * [tools/wineconf] New perl script to generate the wine.conf file. Fri Aug 16 15:31:44 1996 John Harvey <john@division.co.uk> * [if1632/gdi.spec] Lots of printer functions. * [include/callback.h] New functions for printer driver support. * [include/gdi.h] New/changed structures to support printer driver. * [misc/escape.c] New version that uses function table in DC structure. * [objects/dc.c] CreateDC copes with things other than Display. X code for CreateDC moved to graphics/x11drv directory. CreateCompatibleDC copies func table from original DC. * [objects/font.c] GetTextExtentPoint32A,GetTextMetrics16 use function table in DC and code moved to drivers directory. * [misc/printdrv.c] [graphics/*/*] [include/win16drv.h] New files for printer support. Fri Aug 16 12:33:00 1996 Bruce Milner <Bruce.Milner@genetics.utah.edu> * [controls/scroll.c] Added SetScrollInfo32 and GetScrollInfo32. These just call existing code. There are a few options in which I'm probably the wrong person for the job (page size and disable bar). There are comments in the code as to what they should do. * [objects/gdiobj.c] [objects/font.c] [include/font.h] Added 32 bit version of FONT_GetObject.
1996-08-24 18:26:35 +00:00
/*
* X11 driver definitions
*
* Copyright 1996 Alexandre Julliard
* Copyright 1999 Patrik Stridvall
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
Release 960824 Sat Aug 24 13:57:01 1996 Alexandre Julliard <julliard@lrc.epfl.ch> * [controls/scroll.c] Renamed SCROLLINFO to SCROLLBAR_INFO to avoid conflict with Win32. * [graphics/driver.c] [include/x11drv.h] New files for graphics driver handling. * [if1632/relay.c] [include/registers.h] [tools/build.c] Implemented Win32 register functions. Not really tested yet. * [include/gdi.h] Added a lot of functions to the DC func table. * [loader/pe_image.c] Initialise %fs before calling out to 32-bit code. * [windows/hook.c] Fixed bug in HOOK_GetHook(). * [windows/win.c] Fixed FindWindow to return an error if the class name doesn't exist. Wed Aug 21 15:15:53 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de> * [if1632/Makefile.in] [misc/mpr.c] [if1632/mpr.spec] mpr.dll specs added. * [if1632/kernel32.spec] [win32/newfns.c] [memory/global.c] QueryPerformanceCounter(), GlobalMemoryStatus() added. * [if1632/user32.spec] [win32/error.c] SetLastErrorEx() added. * [misc/commdlg.c] lpstrFilter might be NULL in FILE_WMInitDialog (NS 3.0 setup). * [misc/registry.c] Some missing NULL ptr checks added, misc clean up. Tue Aug 20 21:00:00 1996 Alex Korobka <alex@pharm.sunysb.edu> * [controls/menu.c] Adjust popup menu coordinates so that it always stays within the desktop. * [misc/main.c] Fixed GetEnvironment() return value for lpEnv == NULL case. Mon Aug 19 22:48:36 1996 Jukka Iivonen <iivonen@cc.helsinki.fi> * [misc/crtdll.c] [if1632/crtdll.spec] Added some is* functions, strlen and tolower. Mon Aug 19 13:33:13 1996 Stephen Simmons <ssimmons@vitsemi.com> * [tools/wineconf] New perl script to generate the wine.conf file. Fri Aug 16 15:31:44 1996 John Harvey <john@division.co.uk> * [if1632/gdi.spec] Lots of printer functions. * [include/callback.h] New functions for printer driver support. * [include/gdi.h] New/changed structures to support printer driver. * [misc/escape.c] New version that uses function table in DC structure. * [objects/dc.c] CreateDC copes with things other than Display. X code for CreateDC moved to graphics/x11drv directory. CreateCompatibleDC copies func table from original DC. * [objects/font.c] GetTextExtentPoint32A,GetTextMetrics16 use function table in DC and code moved to drivers directory. * [misc/printdrv.c] [graphics/*/*] [include/win16drv.h] New files for printer support. Fri Aug 16 12:33:00 1996 Bruce Milner <Bruce.Milner@genetics.utah.edu> * [controls/scroll.c] Added SetScrollInfo32 and GetScrollInfo32. These just call existing code. There are a few options in which I'm probably the wrong person for the job (page size and disable bar). There are comments in the code as to what they should do. * [objects/gdiobj.c] [objects/font.c] [include/font.h] Added 32 bit version of FONT_GetObject.
1996-08-24 18:26:35 +00:00
*/
#ifndef __WINE_X11DRV_H
#define __WINE_X11DRV_H
2002-05-31 23:06:46 +00:00
#ifndef __WINE_CONFIG_H
# error You must include config.h to use this header
#endif
1998-12-26 12:00:43 +00:00
#include <stdarg.h>
1998-12-26 12:00:43 +00:00
#include <X11/Xlib.h>
#include <X11/Xresource.h>
#include <X11/Xutil.h>
#include <X11/Xatom.h>
2000-04-25 19:55:35 +00:00
#ifdef HAVE_LIBXXSHM
# include <X11/extensions/XShm.h>
#endif /* defined(HAVE_LIBXXSHM) */
#define BOOL X_BOOL
#define BYTE X_BYTE
#define INT8 X_INT8
#define INT16 X_INT16
#define INT32 X_INT32
#define INT64 X_INT64
#include <X11/Xmd.h>
#include <X11/Xproto.h>
#undef BOOL
#undef BYTE
#undef INT8
#undef INT16
#undef INT32
#undef INT64
#undef LONG64
#undef Status /* avoid conflict with wintrnl.h */
typedef int Status;
1998-12-07 09:13:40 +00:00
1999-03-14 16:35:05 +00:00
#include "windef.h"
2000-06-08 04:57:22 +00:00
#include "winbase.h"
#include "wingdi.h"
#include "winuser.h"
#include "ddrawi.h"
#include "wine/list.h"
2000-05-12 20:18:14 +00:00
#define MAX_PIXELFORMATS 8
#define MAX_DASHLEN 16
struct tagCURSORICONINFO;
Release 960824 Sat Aug 24 13:57:01 1996 Alexandre Julliard <julliard@lrc.epfl.ch> * [controls/scroll.c] Renamed SCROLLINFO to SCROLLBAR_INFO to avoid conflict with Win32. * [graphics/driver.c] [include/x11drv.h] New files for graphics driver handling. * [if1632/relay.c] [include/registers.h] [tools/build.c] Implemented Win32 register functions. Not really tested yet. * [include/gdi.h] Added a lot of functions to the DC func table. * [loader/pe_image.c] Initialise %fs before calling out to 32-bit code. * [windows/hook.c] Fixed bug in HOOK_GetHook(). * [windows/win.c] Fixed FindWindow to return an error if the class name doesn't exist. Wed Aug 21 15:15:53 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de> * [if1632/Makefile.in] [misc/mpr.c] [if1632/mpr.spec] mpr.dll specs added. * [if1632/kernel32.spec] [win32/newfns.c] [memory/global.c] QueryPerformanceCounter(), GlobalMemoryStatus() added. * [if1632/user32.spec] [win32/error.c] SetLastErrorEx() added. * [misc/commdlg.c] lpstrFilter might be NULL in FILE_WMInitDialog (NS 3.0 setup). * [misc/registry.c] Some missing NULL ptr checks added, misc clean up. Tue Aug 20 21:00:00 1996 Alex Korobka <alex@pharm.sunysb.edu> * [controls/menu.c] Adjust popup menu coordinates so that it always stays within the desktop. * [misc/main.c] Fixed GetEnvironment() return value for lpEnv == NULL case. Mon Aug 19 22:48:36 1996 Jukka Iivonen <iivonen@cc.helsinki.fi> * [misc/crtdll.c] [if1632/crtdll.spec] Added some is* functions, strlen and tolower. Mon Aug 19 13:33:13 1996 Stephen Simmons <ssimmons@vitsemi.com> * [tools/wineconf] New perl script to generate the wine.conf file. Fri Aug 16 15:31:44 1996 John Harvey <john@division.co.uk> * [if1632/gdi.spec] Lots of printer functions. * [include/callback.h] New functions for printer driver support. * [include/gdi.h] New/changed structures to support printer driver. * [misc/escape.c] New version that uses function table in DC structure. * [objects/dc.c] CreateDC copes with things other than Display. X code for CreateDC moved to graphics/x11drv directory. CreateCompatibleDC copies func table from original DC. * [objects/font.c] GetTextExtentPoint32A,GetTextMetrics16 use function table in DC and code moved to drivers directory. * [misc/printdrv.c] [graphics/*/*] [include/win16drv.h] New files for printer support. Fri Aug 16 12:33:00 1996 Bruce Milner <Bruce.Milner@genetics.utah.edu> * [controls/scroll.c] Added SetScrollInfo32 and GetScrollInfo32. These just call existing code. There are a few options in which I'm probably the wrong person for the job (page size and disable bar). There are comments in the code as to what they should do. * [objects/gdiobj.c] [objects/font.c] [include/font.h] Added 32 bit version of FONT_GetObject.
1996-08-24 18:26:35 +00:00
2003-11-21 21:48:36 +00:00
extern void wine_tsx11_lock(void);
extern void wine_tsx11_unlock(void);
Release 960824 Sat Aug 24 13:57:01 1996 Alexandre Julliard <julliard@lrc.epfl.ch> * [controls/scroll.c] Renamed SCROLLINFO to SCROLLBAR_INFO to avoid conflict with Win32. * [graphics/driver.c] [include/x11drv.h] New files for graphics driver handling. * [if1632/relay.c] [include/registers.h] [tools/build.c] Implemented Win32 register functions. Not really tested yet. * [include/gdi.h] Added a lot of functions to the DC func table. * [loader/pe_image.c] Initialise %fs before calling out to 32-bit code. * [windows/hook.c] Fixed bug in HOOK_GetHook(). * [windows/win.c] Fixed FindWindow to return an error if the class name doesn't exist. Wed Aug 21 15:15:53 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de> * [if1632/Makefile.in] [misc/mpr.c] [if1632/mpr.spec] mpr.dll specs added. * [if1632/kernel32.spec] [win32/newfns.c] [memory/global.c] QueryPerformanceCounter(), GlobalMemoryStatus() added. * [if1632/user32.spec] [win32/error.c] SetLastErrorEx() added. * [misc/commdlg.c] lpstrFilter might be NULL in FILE_WMInitDialog (NS 3.0 setup). * [misc/registry.c] Some missing NULL ptr checks added, misc clean up. Tue Aug 20 21:00:00 1996 Alex Korobka <alex@pharm.sunysb.edu> * [controls/menu.c] Adjust popup menu coordinates so that it always stays within the desktop. * [misc/main.c] Fixed GetEnvironment() return value for lpEnv == NULL case. Mon Aug 19 22:48:36 1996 Jukka Iivonen <iivonen@cc.helsinki.fi> * [misc/crtdll.c] [if1632/crtdll.spec] Added some is* functions, strlen and tolower. Mon Aug 19 13:33:13 1996 Stephen Simmons <ssimmons@vitsemi.com> * [tools/wineconf] New perl script to generate the wine.conf file. Fri Aug 16 15:31:44 1996 John Harvey <john@division.co.uk> * [if1632/gdi.spec] Lots of printer functions. * [include/callback.h] New functions for printer driver support. * [include/gdi.h] New/changed structures to support printer driver. * [misc/escape.c] New version that uses function table in DC structure. * [objects/dc.c] CreateDC copes with things other than Display. X code for CreateDC moved to graphics/x11drv directory. CreateCompatibleDC copies func table from original DC. * [objects/font.c] GetTextExtentPoint32A,GetTextMetrics16 use function table in DC and code moved to drivers directory. * [misc/printdrv.c] [graphics/*/*] [include/win16drv.h] New files for printer support. Fri Aug 16 12:33:00 1996 Bruce Milner <Bruce.Milner@genetics.utah.edu> * [controls/scroll.c] Added SetScrollInfo32 and GetScrollInfo32. These just call existing code. There are a few options in which I'm probably the wrong person for the job (page size and disable bar). There are comments in the code as to what they should do. * [objects/gdiobj.c] [objects/font.c] [include/font.h] Added 32 bit version of FONT_GetObject.
1996-08-24 18:26:35 +00:00
/* X physical pen */
typedef struct
{
int style;
Release 971221 Fri Dec 19 10:50:46 1997 Douglas Ridgway <ridgway@winehq.com> * [Make.rules.in] [Makefile.in] [documentation/Makefile.in] [documentation/README.documentation] First cut at Wine API documentation. No longer install reference manual by default. Wed Dec 17 21:32:23 1997 Andreas Mohr <100.30936@germany.net> * [files/file.c] Fixed GetTempFileName16() to use current path of requested drive as needed. * [if1632/Makefile.in] [if1632/builtin.c] [if1632/dciman32.spec] [if1632/msvfw32.spec] [if1632/tapi32.spec] [if1632/wow32.spec] Added misc DLLs needed by various apps. Wed Dec 17 12:01:50 1997 Morten Eriksen <mortene@sim.no> * [if1632/gdi32.spec] [include/windows.h] [objects/palette.c] Inserted empty stub for CreateHalftonePalette. Tue Dec 16 22:08:06 1997 Huw D M Davies <h.davies1@physics.oxford.ac.uk> * [windows/mdi.c] Use VK_TAB instead of VK_SEPARATOR in TranslateMDISysAccel(). * [graphics/metafiledrv/init.c] DeleteDC() on a MetaDC doesn't do anything - it shouldn't. Therefore fix cleanup of MetaDCs in CloseMetaFile(); they now actually get removed from the GDI heap! * [graphics/x11drv/xfont.c] Preserve FO_MATCH_XYINDEP flag in XFONT_MatchFIList(). Should reduce the number of bold-italic matches. Tue Dec 16 20:11:43 1997 Bertho Stultiens <bertho@panter.soci.aau.dk> * [graphics/painting.c] Included an implementation of DrawState * [if1632/thunk.c] Changed many fprintfs into dprintf_thunk * [include/cache.h] [graphics/cache.c] New files to hold cached handles to regulary used GDI object. * [include/windows.h] Added DRAWSTATExx typedefs Added DSS_DEFAULT define for DrawState * [objects/text.c] New implementation of GrayString() * [controls/uitools.c] Implemented DrawFrameControl() functions Changed DrawEdge() behaviour to win95 implementation Mon Dec 15 23:43:01 1997 Martin Boehme <boehme@informatik.mu-luebeck.de> * [graphics/path.c] [include/path.h] [graphics/painting.c] [if1632/gdi32.spec] [include/gdi.h] [include/windows.h] [objects/dc.c] Added preliminary support for GDI paths. * [objects/dc.c] Added DC_Init_DC_INFO function for initializing WIN_DC_INFO structure. * [include/windows.h] [include/gdi.h] [objects/gdiobj.c] Added DEFAULT_GUI_FONT. * [include/winerror.h] Added a few error codes. * [memory/heap.c] Changed HeapAlloc to make the correct calls to SetLastError (now conforms to NT's behaviour). * [windows/win.c] Changed WIN_CreateWindowEx to allow child windows with zero width / height. Sun Dec 14 12:01:07 1997 Alexandre Julliard <julliard@lrc.epfl.ch> * [if1632/*] [relay32/*] Moved all 32-bit relay stuff to relay32/ * [fi1632/thunk.c] [win32/kernel32.c] Moved all KERNEL32 ordinal functions to kernel32.c * [memory/selector.c] Initialize selectors in AllocSelectorArray. * [tools/build.c] Generate C instead of assembly for Win32 relays. Fixed stack corruption in CallTo16 functions, found by Bertho Stultiens. Sun Dec 14 10:55:00 1997 Andreas Mohr <100.30936@germany.net> * [if1632/Makefile.in] [if1632/builtin.c] [if1632/ole2thk.spec] Added built-in OLE2THK.DLL. * [if1632/toolhelp.spec] [include/toolhelp.h] [memory/selector.c] [misc/toolhelp.c] Added stubs for StackTraceFirst(), StackTraceCSIPFirst(), StackTraceNext(), UTSelectorOffsetToLinear() and UTLinearToSelectorOffset(). Sat Dec 13 17:26:41 1997 Alex Korobka <alex@trantor.pharm.sunysb.edu> * [misc/winsock.c] 32-bit API fixes for reported problems (thanks to Marcus and David). * [graphics/x11drv/xfont.c] Little tweak in point size calculation. * [windows/defwnd.c] [windows/dce.c] [windows/winhelp.c] [windows/winproc.c] [windows/win.c] Bug fixes. Sat Dec 13 16:35:14 1997 Kai Morich <kai.morich@rhein-neckar.netsurf.de> * [files/dos_fs.c] OpenFile with empty filename and OF_PARSE returns current dir. * [misc/commdlg.c] Ignore initial dir if bogus. * [files/file.c] Locking an identic region in a file must not be an error. * [misc/lstr.c] Use wide char ctype functions. Fri Dec 12 23:46:22 1997 Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de> * [file/drive.c] First attempt for GetDiskFreeSpaceEx. Fri Dec 12 23:18:41 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de> * [loader/pe_resource.c] Fixed wrongly appearing menus problem (only use default lookups in last resource subtree). * [multimedia/*.c] Added win32 support for time* and joy* lowlevel drivers, (not excessively tested), some misc fixes and cleanups. * [misc/shellord.c][misc/shell.c][ole/folders.c][ole/ifs.c] [include/interfaces.h][include/shlobj.h] Added some more undocumented SHELL32 functions, some shell folder interface stubs added, SHGetMalloc, SHGetDesktopFolder, SHGetSpecialFolderLocation, SHGetPathFromIDList stubs added, IMalloc, IUnknown implemented. * [windows/msgbox.c] Implemented MessageBoxIndirect*, some internal changes. * [if1632/thunk.c] KERNEL_431 implemented. * [objects/gdiobj.c] GetCurrentObject implemented. Wed Dec 3 01:09:17 1997 Gordon Chaffee <chaffee@apu.cs.berkeley.edu> * [objects/dib.c] Fix a couple small DIB problems. * [controls/edit.c] Fix a typo. * [files/dos_fs.c] Try normal readdir in case fs is specified as vfat but isn't. * [files/profile.c] Implementation of WritePrivateProfileSection32A from Uwe Bonnes. * [misc/printdrv.c] OpenPrinter32A stub, helps Word97 start. * [objects/text.c] Fixup implementation of GetTextCharsetInfo. * [scheduler/process.c] Fix environment variable expansion. * [win32/code_page.c] Make MultiByteToWideChar and WideCharToMultiByte conform in return values and error conditions to those in Windows NT 4.0. * [windows/message.c] Fix broadcasting problems in Win32. The Win32 docs say to use HWND_TOPMOST to broadcast to all Win32 Windows. * [memory/virtual.c] [loader/pe_image.c] Do not map in VirtualAlloc if address is specified and space is not available. This is required by Win32. * [include/pen.h] [include/x11drv.h] [objects/dc.c] [objects/pen.c] [graphics/x11drv/pen.c] Support for ExtCreatePen. Tue Dec 2 20:22:06 1997 Morten Welinder <terra@diku.dk> * [*/*.c] [*/*.h] Add lots of prototypes. * [if1632/kernel32.spec][include/windows.h][include/winnt.h] [misc/cpu.c] Define IsProcessorFeaturePresent. * [misc/crtdll.c] (CRTDLL__getcwd): Allocate enough memory for the terminating zero. * [misc/ver.c] Improve check for null component in _find_data[AW]. Plug leaks in VerQueryValue*. * [win32/console.c][if1632/kernel32.spec] Add stubs for GetConsoleCursorInfo32, SetConsoleCursorInfo32. * [windows/message.c][if1632/user32.spec][include/windows.h] Define SendMessageTimeout*. * [graphics/x11drv/xfont.c] Change algorithm of __genericCheckSum to be alignment safe. * [misc/main.c] [misc/winsock.c] [misc/winsock_dns.c] Include winsock.h early to avoid Solaris problem. * [include/windows.h] Undef FSHIFT before we define it. * [rc/winerc.c] Include <fcntl.h> instead of <sys/fcntl.h>. * [files/file.c] Use strerror in FILE_SetDosError if available. * [include/config.h.in] [configure.in] Check for strerror. * [objects/gdiobj.c] Make static font structures aligned. Mon Dec 1 10:10:21 1997 Karl Garrison <karlos@eznet.net> * [win32/console.c] [if1632/kernel32.spec] [include/windows.h] Added stub for GetNumberOfConsoleMouseButtons. Added stub for PeekConsoleInput(A,W). Fixed parameter list for WriteConsole(A,W). GetNumberOfConsoleInputEvents now returns 0 events instead of 1 (since low-level console functions are not yet supported). GetConsoleMode no longer returns ENABLE_WINDOW_INPUT and ENABLE_MOUSE_INPUT since these are not currently implemented.
1997-12-21 19:17:50 +00:00
int endcap;
int linejoin;
Release 960824 Sat Aug 24 13:57:01 1996 Alexandre Julliard <julliard@lrc.epfl.ch> * [controls/scroll.c] Renamed SCROLLINFO to SCROLLBAR_INFO to avoid conflict with Win32. * [graphics/driver.c] [include/x11drv.h] New files for graphics driver handling. * [if1632/relay.c] [include/registers.h] [tools/build.c] Implemented Win32 register functions. Not really tested yet. * [include/gdi.h] Added a lot of functions to the DC func table. * [loader/pe_image.c] Initialise %fs before calling out to 32-bit code. * [windows/hook.c] Fixed bug in HOOK_GetHook(). * [windows/win.c] Fixed FindWindow to return an error if the class name doesn't exist. Wed Aug 21 15:15:53 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de> * [if1632/Makefile.in] [misc/mpr.c] [if1632/mpr.spec] mpr.dll specs added. * [if1632/kernel32.spec] [win32/newfns.c] [memory/global.c] QueryPerformanceCounter(), GlobalMemoryStatus() added. * [if1632/user32.spec] [win32/error.c] SetLastErrorEx() added. * [misc/commdlg.c] lpstrFilter might be NULL in FILE_WMInitDialog (NS 3.0 setup). * [misc/registry.c] Some missing NULL ptr checks added, misc clean up. Tue Aug 20 21:00:00 1996 Alex Korobka <alex@pharm.sunysb.edu> * [controls/menu.c] Adjust popup menu coordinates so that it always stays within the desktop. * [misc/main.c] Fixed GetEnvironment() return value for lpEnv == NULL case. Mon Aug 19 22:48:36 1996 Jukka Iivonen <iivonen@cc.helsinki.fi> * [misc/crtdll.c] [if1632/crtdll.spec] Added some is* functions, strlen and tolower. Mon Aug 19 13:33:13 1996 Stephen Simmons <ssimmons@vitsemi.com> * [tools/wineconf] New perl script to generate the wine.conf file. Fri Aug 16 15:31:44 1996 John Harvey <john@division.co.uk> * [if1632/gdi.spec] Lots of printer functions. * [include/callback.h] New functions for printer driver support. * [include/gdi.h] New/changed structures to support printer driver. * [misc/escape.c] New version that uses function table in DC structure. * [objects/dc.c] CreateDC copes with things other than Display. X code for CreateDC moved to graphics/x11drv directory. CreateCompatibleDC copies func table from original DC. * [objects/font.c] GetTextExtentPoint32A,GetTextMetrics16 use function table in DC and code moved to drivers directory. * [misc/printdrv.c] [graphics/*/*] [include/win16drv.h] New files for printer support. Fri Aug 16 12:33:00 1996 Bruce Milner <Bruce.Milner@genetics.utah.edu> * [controls/scroll.c] Added SetScrollInfo32 and GetScrollInfo32. These just call existing code. There are a few options in which I'm probably the wrong person for the job (page size and disable bar). There are comments in the code as to what they should do. * [objects/gdiobj.c] [objects/font.c] [include/font.h] Added 32 bit version of FONT_GetObject.
1996-08-24 18:26:35 +00:00
int pixel;
int width;
char dashes[MAX_DASHLEN];
Release 960824 Sat Aug 24 13:57:01 1996 Alexandre Julliard <julliard@lrc.epfl.ch> * [controls/scroll.c] Renamed SCROLLINFO to SCROLLBAR_INFO to avoid conflict with Win32. * [graphics/driver.c] [include/x11drv.h] New files for graphics driver handling. * [if1632/relay.c] [include/registers.h] [tools/build.c] Implemented Win32 register functions. Not really tested yet. * [include/gdi.h] Added a lot of functions to the DC func table. * [loader/pe_image.c] Initialise %fs before calling out to 32-bit code. * [windows/hook.c] Fixed bug in HOOK_GetHook(). * [windows/win.c] Fixed FindWindow to return an error if the class name doesn't exist. Wed Aug 21 15:15:53 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de> * [if1632/Makefile.in] [misc/mpr.c] [if1632/mpr.spec] mpr.dll specs added. * [if1632/kernel32.spec] [win32/newfns.c] [memory/global.c] QueryPerformanceCounter(), GlobalMemoryStatus() added. * [if1632/user32.spec] [win32/error.c] SetLastErrorEx() added. * [misc/commdlg.c] lpstrFilter might be NULL in FILE_WMInitDialog (NS 3.0 setup). * [misc/registry.c] Some missing NULL ptr checks added, misc clean up. Tue Aug 20 21:00:00 1996 Alex Korobka <alex@pharm.sunysb.edu> * [controls/menu.c] Adjust popup menu coordinates so that it always stays within the desktop. * [misc/main.c] Fixed GetEnvironment() return value for lpEnv == NULL case. Mon Aug 19 22:48:36 1996 Jukka Iivonen <iivonen@cc.helsinki.fi> * [misc/crtdll.c] [if1632/crtdll.spec] Added some is* functions, strlen and tolower. Mon Aug 19 13:33:13 1996 Stephen Simmons <ssimmons@vitsemi.com> * [tools/wineconf] New perl script to generate the wine.conf file. Fri Aug 16 15:31:44 1996 John Harvey <john@division.co.uk> * [if1632/gdi.spec] Lots of printer functions. * [include/callback.h] New functions for printer driver support. * [include/gdi.h] New/changed structures to support printer driver. * [misc/escape.c] New version that uses function table in DC structure. * [objects/dc.c] CreateDC copes with things other than Display. X code for CreateDC moved to graphics/x11drv directory. CreateCompatibleDC copies func table from original DC. * [objects/font.c] GetTextExtentPoint32A,GetTextMetrics16 use function table in DC and code moved to drivers directory. * [misc/printdrv.c] [graphics/*/*] [include/win16drv.h] New files for printer support. Fri Aug 16 12:33:00 1996 Bruce Milner <Bruce.Milner@genetics.utah.edu> * [controls/scroll.c] Added SetScrollInfo32 and GetScrollInfo32. These just call existing code. There are a few options in which I'm probably the wrong person for the job (page size and disable bar). There are comments in the code as to what they should do. * [objects/gdiobj.c] [objects/font.c] [include/font.h] Added 32 bit version of FONT_GetObject.
1996-08-24 18:26:35 +00:00
int dash_len;
Release 980628 Sun Jun 28 18:37:02 1998 Alexandre Julliard <julliard@lrc.epfl.ch> * [if1632/signal.c] [miscemu/instr.c] [memory/virtual.c] Moved page-fault handling to INSTR_EmulateInstruction. * [scheduler/thread.c] Added locking and check for own thread in Suspend/ResumeThread. Sat Jun 27 21:25:21 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de> * [objects/dib.c] [objects/bitmap.c] [objects/oembitmap.c] [graphics/x11drv/bitblt.c] [include/bitmap.h] Improved DIB section handling using page fault handlers. (Note: This patch includes code contributed by Matthew J. Francis.) * [memory/virtual.c] [if1632/signal.c] [include/global.h] Page Fault handler support added. * [if1632/signal.c] [loader/signal.c] [tools/build.c] [misc/system.c] [misc/winsock_dns.c] [include/sig_context.h] [include/thread.h] 16-bit %fs handling improved: Always preserve 16-bit %fs value, always restore 32-bit %fs value for signal handlers. * [if1632/thunk.c] [loader/module.c] [misc/callback.c] [windows/user.c] [loader/ne/resource.c] [include/callback.h] [include/module.h] [if1632/kernel.spec] [if1632/wprocs.spec] Resource Handler function pointer stored as 16-bit SEGPTR. * [loader/task.c] [windows/win.c] [windows/winpos.c] [if1632/user.spec] [if1632/kernel.spec] [loader/ne/module.c] Some minor incompatibilities fixed (Win32s relies on those): GetExePtr, IsWindow16 should set ES on return; WINPOS_SendNCCalcSize should cope with having the WINDOWPOS structure trashed; the OFSTRUCT in the NE module image should be placed *last*. * [include/windows.h] Missing prototype for FlushViewOfFile. * [loader/task.c] Bugfix: Command line should *not* start with a blank. * [loader/ne/segment.c] Bugfix: Fixups to offset 0 were never applied. * [misc/lstr.c] Use debugstr_a in OutputDebugString16. * [msdos/dpmi.c] Stub for int 31 BL=2f AX=7a20 (NetWare: Get VLM Call Address) added. * [msdos/int21.c] Stub for int 21 AX=440d CL=6f (get drive map information) added. Fri Jun 26 18:08:30 1998 Rein Klazes <rklazes@casema.net> * [windows/winpos.c] Fix small buglet that mixed up maximized and minimized windows. * [include/x11drv.h] [objects/dc.c] [graphics/x11drv/pen.c] [graphics/x11drv/graphics.c] Fix some bugs with lines joining styles. Draws rectangles with thick pens now correctly. Fri Jun 26 16:22:23 1998 James Juran <jrj120@psu.edu> * [misc/shell.c] Fixed bug I introduced last release in InternalExtractIcon. * [win32/file.c] Added documentation for CreateFile32A. * [documentation/wine.man] Updated manpage. * [ChangeLog] Added my entry from last release. Fri Jun 26 13:33:30 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk> * [graphics/psdrv/*] [if1632/wineps.spec] [include/psdrv.h] [include/print.h] [objects/gdiobj.c] First stages of an internal Postscript driver. See graphics/psdrv/README . Should print text (badly) from win3.1 notepad, write and winword6. * [documentation/printing] Some notes on printing. * [controls/edit.c] Strip off WS_BORDER in WM_NCREATE, edit draws its own rectangle. EC_USEFONTINFO seems to be used as a left/right value for EM_SETMARGINS and not as an action as the docs say. This actually makes more sense. Scroll the caret back to zero after a WM_SETTEXT. Fri Jun 26 10:56:25 1998 Marcus Meissner <marcus@jet.franken.de> * [if1632/snoop.c] Added win16 inter-dll snooping. * [win32/ordinals.c] KERNEL_485 is GetProcessDword. * [include/xmalloc.h][include/bitmap.h][misc/xmalloc.c] Added xcalloc so we 0 initialize XImages. Fixes/Hides the 'junk around MOPYFish'. * [misc/ntdll.c] Some stubs added. Thu Jun 25 15:22:43 1998 Adrian Harvey <adrian@select.com.au> * [scheduler/thread.c] Implemented SuspendThread and ResumeThread. Thu Jun 25 00:55:03 1998 Peter Hunnisett <hunnise@nortel.ca> * [include/debug.h,dplay.h,dsound.h][multimedia/dsound.c,dplay.c] [relay32/dplayx.spec,dplay.spec][multimedia/Makefile.in] [documentation/status/directplay] Added preliminary support for DirectPlay & DirectPlayLobby. Moved the preliminary stubs put in the dsound files into two new files dplay.h and dplay.c. Added new debug channel (dplay) for this. Created new document to keep track of implementation. * [include/winioctl.h][win32/device.c] Added some framework in DeviceIoControl to, in the future, support the "builtin" windows dwIoControlCodes. Added new header file winioctl.h . * [multimedia/mmsystem.c] Added slightly improved debugging information for PlaySound. Wed Jun 24 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de> * [files/profile.c][graphics/x11drv/xfont.c][loader/module.c] Changed lstrcmpi32A to strcasecmp, lstrncmpi32A to strncasecmp, lstrcpy32A to strcpy, lstrlen32A to strlen, lstrcmp32A to strcmp because it's not necessary to support locale on such places. It causes a huge overhead and even fails sometimes * [include/oleauto.h][include/winerror.h] Added some ole-related constants. * [misc/shell.c] SHELL32_DllGetClassObject, SHGetSpecialFolderLocation, SHGetPathFromIDList improved the stubs * [ole/folders.c] IShellFolder* functions rewrote the stubs so don't crash and give something sensible back, started implementation of. * [ole/typelib.c][relay32/oleaut32.spec] LoadTypeLib32, RegisterTypeLib stub. * [ole/ole2nls.c] Fixed a buffer overrun in CompareString32A. Test for a bad pointer in LCMapString32A (happens in winhlp32 while building a index for searching). * [relay32/oleaut32.spec] [ole/typelib.c] Added stub for LoadTypeLib (ole32) to make excel95 happy. Tue Jun 23 22:47:09 1998 Alex Priem <alexp@sci.kun.nl> * [files/profile.c] [relay32/kernel32.spec] Added WritePrivateProfileStructA, GetPrivateProfileStructA, GetPrivateProfileSectionNames16. Tue Jun 23 01:34:43 1998 Pascal Cuoq <pcuoq@ens-lyon.fr> * [ole/ole2nls.c] GetStringTypeEx32A: Implemented CT_CTYPE2 and CT_CTYPE3 cases. LCMapString32A: Map final '\0' for '\0'-terminated strings. * [misc/shellord.c] [files/profile.c] [graphics/driver.c] [loader/module.c] [msdos/int21.c] [windows/driver.c] [files/drive.c] Changed lstrcmpi32A -> strcasecmp. Should be OK in these places. Sat Jun 20 23:40:00 1998 Bertho Stultiens <bertho@akhphd.au.dk> * [tools/wrc/] Wrc version 1.0.2 (20-Jun-1998). Please revert to the file tools/wrc/CHANGES for details. Sat Jun 20 14:58:00 1998 Marcel Baur <mbaur@g26.ethz.ch> * [ole/ole2nls.c] [ole/nls/*] Added the first 57 nls files, most are not yet complete. Wed Jun 17 11:16:54 1998 David Luyer <luyer@ucs.uwa.edu.au> * [relay32/relay386.c] [if1632/relay.c] Move debug_relay_(include|exclude)_list handling into seperate function RELAY_ShowDebugmsgsRelay(). Include checking of this for 16 bit calls (originally only 32-bit calls). * [relay32/snoop.c] [misc/main.c] Add debug_snoop_(include|exclude)_list as per the relay stuff. Fix typo and add information on -debugmsg +/-relay=... in help on -debugmsg. Refer to availability of snoop too. Tue Jun 10 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de> * [controls/header.c][include/header.h][include/commctrl.h] Added owner draw support. * [windows/nonclient.c][windows/sysmetics.c] Fixed menu bar height for Win95 look. Split NC_AdjustRect95() into NC_AdjustRectOuter95() and NC_AdjustRectInner95 to fix a menu bar bug. Improved Win95 look. * [controls/progress.c] Improved drawing code. Borders will be drawn by non-client code. * [controls/updown.c] Changed memory allocation and fixed some bugs. * [controls/toolbar.c] Fixed TB_BUTTONSTRUCTSIZE bug in MFC programs. Several improvements. * [misc/shell.c] Added stub for BrowseForFoldersA(). * [misc/shellord.c] Added stub for SHELL32_147(). * [controls/comctl32undoc.c] Minor changes. * [documentation/common_controls] New File: Documentation about development status, undocumented features and functions of the common controls.
1998-06-28 18:40:26 +00:00
int type; /* GEOMETRIC || COSMETIC */
int ext; /* extended pen - 1, otherwise - 0 */
Release 960824 Sat Aug 24 13:57:01 1996 Alexandre Julliard <julliard@lrc.epfl.ch> * [controls/scroll.c] Renamed SCROLLINFO to SCROLLBAR_INFO to avoid conflict with Win32. * [graphics/driver.c] [include/x11drv.h] New files for graphics driver handling. * [if1632/relay.c] [include/registers.h] [tools/build.c] Implemented Win32 register functions. Not really tested yet. * [include/gdi.h] Added a lot of functions to the DC func table. * [loader/pe_image.c] Initialise %fs before calling out to 32-bit code. * [windows/hook.c] Fixed bug in HOOK_GetHook(). * [windows/win.c] Fixed FindWindow to return an error if the class name doesn't exist. Wed Aug 21 15:15:53 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de> * [if1632/Makefile.in] [misc/mpr.c] [if1632/mpr.spec] mpr.dll specs added. * [if1632/kernel32.spec] [win32/newfns.c] [memory/global.c] QueryPerformanceCounter(), GlobalMemoryStatus() added. * [if1632/user32.spec] [win32/error.c] SetLastErrorEx() added. * [misc/commdlg.c] lpstrFilter might be NULL in FILE_WMInitDialog (NS 3.0 setup). * [misc/registry.c] Some missing NULL ptr checks added, misc clean up. Tue Aug 20 21:00:00 1996 Alex Korobka <alex@pharm.sunysb.edu> * [controls/menu.c] Adjust popup menu coordinates so that it always stays within the desktop. * [misc/main.c] Fixed GetEnvironment() return value for lpEnv == NULL case. Mon Aug 19 22:48:36 1996 Jukka Iivonen <iivonen@cc.helsinki.fi> * [misc/crtdll.c] [if1632/crtdll.spec] Added some is* functions, strlen and tolower. Mon Aug 19 13:33:13 1996 Stephen Simmons <ssimmons@vitsemi.com> * [tools/wineconf] New perl script to generate the wine.conf file. Fri Aug 16 15:31:44 1996 John Harvey <john@division.co.uk> * [if1632/gdi.spec] Lots of printer functions. * [include/callback.h] New functions for printer driver support. * [include/gdi.h] New/changed structures to support printer driver. * [misc/escape.c] New version that uses function table in DC structure. * [objects/dc.c] CreateDC copes with things other than Display. X code for CreateDC moved to graphics/x11drv directory. CreateCompatibleDC copies func table from original DC. * [objects/font.c] GetTextExtentPoint32A,GetTextMetrics16 use function table in DC and code moved to drivers directory. * [misc/printdrv.c] [graphics/*/*] [include/win16drv.h] New files for printer support. Fri Aug 16 12:33:00 1996 Bruce Milner <Bruce.Milner@genetics.utah.edu> * [controls/scroll.c] Added SetScrollInfo32 and GetScrollInfo32. These just call existing code. There are a few options in which I'm probably the wrong person for the job (page size and disable bar). There are comments in the code as to what they should do. * [objects/gdiobj.c] [objects/font.c] [include/font.h] Added 32 bit version of FONT_GetObject.
1996-08-24 18:26:35 +00:00
} X_PHYSPEN;
/* X physical brush */
typedef struct
{
int style;
int fillStyle;
int pixel;
Pixmap pixmap;
} X_PHYSBRUSH;
/* X physical bitmap */
typedef struct
{
HBITMAP hbitmap;
Pixmap pixmap;
XID glxpixmap;
int pixmap_depth;
/* the following fields are only used for DIB section bitmaps */
int status, p_status; /* mapping status */
XImage *image; /* cached XImage */
int *colorMap; /* color map info */
int nColorMap;
CRITICAL_SECTION lock; /* GDI access lock */
#ifdef HAVE_LIBXXSHM
XShmSegmentInfo shminfo; /* shared memory segment info */
#endif
struct list entry; /* Entry in global DIB list */
2005-04-20 18:45:28 +00:00
BYTE *base; /* Base address */
SIZE_T size; /* Size in bytes */
} X_PHYSBITMAP;
Release 960824 Sat Aug 24 13:57:01 1996 Alexandre Julliard <julliard@lrc.epfl.ch> * [controls/scroll.c] Renamed SCROLLINFO to SCROLLBAR_INFO to avoid conflict with Win32. * [graphics/driver.c] [include/x11drv.h] New files for graphics driver handling. * [if1632/relay.c] [include/registers.h] [tools/build.c] Implemented Win32 register functions. Not really tested yet. * [include/gdi.h] Added a lot of functions to the DC func table. * [loader/pe_image.c] Initialise %fs before calling out to 32-bit code. * [windows/hook.c] Fixed bug in HOOK_GetHook(). * [windows/win.c] Fixed FindWindow to return an error if the class name doesn't exist. Wed Aug 21 15:15:53 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de> * [if1632/Makefile.in] [misc/mpr.c] [if1632/mpr.spec] mpr.dll specs added. * [if1632/kernel32.spec] [win32/newfns.c] [memory/global.c] QueryPerformanceCounter(), GlobalMemoryStatus() added. * [if1632/user32.spec] [win32/error.c] SetLastErrorEx() added. * [misc/commdlg.c] lpstrFilter might be NULL in FILE_WMInitDialog (NS 3.0 setup). * [misc/registry.c] Some missing NULL ptr checks added, misc clean up. Tue Aug 20 21:00:00 1996 Alex Korobka <alex@pharm.sunysb.edu> * [controls/menu.c] Adjust popup menu coordinates so that it always stays within the desktop. * [misc/main.c] Fixed GetEnvironment() return value for lpEnv == NULL case. Mon Aug 19 22:48:36 1996 Jukka Iivonen <iivonen@cc.helsinki.fi> * [misc/crtdll.c] [if1632/crtdll.spec] Added some is* functions, strlen and tolower. Mon Aug 19 13:33:13 1996 Stephen Simmons <ssimmons@vitsemi.com> * [tools/wineconf] New perl script to generate the wine.conf file. Fri Aug 16 15:31:44 1996 John Harvey <john@division.co.uk> * [if1632/gdi.spec] Lots of printer functions. * [include/callback.h] New functions for printer driver support. * [include/gdi.h] New/changed structures to support printer driver. * [misc/escape.c] New version that uses function table in DC structure. * [objects/dc.c] CreateDC copes with things other than Display. X code for CreateDC moved to graphics/x11drv directory. CreateCompatibleDC copies func table from original DC. * [objects/font.c] GetTextExtentPoint32A,GetTextMetrics16 use function table in DC and code moved to drivers directory. * [misc/printdrv.c] [graphics/*/*] [include/win16drv.h] New files for printer support. Fri Aug 16 12:33:00 1996 Bruce Milner <Bruce.Milner@genetics.utah.edu> * [controls/scroll.c] Added SetScrollInfo32 and GetScrollInfo32. These just call existing code. There are a few options in which I'm probably the wrong person for the job (page size and disable bar). There are comments in the code as to what they should do. * [objects/gdiobj.c] [objects/font.c] [include/font.h] Added 32 bit version of FONT_GetObject.
1996-08-24 18:26:35 +00:00
/* X physical font */
typedef UINT X_PHYSFONT;
Release 960824 Sat Aug 24 13:57:01 1996 Alexandre Julliard <julliard@lrc.epfl.ch> * [controls/scroll.c] Renamed SCROLLINFO to SCROLLBAR_INFO to avoid conflict with Win32. * [graphics/driver.c] [include/x11drv.h] New files for graphics driver handling. * [if1632/relay.c] [include/registers.h] [tools/build.c] Implemented Win32 register functions. Not really tested yet. * [include/gdi.h] Added a lot of functions to the DC func table. * [loader/pe_image.c] Initialise %fs before calling out to 32-bit code. * [windows/hook.c] Fixed bug in HOOK_GetHook(). * [windows/win.c] Fixed FindWindow to return an error if the class name doesn't exist. Wed Aug 21 15:15:53 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de> * [if1632/Makefile.in] [misc/mpr.c] [if1632/mpr.spec] mpr.dll specs added. * [if1632/kernel32.spec] [win32/newfns.c] [memory/global.c] QueryPerformanceCounter(), GlobalMemoryStatus() added. * [if1632/user32.spec] [win32/error.c] SetLastErrorEx() added. * [misc/commdlg.c] lpstrFilter might be NULL in FILE_WMInitDialog (NS 3.0 setup). * [misc/registry.c] Some missing NULL ptr checks added, misc clean up. Tue Aug 20 21:00:00 1996 Alex Korobka <alex@pharm.sunysb.edu> * [controls/menu.c] Adjust popup menu coordinates so that it always stays within the desktop. * [misc/main.c] Fixed GetEnvironment() return value for lpEnv == NULL case. Mon Aug 19 22:48:36 1996 Jukka Iivonen <iivonen@cc.helsinki.fi> * [misc/crtdll.c] [if1632/crtdll.spec] Added some is* functions, strlen and tolower. Mon Aug 19 13:33:13 1996 Stephen Simmons <ssimmons@vitsemi.com> * [tools/wineconf] New perl script to generate the wine.conf file. Fri Aug 16 15:31:44 1996 John Harvey <john@division.co.uk> * [if1632/gdi.spec] Lots of printer functions. * [include/callback.h] New functions for printer driver support. * [include/gdi.h] New/changed structures to support printer driver. * [misc/escape.c] New version that uses function table in DC structure. * [objects/dc.c] CreateDC copes with things other than Display. X code for CreateDC moved to graphics/x11drv directory. CreateCompatibleDC copies func table from original DC. * [objects/font.c] GetTextExtentPoint32A,GetTextMetrics16 use function table in DC and code moved to drivers directory. * [misc/printdrv.c] [graphics/*/*] [include/win16drv.h] New files for printer support. Fri Aug 16 12:33:00 1996 Bruce Milner <Bruce.Milner@genetics.utah.edu> * [controls/scroll.c] Added SetScrollInfo32 and GetScrollInfo32. These just call existing code. There are a few options in which I'm probably the wrong person for the job (page size and disable bar). There are comments in the code as to what they should do. * [objects/gdiobj.c] [objects/font.c] [include/font.h] Added 32 bit version of FONT_GetObject.
1996-08-24 18:26:35 +00:00
typedef struct tagXRENDERINFO *XRENDERINFO;
Release 960824 Sat Aug 24 13:57:01 1996 Alexandre Julliard <julliard@lrc.epfl.ch> * [controls/scroll.c] Renamed SCROLLINFO to SCROLLBAR_INFO to avoid conflict with Win32. * [graphics/driver.c] [include/x11drv.h] New files for graphics driver handling. * [if1632/relay.c] [include/registers.h] [tools/build.c] Implemented Win32 register functions. Not really tested yet. * [include/gdi.h] Added a lot of functions to the DC func table. * [loader/pe_image.c] Initialise %fs before calling out to 32-bit code. * [windows/hook.c] Fixed bug in HOOK_GetHook(). * [windows/win.c] Fixed FindWindow to return an error if the class name doesn't exist. Wed Aug 21 15:15:53 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de> * [if1632/Makefile.in] [misc/mpr.c] [if1632/mpr.spec] mpr.dll specs added. * [if1632/kernel32.spec] [win32/newfns.c] [memory/global.c] QueryPerformanceCounter(), GlobalMemoryStatus() added. * [if1632/user32.spec] [win32/error.c] SetLastErrorEx() added. * [misc/commdlg.c] lpstrFilter might be NULL in FILE_WMInitDialog (NS 3.0 setup). * [misc/registry.c] Some missing NULL ptr checks added, misc clean up. Tue Aug 20 21:00:00 1996 Alex Korobka <alex@pharm.sunysb.edu> * [controls/menu.c] Adjust popup menu coordinates so that it always stays within the desktop. * [misc/main.c] Fixed GetEnvironment() return value for lpEnv == NULL case. Mon Aug 19 22:48:36 1996 Jukka Iivonen <iivonen@cc.helsinki.fi> * [misc/crtdll.c] [if1632/crtdll.spec] Added some is* functions, strlen and tolower. Mon Aug 19 13:33:13 1996 Stephen Simmons <ssimmons@vitsemi.com> * [tools/wineconf] New perl script to generate the wine.conf file. Fri Aug 16 15:31:44 1996 John Harvey <john@division.co.uk> * [if1632/gdi.spec] Lots of printer functions. * [include/callback.h] New functions for printer driver support. * [include/gdi.h] New/changed structures to support printer driver. * [misc/escape.c] New version that uses function table in DC structure. * [objects/dc.c] CreateDC copes with things other than Display. X code for CreateDC moved to graphics/x11drv directory. CreateCompatibleDC copies func table from original DC. * [objects/font.c] GetTextExtentPoint32A,GetTextMetrics16 use function table in DC and code moved to drivers directory. * [misc/printdrv.c] [graphics/*/*] [include/win16drv.h] New files for printer support. Fri Aug 16 12:33:00 1996 Bruce Milner <Bruce.Milner@genetics.utah.edu> * [controls/scroll.c] Added SetScrollInfo32 and GetScrollInfo32. These just call existing code. There are a few options in which I'm probably the wrong person for the job (page size and disable bar). There are comments in the code as to what they should do. * [objects/gdiobj.c] [objects/font.c] [include/font.h] Added 32 bit version of FONT_GetObject.
1996-08-24 18:26:35 +00:00
/* X physical device */
typedef struct
{
HDC hdc;
Release 960824 Sat Aug 24 13:57:01 1996 Alexandre Julliard <julliard@lrc.epfl.ch> * [controls/scroll.c] Renamed SCROLLINFO to SCROLLBAR_INFO to avoid conflict with Win32. * [graphics/driver.c] [include/x11drv.h] New files for graphics driver handling. * [if1632/relay.c] [include/registers.h] [tools/build.c] Implemented Win32 register functions. Not really tested yet. * [include/gdi.h] Added a lot of functions to the DC func table. * [loader/pe_image.c] Initialise %fs before calling out to 32-bit code. * [windows/hook.c] Fixed bug in HOOK_GetHook(). * [windows/win.c] Fixed FindWindow to return an error if the class name doesn't exist. Wed Aug 21 15:15:53 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de> * [if1632/Makefile.in] [misc/mpr.c] [if1632/mpr.spec] mpr.dll specs added. * [if1632/kernel32.spec] [win32/newfns.c] [memory/global.c] QueryPerformanceCounter(), GlobalMemoryStatus() added. * [if1632/user32.spec] [win32/error.c] SetLastErrorEx() added. * [misc/commdlg.c] lpstrFilter might be NULL in FILE_WMInitDialog (NS 3.0 setup). * [misc/registry.c] Some missing NULL ptr checks added, misc clean up. Tue Aug 20 21:00:00 1996 Alex Korobka <alex@pharm.sunysb.edu> * [controls/menu.c] Adjust popup menu coordinates so that it always stays within the desktop. * [misc/main.c] Fixed GetEnvironment() return value for lpEnv == NULL case. Mon Aug 19 22:48:36 1996 Jukka Iivonen <iivonen@cc.helsinki.fi> * [misc/crtdll.c] [if1632/crtdll.spec] Added some is* functions, strlen and tolower. Mon Aug 19 13:33:13 1996 Stephen Simmons <ssimmons@vitsemi.com> * [tools/wineconf] New perl script to generate the wine.conf file. Fri Aug 16 15:31:44 1996 John Harvey <john@division.co.uk> * [if1632/gdi.spec] Lots of printer functions. * [include/callback.h] New functions for printer driver support. * [include/gdi.h] New/changed structures to support printer driver. * [misc/escape.c] New version that uses function table in DC structure. * [objects/dc.c] CreateDC copes with things other than Display. X code for CreateDC moved to graphics/x11drv directory. CreateCompatibleDC copies func table from original DC. * [objects/font.c] GetTextExtentPoint32A,GetTextMetrics16 use function table in DC and code moved to drivers directory. * [misc/printdrv.c] [graphics/*/*] [include/win16drv.h] New files for printer support. Fri Aug 16 12:33:00 1996 Bruce Milner <Bruce.Milner@genetics.utah.edu> * [controls/scroll.c] Added SetScrollInfo32 and GetScrollInfo32. These just call existing code. There are a few options in which I'm probably the wrong person for the job (page size and disable bar). There are comments in the code as to what they should do. * [objects/gdiobj.c] [objects/font.c] [include/font.h] Added 32 bit version of FONT_GetObject.
1996-08-24 18:26:35 +00:00
GC gc; /* X Window GC */
Drawable drawable;
RECT dc_rect; /* DC rectangle relative to drawable */
RECT drawable_rect; /* Drawable rectangle relative to screen */
HRGN region; /* Device region (visible region & clip region) */
Release 960824 Sat Aug 24 13:57:01 1996 Alexandre Julliard <julliard@lrc.epfl.ch> * [controls/scroll.c] Renamed SCROLLINFO to SCROLLBAR_INFO to avoid conflict with Win32. * [graphics/driver.c] [include/x11drv.h] New files for graphics driver handling. * [if1632/relay.c] [include/registers.h] [tools/build.c] Implemented Win32 register functions. Not really tested yet. * [include/gdi.h] Added a lot of functions to the DC func table. * [loader/pe_image.c] Initialise %fs before calling out to 32-bit code. * [windows/hook.c] Fixed bug in HOOK_GetHook(). * [windows/win.c] Fixed FindWindow to return an error if the class name doesn't exist. Wed Aug 21 15:15:53 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de> * [if1632/Makefile.in] [misc/mpr.c] [if1632/mpr.spec] mpr.dll specs added. * [if1632/kernel32.spec] [win32/newfns.c] [memory/global.c] QueryPerformanceCounter(), GlobalMemoryStatus() added. * [if1632/user32.spec] [win32/error.c] SetLastErrorEx() added. * [misc/commdlg.c] lpstrFilter might be NULL in FILE_WMInitDialog (NS 3.0 setup). * [misc/registry.c] Some missing NULL ptr checks added, misc clean up. Tue Aug 20 21:00:00 1996 Alex Korobka <alex@pharm.sunysb.edu> * [controls/menu.c] Adjust popup menu coordinates so that it always stays within the desktop. * [misc/main.c] Fixed GetEnvironment() return value for lpEnv == NULL case. Mon Aug 19 22:48:36 1996 Jukka Iivonen <iivonen@cc.helsinki.fi> * [misc/crtdll.c] [if1632/crtdll.spec] Added some is* functions, strlen and tolower. Mon Aug 19 13:33:13 1996 Stephen Simmons <ssimmons@vitsemi.com> * [tools/wineconf] New perl script to generate the wine.conf file. Fri Aug 16 15:31:44 1996 John Harvey <john@division.co.uk> * [if1632/gdi.spec] Lots of printer functions. * [include/callback.h] New functions for printer driver support. * [include/gdi.h] New/changed structures to support printer driver. * [misc/escape.c] New version that uses function table in DC structure. * [objects/dc.c] CreateDC copes with things other than Display. X code for CreateDC moved to graphics/x11drv directory. CreateCompatibleDC copies func table from original DC. * [objects/font.c] GetTextExtentPoint32A,GetTextMetrics16 use function table in DC and code moved to drivers directory. * [misc/printdrv.c] [graphics/*/*] [include/win16drv.h] New files for printer support. Fri Aug 16 12:33:00 1996 Bruce Milner <Bruce.Milner@genetics.utah.edu> * [controls/scroll.c] Added SetScrollInfo32 and GetScrollInfo32. These just call existing code. There are a few options in which I'm probably the wrong person for the job (page size and disable bar). There are comments in the code as to what they should do. * [objects/gdiobj.c] [objects/font.c] [include/font.h] Added 32 bit version of FONT_GetObject.
1996-08-24 18:26:35 +00:00
X_PHYSFONT font;
X_PHYSPEN pen;
X_PHYSBRUSH brush;
X_PHYSBITMAP *bitmap; /* currently selected bitmap for memory DCs */
BOOL has_gdi_font; /* is current font a GDI font? */
Release 980913 Fri Sep 11 13:14:35 1998 Andreas Mohr <100.30936@germany.net> * [files/file.c] [include/file.h] Fixed SetFilePointer to allow negative positions as in DOS. * [graphics/ddraw.c] Added some methods to IDirect3D. * [ole/compobj.c] [if1632/compobj.spec] Added/implemented CoCreateStandardMalloc16, CoGetClassObject, CoCreateInstance, LookupETask, SetETask, CoGetState16. * [loader/task.c] MakeProcInstance: return 0 if func == NULL. * [*/*] [tools/winapi-check] Added zillions of missing WINAPI's and __cdecl's. (oops, several caused by myself) Wrote script for automated checking. * [if1632/compobj.spec] Many stub names. * [misc/ddeml.c] [ole/compobj.c] Some stubs. Tue Sep 9 21:36:48 1998 Anders Carlsson <anders.carlsson@linux.nu> * [dlls/comctl32/Makefile.in] [dlls/comctl32/commctrl.c] [dlls/comctl32/tab.c] [include/commctrl.h] [include/tab.h] Added preliminary tab control support. Sat Sep 5 16:27:20 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk> * [graphics/psdrv/*] More changes to the PostScript driver: Implemented pens and solid brushes. Colour/greyscale for fonts, pens and brushes. To get coloured output you need to have *ColorDevice set to true in your PPD, otherwise you'll get greyscale. Landscape mode now works, as does non-A4 page sizes. Encoding of fonts to ANSI is better, Symbol works again. * [objects/dc.c] [include/gdi.h] [*/*] Moved dc->w.{text,background}Pixel to X11DRV_PDEVICE where they belong. Sat Sep 5 05:12:09 1998 Ove Kaaven <ovek@arcticnet.no> * [include/dosexe.h] [include/miscemu.h] [include/msdos.h] [loader/dos/dosvm.c] [loader/dos/module.c] [msdos/dpmi.c] [msdos/int2f.c] [msdos/interrupts.c] Fixed portability. Adapted some code to make it easier to integrate the DOS subsystem with the DPMI subsystem, made the DPMI simulated real-mode interrupts be handled the V86 way. Added support for .COM files. Made int2f DPMI check fail, to avoid pkunzip crashing in attempting to use DPMI. Generally moved stuff around a little. It is now technically possible to load several DOS programs into the same memory space. Not tested, though. Fri Sep 4 21:40:45 1998 Marcus Meissner <marcus@jet.franken.de> * [if1632/kernel.spec] Changed 500-53x stubnames accordingly to nt3.51 krnl386.exe. * [win32/except.c] Fixed one bad program behaviour, (deleting SEH while in first walk). RtlUnwind is broken too I think (it should unwind on success, not while walking the exception chain). * [ole/ole2nls.c] Get*DefaultLCID returns 0x400|id. expected by one application. * [if1632/snoop.c] Handle non-standard SP returns more graceful. * [windows/class.c] hinstances are mostly irrelevant for win32. * [memory/string.c] [misc/registry.c] lstrcmpi32W: use toupper for characters < 0x100. (speedup hack for registry.c) Some small speedup hacks for registry.c Thu Sep 3 20:40:16 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de> * [Makefile.in][configure][configure.in][dlls/Makefile.in] [dlls/comctl32/Makefile.in] Created dlls/comctl32 and moved the common controls stuff to it. * [misc/version.c] Removed COMCTL32_DllGetVersion. The fixed function is part of the common controls stuff. * [dlls/comctl32/*.c][include/commctrl.h] Added structure size tests. * [dlls/comctl32/toolbar.c] Fixed a bug in TOOLBAR_GetMaxWidth(). * [dlls/comctl32/animate.c][include/animate.h] [dlls/comctl32/comboex.c][include/comboex.h] [dlls/comctl32/hotkey.c][include/hotkey.h] [dlls/comctl32/listview.c][include/listview.h] [dlls/comctl32/commctrl.c][include/commctrl.h] New files. Added Animation, ComboBoxEx, Hotkey and Listview control dummies. * [dlls/comctl32/tooltips.c] Fixed a display bug and font selection. * [dlls/comctl32/comctl32undoc.c][include/commctrl.h] Added missing DPA functions. Fixed bugs and published the function prototypes. * [documentation/common_controls] Updated. Wed Sep 2 15:43:45 1998 Patrik Stridvall <ps@leissner.se> * [AUTHORS] [include/authors.h] Added myself as a Wine author. * [memory/virtual.c] [objects/dc.c] Fixed runtime errors for Solaris. * [misc/ddeml.c] [objects/gdiobj.c] Minor fixes. * [win32/device.c] Added stubs for IFSMgr VxDCall and a partial implementation of IFSMgr DeviceIo. * [relay32/Makefile.in] [relay32/builtin32.c] [relay32/imm32.spec] [relay32/msnet32.spec] [relay32/oledlg.spec] Added new spec files for IMM32.DLL, MSNET32.DLL, OLEDLG.DLL. * [misc/Makefile.in] [misc/imm.c] [include/imm.h] Added news files for implementation of IMM32.DLL. All functions return 0 as is correct for all Western Languages. * [ole/Makefile.in] [ole/oledlg.c] [include/oledlg.h] Added new files for implementation of OLEDLG.DLL. Added stubs with FIXME:s for all functions. Wed Sep 2 10:50:00 1998 Juergen Schmied <juergen.schmied@metronet.de> * [dlls/shell32/contmenu.c][dlls/shell32/shellole.c] [dlls/shell32/shlfolder.c][dlls/shell32/shlview.c] [documentation/shell32][include/shell.h] Clean up, bugfixes. * [dlls/shell32/enumidlist.c] Fileattributes implemented. * [dlls/shell32/pidl.c] Class pidlmgr splited into functions, structures changed, some functions rewritten. * [dlls/shell32/shell32_main.c] Small changes and bugfixes SHGetFileInfoA, SHGetSpecialFolderLocation. * [dlls/shell32/shellord.c][relay32/shell32.spec] Parameter documented, implemented SHCloneSpecialIDList. Stub improved ShellExecuteEx32A. New stubs SHFind_InitMenuPopup, FileMenu_InitMenuPopup, FileMenu_Create, FileMenu_TrackPopupMenuEx, SHWinHelp, SHRunConrolPanel, DAD_ShowDragImage, FileMenu_Destroy, SHGetDataFromIDListA, SHFileOperationA. * [include/winnls.h][include/ole2nls.c] TIME_FORCE24HOURFORMAT, TIME_NOTIMEMARKER implemented in OLE_GetFormatA, GetTimeFormat32A. * [win32/code_page.c] WideCharToMultiByte: parameter checking and returning of strlen implemented. * [windows/keyboard.c][windows/defwnd.c] Debug messages added. * [windows/win.c] WIN_SetWindowLong GWL_STYLE and GWL_EXSTYLE implemented. * [controls/menu.c] Missing line added. * [include/winerror.h] Macros for SUCCEEDED and FAILED added. Mon Aug 31 00:55:31 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de> * [loader/module.c] Bugfix: LoadModule16 should *not* call LoadModule32. * [files/dos_fs.c] Bugfix: don't crash if given directory doesn't exist. Sat Aug 29 15:00:49 1998 Turchanov Sergey <turchanov@usa.net> * [include/mmsystem.h][multimedia/mmsystem.c][relay32/winmm.spec] Almost completed implementation of [snd]PlaySound (except flags SND_ALIAS_ID and SND_APPLICATION). * [if1632/user.spec][windows/winpos.c] Added SetWindowRgn16 stub. Sat Aug 29 02:53:31 1998 Alexander Lukyanov <lav@long.yar.ru> * [files/drive.c] GetDriveType32A: return DRIVE_DOESNOTEXIST in case of non existent drive. * [msdos/int21.c] INT21_FindFirstFCB: check drive validity to prevent oops. * [win32/file.c] CreateFile32A: duplicate STD_{INPUT,OUTPUT}_HANDLE. * [files/dos_fs.c] Make DOSFS_OpenDir treat "" as "/". DOSFS_OpenDevice: duplicate STD_{INPUT,OUTPUT}_HANDLE. * [windows/dialog.c] GetNextDlgTabItem32: use last/first item instead of first/last when hwndCtrl==0. This fixes initial focus. Sat Aug 29 02:46:32 1998 Adrian Harvey <adrian@select.com.au> * [include/process.h] [include/process.c] Renamed PROCESS_SELF to CURRENT_PROCESS_PSEUDOHANDLE in line with thread constant, and Win32 documentation (which calls it a pseudohandle.) Made GetCurrentProcess actually use this constant instead of the value. * [include/process.h] [include/thread.h] [scheduler/thread.c] [scheduler/process.c] [scheduler/handle.c] Modify HANDLE_GetObjPtr to understand about CURRENT_THREAD_PSEUDOHANDLE and CURRENT_PROCESS_PSEUDOHANDLE. This allows DuplicateHandle to do the correct thing with these handles. Removed now duplicate functionality from THREAD_GetPtr and PROCESS_GetPtr. * [loader/ne/segment.c] Fixed two places where HFILE32s were being created and passed to 16-bit code. This should unbreak NE self-loading code. Added two casts to remove compile time warnings. Fri Aug 28 21:04:13 1998 Joseph Pranevich <knight@baltimore.wwaves.com> * [msdos/dosmem.c] [msdos/int2f.c] Added beginnings of DOS error table. * [msdos/int1a.c] Stub for subfunction 0xb0. * [msdos/int10.c] [loader/dos/dosvm.c] INT 10 support completely rewritten and lots of debugging added. Now, DOS apps that use INT 10 to write to the screen will work. (Beyond Zork does, at least. Somewhat.) * [include/miscemu.h] [msdos/dosmem.c] [msdos/int21.c] Another shot at getting MS's generic error message facility right. * [msdos/int21.c] Command.Com wanted to set its own PSP address. I let it. Wed Aug 26 12:26:20 1998 Matthew Toseland <Matthew.Toseland@btinternet.com> * [include/file.h] [misc/lzexpand.c] Fixed LZCopy16 by fixing HFILE16/HFILE32 convertor macros so don't convert lzw handles. Tue Aug 25 22:22:55 1998 Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de> * [misc/registry.c] In RegEnumvalue, ivalue == 0 is a legal request and should return the first entry. * [msdos/int21.c] Add handling for Int21-48/49 in Win16. Makes blinker demo work. * [windows/winproc.c] Add Msg32A<->Msg32W translation for LB_ADDSTRING. Tue Aug 25 21:03:31 1998 Kristian Nielsen <kristian.nielsen@risoe.dk> * [windows/win.c] Fix for SetParent(): MS Windows 3.11 does not clear the WS_CHILD flag when a child window is reparented to the desktop window. Mon Aug 24 20:55:22 1998 Berend Reitsma <berend at asset-control dot com> * [controls/menu.c] Menus created with SetMenuItemInfo and InsertMenuItem should work now. Sun Aug 23 23:23:23 1998 Alex Korobka <korobka@ams.sunysb.edu> * [controls/combo.c] Added CB_GETITEMHEIGHT. * [windows/winpos.c] WM_NCHITTEST, SWP_FRAMECHANGED bugfixes. Sat Aug 22 21:15:29 1998 Alex Priem <alexp@sci.kun.nl> * [files/profile.c] [include/windows.h] Added GetPrivateProfileSectionNames[AW],GetPrivateProfileSectionW, GetPrivateProfileStructW, GetProfileSectionW, WriteProfileSection[AW], WritePrivateProfileStructW.
1998-09-13 16:32:00 +00:00
int backgroundPixel;
int textPixel;
int depth; /* bit depth of the DC */
int exposures; /* count of graphics exposures operations */
2000-05-12 20:18:14 +00:00
int current_pf;
Drawable gl_drawable;
Pixmap pixmap; /* Pixmap for a GLXPixmap gl_drawable */
XRENDERINFO xrender;
Release 960824 Sat Aug 24 13:57:01 1996 Alexandre Julliard <julliard@lrc.epfl.ch> * [controls/scroll.c] Renamed SCROLLINFO to SCROLLBAR_INFO to avoid conflict with Win32. * [graphics/driver.c] [include/x11drv.h] New files for graphics driver handling. * [if1632/relay.c] [include/registers.h] [tools/build.c] Implemented Win32 register functions. Not really tested yet. * [include/gdi.h] Added a lot of functions to the DC func table. * [loader/pe_image.c] Initialise %fs before calling out to 32-bit code. * [windows/hook.c] Fixed bug in HOOK_GetHook(). * [windows/win.c] Fixed FindWindow to return an error if the class name doesn't exist. Wed Aug 21 15:15:53 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de> * [if1632/Makefile.in] [misc/mpr.c] [if1632/mpr.spec] mpr.dll specs added. * [if1632/kernel32.spec] [win32/newfns.c] [memory/global.c] QueryPerformanceCounter(), GlobalMemoryStatus() added. * [if1632/user32.spec] [win32/error.c] SetLastErrorEx() added. * [misc/commdlg.c] lpstrFilter might be NULL in FILE_WMInitDialog (NS 3.0 setup). * [misc/registry.c] Some missing NULL ptr checks added, misc clean up. Tue Aug 20 21:00:00 1996 Alex Korobka <alex@pharm.sunysb.edu> * [controls/menu.c] Adjust popup menu coordinates so that it always stays within the desktop. * [misc/main.c] Fixed GetEnvironment() return value for lpEnv == NULL case. Mon Aug 19 22:48:36 1996 Jukka Iivonen <iivonen@cc.helsinki.fi> * [misc/crtdll.c] [if1632/crtdll.spec] Added some is* functions, strlen and tolower. Mon Aug 19 13:33:13 1996 Stephen Simmons <ssimmons@vitsemi.com> * [tools/wineconf] New perl script to generate the wine.conf file. Fri Aug 16 15:31:44 1996 John Harvey <john@division.co.uk> * [if1632/gdi.spec] Lots of printer functions. * [include/callback.h] New functions for printer driver support. * [include/gdi.h] New/changed structures to support printer driver. * [misc/escape.c] New version that uses function table in DC structure. * [objects/dc.c] CreateDC copes with things other than Display. X code for CreateDC moved to graphics/x11drv directory. CreateCompatibleDC copies func table from original DC. * [objects/font.c] GetTextExtentPoint32A,GetTextMetrics16 use function table in DC and code moved to drivers directory. * [misc/printdrv.c] [graphics/*/*] [include/win16drv.h] New files for printer support. Fri Aug 16 12:33:00 1996 Bruce Milner <Bruce.Milner@genetics.utah.edu> * [controls/scroll.c] Added SetScrollInfo32 and GetScrollInfo32. These just call existing code. There are a few options in which I'm probably the wrong person for the job (page size and disable bar). There are comments in the code as to what they should do. * [objects/gdiobj.c] [objects/font.c] [include/font.h] Added 32 bit version of FONT_GetObject.
1996-08-24 18:26:35 +00:00
} X11DRV_PDEVICE;
/* GCs used for B&W and color bitmap operations */
extern GC BITMAP_monoGC, BITMAP_colorGC;
extern X_PHYSBITMAP BITMAP_stock_phys_bitmap; /* phys bitmap for the default stock bitmap */
#define BITMAP_GC(physBitmap) (((physBitmap)->pixmap_depth == 1) ? BITMAP_monoGC : BITMAP_colorGC)
Release 960824 Sat Aug 24 13:57:01 1996 Alexandre Julliard <julliard@lrc.epfl.ch> * [controls/scroll.c] Renamed SCROLLINFO to SCROLLBAR_INFO to avoid conflict with Win32. * [graphics/driver.c] [include/x11drv.h] New files for graphics driver handling. * [if1632/relay.c] [include/registers.h] [tools/build.c] Implemented Win32 register functions. Not really tested yet. * [include/gdi.h] Added a lot of functions to the DC func table. * [loader/pe_image.c] Initialise %fs before calling out to 32-bit code. * [windows/hook.c] Fixed bug in HOOK_GetHook(). * [windows/win.c] Fixed FindWindow to return an error if the class name doesn't exist. Wed Aug 21 15:15:53 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de> * [if1632/Makefile.in] [misc/mpr.c] [if1632/mpr.spec] mpr.dll specs added. * [if1632/kernel32.spec] [win32/newfns.c] [memory/global.c] QueryPerformanceCounter(), GlobalMemoryStatus() added. * [if1632/user32.spec] [win32/error.c] SetLastErrorEx() added. * [misc/commdlg.c] lpstrFilter might be NULL in FILE_WMInitDialog (NS 3.0 setup). * [misc/registry.c] Some missing NULL ptr checks added, misc clean up. Tue Aug 20 21:00:00 1996 Alex Korobka <alex@pharm.sunysb.edu> * [controls/menu.c] Adjust popup menu coordinates so that it always stays within the desktop. * [misc/main.c] Fixed GetEnvironment() return value for lpEnv == NULL case. Mon Aug 19 22:48:36 1996 Jukka Iivonen <iivonen@cc.helsinki.fi> * [misc/crtdll.c] [if1632/crtdll.spec] Added some is* functions, strlen and tolower. Mon Aug 19 13:33:13 1996 Stephen Simmons <ssimmons@vitsemi.com> * [tools/wineconf] New perl script to generate the wine.conf file. Fri Aug 16 15:31:44 1996 John Harvey <john@division.co.uk> * [if1632/gdi.spec] Lots of printer functions. * [include/callback.h] New functions for printer driver support. * [include/gdi.h] New/changed structures to support printer driver. * [misc/escape.c] New version that uses function table in DC structure. * [objects/dc.c] CreateDC copes with things other than Display. X code for CreateDC moved to graphics/x11drv directory. CreateCompatibleDC copies func table from original DC. * [objects/font.c] GetTextExtentPoint32A,GetTextMetrics16 use function table in DC and code moved to drivers directory. * [misc/printdrv.c] [graphics/*/*] [include/win16drv.h] New files for printer support. Fri Aug 16 12:33:00 1996 Bruce Milner <Bruce.Milner@genetics.utah.edu> * [controls/scroll.c] Added SetScrollInfo32 and GetScrollInfo32. These just call existing code. There are a few options in which I'm probably the wrong person for the job (page size and disable bar). There are comments in the code as to what they should do. * [objects/gdiobj.c] [objects/font.c] [include/font.h] Added 32 bit version of FONT_GetObject.
1996-08-24 18:26:35 +00:00
/* Wine driver X11 functions */
extern BOOL X11DRV_AlphaBlend( X11DRV_PDEVICE *physDevDst, INT xDst, INT yDst,
INT widthDst, INT heightDst,
X11DRV_PDEVICE *physDevSrc, INT xSrc, INT ySrc,
INT widthSrc, INT heightSrc, BLENDFUNCTION blendfn );
extern BOOL X11DRV_BitBlt( X11DRV_PDEVICE *physDevDst, INT xDst, INT yDst,
INT width, INT height, X11DRV_PDEVICE *physDevSrc,
INT xSrc, INT ySrc, DWORD rop );
extern BOOL X11DRV_EnumDeviceFonts( X11DRV_PDEVICE *physDev, LPLOGFONTW plf,
FONTENUMPROCW dfeproc, LPARAM lp );
extern LONG X11DRV_GetBitmapBits( HBITMAP hbitmap, void *bits, LONG count );
extern BOOL X11DRV_GetCharWidth( X11DRV_PDEVICE *physDev, UINT firstChar,
UINT lastChar, LPINT buffer );
extern BOOL X11DRV_GetDCOrgEx( X11DRV_PDEVICE *physDev, LPPOINT lpp );
extern BOOL X11DRV_GetTextExtentExPoint( X11DRV_PDEVICE *physDev, LPCWSTR str, INT count,
INT maxExt, LPINT lpnFit, LPINT alpDx, LPSIZE size );
extern BOOL X11DRV_GetTextMetrics(X11DRV_PDEVICE *physDev, TEXTMETRICW *metrics);
extern BOOL X11DRV_PatBlt( X11DRV_PDEVICE *physDev, INT left, INT top,
INT width, INT height, DWORD rop );
extern BOOL X11DRV_StretchBlt( X11DRV_PDEVICE *physDevDst, INT xDst, INT yDst,
INT widthDst, INT heightDst,
X11DRV_PDEVICE *physDevSrc, INT xSrc, INT ySrc,
INT widthSrc, INT heightSrc, DWORD rop );
extern BOOL X11DRV_LineTo( X11DRV_PDEVICE *physDev, INT x, INT y);
extern BOOL X11DRV_Arc( X11DRV_PDEVICE *physDev, INT left, INT top, INT right,
INT bottom, INT xstart, INT ystart, INT xend,
INT yend );
extern BOOL X11DRV_Pie( X11DRV_PDEVICE *physDev, INT left, INT top, INT right,
INT bottom, INT xstart, INT ystart, INT xend,
INT yend );
extern BOOL X11DRV_Chord( X11DRV_PDEVICE *physDev, INT left, INT top,
INT right, INT bottom, INT xstart,
INT ystart, INT xend, INT yend );
extern BOOL X11DRV_Ellipse( X11DRV_PDEVICE *physDev, INT left, INT top,
INT right, INT bottom );
extern BOOL X11DRV_Rectangle(X11DRV_PDEVICE *physDev, INT left, INT top,
INT right, INT bottom);
extern BOOL X11DRV_RoundRect( X11DRV_PDEVICE *physDev, INT left, INT top,
INT right, INT bottom, INT ell_width,
INT ell_height );
extern COLORREF X11DRV_SetPixel( X11DRV_PDEVICE *physDev, INT x, INT y,
Release 970112 Sat Jan 11 18:17:59 1997 Alexandre Julliard <julliard@lrc.epfl.ch> * [controls/menu.c] Updated to new Win32 types. * [controls/listbox.c] Fixed Winfile extended selection bug. * [files/directory.c] Changed DIR_SearchPath to return both long and short file names. * [files/dos_fs.c] Implemented VFAT ioctl to retrieve the original short filenames from a VFAT filesystem (Linux only for now). Replaced DOSFS_GetUnixFileName()/DOSFS_GetDosTrueName() by DOS_GetFullName(). Properly implemented GetShortPathName() and GetFullPathName(). Made all functions re-entrant. * [files/file.c] [misc/main.c] Replaced -allowreadonly option by -failreadonly. The default is now to report success when opening a read-only file for writing. * [objects/metafile.c] Fixed bug in DIB bitmaps pointer calculation. * [scheduler/process.c] Implemented environment strings and Get/SetStdHandle with process environment block. * [tools/build.c] Rewrote BuildContext32() to avoid instructions that may not be supported by all assemblers. Fri Jan 10 17:11:09 1997 David Faure <david.faure@ifhamy.insa-lyon.fr> * [windows/event.c] Created table keyc2vkey, which associate a vkey(+extended bit) to any keycode. Changed EVENT_event_to_vkey to use this table to return the correct vkey. Changed EVENT_ToAscii to get the keycode from this table too. Assigned OEM specific vkeys arbitrarily. Fri Jan 10 09:26:17 1997 John Harvey <john@division.co.uk> * [misc/winsock.c] [misc/winsoc_async.c] Fixed svr4 header files. Changed bzero() to memset(). * [tools/fnt2bdf.c] Removed bcopy() and used memcpy() instead. * [debugger/msc.c] Include string.h instead of strings.h * [debugger/stabs.c] Include string.h instead of strings.h. Define __ELF__ for svr4 systems. * [loader/signal.c] Use wait() instead of wait4() which doesnt exist on Unixware. * [memory/global.c] Use sysconf() instead of getpagesize() for svr4 systems. Thu Jan 9 21:07:20 1997 Robert Pouliot <krynos@clic.net> * [Make.rules.in] [Makefile.in] [make_os2.sh] [rc/Makefile.in] [tools/Makefile.in] [documentation/wine_os2.txt] Patches for OS/2 support. Note that it doesn't compile yet. Tue Jan 7 20:03:53 1997 Eric Youngdale <eric@sub2304.jic.com> * [debugger/*] Many more debugger improvements (see debugger/README for details). Tue Jan 7 15:12:21 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de> * [windows/graphics.c] [objects/text.c] [graphics/x11drv/*] [graphics/metafiledrv/*] Moved some device dependent code into the resp. subdirs. * [include/gdi.h] [include/metafiledrv.h] [include/x11drv.h] Prototypes added, DC_FUNCTIONS: GetPixel added, some unnecessary functions removed. * [objects/region.c] CreatePolyPolygonRgn32 added. * [files/dos_fs.c] QueryDosDevice added. * [misc/lstr.c] FormatMessage: broken heap management fixed. * [scheduler/process.c] [scheduler/thread.c] Get/SetThreadPriority/PriorityClass added. Mon Jan 6 21:55:30 1997 Philippe De Muyter <phdm@info.ucl.ac.be> * [misc/keyboard.c] ToAscii : Use EVENT_ToAscii instead. * [windows/event.c] keypad_key : Do not convert XK_Mode_switch to VK_MENU; recognize keypad cursor keys. EVENT_event_to_vkey : New function, to transform a X keycode into a MSwin vkey + extended bit. EVENT_ToAscii : New function, to transform a vkey + extended bit (+ key state table) into ascii char(s), using XLookupString, and recognizing dead chars. EVENT_key : Transform AltGr into Ctrl+Alt sequence; call EVENT_event_to_vkey for keycode to vkey conversion; fixed previous, context and extended bits. * [windows/keyboard.c] Include stddebug.h, to get -debugmsg messages. GetKeyState : Handle VK_MBUTTON case. GetKeyboardState, SetKeyboardState : Debugging messages added. * [windows/message.c] TranslateMessage : Handle dead chars. Mon Jan 6 20:10:11 1997 Dominik Strasser <bm424953@muenchen.org> * [if1632/crtdll.spec] [misc/crtdll.c] C++ functions new/delete/set_new_handler implemented. Mon Jan 6 15:48:15 1997 Frans van Dorsselaer <dorssel@rulhmpc49.LeidenUniv.nl> * [controls/edit.c] [include/windows.h] Moved the edit control to 32 bits. Included new (win95) message definitions in windows.h Implemented EM_SCROLLCARET, EM_SETMARGINS, EM_GETMARGINS, EM_GETLIMITTEXT, EM_POSFROMCHAR, EM_CHARFROMPOS. Broke EM_SETWORDBREAKPROC (internal wordwrap still works). Fixed some bugs, introduced a couple of others. Text buffer is now initially in 32-bit heap. * [controls/EDIT.TODO] [controls/combo.c] [controls/widgets.c] [if1632/wprocs.spec] [library/miscstubs.c] [windows/defdlg.c] [misc/commdlg.c] Updated to work with 32-bit edit control. Sat Jan 4 22:07:27 1997 O.Flebbe <O.Flebbe@science-computing.uni-tuebingen.de> * [loader/pe_image.c] Use mmap rather then malloc. Better workaround for clean segments.
1997-01-12 18:32:19 +00:00
COLORREF color );
extern COLORREF X11DRV_GetPixel( X11DRV_PDEVICE *physDev, INT x, INT y);
extern BOOL X11DRV_PaintRgn( X11DRV_PDEVICE *physDev, HRGN hrgn );
extern BOOL X11DRV_Polyline( X11DRV_PDEVICE *physDev,const POINT* pt,INT count);
extern BOOL X11DRV_Polygon( X11DRV_PDEVICE *physDev, const POINT* pt, INT count );
2002-05-31 23:06:46 +00:00
extern BOOL X11DRV_PolyPolygon( X11DRV_PDEVICE *physDev, const POINT* pt,
const INT* counts, UINT polygons);
2002-05-31 23:06:46 +00:00
extern BOOL X11DRV_PolyPolyline( X11DRV_PDEVICE *physDev, const POINT* pt,
const DWORD* counts, DWORD polylines);
Release 970112 Sat Jan 11 18:17:59 1997 Alexandre Julliard <julliard@lrc.epfl.ch> * [controls/menu.c] Updated to new Win32 types. * [controls/listbox.c] Fixed Winfile extended selection bug. * [files/directory.c] Changed DIR_SearchPath to return both long and short file names. * [files/dos_fs.c] Implemented VFAT ioctl to retrieve the original short filenames from a VFAT filesystem (Linux only for now). Replaced DOSFS_GetUnixFileName()/DOSFS_GetDosTrueName() by DOS_GetFullName(). Properly implemented GetShortPathName() and GetFullPathName(). Made all functions re-entrant. * [files/file.c] [misc/main.c] Replaced -allowreadonly option by -failreadonly. The default is now to report success when opening a read-only file for writing. * [objects/metafile.c] Fixed bug in DIB bitmaps pointer calculation. * [scheduler/process.c] Implemented environment strings and Get/SetStdHandle with process environment block. * [tools/build.c] Rewrote BuildContext32() to avoid instructions that may not be supported by all assemblers. Fri Jan 10 17:11:09 1997 David Faure <david.faure@ifhamy.insa-lyon.fr> * [windows/event.c] Created table keyc2vkey, which associate a vkey(+extended bit) to any keycode. Changed EVENT_event_to_vkey to use this table to return the correct vkey. Changed EVENT_ToAscii to get the keycode from this table too. Assigned OEM specific vkeys arbitrarily. Fri Jan 10 09:26:17 1997 John Harvey <john@division.co.uk> * [misc/winsock.c] [misc/winsoc_async.c] Fixed svr4 header files. Changed bzero() to memset(). * [tools/fnt2bdf.c] Removed bcopy() and used memcpy() instead. * [debugger/msc.c] Include string.h instead of strings.h * [debugger/stabs.c] Include string.h instead of strings.h. Define __ELF__ for svr4 systems. * [loader/signal.c] Use wait() instead of wait4() which doesnt exist on Unixware. * [memory/global.c] Use sysconf() instead of getpagesize() for svr4 systems. Thu Jan 9 21:07:20 1997 Robert Pouliot <krynos@clic.net> * [Make.rules.in] [Makefile.in] [make_os2.sh] [rc/Makefile.in] [tools/Makefile.in] [documentation/wine_os2.txt] Patches for OS/2 support. Note that it doesn't compile yet. Tue Jan 7 20:03:53 1997 Eric Youngdale <eric@sub2304.jic.com> * [debugger/*] Many more debugger improvements (see debugger/README for details). Tue Jan 7 15:12:21 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de> * [windows/graphics.c] [objects/text.c] [graphics/x11drv/*] [graphics/metafiledrv/*] Moved some device dependent code into the resp. subdirs. * [include/gdi.h] [include/metafiledrv.h] [include/x11drv.h] Prototypes added, DC_FUNCTIONS: GetPixel added, some unnecessary functions removed. * [objects/region.c] CreatePolyPolygonRgn32 added. * [files/dos_fs.c] QueryDosDevice added. * [misc/lstr.c] FormatMessage: broken heap management fixed. * [scheduler/process.c] [scheduler/thread.c] Get/SetThreadPriority/PriorityClass added. Mon Jan 6 21:55:30 1997 Philippe De Muyter <phdm@info.ucl.ac.be> * [misc/keyboard.c] ToAscii : Use EVENT_ToAscii instead. * [windows/event.c] keypad_key : Do not convert XK_Mode_switch to VK_MENU; recognize keypad cursor keys. EVENT_event_to_vkey : New function, to transform a X keycode into a MSwin vkey + extended bit. EVENT_ToAscii : New function, to transform a vkey + extended bit (+ key state table) into ascii char(s), using XLookupString, and recognizing dead chars. EVENT_key : Transform AltGr into Ctrl+Alt sequence; call EVENT_event_to_vkey for keycode to vkey conversion; fixed previous, context and extended bits. * [windows/keyboard.c] Include stddebug.h, to get -debugmsg messages. GetKeyState : Handle VK_MBUTTON case. GetKeyboardState, SetKeyboardState : Debugging messages added. * [windows/message.c] TranslateMessage : Handle dead chars. Mon Jan 6 20:10:11 1997 Dominik Strasser <bm424953@muenchen.org> * [if1632/crtdll.spec] [misc/crtdll.c] C++ functions new/delete/set_new_handler implemented. Mon Jan 6 15:48:15 1997 Frans van Dorsselaer <dorssel@rulhmpc49.LeidenUniv.nl> * [controls/edit.c] [include/windows.h] Moved the edit control to 32 bits. Included new (win95) message definitions in windows.h Implemented EM_SCROLLCARET, EM_SETMARGINS, EM_GETMARGINS, EM_GETLIMITTEXT, EM_POSFROMCHAR, EM_CHARFROMPOS. Broke EM_SETWORDBREAKPROC (internal wordwrap still works). Fixed some bugs, introduced a couple of others. Text buffer is now initially in 32-bit heap. * [controls/EDIT.TODO] [controls/combo.c] [controls/widgets.c] [if1632/wprocs.spec] [library/miscstubs.c] [windows/defdlg.c] [misc/commdlg.c] Updated to work with 32-bit edit control. Sat Jan 4 22:07:27 1997 O.Flebbe <O.Flebbe@science-computing.uni-tuebingen.de> * [loader/pe_image.c] Use mmap rather then malloc. Better workaround for clean segments.
1997-01-12 18:32:19 +00:00
extern COLORREF X11DRV_SetBkColor( X11DRV_PDEVICE *physDev, COLORREF color );
extern COLORREF X11DRV_SetTextColor( X11DRV_PDEVICE *physDev, COLORREF color );
extern BOOL X11DRV_ExtFloodFill( X11DRV_PDEVICE *physDev, INT x, INT y,
COLORREF color, UINT fillType );
extern BOOL X11DRV_ExtTextOut( X11DRV_PDEVICE *physDev, INT x, INT y,
UINT flags, const RECT *lprect,
LPCWSTR str, UINT count, const INT *lpDx );
extern LONG X11DRV_SetBitmapBits( HBITMAP hbitmap, const void *bits, LONG count );
extern void X11DRV_SetDeviceClipping( X11DRV_PDEVICE *physDev, HRGN vis_rgn, HRGN clip_rgn );
extern INT X11DRV_SetDIBitsToDevice( X11DRV_PDEVICE *physDev, INT xDest,
INT yDest, DWORD cx, DWORD cy,
INT xSrc, INT ySrc,
UINT startscan, UINT lines,
LPCVOID bits, const BITMAPINFO *info,
UINT coloruse );
extern BOOL X11DRV_GetDeviceGammaRamp( X11DRV_PDEVICE *physDev, LPVOID ramp );
extern BOOL X11DRV_SetDeviceGammaRamp( X11DRV_PDEVICE *physDev, LPVOID ramp );
1998-12-02 10:29:04 +00:00
2000-05-12 20:18:14 +00:00
/* OpenGL / X11 driver functions */
extern int X11DRV_ChoosePixelFormat(X11DRV_PDEVICE *physDev,
const PIXELFORMATDESCRIPTOR *pppfd);
2002-05-31 23:06:46 +00:00
extern int X11DRV_DescribePixelFormat(X11DRV_PDEVICE *physDev,
int iPixelFormat, UINT nBytes,
PIXELFORMATDESCRIPTOR *ppfd);
extern int X11DRV_GetPixelFormat(X11DRV_PDEVICE *physDev);
extern BOOL X11DRV_SwapBuffers(X11DRV_PDEVICE *physDev);
2000-05-12 20:18:14 +00:00
Release 970202 Sun Feb 2 12:31:03 1997 Alexandre Julliard <julliard@lrc.epfl.ch> * [files/drive.c] Fixed SetCurrentDirectory() to also change the current drive. * [win32/except.c] [tools/build.c] Use Win32 register functions to implement exception handling. Fixed UnhandledExceptionFilter. Fri Jan 31 15:42:41 1997 David Faure <david.faure@ihamy.insa-lyon.fr> * [windows/keyboard.c] Added KEYBOARD_GenerateMsg to generate Caps Lock and NumLock events Added calls to KEYBOARD_GenerateMsg when the key is pressed/released or when the state has changed, out of wine. Changed type 3-state 'ToggleKeyState' to boolean. The On/Off is given by InputKeyStateTable. Wed Jan 29 21:53:04 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de> * [loader/*resource.c][if1632/thunk.c] EnumResource* added. * [loader/pe_resource.] [loader/resource.c] SizeofResource32(), LoadAccelerators32() added. * [misc/lstr.c] FormatMessage %n added. * [misc/crtdll.c][include/ctrdll.h][if1632/crtdll.spec] _chdrive,_errno,_isctype added. * [misc/cpu.c] Replaced runtime_cpu by GetSystemInfo(). * [windows/hook.c][include/hook.h] Fixed mapping of hooks to win32/unicode. * [windows/keyboard.c] [windows/defwnd.c] Updated to win32 standard. ALT-<Menukey> fixed. * [windows/queue.c] GetWindowThreadProcessId() implemented. Mon Jan 27 16:42:49 1997 John Harvey <john@division.co.uk> * [graphics/metafiledrv/*] [graphics/x11drv/*] [objects/bitmap.c] [objects/brush.c] [objects/font.c] [objects/gdiobj.c] [objects/pen.c] Moved SelectObject to graphics drivers. Printer support now works in a few cases but is definitely not complete. Generic/text driver works. The postscript driver works if true type fonts are disabled from the control panel. To enable printer support add Printer=on to the wine section of your wine.conf file. This causes write not to work properly. I know that several other printer drivers do not work. * [tools/build.c] Make .stabs not used for svr4 since it doesn't use GNU assembler. * [misc/fontengine.c] Make sure a printf doesn't crash the system. Sat Jan 25 15:53:35 1997 Huw D M Davies <h.davies1@physics.oxford.ac.uk> * [objects/metafile.c] Fixed some problems with PlayMetaFileRecord(). * [objects/dc.c] hClipRgn gets initialized in GetDCState(). Fri Jan 24 21:22:26 1997 Philippe De Muyter <phdm@info.ucl.ac.be> * [debugger/stabs.c] Handle file names beginning with '/'. Fri Jan 24 18:33:04 1997 Robert Pouliot <krynos@clic.net> * [*/*] Some more patches for OS/2 support. Fri Jan 24 11:30:41 1997 Bang Jun-Young <bangjy@nownuri.nowcom.co.kr> * [resources/sysres_Ko.rc] Updated support for Korean (Ko) language.
1997-02-02 19:01:52 +00:00
/* X11 driver internal functions */
extern void X11DRV_Xcursor_Init(void);
extern void X11DRV_BITMAP_Init(void);
extern void X11DRV_FONT_Init( int log_pixels_x, int log_pixels_y );
Release 970202 Sun Feb 2 12:31:03 1997 Alexandre Julliard <julliard@lrc.epfl.ch> * [files/drive.c] Fixed SetCurrentDirectory() to also change the current drive. * [win32/except.c] [tools/build.c] Use Win32 register functions to implement exception handling. Fixed UnhandledExceptionFilter. Fri Jan 31 15:42:41 1997 David Faure <david.faure@ihamy.insa-lyon.fr> * [windows/keyboard.c] Added KEYBOARD_GenerateMsg to generate Caps Lock and NumLock events Added calls to KEYBOARD_GenerateMsg when the key is pressed/released or when the state has changed, out of wine. Changed type 3-state 'ToggleKeyState' to boolean. The On/Off is given by InputKeyStateTable. Wed Jan 29 21:53:04 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de> * [loader/*resource.c][if1632/thunk.c] EnumResource* added. * [loader/pe_resource.] [loader/resource.c] SizeofResource32(), LoadAccelerators32() added. * [misc/lstr.c] FormatMessage %n added. * [misc/crtdll.c][include/ctrdll.h][if1632/crtdll.spec] _chdrive,_errno,_isctype added. * [misc/cpu.c] Replaced runtime_cpu by GetSystemInfo(). * [windows/hook.c][include/hook.h] Fixed mapping of hooks to win32/unicode. * [windows/keyboard.c] [windows/defwnd.c] Updated to win32 standard. ALT-<Menukey> fixed. * [windows/queue.c] GetWindowThreadProcessId() implemented. Mon Jan 27 16:42:49 1997 John Harvey <john@division.co.uk> * [graphics/metafiledrv/*] [graphics/x11drv/*] [objects/bitmap.c] [objects/brush.c] [objects/font.c] [objects/gdiobj.c] [objects/pen.c] Moved SelectObject to graphics drivers. Printer support now works in a few cases but is definitely not complete. Generic/text driver works. The postscript driver works if true type fonts are disabled from the control panel. To enable printer support add Printer=on to the wine section of your wine.conf file. This causes write not to work properly. I know that several other printer drivers do not work. * [tools/build.c] Make .stabs not used for svr4 since it doesn't use GNU assembler. * [misc/fontengine.c] Make sure a printf doesn't crash the system. Sat Jan 25 15:53:35 1997 Huw D M Davies <h.davies1@physics.oxford.ac.uk> * [objects/metafile.c] Fixed some problems with PlayMetaFileRecord(). * [objects/dc.c] hClipRgn gets initialized in GetDCState(). Fri Jan 24 21:22:26 1997 Philippe De Muyter <phdm@info.ucl.ac.be> * [debugger/stabs.c] Handle file names beginning with '/'. Fri Jan 24 18:33:04 1997 Robert Pouliot <krynos@clic.net> * [*/*] Some more patches for OS/2 support. Fri Jan 24 11:30:41 1997 Bang Jun-Young <bangjy@nownuri.nowcom.co.kr> * [resources/sysres_Ko.rc] Updated support for Korean (Ko) language.
1997-02-02 19:01:52 +00:00
extern int X11DRV_DIB_BitmapInfoSize( const BITMAPINFO * info, WORD coloruse );
extern XImage *X11DRV_DIB_CreateXImage( int width, int height, int depth );
extern HGLOBAL X11DRV_DIB_CreateDIBFromBitmap(HDC hdc, HBITMAP hBmp);
extern HGLOBAL X11DRV_DIB_CreateDIBFromPixmap(Pixmap pixmap, HDC hdc);
extern Pixmap X11DRV_DIB_CreatePixmapFromDIB( HGLOBAL hPackedDIB, HDC hdc );
extern X_PHYSBITMAP *X11DRV_get_phys_bitmap( HBITMAP hbitmap );
extern X_PHYSBITMAP *X11DRV_init_phys_bitmap( HBITMAP hbitmap );
extern Pixmap X11DRV_get_pixmap( HBITMAP hbitmap );
extern RGNDATA *X11DRV_GetRegionData( HRGN hrgn, HDC hdc_lptodp );
extern BOOL X11DRV_SetupGCForPatBlt( X11DRV_PDEVICE *physDev, GC gc, BOOL fMapColors );
extern BOOL X11DRV_SetupGCForBrush( X11DRV_PDEVICE *physDev );
extern BOOL X11DRV_SetupGCForPen( X11DRV_PDEVICE *physDev );
extern BOOL X11DRV_SetupGCForText( X11DRV_PDEVICE *physDev );
extern INT X11DRV_XWStoDS( X11DRV_PDEVICE *physDev, INT width );
extern INT X11DRV_YWStoDS( X11DRV_PDEVICE *physDev, INT height );
extern const int X11DRV_XROPfunction[];
Release 980601 Sun May 31 13:40:13 1998 Alexandre Julliard <julliard@lrc.epfl.ch> * [if1632/signal.c] Added display of exception name. * [loader/task.c] Yet another attempt at fixing SwitchStackTo/SwitchStackBack. * [memory/selector.c] [relay32/builtin32.c] [tools/build.c] [win32/kernel32.c] Generate an assembly stub for Win32 register functions to make their names available at link time. * [programs/*/Makefile.in] Added hacks to support old resource compiler. Fri May 29 16:27:14 1998 Marcus Meissner <marcus@jet.franken.de> * [tools/testrun] Merge of my testscripts at home into one single perl program (tested with perl5). Works only on Linux due to 'ps' and 'ipcs' magic. * [controls/menu.c] Added some DefaultMenuItem stubs. * [debugger/stabs.c] Fixed stabs loading, now supports (int,int) typeinfo format used by gcc-2.8 and egcs-1. If it still crashes, please mail me. * [if1632/][relay32/] Added msvideo.dll (stubs only) Replaced some ptr by str for stringcases Added some new stubs (VxDCall, FindCloseNotif....) * [misc/network.c] Some argument fixes. * [misc/registry.c][misc/cpu.c] Registry initialization partially rewritten and enhanced. * [scheduler/*.c] Some additions so we don't do kill(0,SIGUSR1) (kill processgroup instead of targeted thread) Added SetThreadContext. Thu May 28 23:59:59 1998 Bertho Stultiens <bertho@akhphd.au.dk> * [tools/wrc/*] New resource compiler version 1.0.0 (28-May-1998) * [Make.rules.in] [Makefile.in] Changed and added rc rules to point to tools/wrc/wrc. * [configure.in] [include/config.h.in] Added check for function 'stricmp'. * [include/resource.h] Commented out the old resource structure to catch references. It also includes wrc_rsc.h. * [include/wrc_rsc.h] New file. Definitions for the resources generated with wrc. * [include/windows.h] Added #ifdef RC_INVOKED to exclude stdarg.h. Added SS_NOTIFY flag. * [include/winnls.h] Added SUBLANG_* definitions and corrected some defaults. * [loader/libres.c] Changed the sysres load functions to support wrc generated resources. * [resource/sysres_*.rc] Added #include <windows.h> * [resource/sysres.c] Changed declarations to match wrc's output * [resource/Makefile.in] Changed rules to work with wrc. * [tools/makedep.c] Changed generation of .rc file dependencies to .s target. Thu May 28 22:28:39 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de> * [files/file.c][include/windows.c][relay32/kernel32.spec] Implemented GetFileAttributesEx32A/W. * [misc/imagelist.h][include/commctrl.h][relay32/comctl32.spec] Added ImageList_Read and ImageList_Write stubs. Added ImageList_AddIcon function. Added ImageList_LoadImage. It is the same as ImageList_LoadImage32A. * [controls/header.c] Fixed bitmap drawing bug. Added full bitmap support. * [include/commctrl.h] Added missing header macros. * [controls/toolbar.c][include/toolbar.h][include/commctrl.h] [controls/commctrl.c] [relay32/comctl32.spec] First implementation of toolbar control. Implemented CreateToolbar, CreateToolbarEx and CreateMappedBitmap. * [controls/progress.c][controls/status.c] Some code cleanup. * [controls/commctrl.c][include/commctrl.h][relay32/comctl32.spec] Removed CreateStatusWindow16 and DrawStatusText16. CreateStatusWindow is the same as CreateStatusWindow32A. DrawStatusText is the same as DrawStatusText32A. Thu May 28 16:01:28 1998 Matthew J. Francis <asbel@dial.pipex.com> * [objects/bitmap.c] [objects/bitmap.h] [objects/oembitmap.c] [objects/dc.c] [graphics/x11drv/bitblt.c] Added partial implementation of CreateDIBSection, with great thanks to Ulrich Weigand <weigand@informatik.uni-erlangen.de> for contributing the bulk of the patch. Wed May 27 19:04:31 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de> * [win32/kernel32.c] [if1632/thunk.c] [include/flatthunk.h] ThunkConnect16 and related functions moved to emulator. * [loader/ne/segment.c] Call DllEntryPoint with correct arguments. * [relay32/builtin32.c] Bugfix: Relay debugging did not work for multiple processes. * [controls/menu.c] Bugfix: dwItemData was not set for MF_OWNERDRAW menus. * [if1632/relay.c] [relay32/relay386.c] Relay messages converted to use DPRINTF. * [controls/desktop.c] [relay32/user32.spec] Implemented PaintDesktop. * [files/profile.c] [if1632/kernel.spec] [misc/network.c] [misc/printdrv.c] [relay32/winspool.spec] [win32/ordinals.c] [relay32/kernel32.spec] Some stubs added. * [relay32/mpr.spec] All ordinals were off by one. Tue May 26 13:32:57 1998 Bill Hawes <whawes@star.net> * [misc/lstr.c] [include/casemap.h] [tools/unimap.pl] Added Unicode case conversion routines towupper/towlower, with mapping tables casemap.h created by tools/unimap.pl. * [misc/ntdll.c] [include/winnls.h] [relay32/ntdll.spec] [relay32/advapi.spec] Minimal implementation of IsTextUnicode, just enough to get NT4 notepad to open ascii/unicode files. * [Make.rules.in] [resources/sysres_En.rc] Added include file dlgs.h for building resource files, so that resources can refer to defined values (e.g. pshHelp). * [misc/crtdll.c] [relay32/crtdll.spec] Use towupper/towlower for 32W case conversions. * [memory/string.c] Use towupper for 32W case conversions. * [ole/ole2nls.c] Use towupper for 32W case conversions; fix mem leak; minor cleanup * [controls/edit.c] Added soft break flag to edit state. Print unknown action values for WM_VSCROLL (action 190 occurs when running NT4 notepad.) Mon May 25 22:42:40 1998 Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de> * [files/file.c] Care for a pathological case in SetFilePointer. * [graphics/x11drv/xfont.c] Handle longer Font names in LFD_ComposeLFD and try to catch errors. * [loader/pe_image.c] Unload Dummymodule when PE_LoadLibraryEx32A fails with PE_LoadImage (makes Encarta 98 installer proceed). * [misc/registry.c] Move a check for a special case in RegCreateKeyEx32W after the check for existence. Tue May 25 20:18:26 1998 Matthew Becker <mbecker@glasscity.net> * [misc/ntdll.c] Added some stubs, just guessing at the size of their param lists. * [misc/registry.c] Added stubs for RegUnLoadKey, RegSetKeySecurity, RegSaveKey, RegRestoreKey, and RegReplaceKey * [programs/regtest/regtest.c] Updated registry testing program. Sun May 24 18:11:40 1998 Alex Priem <alexp@sci.kun.nl> * [file/profile.c] Added flag 'return_values' to PROFILE_GetSection. Sun May 24 13:41:10 1998 James Juran <jrj120@psu.edu> * [misc/shell.c] [files/directory.c] Documentation/debugging info additions. * [*/*.c] [include/*.h] Moved many extern function definitions to appropriate header files. Cleaned up a few compile warnings. If #include "debug.h" is present, removed #include <stdio.h>. debug.h includes stdio.h, so it is not necessary to include both. * [graphics/*.c] [if1632/signal.c] [ipc/*.c] [scheduler/*.c] [win32/*.c] [windows/*.c] Final patch to convert fprintf statements to new debugging interface. Some fprintfs are still left, especially in the debugger/ directory. However, IMHO, it's not worth the effort to change the rest. Fri May 22 21:58:35 1998 Morten Welinder <terra@diku.dk> * [windows/keyboard.c] Correct handling of keys "`-=[]\;',./". Fri May 22 12:06:00 1998 Per Lindstrm <pelinstr@algonet.se> * [include/windows.h] [relay32/kernel32.spec] [win32/console.c] Added stub for ReadConsoleOutputCharacter32A. Thu May 21 16:45:48 1998 Pascal Cuoq <pcuoq@ens-lyon.fr> * [ole/ole2nls.c] Began better implementation of LCMapString32A. Not very well tested yet, and still need improvements. * [controls/scroll.c] Documented functions. Wed May 20 21:37:56 1998 Peter Hunnisett <hunnise@nortel.ca> * [include/windows.h][misc/main.c] Change SystemParameterInfo to support SPI_GETHIGHCONTRAST. Also include some missing SPI_ definitions. * [include/dsound.h][multimedia/dsound.c][relay32/dplayx.spec] Added stubs for DirectPlayLobbyCreate[AW]. Not sure if these should go into a new files dplayx.c? Anyone care? * [include/winnls.h] Added two missing flags for the CompareString32 functions.
1998-06-01 10:44:35 +00:00
extern void _XInitImageFuncPtrs(XImage *);
extern int client_side_with_core;
extern int client_side_with_render;
extern int client_side_antialias_with_core;
extern int client_side_antialias_with_render;
extern int using_client_side_fonts;
extern void X11DRV_XRender_Init(void);
extern void X11DRV_XRender_Finalize(void);
extern BOOL X11DRV_XRender_SelectFont(X11DRV_PDEVICE*, HFONT);
extern void X11DRV_XRender_DeleteDC(X11DRV_PDEVICE*);
extern BOOL X11DRV_XRender_ExtTextOut(X11DRV_PDEVICE *physDev, INT x, INT y, UINT flags,
const RECT *lprect, LPCWSTR wstr,
UINT count, const INT *lpDx);
extern void X11DRV_XRender_UpdateDrawable(X11DRV_PDEVICE *physDev);
extern XVisualInfo *X11DRV_setup_opengl_visual(Display *display);
extern Drawable get_glxdrawable(X11DRV_PDEVICE *physDev);
extern BOOL destroy_glxpixmap(Display *display, XID glxpixmap);
/* XIM support */
extern XIC X11DRV_CreateIC(XIM xim, Display *display, Window win);
extern XIM X11DRV_SetupXIM(Display *display, const char *input_style);
extern void X11DRV_XIMLookupChars( const char *str, DWORD count );
extern void X11DRV_XDND_EnterEvent( HWND hWnd, XClientMessageEvent *event );
extern void X11DRV_XDND_PositionEvent( HWND hWnd, XClientMessageEvent *event );
extern void X11DRV_XDND_DropEvent( HWND hWnd, XClientMessageEvent *event );
extern void X11DRV_XDND_LeaveEvent( HWND hWnd, XClientMessageEvent *event );
1998-11-06 11:03:00 +00:00
/* exported dib functions for now */
/* DIB Section sync state */
enum { DIB_Status_None, DIB_Status_InSync, DIB_Status_GdiMod, DIB_Status_AppMod };
typedef struct {
void (*Convert_5x5_asis)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_555_reverse)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_555_to_565_asis)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_555_to_565_reverse)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_555_to_888_asis)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_555_to_888_reverse)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_555_to_0888_asis)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_555_to_0888_reverse)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_5x5_to_any0888)(int width, int height,
const void* srcbits, int srclinebytes,
WORD rsrc, WORD gsrc, WORD bsrc,
void* dstbits, int dstlinebytes,
DWORD rdst, DWORD gdst, DWORD bdst);
void (*Convert_565_reverse)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_565_to_555_asis)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_565_to_555_reverse)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_565_to_888_asis)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_565_to_888_reverse)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_565_to_0888_asis)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_565_to_0888_reverse)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_888_asis)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_888_reverse)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_888_to_555_asis)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_888_to_555_reverse)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_888_to_565_asis)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_888_to_565_reverse)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_888_to_0888_asis)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_888_to_0888_reverse)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_rgb888_to_any0888)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes,
DWORD rdst, DWORD gdst, DWORD bdst);
void (*Convert_bgr888_to_any0888)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes,
DWORD rdst, DWORD gdst, DWORD bdst);
void (*Convert_0888_asis)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_0888_reverse)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_0888_any)(int width, int height,
const void* srcbits, int srclinebytes,
DWORD rsrc, DWORD gsrc, DWORD bsrc,
void* dstbits, int dstlinebytes,
DWORD rdst, DWORD gdst, DWORD bdst);
void (*Convert_0888_to_555_asis)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_0888_to_555_reverse)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_0888_to_565_asis)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_0888_to_565_reverse)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_any0888_to_5x5)(int width, int height,
const void* srcbits, int srclinebytes,
DWORD rsrc, DWORD gsrc, DWORD bsrc,
void* dstbits, int dstlinebytes,
WORD rdst, WORD gdst, WORD bdst);
void (*Convert_0888_to_888_asis)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_0888_to_888_reverse)(int width, int height,
const void* srcbits, int srclinebytes,
void* dstbits, int dstlinebytes);
void (*Convert_any0888_to_rgb888)(int width, int height,
const void* srcbits, int srclinebytes,
DWORD rsrc, DWORD gsrc, DWORD bsrc,
void* dstbits, int dstlinebytes);
void (*Convert_any0888_to_bgr888)(int width, int height,
const void* srcbits, int srclinebytes,
DWORD rsrc, DWORD gsrc, DWORD bsrc,
void* dstbits, int dstlinebytes);
} dib_conversions;
extern const dib_conversions dib_normal, dib_src_byteswap, dib_dst_byteswap;
extern INT X11DRV_DIB_MaskToShift(DWORD mask);
extern INT X11DRV_CoerceDIBSection(X11DRV_PDEVICE *physDev,INT);
extern INT X11DRV_LockDIBSection(X11DRV_PDEVICE *physDev,INT);
extern void X11DRV_UnlockDIBSection(X11DRV_PDEVICE *physDev,BOOL);
extern void X11DRV_DIB_DeleteDIBSection(X_PHYSBITMAP *physBitmap, DIBSECTION *dib);
extern void X11DRV_DIB_CopyDIBSection(X11DRV_PDEVICE *physDevSrc, X11DRV_PDEVICE *physDevDst,
DWORD xSrc, DWORD ySrc, DWORD xDest, DWORD yDest,
DWORD width, DWORD height);
struct _DCICMD;
extern INT X11DRV_DCICommand(INT cbInput, const struct _DCICMD *lpCmd, LPVOID lpOutData);
/**************************************************************************
* X11 GDI driver
*/
extern void X11DRV_GDI_Finalize(void);
extern Display *gdi_display; /* display to use for all GDI functions */
/* X11 GDI palette driver */
#define X11DRV_PALETTE_FIXED 0x0001 /* read-only colormap - have to use XAllocColor (if not virtual) */
#define X11DRV_PALETTE_VIRTUAL 0x0002 /* no mapping needed - pixel == pixel color */
#define X11DRV_PALETTE_PRIVATE 0x1000 /* private colormap, identity mapping */
#define X11DRV_PALETTE_WHITESET 0x2000
extern Colormap X11DRV_PALETTE_PaletteXColormap;
extern UINT16 X11DRV_PALETTE_PaletteFlags;
extern int *X11DRV_PALETTE_PaletteToXPixel;
extern int *X11DRV_PALETTE_XPixelToPalette;
extern int X11DRV_PALETTE_mapEGAPixel[16];
extern int X11DRV_PALETTE_Init(void);
extern void X11DRV_PALETTE_Cleanup(void);
extern BOOL X11DRV_IsSolidColor(COLORREF color);
extern COLORREF X11DRV_PALETTE_ToLogical(int pixel);
extern int X11DRV_PALETTE_ToPhysical(X11DRV_PDEVICE *physDev, COLORREF color);
extern unsigned int depth_to_bpp( unsigned int depth );
/* GDI escapes */
#define X11DRV_ESCAPE 6789
enum x11drv_escape_codes
{
X11DRV_GET_DISPLAY, /* get X11 display for a DC */
X11DRV_GET_DRAWABLE, /* get current drawable for a DC */
X11DRV_GET_FONT, /* get current X font for a DC */
X11DRV_SET_DRAWABLE, /* set current drawable for a DC */
X11DRV_START_EXPOSURES, /* start graphics exposures */
X11DRV_END_EXPOSURES, /* end graphics exposures */
X11DRV_GET_DCE, /* no longer used */
X11DRV_SET_DCE, /* no longer used */
X11DRV_GET_GLX_DRAWABLE, /* get current glx drawable for a DC */
X11DRV_SYNC_PIXMAP, /* sync the dibsection to its pixmap */
X11DRV_FLUSH_GL_DRAWABLE /* flush changes made to the gl drawable */
};
struct x11drv_escape_set_drawable
{
enum x11drv_escape_codes code; /* escape code (X11DRV_SET_DRAWABLE) */
Drawable drawable; /* X drawable */
int mode; /* ClipByChildren or IncludeInferiors */
RECT dc_rect; /* DC rectangle relative to drawable */
RECT drawable_rect;/* Drawable rectangle relative to screen */
XID fbconfig_id; /* fbconfig id used by the GL drawable */
Drawable gl_drawable; /* GL drawable */
Pixmap pixmap; /* Pixmap for a GLXPixmap gl_drawable */
};
struct x11drv_escape_set_dce
{
enum x11drv_escape_codes code; /* escape code (X11DRV_SET_DRAWABLE) */
struct dce *dce; /* pointer to DCE (opaque ptr for GDI) */
};
/**************************************************************************
* X11 USER driver
*/
struct x11drv_thread_data
{
Display *display;
int process_event_count; /* recursion count for event processing */
Cursor cursor; /* current cursor */
Window cursor_window; /* current window that contains the cursor */
Window grab_window; /* window that currently grabs the mouse */
HWND last_focus; /* last window that had focus */
XIM xim; /* input method */
Window selection_wnd; /* window used for selection interactions */
};
extern struct x11drv_thread_data *x11drv_init_thread_data(void);
extern DWORD thread_data_tls_index;
static inline struct x11drv_thread_data *x11drv_thread_data(void)
{
struct x11drv_thread_data *data = TlsGetValue( thread_data_tls_index );
if (!data) data = x11drv_init_thread_data();
return data;
}
static inline Display *thread_display(void) { return x11drv_thread_data()->display; }
extern Visual *visual;
extern Window root_window;
extern unsigned int screen_width;
extern unsigned int screen_height;
extern unsigned int screen_bpp;
extern unsigned int screen_depth;
extern RECT virtual_screen_rect;
extern unsigned int text_caps;
2006-12-29 19:26:35 +00:00
extern int dxgrab;
extern int use_xkb;
extern int use_take_focus;
extern int use_primary_selection;
extern int managed_mode;
extern int private_color_map;
extern int primary_monitor;
extern int copy_default_colors;
extern int alloc_system_colors;
extern int xrender_error_base;
extern BYTE key_state_table[256];
extern POINT cursor_pos;
/* atoms */
enum x11drv_atoms
{
FIRST_XATOM = XA_LAST_PREDEFINED + 1,
XATOM_CLIPBOARD = FIRST_XATOM,
XATOM_COMPOUND_TEXT,
XATOM_MULTIPLE,
XATOM_SELECTION_DATA,
XATOM_TARGETS,
XATOM_TEXT,
XATOM_UTF8_STRING,
XATOM_RAW_ASCENT,
XATOM_RAW_DESCENT,
XATOM_RAW_CAP_HEIGHT,
XATOM_WM_PROTOCOLS,
XATOM_WM_DELETE_WINDOW,
XATOM_WM_TAKE_FOCUS,
XATOM_KWM_DOCKWINDOW,
XATOM_DndProtocol,
XATOM_DndSelection,
XATOM__MOTIF_WM_HINTS,
XATOM__KDE_NET_WM_SYSTEM_TRAY_WINDOW_FOR,
XATOM__NET_SYSTEM_TRAY_OPCODE,
XATOM__NET_SYSTEM_TRAY_S0,
XATOM__NET_WM_MOVERESIZE,
XATOM__NET_WM_NAME,
XATOM__NET_WM_PID,
XATOM__NET_WM_PING,
XATOM__NET_WM_STATE,
XATOM__NET_WM_STATE_ABOVE,
XATOM__NET_WM_STATE_FULLSCREEN,
XATOM__NET_WM_STATE_SKIP_PAGER,
XATOM__NET_WM_STATE_SKIP_TASKBAR,
XATOM__NET_WM_WINDOW_TYPE,
2006-10-11 15:32:22 +00:00
XATOM__NET_WM_WINDOW_TYPE_DIALOG,
XATOM__NET_WM_WINDOW_TYPE_NORMAL,
XATOM__NET_WM_WINDOW_TYPE_UTILITY,
XATOM__XEMBED_INFO,
XATOM_XdndAware,
XATOM_XdndEnter,
XATOM_XdndPosition,
XATOM_XdndStatus,
XATOM_XdndLeave,
XATOM_XdndFinished,
XATOM_XdndDrop,
XATOM_XdndActionCopy,
XATOM_XdndActionMove,
XATOM_XdndActionLink,
XATOM_XdndActionAsk,
XATOM_XdndActionPrivate,
XATOM_XdndSelection,
XATOM_XdndTarget,
XATOM_XdndTypeList,
XATOM_WCF_DIB,
XATOM_image_gif,
XATOM_text_html,
XATOM_text_plain,
XATOM_text_rtf,
XATOM_text_richtext,
XATOM_text_uri_list,
NB_XATOMS
};
extern Atom X11DRV_Atoms[NB_XATOMS - FIRST_XATOM];
#define x11drv_atom(name) (X11DRV_Atoms[XATOM_##name - FIRST_XATOM])
1998-12-07 09:13:40 +00:00
/* X11 event driver */
typedef void (*x11drv_event_handler)( HWND hwnd, XEvent *event );
extern void X11DRV_register_event_handler( int type, x11drv_event_handler handler );
extern void X11DRV_ButtonPress( HWND hwnd, XEvent *event );
extern void X11DRV_ButtonRelease( HWND hwnd, XEvent *event );
extern void X11DRV_MotionNotify( HWND hwnd, XEvent *event );
extern void X11DRV_EnterNotify( HWND hwnd, XEvent *event );
extern void X11DRV_KeyEvent( HWND hwnd, XEvent *event );
extern void X11DRV_KeymapNotify( HWND hwnd, XEvent *event );
extern void X11DRV_Expose( HWND hwnd, XEvent *event );
extern void X11DRV_MapNotify( HWND hwnd, XEvent *event );
extern void X11DRV_UnmapNotify( HWND hwnd, XEvent *event );
extern void X11DRV_ConfigureNotify( HWND hwnd, XEvent *event );
extern void X11DRV_SelectionRequest( HWND hWnd, XEvent *event );
extern void X11DRV_SelectionClear( HWND hWnd, XEvent *event );
extern void X11DRV_MappingNotify( HWND hWnd, XEvent *event );
extern DWORD EVENT_x11_time_to_win32_time(Time time);
/* X11 driver private messages, must be in the range 0x80001000..0x80001fff */
enum x11drv_window_messages
{
WM_X11DRV_ACQUIRE_SELECTION = 0x80001000,
WM_X11DRV_DELETE_WINDOW,
WM_X11DRV_SET_WIN_FORMAT,
WM_X11DRV_RESIZE_DESKTOP
};
/* _NET_WM_STATE properties that we keep track of */
enum x11drv_wm_state
{
WM_STATE_FULLSCREEN,
WM_STATE_ABOVE,
WM_STATE_SKIP_PAGER,
WM_STATE_SKIP_TASKBAR,
NB_WM_STATES
};
/* x11drv private window data */
struct x11drv_win_data
{
2005-03-25 16:47:04 +00:00
HWND hwnd; /* hwnd that this private data belongs to */
Window whole_window; /* X window for the complete window */
Window icon_window; /* X window for the icon */
XID fbconfig_id; /* fbconfig id for the GL drawable this hwnd uses */
Drawable gl_drawable; /* Optional GL drawable for rendering the client area */
Pixmap pixmap; /* Base pixmap for if gl_drawable is a GLXPixmap */
2005-03-25 16:47:04 +00:00
RECT window_rect; /* USER window rectangle relative to parent */
RECT whole_rect; /* X window rectangle for the whole window relative to parent */
RECT client_rect; /* client area relative to parent */
2005-03-25 16:47:04 +00:00
XIC xic; /* X input context */
XWMHints *wm_hints; /* window manager hints */
BOOL managed : 1; /* is window managed? */
BOOL mapped : 1; /* is window mapped? (in either normal or iconic state) */
DWORD wm_state; /* bit mask of active x11drv_wm_state values */
2005-03-25 16:47:04 +00:00
struct dce *dce; /* DCE for CS_OWNDC or CS_CLASSDC windows */
unsigned int lock_changes; /* lock count for X11 change requests */
2005-03-25 16:47:04 +00:00
HBITMAP hWMIconBitmap;
HBITMAP hWMIconMask;
};
extern struct x11drv_win_data *X11DRV_get_win_data( HWND hwnd );
extern struct x11drv_win_data *X11DRV_create_win_data( HWND hwnd );
extern Window X11DRV_get_whole_window( HWND hwnd );
extern XID X11DRV_get_fbconfig_id( HWND hwnd );
extern Drawable X11DRV_get_gl_drawable( HWND hwnd );
extern Pixmap X11DRV_get_gl_pixmap( HWND hwnd );
extern BOOL X11DRV_is_window_rect_mapped( const RECT *rect );
extern XIC X11DRV_get_ic( HWND hwnd );
extern BOOL X11DRV_set_win_format( HWND hwnd, XID fbconfig );
extern int pixelformat_from_fbconfig_id( XID fbconfig_id );
extern XVisualInfo *visual_from_fbconfig_id( XID fbconfig_id );
extern void mark_drawable_dirty( Drawable old, Drawable new );
extern Drawable create_glxpixmap( Display *display, XVisualInfo *vis, Pixmap parent );
extern void flush_gl_drawable( X11DRV_PDEVICE *physDev );
2005-03-25 16:47:04 +00:00
extern void alloc_window_dce( struct x11drv_win_data *data );
extern void free_window_dce( struct x11drv_win_data *data );
extern void invalidate_dce( HWND hwnd, const RECT *rect );
/* X context to associate a hwnd to an X window */
extern XContext winContext;
extern void X11DRV_InitClipboard(void);
extern int X11DRV_AcquireClipboard(HWND hWndClipWindow);
extern void X11DRV_ResetSelectionOwner(void);
extern void X11DRV_SetFocus( HWND hwnd );
extern Cursor X11DRV_GetCursor( Display *display, struct tagCURSORICONINFO *ptr );
extern BOOL X11DRV_ClipCursor( LPCRECT clip );
extern void X11DRV_InitKeyboard( Display *display );
extern void X11DRV_send_keyboard_input( WORD wVk, WORD wScan, DWORD dwFlags, DWORD time,
DWORD dwExtraInfo, UINT injected_flags );
extern void X11DRV_send_mouse_input( HWND hwnd, DWORD flags, DWORD x, DWORD y,
DWORD data, DWORD time, DWORD extra_info, UINT injected_flags );
extern DWORD X11DRV_MsgWaitForMultipleObjectsEx( DWORD count, const HANDLE *handles, DWORD timeout,
DWORD mask, DWORD flags );
typedef int (*x11drv_error_callback)( Display *display, XErrorEvent *event, void *arg );
extern void X11DRV_expect_error( Display *display, x11drv_error_callback callback, void *arg );
extern int X11DRV_check_error(void);
extern BOOL is_window_managed( HWND hwnd, UINT swp_flags, const RECT *window_rect );
extern void X11DRV_set_iconic_state( HWND hwnd );
extern void X11DRV_window_to_X_rect( struct x11drv_win_data *data, RECT *rect );
extern void X11DRV_X_to_window_rect( struct x11drv_win_data *data, RECT *rect );
extern void X11DRV_sync_gl_drawable( Display *display, struct x11drv_win_data *data );
extern void X11DRV_sync_window_style( Display *display, struct x11drv_win_data *data );
extern void X11DRV_sync_window_position( Display *display, struct x11drv_win_data *data,
UINT swp_flags, const RECT *old_client_rect,
const RECT *old_whole_rect );
extern void X11DRV_set_wm_hints( Display *display, struct x11drv_win_data *data );
extern void xinerama_init( unsigned int width, unsigned int height );
extern void X11DRV_init_desktop( Window win, unsigned int width, unsigned int height );
extern void X11DRV_resize_desktop(unsigned int width, unsigned int height);
extern void X11DRV_Settings_AddDepthModes(void);
extern void X11DRV_Settings_AddOneMode(unsigned int width, unsigned int height, unsigned int bpp, unsigned int freq);
extern int X11DRV_Settings_CreateDriver(LPDDHALINFO info);
extern LPDDHALMODEINFO X11DRV_Settings_CreateModes(unsigned int max_modes, int reserve_depths);
unsigned int X11DRV_Settings_GetModeCount(void);
void X11DRV_Settings_Init(void);
LPDDHALMODEINFO X11DRV_Settings_SetHandlers(const char *name,
int (*pNewGCM)(void),
LONG (*pNewSCM)(int),
unsigned int nmodes,
int reserve_depths);
extern void X11DRV_DDHAL_SwitchMode(DWORD dwModeIndex, LPVOID fb_addr, LPVIDMEM fb_mem);
1998-12-07 09:13:40 +00:00
#endif /* __WINE_X11DRV_H */