1993-09-04 10:09:32 +00:00
|
|
|
/*
|
|
|
|
* GDI bit-blit operations
|
|
|
|
*
|
1994-12-27 14:11:53 +00:00
|
|
|
* Copyright 1993, 1994 Alexandre Julliard
|
|
|
|
*/
|
|
|
|
|
1993-09-04 10:09:32 +00:00
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <X11/Xlib.h>
|
Release 940301
Tue Mar 1 11:30:21 1994 Bob Amstadt (bob@pooh)
* [Configure] [*/Imakefile]
Created configure script to handle different types of Wine builds.
* [Configure] [tools/build.c] [if1632/Imakefile] [Wine.tmpl]
Added ability to compile Wine on systems with 14-char filename limit.
* [if1632/relay.c] [include/options.h] [misc/main.c]
Added -relaydbg option to command line if DEBUG_RELAY is defined.
* [loader/selector.c]
Fixed bug in GetEntryDLLName() that caused Wine to seg fault.
* [memory/heap.c]
Fixed LocalInit() to work correctly.
* [misc/user.c]
Added code to call loaded DLLs' initialization routines.
Tue Mar 1 01:01:17 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/dce.c]
Added clipping of child windows by their parent's client area.
* [windows/nonclient.c]
Bug fix in NC_DoNCPaint().
* [windows/painting.c]
Bug fix in RedrawWindow().
Feb 27, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [mem/atom.c]
Bug fix again in ATOM_DeleteAtom() :
change LocalFree() by USER_HEAP_FREE().
(Previous patch done Feb 13th had been lost)
* [controls/scroll.c]
Move bitmaps loading in AllocScrollBar() instead of in WM_CREATE.
* [windows/class.c] (sorry Alex ...)
There was no bug there "in RegisterClass() :
WNDCLASS->lpszClassName was reset to NULL."
^^^^^
* [misc/clipboard.c] --- New File ---
New function EnumClipboardFormats().
New function OpenClipboard().
New function CloseClipboard().
New function EmptyClipboard().
New function GetClipboardOwner().
New function GetClipboardViewer().
New function CountClipboardFormats().
New function IsClipboardFormatAvailable().
New function OpenClipboard().
New function GetClipboardData().
New function SetClipboardViewer().
New function EnumClipboardFormats().
New function RegisterClipboardFormat().
New function ChangeClipboardChain().
New function SetClipboardData().
New function GetOpenClipboardWindow().
New function GetPriorityClipboardFormat().
New function GetClipboardFormatName().
Tue Mar 1 20:15:45 1994 Erik Bos <erik@trashcan.hacktic.nl>
* [misc/comm.c]
bugfix in OpenComm().
Tue Feb 22 18:04:02 1994 Jeffrey Hsu <hsu@freefall.cdrom.com>
* [include/winsock.h]
The sockproto struct is already defined in <sys/socket.h>
* [misc/winsock.c]
Need to include <netinet/in.h> for struct in-addr.
Use sys_errlist[] instead of strerror[].
*[toolkit/heap.c]
ANSI C specifies that the malloc functions are defined in stdlib.h,
so we don't need to include malloc.h.
*[loader/ldtlib.c]
Print informative error message about probable cause of i386_set_ldt()
failure and then exit.
*[Imakefile]
For systems that don't use gmake by default, set the MAKE variable
to gmake and propagate it on recursive makes.
Take out -li386 for FreeBSD systems and define __FreeBSD__ so Wine
can be built with the FreeBSD 1.0.2 compiler.
Tue Feb 22 02:52:19 EST 1994 jrichard@cs.uml.edu (John Richardson)
* [objects/bitblt.c]
Added in three functions to do stretching and compression
for WHITEONBLACK, BLACKONWHITE, and color copies.
Tue Feb 22 15:01:31 EST 1994 jrichard@cs.uml.edu (John Richardson)
* [windows/graphics.c]
Added FloodFill and FloodFill_rec. FloodFill_rec is pretty
inefficent, but should suffice for now.
* [include/windows.h]
Changed the x,y paramaters for the FloodFill prototype
from ints to shorts
Tue Feb 22 00:58:28 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/widgets.c]
Added desktop window class.
* [windows/painting.c]
Bug fix in RedrawWindow().
Implemented ExcludeUpdateRgn().
* [windows/win.c] [windows/winpos.c]
Implemented desktop window.
* [controls/desktop.c]
Preliminary desktop window procedure.
Feb 20, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/menu.c]
New function LoadMenuIndirect().
New function GetMenuCheckMarkDimensions().
* [if1632/user.spec]
Entry for DefDlgProc().
* [windows/class.c]
Fix bug in RegisterClass() :
WNDCLASS->lpszMenuName was reset to NULL.
* [windows/win.c]
In CreateWindowEx(), if hMenu == 0 then use
wndclass->lpszMenuName to load Menu from resource;
Mon Feb 21 22:38:28 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/library.c] [loader/wine.c]
Fixed runing DLL's as main executable problem.
* [misc/dos_fs.c]
Added wildcard support in DOS_readdir().
* [misc/winsocket.c]
Added proper error handling of BSD winsocket functions.
* [miscemu/int21.c]
KERNEL_DOS3Call renamed to DOS3Call and modified to use do_int21().
* [main/main.c]
Added functions for GetVersion, GetWinFlags and GetTimerResolution
for libwine.a, SystemParametersInfo() partly implemented.
Tue Feb 22 19:00:02 1994 Miguel de Icaza (miguel@xochitl.nuclecu.unam.mx)
* [toolkit/winmain.c]
Added _WinMain function. Setups the library (calls USER_InitApp).
* [toolkit/sup.c]
Added load_mz_header, load_ne_header, load_type_info and
load_name_info functions.
* [toolkit/heap.c]
Code cleanup.
* [misc/user.c]
Moved from loader/misc.c. I hope to put back all the loader
functions in the ~loader subdirectory in the future. CUrrently is
needed since it has USER_InitApp.
* [misc/resource.c]
Since WineLib will probably need DLLs (currently it needs
Sysres.dll). WineLib will be using much code of the loader again.
So I removed some ifdefs that were used by WineLib.
Added load_typeinfo and load_nameinfo (and the corresponding
functions in [toolkit/sup.c]
Added integer convertion functions in the needed places.
Added very ugly patch (includes wine.c). In the next release I
plan to move back all the loader routines to ~/loader. In the
meantime I needed this patch. It doesn't affect any of the
emulator code (its ifdefed for WineLib).
* [misc/main.c]
Cleaned up call to WinMain (now uses [toolkit/winmain.c]
Ifdefed argument number checking when compiling the library.
* [loader/wine.c]
Modified to use load_(mz|ne)_header instead of doing a direct
read. When compiling the emulator it still uses the direct read
for performance.
* [include/wine.h]
Prototypes for loading routines.
* [include/class.h]
Added WINE_PACKED macro instead of __attribute__ ((packed))
* [include/arch.h]
Macros for converting integers (Little endian to big-endian).
Needed in the Sun to allow loading of DLL files.
Mon Feb 14 23:48:09 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/clipping.c]
Moved everything into windows/painting.c and removed this file.
* [windows/message.c]
Removed calls to memmove() in MSG_RemoveMsg().
* [windows/nonclient.c]
Added WM_GETMINMAXINFO support for window resizing.
* [windows/painting.c]
Implemented RedrawWindow().
* [windows/scroll.c]
Bug fix in ScrollWindowEx().
* [windows/win.c]
Moved UpdateWindow() to windows/painting.c.
Fri Feb 11 12:41:28 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/wine.c] [misc/dos_fs.c]
getenv() eq NULL bugfixes.
* [misc/comm.c]
cfmakeraw changed for SunOS.
Feb 13, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [mem/atom.c]
Bug fix in ATOM_DeleteAtom() :
change LocalFree() by USER_HEAP_FREE().
* [misc/message.c]
New function FatalAppExit().
* [objects/font.c]
New empty stub SetMapperFlags().
* [controls/menu.c]
Better CheckMark & other bitmaps placement.
* [windows/graphics.c]
New function RoundRect() : calc.exe now working...
Tue Feb 15 14:29:37 1994 John Richardson
* [objects/bitblt.c]
Fixed StretchBlt so it works quicker and faster. It still doesn't
use the StretchMode bits for bitmap compression, but that will
come soon.
Mon Feb 14 13:21:04 1994 Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
* [include/windows.h,dialog.h,gdi.h]
Changed __atribute__ ((packed)) for WINE_PACKED.
When compiling the library this is defined as nothing. This gets
rid with all the problems compiling under SunOS. Also
* [windows/utility.c]
Added DebugPrintString.
* [toolkit/sup.c]
Added hSysRes = 1 definition to resolve externals.
Added CallLineDDAProc function (toolkit version).
Added toy, and hi ineficient memmove until code in message.c get
rewritten.
* [objects/gdiobj.c]
Ifdefed linux/emulator-dependent code to allow compilation of
WineLib.
* [misc/winsocket.c]
Added ifdef to allow compilation under SunOS.
* [misc/resource.c]
When compiling the library, the resource file is expected to be in
a file called $argv[0].Res. Also the information of the resource
is expected to be at offset 0 of the .Res file.
* [misc/main.c]
Call WinMain with arguments if compiling WineLib.
Call shutdown functions (Comm_DeInit, DOS_DeInitFS).
Call sync_profiles to preserve changes to .INI files.
* [misc/comm.c,dos_fs.c]
removed call to atexit(Comm_DeInit)
removed call to atexit(DOS_DeInitFS)
Shutdown functions are now called from the return of WinMain
* removed memorylib subdirectory
* moved memory/atom.c to misc/atom.c
moved memorylib/heap.c to toolkit/heap.c
* [loader/wine.c]
Moved DebugPrintString to windows/utility.c
* [include/winsock.h]
Define SO_DONTLINGER only if it has not been previously defined.
* [include/windows.h]
added definition for DLGPROC.
added definition for LMEM_WINE_ALIGN and other LMEM_* constants.
When compiling WineLib WNDPROC is defined with all the parameters
to avoid compilation problems.
* [include/user.h]
When compiling WineLib USER_HEAP_(ALLOC|REALLOC|ADDR|FREE) the
calls are translated to the library allocation routines.
* [include/gdi.h,user.h]
When compiling WineLib GDI_HEAP_(ALLOC|ADDR|FREE) the calls are
translated to the library allocation routines.
* [include/atom.h]
Defined LocalAlign. When compiling the emulator it's translated as
a call to LocalAlloc (the original code), when compiling WineLib
as a call to LocalAlloc with a WINE-flag called LMEM_WINE_ALIGN
(atom.c needs aligned data on a 4 byte boundary).
* [misc/file.c]
Renamed KERNEL_* functions and fixed prototypes.
* [if1632/kernel.spec]
Renamed KERNEL_* functions in order to be used by applications
using Wine as a library (OpeFile, _lclose, _lread, _lcreate,
_llseek, _lopen, _lwrite).
* [Makefile]
Create library instead of executable when building target
libwine.a
Tue Feb 8 13:52:11 1994 Miguel de Icaza (miguel@roxanne)
* [Makefiles]
Use $(CC) instead of cc.
Added libwine target.
* [include/prototypes]
#ifdefed section for WineLib
* moved loader/cursor.c to misc/cursor.c
moved loader/resource.c to misc/resource.c
moved misc/emulate.c to miscemu/emulate.c
moved misc/int1a.c to miscemu/int1a.c
moved misc/int21.c to miscemu/int21.c
moved misc/kernel.c to miscemu/kernel.c
moved misc/user.c to miscemu/user.c
* [memorylib/heap.c]
Heap management for WineLib
* [misc/comm.c]
Modified to allow compilation under SunOS (#include errno, SunOS
doesn't have atexit ()).
* [misc/dos_fs.c]
Modified to allow compilation under SunOS (#include vfs.h)
* [misc/file.c]
Modified to allow compilation under SunOS (OPEN_MAX constant,
#include unistd.h)
* [objects/palette.c]
Modified to allow compilation under SunOS (#include limits)
* [toolkit/sup.c]
WineLib version of CallWindowProc.
* [windows/event.c]
Typedef XPointer under X11R4 (OpenWindows).
* [windows/win.c]
When compiling WineLib, use direct callbacks instead of the
windows supplied callbacks.
Mon Feb 7 22:37:34 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/cursor.c]
New function CURSOR_SetWinCursor(), for internal use, to set
the cursor of a specific window more reliably than with SetCursor().
* [windows/nonclient.c]
Better window management. Moving and resizing from the system
menu should work now.
Added scroll-bar mouse tracking.
* [windows/win.c]
Moved scroll-bar creation and destruction to defwnd.c.
Feb 5, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [windows/nonclient.c]
Call to StdDrawMenuBar() during NC's drawing.
New NC_TrackMouseMenuBar() function which call
MenuButtonDown(), MenuButtonUp() & MenuMouseMove().
* [controls/menu.c]
New ChangeMenu() function.
Remove permanently old Xt menu code.
Make common functions MenuButtonDown(), MenuButtonUp()
& MenuMouseMove() for both popups & menubar.
* [controls/combo.c]
Paint OBM_COMBO directly in combo client.
* [controls/listbox.c]
Fix bug in multicolumns calculations.
* [controls/Makefile]
Remove rules for old file 'caption.c'.
* [misc/kernel.c]
Remove empty stub GetModuleFileName().
* [loader/library.c]
New GetModuleHandle() function.
New GetModuleUsage() function.
New GetModuleFileName() function.
* [loader/resource.c]
Try to find the bug a missing menu loading ... Not found yet !
* [windows/win.c]
Remove old menubar creation.
Thu Feb 3 22:30:11 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/winsocket.c]
More functions added.
* [if1632/winsock.spec] [misc/winsocket.c]
Added John Brezak's winsock.dll stuff.
1994-03-01 19:48:04 +00:00
|
|
|
#include <X11/Intrinsic.h>
|
1995-01-09 18:21:16 +00:00
|
|
|
#include "bitmap.h"
|
Release 950606
Tue Jun 6 12:11:41 1995 Alexandre Julliard (julliard@sunsite.unc.edu)
* [controls/menu.c]
Fixed bug with drawing multi-column menus with vertical separator.
* [debugger/debug.l]
Fixed NULL-pointer reference after readline().
* [if1632/winprocs.spec] [miscemu/int21.c] [miscemu/interrupts.c]
Added interrupt vector emulation. Allows to retrieve an interrupt
vector and jump to it without crashing.
* [loader/ldt.c]
Moved ldt.c to memory directory.
* [loader/task.c]
Implemented LockCurrentTask() and GetInstanceData().
* [objects/bitblt.c]
Fixed a bug that caused StretchBlt() to use wrong colors when
stretching a monochrome bitmap to a color display.
* [objects/bitmap.c]
Fixed a segmented pointer bug in CreateBitmapIndirect().
* [tools/build.c]
Added possibility to have arguments for register functions; used
by interrupt vectors to remove the flags from the stack.
Generate a new function CallTo32_LargeStack(), that allows calling
a 32-bit function using the original 32-bit stack, for functions
that need more that 64k of stack.
Tue May 30 10:29:56 1995 Martin von Loewis <martin@informatik.hu-berlin.de>
* [if1632/shell.spec] [misc/shell.c]
DoEnvironmentSubst: fixed prototype
* [if1632/gdi.spec] [objects/palette.c]
SetSystemPaletteUse: new function
* [if1632/kernel.spec] [loader/resource.c]
DirectResAlloc: new function
* [if1632/user.spec] [windows/keyboard.c]
SetKeyboardState: new function
Mon May 29 12:58:28 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [tools/build.c]
Prevent interrupts from destroying the args for a 32 bit function
by loading the correct value into %esp directly after %ss.
* [loader/ne_image.c] [loader/module.c]
The new instance must be created earlier in LoadModule(), so that
fixups referencing it will be handled correctly.
Initialize the local heap for a DGROUP in NE_LoadSegment().
* [objects/dib.c]
Like RLE8 bitmaps, RLE4 bitmaps don't always end with a proper code.
This used to crash Wine. Fixed.
* [objects/text.c]
Fix possible null pointer dereference in debugging output.
* [misc/commdlg.c]
Handle user input in the edit control better. Some bugs fixed.
* [memory/local.c]
Started implementing moveable blocks. This is unfinished (!), but
at least it does not seem to break things.
Wed May 24 13:26:36 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [loader/module.c]
LoadModule(): DLLs occasionally have a data segment, and they work
much better if it is loaded :-)
LoadLibrary(): pass HMODULE instead of HINSTANCE to NE_InitializeDLLs.
FindModule(): also strip off the last backslash of the pathnames
(Winhelp tried to load C:\WINDOWS\SYSTEM\COMMDLG.DLL).
GetModuleHandle(): just call MODULE_FindModule, it does the same job,
only better.
* [loader/ne_image.c]
LocalInit() the heap of a DLL in NE_InitDLL. (This is probably
not really correct, it seems that all programs and DLLs try to do
this themselves. But they pass weird parameters.)
NE_InitializeDLLs should also call NE_InitDLL for the passed hModule.
* [loader/task.c] [misc/user.c]
Finish global initializations in InitTask instead of InitApp, or
all the DLLs will be initialized in InitTask without any available
window classes!
1995-06-06 16:40:35 +00:00
|
|
|
#include "callback.h"
|
1994-12-10 13:02:28 +00:00
|
|
|
#include "color.h"
|
1995-01-09 18:21:16 +00:00
|
|
|
#include "dc.h"
|
Release 940602
Sat May 28 12:03:23 1994 Bob Amstadt (bob@pooh)
* miscemu/int21.c (OpenExistingFile):
OpenExistingFile needed to return handle in AX register instead
of the BX register.
* miscemu/int21.c (ioctlGetDeviceInfo):
Added a little code to give a fake result for normal files.
Wed May 25 21:55:38 1994 Bob Amstadt (bob@pooh)
* [memory/global.c]
return value from GlobalSize was completely wrong.
* [miscemu/int21.h]
fixed bug in FindFirst. Directory pointer (dp) was not placed in
dta correctly.
* [tools/build.c]
fixed creation of pop.h to guarantee that flags are restored correctly.
* [misc/comm.c]
changed all occurance of strncmp() to strncasecmp().
BuildCommDCB() should not require that OpenComm() be called first.
* [loader/selector.c]
Heap initialized to size of full segment less stack size and
automatic data size.
Sat May 28 09:14:33 1994 Rick Sladkey (jrs@world.std.com)
* [controls/listbox.c]
Correct typos in ListBoxResetContent where lpls variable is
used where lsls2 variable is meant. Don't call USER_HEAP_FREE
twice on the same handle if hData and hMem are the same.
* [debugger/opcodes/i386-dis.c]
Add new name array names_rmw for table driven decoding of the
16-bit mod/rm field. Omit large case statement in OP_E and
replace with array reference to match existing coding style.
Add new static variable machine with value 286 or 386 to
correctly decode mod/rm field in either 16 or 32 bit modes.
Set it in print_insn_i{2,3}86. In OP_E use it to decide how
to decode mod/rm. While the code was correct for 16 bit code,
it was improperly decoding mod/rm fields on word prefixed
32 bit instructions.
* [debugger/debug.l]
Recognize new token ABORT. Recognize single letters 'p'
and 'q' as tokens.
* [debugger/dbg.y]
Add new token ABORT. Allow print command to be invoked by
'p' and quit command by 'q', ala GDB. Change lots of '};'
to just '}'. Add static dummy_regs to wine_debug so that
wine_debug(0, NULL) doesn't core dump with qmagic.
* [debugger/info.c]
Correct syntax of break command in helptext and omit former
comment about probable bugginess of the disassembly since it
is now correct. Change fprintf of first backtrace stack
frame to match that of the second and subsequent frames.
* [loader/selector.c]
Change construction of command line in CreatePSP from creating
a string that looks like "arg1 arg2 \r" to "arg1 arg2". A DOS
PSP command line looks like " arg1 arg2\r" with the length not
including the trailing "\r" but that is not how Windows does it.
* [loader/library.c]
Change uses of %s to print strings in GetModuleHandle to %x so
that string IDs don't cause a core dump with qmagic. Handle
converting a string id to a literal module handle. For
example, GetModuleHandle((LPSTR) 0x57) now returns 0x57 if
it is a real module handle.
* [misc/message.c]
In MessageBox, translate a NULL title argument to the string "Error".
* [misc/profile.c]
In GetSetProfile translate a NULL Default argument to "". Any
caller whose Default argument is NULL is buggy, but CHARMAP does it
anyway.
* [objects/font.c]
Add NULL pointer checks in EnumFontFamilies to prevent core dumps.
Sat May 28 20:01:51 1994 Jon Tombs (jon@gtex02.us.es)
* New options/resourses nosaveunders and nobackingstore. By
default backingstore and saveunders are now enabled, these use
more memory but avoids those slow (sometimes multiple) redraws
caused be exposure events.
May 30, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [misc/driver.c] New file
Skeleton for 'Installable Wine Drivers' functions. :-)
* [misc/audio.c] New file
Skeleton for basic 'Audio Driver' functions.
* [misc/network.c] New file
Stubs for few networking functions.
* [misc/mmsystem.c]
More coding ... a dust in a galaxy ...
* [misc/shell.c]
Some coding for 'RegXXX' functions ... a dust in the wind ...
* [misc/profile.c]
Bug fix in GetSetProfile(), bad enumeration if KeyName == NULL.
* [objects/gdi.c]
New function CreateDiscardableBitmap(), it just calling
CreateCompatibleBitmap() for now. It's get 'clock.exe' running ! :-)
* [controls/listbox.c]
* [controls/combo.c]
New font member assigned to SYSTEM_FONT as default.
Added processing for WM_SETFONT message;
Tue May 31 20:34:25 EDT 1994 John Richardson <jrichard@cs.uml.edu>
* [windows/event.c]
Added AsyncMouseButtonsStates array for GetAsyncKeyState.
* [windows/keyboard.c]
Implemented beginning of GetAsyncKeyState.
Wed May 25 23:35:03 1994 David Metcalfe <david@prism.demon.co.uk>
* [objects/metafile.c] [include/metafile.h]
[windows/mapping.c] [objects/clipping.c] [objects/bitblt.c]
[windows/dc.c]
Further metafile support.
1994-06-02 22:38:20 +00:00
|
|
|
#include "metafile.h"
|
1994-10-17 18:12:41 +00:00
|
|
|
#include "options.h"
|
|
|
|
#include "stddebug.h"
|
1995-01-09 18:21:16 +00:00
|
|
|
/* #define DEBUG_BITBLT */
|
1994-10-17 18:12:41 +00:00
|
|
|
#include "debug.h"
|
1993-09-04 10:09:32 +00:00
|
|
|
|
1994-12-27 14:11:53 +00:00
|
|
|
|
1995-01-09 18:21:16 +00:00
|
|
|
#define DST 0 /* Destination drawable */
|
|
|
|
#define SRC 1 /* Source drawable */
|
|
|
|
#define TMP 2 /* Temporary drawable */
|
1994-12-27 14:11:53 +00:00
|
|
|
#define PAT 3 /* Pattern (brush) in destination DC */
|
|
|
|
|
1995-01-09 18:21:16 +00:00
|
|
|
#define OP(src,dst,rop) (OP_ARGS(src,dst) << 4 | (rop))
|
1994-12-27 14:11:53 +00:00
|
|
|
#define OP_ARGS(src,dst) (((src) << 2) | (dst))
|
|
|
|
|
1995-01-09 18:21:16 +00:00
|
|
|
#define OP_SRC(opcode) ((opcode) >> 6)
|
|
|
|
#define OP_DST(opcode) (((opcode) >> 4) & 3)
|
|
|
|
#define OP_SRCDST(opcode) ((opcode) >> 4)
|
|
|
|
#define OP_ROP(opcode) ((opcode) & 0x0f)
|
1994-12-27 14:11:53 +00:00
|
|
|
|
1995-01-09 18:21:16 +00:00
|
|
|
#define MAX_OP_LEN 6 /* Longest opcode + 1 for the terminating 0 */
|
1994-12-27 14:11:53 +00:00
|
|
|
|
|
|
|
static const unsigned char BITBLT_Opcodes[256][MAX_OP_LEN] =
|
|
|
|
{
|
|
|
|
{ OP(PAT,DST,GXclear) }, /* 0x00 0 */
|
|
|
|
{ OP(PAT,SRC,GXor), OP(SRC,DST,GXnor) }, /* 0x01 ~(D|(P|S)) */
|
|
|
|
{ OP(PAT,SRC,GXnor), OP(SRC,DST,GXand) }, /* 0x02 D&~(P|S) */
|
|
|
|
{ OP(PAT,SRC,GXnor) }, /* 0x03 ~(P|S) */
|
|
|
|
{ OP(PAT,DST,GXnor), OP(SRC,DST,GXand) }, /* 0x04 S&~(D|P) */
|
|
|
|
{ OP(PAT,DST,GXnor) }, /* 0x05 ~(D|P) */
|
|
|
|
{ OP(SRC,DST,GXequiv), OP(PAT,DST,GXnor), }, /* 0x06 ~(P|~(D^S)) */
|
|
|
|
{ OP(SRC,DST,GXand), OP(PAT,DST,GXnor) }, /* 0x07 ~(P|(D&S)) */
|
|
|
|
{ OP(PAT,DST,GXandInverted), OP(SRC,DST,GXand) },/* 0x08 S&D&~P */
|
|
|
|
{ OP(SRC,DST,GXxor), OP(PAT,DST,GXnor) }, /* 0x09 ~(P|(D^S)) */
|
|
|
|
{ OP(PAT,DST,GXandInverted) }, /* 0x0a D&~P */
|
|
|
|
{ OP(SRC,DST,GXandReverse), OP(PAT,DST,GXnor) }, /* 0x0b ~(P|(S&~D)) */
|
|
|
|
{ OP(PAT,SRC,GXandInverted) }, /* 0x0c S&~P */
|
|
|
|
{ OP(SRC,DST,GXandInverted), OP(PAT,DST,GXnor) },/* 0x0d ~(P|(D&~S)) */
|
|
|
|
{ OP(SRC,DST,GXnor), OP(PAT,DST,GXnor) }, /* 0x0e ~(P|~(D|S)) */
|
|
|
|
{ OP(PAT,DST,GXcopyInverted) }, /* 0x0f ~P */
|
|
|
|
{ OP(SRC,DST,GXnor), OP(PAT,DST,GXand) }, /* 0x10 P&~(S|D) */
|
|
|
|
{ OP(SRC,DST,GXnor) }, /* 0x11 ~(D|S) */
|
|
|
|
{ OP(PAT,DST,GXequiv), OP(SRC,DST,GXnor) }, /* 0x12 ~(S|~(D^P)) */
|
|
|
|
{ OP(PAT,DST,GXand), OP(SRC,DST,GXnor) }, /* 0x13 ~(S|(D&P)) */
|
|
|
|
{ OP(PAT,SRC,GXequiv), OP(SRC,DST,GXnor) }, /* 0x14 ~(D|~(P^S)) */
|
|
|
|
{ OP(PAT,SRC,GXand), OP(SRC,DST,GXnor) }, /* 0x15 ~(D|(P&S)) */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(PAT,TMP,GXnand),
|
|
|
|
OP(TMP,DST,GXand), OP(SRC,DST,GXxor),
|
|
|
|
OP(PAT,DST,GXxor) }, /* 0x16 P^S^(D&~(P&S) */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(SRC,DST,GXxor),
|
|
|
|
OP(PAT,SRC,GXxor), OP(SRC,DST,GXand),
|
|
|
|
OP(TMP,DST,GXequiv) }, /* 0x17 ~S^((S^P)&(S^D))*/
|
|
|
|
{ OP(PAT,SRC,GXxor), OP(PAT,DST,GXxor),
|
|
|
|
OP(SRC,DST,GXand) }, /* 0x18 (S^P)&(D^P) */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(PAT,TMP,GXnand),
|
|
|
|
OP(TMP,DST,GXand), OP(SRC,DST,GXequiv) }, /* 0x19 ~S^(D&~(P&S)) */
|
|
|
|
{ OP(PAT,SRC,GXand), OP(SRC,DST,GXor),
|
|
|
|
OP(PAT,DST,GXxor) }, /* 0x1a P^(D|(S&P)) */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(PAT,TMP,GXxor),
|
|
|
|
OP(TMP,DST,GXand), OP(SRC,DST,GXequiv) }, /* 0x1b ~S^(D&(P^S)) */
|
|
|
|
{ OP(PAT,DST,GXand), OP(SRC,DST,GXor),
|
|
|
|
OP(PAT,DST,GXxor) }, /* 0x1c P^(S|(D&P)) */
|
|
|
|
{ OP(DST,TMP,GXcopy), OP(PAT,DST,GXxor),
|
|
|
|
OP(SRC,DST,GXand), OP(TMP,DST,GXequiv) }, /* 0x1d ~D^(S&(D^P)) */
|
|
|
|
{ OP(SRC,DST,GXor), OP(PAT,DST,GXxor) }, /* 0x1e P^(D|S) */
|
|
|
|
{ OP(SRC,DST,GXor), OP(PAT,DST,GXnand) }, /* 0x1f ~(P&(D|S)) */
|
|
|
|
{ OP(PAT,SRC,GXandReverse), OP(SRC,DST,GXand) }, /* 0x20 D&(P&~S) */
|
|
|
|
{ OP(PAT,DST,GXxor), OP(SRC,DST,GXnor) }, /* 0x21 ~(S|(D^P)) */
|
|
|
|
{ OP(SRC,DST,GXandInverted) }, /* 0x22 ~S&D */
|
|
|
|
{ OP(PAT,DST,GXandReverse), OP(SRC,DST,GXnor) }, /* 0x23 ~(S|(P&~D)) */
|
|
|
|
{ OP(SRC,DST,GXxor), OP(PAT,SRC,GXxor),
|
|
|
|
OP(SRC,DST,GXand) }, /* 0x24 (S^P)&(S^D) */
|
|
|
|
{ OP(PAT,SRC,GXnand), OP(SRC,DST,GXand),
|
|
|
|
OP(PAT,DST,GXequiv) }, /* 0x25 ~P^(D&~(S&P)) */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(PAT,TMP,GXand),
|
|
|
|
OP(TMP,DST,GXor), OP(SRC,DST,GXxor) }, /* 0x26 S^(D|(S&P)) */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(PAT,TMP,GXequiv),
|
|
|
|
OP(TMP,DST,GXor), OP(SRC,DST,GXxor) }, /* 0x27 S^(D|~(P^S)) */
|
|
|
|
{ OP(PAT,SRC,GXxor), OP(SRC,DST,GXand) }, /* 0x28 D&(P^S) */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(PAT,TMP,GXand),
|
|
|
|
OP(TMP,DST,GXor), OP(SRC,DST,GXxor),
|
|
|
|
OP(PAT,DST,GXequiv) }, /* 0x29 ~P^S^(D|(P&S)) */
|
|
|
|
{ OP(PAT,SRC,GXnand), OP(SRC,DST,GXand) }, /* 0x2a D&~(P&S) */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(PAT,SRC,GXxor),
|
|
|
|
OP(PAT,DST,GXxor), OP(SRC,DST,GXand),
|
|
|
|
OP(TMP,DST,GXequiv) }, /* 0x2b ~S^((P^S)&(P^D))*/
|
|
|
|
{ OP(SRC,DST,GXor), OP(PAT,DST,GXand),
|
|
|
|
OP(SRC,DST,GXxor) }, /* 0x2c S^(P&(S|D)) */
|
|
|
|
{ OP(SRC,DST,GXorReverse), OP(PAT,DST,GXxor) }, /* 0x2d P^(S|~D) */
|
|
|
|
{ OP(PAT,DST,GXxor), OP(SRC,DST,GXor),
|
|
|
|
OP(PAT,DST,GXxor) }, /* 0x2e P^(S|(D^P)) */
|
|
|
|
{ OP(SRC,DST,GXorReverse), OP(PAT,DST,GXnand) }, /* 0x2f ~(P&(S|~D)) */
|
|
|
|
{ OP(PAT,SRC,GXandReverse) }, /* 0x30 P&~S */
|
|
|
|
{ OP(PAT,DST,GXandInverted), OP(SRC,DST,GXnor) },/* 0x31 ~(S|(D&~P)) */
|
|
|
|
{ OP(SRC,DST,GXor), OP(PAT,DST,GXor),
|
|
|
|
OP(SRC,DST,GXxor) }, /* 0x32 S^(D|P|S) */
|
|
|
|
{ OP(SRC,DST,GXcopyInverted) }, /* 0x33 ~S */
|
|
|
|
{ OP(SRC,DST,GXand), OP(PAT,DST,GXor),
|
|
|
|
OP(SRC,DST,GXxor) }, /* 0x34 S^(P|(D&S)) */
|
|
|
|
{ OP(SRC,DST,GXequiv), OP(PAT,DST,GXor),
|
|
|
|
OP(SRC,DST,GXxor) }, /* 0x35 S^(P|~(D^S)) */
|
|
|
|
{ OP(PAT,DST,GXor), OP(SRC,DST,GXxor) }, /* 0x36 S^(D|P) */
|
|
|
|
{ OP(PAT,DST,GXor), OP(SRC,DST,GXnand) }, /* 0x37 ~(S&(D|P)) */
|
|
|
|
{ OP(PAT,DST,GXor), OP(SRC,DST,GXand),
|
|
|
|
OP(PAT,DST,GXxor) }, /* 0x38 P^(S&(D|P)) */
|
|
|
|
{ OP(PAT,DST,GXorReverse), OP(SRC,DST,GXxor) }, /* 0x39 S^(P|~D) */
|
|
|
|
{ OP(SRC,DST,GXxor), OP(PAT,DST,GXor),
|
|
|
|
OP(SRC,DST,GXxor) }, /* 0x3a S^(P|(D^S)) */
|
|
|
|
{ OP(PAT,DST,GXorReverse), OP(SRC,DST,GXnand) }, /* 0x3b ~(S&(P|~D)) */
|
|
|
|
{ OP(PAT,SRC,GXxor) }, /* 0x3c P^S */
|
|
|
|
{ OP(SRC,DST,GXnor), OP(PAT,DST,GXor),
|
|
|
|
OP(SRC,DST,GXxor) }, /* 0x3d S^(P|~(D|S)) */
|
|
|
|
{ OP(SRC,DST,GXandInverted), OP(PAT,DST,GXor),
|
|
|
|
OP(SRC,DST,GXxor) }, /* 0x3e S^(P|(D&~S)) */
|
|
|
|
{ OP(PAT,SRC,GXnand) }, /* 0x3f ~(P&S) */
|
|
|
|
{ OP(SRC,DST,GXandReverse), OP(PAT,DST,GXand) }, /* 0x40 P&S&~D */
|
|
|
|
{ OP(PAT,SRC,GXxor), OP(SRC,DST,GXnor) }, /* 0x41 ~(D|(P^S)) */
|
|
|
|
{ OP(DST,SRC,GXxor), OP(PAT,DST,GXxor),
|
|
|
|
OP(SRC,DST,GXand) }, /* 0x42 (S^D)&(P^D) */
|
|
|
|
{ OP(SRC,DST,GXnand), OP(PAT,DST,GXand),
|
|
|
|
OP(SRC,DST,GXequiv) }, /* 0x43 ~S^(P&~(D&S)) */
|
|
|
|
{ OP(SRC,DST,GXandReverse) }, /* 0x44 S&~D */
|
|
|
|
{ OP(PAT,SRC,GXandReverse), OP(SRC,DST,GXnor) }, /* 0x45 ~(D|(P&~S)) */
|
|
|
|
{ OP(DST,TMP,GXcopy), OP(PAT,DST,GXand),
|
|
|
|
OP(SRC,DST,GXor), OP(TMP,DST,GXxor) }, /* 0x46 D^(S|(P&D)) */
|
|
|
|
{ OP(PAT,DST,GXxor), OP(SRC,DST,GXand),
|
|
|
|
OP(PAT,DST,GXequiv) }, /* 0x47 ~P^(S&(D^P)) */
|
|
|
|
{ OP(PAT,DST,GXxor), OP(SRC,DST,GXand) }, /* 0x48 S&(P^D) */
|
|
|
|
{ OP(DST,TMP,GXcopy), OP(PAT,DST,GXand),
|
|
|
|
OP(SRC,DST,GXor), OP(TMP,DST,GXxor),
|
|
|
|
OP(PAT,DST,GXequiv) }, /* 0x49 ~P^D^(S|(P&D)) */
|
|
|
|
{ OP(DST,SRC,GXor), OP(PAT,SRC,GXand),
|
|
|
|
OP(SRC,DST,GXxor) }, /* 0x4a D^(P&(S|D)) */
|
|
|
|
{ OP(SRC,DST,GXorInverted), OP(PAT,DST,GXxor) }, /* 0x4b P^(D|~S) */
|
|
|
|
{ OP(PAT,DST,GXnand), OP(SRC,DST,GXand) }, /* 0x4c S&~(D&P) */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(SRC,DST,GXxor),
|
|
|
|
OP(PAT,SRC,GXxor), OP(SRC,DST,GXor),
|
|
|
|
OP(TMP,DST,GXequiv) }, /* 0x4d ~S^((S^P)|(S^D))*/
|
|
|
|
{ OP(PAT,SRC,GXxor), OP(SRC,DST,GXor),
|
|
|
|
OP(PAT,DST,GXxor) }, /* 0x4e P^(D|(S^P)) */
|
|
|
|
{ OP(SRC,DST,GXorInverted), OP(PAT,DST,GXnand) },/* 0x4f ~(P&(D|~S)) */
|
|
|
|
{ OP(PAT,DST,GXandReverse) }, /* 0x50 P&~D */
|
|
|
|
{ OP(PAT,SRC,GXandInverted), OP(SRC,DST,GXnor) },/* 0x51 ~(D|(S&~P)) */
|
|
|
|
{ OP(DST,SRC,GXand), OP(PAT,SRC,GXor),
|
|
|
|
OP(SRC,DST,GXxor) }, /* 0x52 D^(P|(S&D)) */
|
|
|
|
{ OP(SRC,DST,GXxor), OP(PAT,DST,GXand),
|
|
|
|
OP(SRC,DST,GXequiv) }, /* 0x53 ~S^(P&(D^S)) */
|
|
|
|
{ OP(PAT,SRC,GXnor), OP(SRC,DST,GXnor) }, /* 0x54 ~(D|~(P|S)) */
|
|
|
|
{ OP(PAT,DST,GXinvert) }, /* 0x55 ~D */
|
|
|
|
{ OP(PAT,SRC,GXor), OP(SRC,DST,GXxor) }, /* 0x56 D^(P|S) */
|
|
|
|
{ OP(PAT,SRC,GXor), OP(SRC,DST,GXnand) }, /* 0x57 ~(D&(P|S)) */
|
|
|
|
{ OP(PAT,SRC,GXor), OP(SRC,DST,GXand),
|
|
|
|
OP(PAT,DST,GXxor) }, /* 0x58 P^(D&(P|S)) */
|
|
|
|
{ OP(PAT,SRC,GXorReverse), OP(SRC,DST,GXxor) }, /* 0x59 D^(P|~S) */
|
|
|
|
{ OP(PAT,DST,GXxor) }, /* 0x5a D^P */
|
|
|
|
{ OP(DST,SRC,GXnor), OP(PAT,SRC,GXor),
|
|
|
|
OP(SRC,DST,GXxor) }, /* 0x5b D^(P|~(S|D)) */
|
|
|
|
{ OP(DST,SRC,GXxor), OP(PAT,SRC,GXor),
|
|
|
|
OP(SRC,DST,GXxor) }, /* 0x5c D^(P|(S^D)) */
|
|
|
|
{ OP(PAT,SRC,GXorReverse), OP(SRC,DST,GXnand) }, /* 0x5d ~(D&(P|~S)) */
|
|
|
|
{ OP(DST,SRC,GXandInverted), OP(PAT,SRC,GXor),
|
|
|
|
OP(SRC,DST,GXxor) }, /* 0x5e D^(P|(S&~D)) */
|
|
|
|
{ OP(PAT,DST,GXnand) }, /* 0x5f ~(D&P) */
|
|
|
|
{ OP(SRC,DST,GXxor), OP(PAT,DST,GXand) }, /* 0x60 P&(D^S) */
|
|
|
|
{ OP(DST,TMP,GXcopy), OP(SRC,DST,GXand),
|
|
|
|
OP(PAT,DST,GXor), OP(SRC,DST,GXxor),
|
|
|
|
OP(TMP,DST,GXequiv) }, /* 0x61 ~D^S^(P|(D&S)) */
|
|
|
|
{ OP(DST,TMP,GXcopy), OP(PAT,DST,GXor),
|
|
|
|
OP(SRC,DST,GXand), OP(TMP,DST,GXxor) }, /* 0x62 D^(S&(P|D)) */
|
|
|
|
{ OP(PAT,DST,GXorInverted), OP(SRC,DST,GXxor) }, /* 0x63 S^(D|~P) */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(PAT,SRC,GXor),
|
|
|
|
OP(SRC,DST,GXand), OP(TMP,DST,GXxor) }, /* 0x64 S^(D&(P|S)) */
|
|
|
|
{ OP(PAT,SRC,GXorInverted), OP(SRC,DST,GXxor) }, /* 0x65 D^(S|~P) */
|
|
|
|
{ OP(SRC,DST,GXxor) }, /* 0x66 S^D */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(PAT,SRC,GXnor),
|
|
|
|
OP(SRC,DST,GXor), OP(TMP,DST,GXxor) }, /* 0x67 S^(D|~(S|P) */
|
|
|
|
{ OP(DST,TMP,GXcopy), OP(SRC,DST,GXnor),
|
|
|
|
OP(PAT,DST,GXor), OP(SRC,DST,GXxor),
|
|
|
|
OP(TMP,DST,GXequiv) }, /* 0x68 ~D^S^(P|~(D|S))*/
|
|
|
|
{ OP(SRC,DST,GXxor), OP(PAT,DST,GXequiv) }, /* 0x69 ~P^(D^S) */
|
|
|
|
{ OP(PAT,SRC,GXand), OP(SRC,DST,GXxor) }, /* 0x6a D^(P&S) */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(PAT,SRC,GXor),
|
|
|
|
OP(SRC,DST,GXand), OP(TMP,DST,GXxor),
|
|
|
|
OP(PAT,DST,GXequiv) }, /* 0x6b ~P^S^(D&(P|S)) */
|
|
|
|
{ OP(PAT,DST,GXand), OP(SRC,DST,GXxor) }, /* 0x6c S^(D&P) */
|
|
|
|
{ OP(DST,TMP,GXcopy), OP(PAT,DST,GXor),
|
|
|
|
OP(SRC,DST,GXand), OP(TMP,DST,GXxor),
|
|
|
|
OP(PAT,DST,GXequiv) }, /* 0x6d ~P^D^(S&(P|D)) */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(PAT,SRC,GXorReverse),
|
|
|
|
OP(SRC,DST,GXand), OP(TMP,DST,GXxor) }, /* 0x6e S^(D&(P|~S)) */
|
|
|
|
{ OP(SRC,DST,GXequiv), OP(PAT,DST,GXnand) }, /* 0x6f ~(P&~(S^D)) */
|
|
|
|
{ OP(SRC,DST,GXnand), OP(PAT,DST,GXand) }, /* 0x70 P&~(D&S) */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(DST,SRC,GXxor),
|
|
|
|
OP(PAT,DST,GXxor), OP(SRC,DST,GXand),
|
|
|
|
OP(TMP,DST,GXequiv) }, /* 0x71 ~S^((S^D)&(P^D))*/
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(PAT,SRC,GXxor),
|
|
|
|
OP(SRC,DST,GXor), OP(TMP,DST,GXxor) }, /* 0x72 S^(D|(P^S)) */
|
|
|
|
{ OP(PAT,DST,GXorInverted), OP(SRC,DST,GXnand) },/* 0x73 ~(S&(D|~P)) */
|
|
|
|
{ OP(DST,TMP,GXcopy), OP(PAT,DST,GXxor),
|
|
|
|
OP(SRC,DST,GXor), OP(TMP,DST,GXxor) }, /* 0x74 D^(S|(P^D)) */
|
|
|
|
{ OP(PAT,SRC,GXorInverted), OP(SRC,DST,GXnand) },/* 0x75 ~(D&(S|~P)) */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(PAT,SRC,GXandReverse),
|
|
|
|
OP(SRC,DST,GXor), OP(TMP,DST,GXxor) }, /* 0x76 S^(D|(P&~S)) */
|
|
|
|
{ OP(SRC,DST,GXnand) }, /* 0x77 ~(S&D) */
|
|
|
|
{ OP(SRC,DST,GXand), OP(PAT,DST,GXxor) }, /* 0x78 P^(D&S) */
|
|
|
|
{ OP(DST,TMP,GXcopy), OP(SRC,DST,GXor),
|
|
|
|
OP(PAT,DST,GXand), OP(SRC,DST,GXxor),
|
|
|
|
OP(TMP,DST,GXequiv) }, /* 0x79 ~D^S^(P&(D|S)) */
|
|
|
|
{ OP(DST,SRC,GXorInverted), OP(PAT,SRC,GXand),
|
|
|
|
OP(SRC,DST,GXxor) }, /* 0x7a D^(P&(S|~D)) */
|
|
|
|
{ OP(PAT,DST,GXequiv), OP(SRC,DST,GXnand) }, /* 0x7b ~(S&~(D^P)) */
|
|
|
|
{ OP(SRC,DST,GXorInverted), OP(PAT,DST,GXand),
|
|
|
|
OP(SRC,DST,GXxor) }, /* 0x7c S^(P&(D|~S)) */
|
|
|
|
{ OP(PAT,SRC,GXequiv), OP(SRC,DST,GXnand) }, /* 0x7d ~(D&~(P^S)) */
|
|
|
|
{ OP(SRC,DST,GXxor), OP(PAT,SRC,GXxor),
|
|
|
|
OP(SRC,DST,GXor) }, /* 0x7e (S^P)|(S^D) */
|
|
|
|
{ OP(PAT,SRC,GXand), OP(SRC,DST,GXnand) }, /* 0x7f ~(D&P&S) */
|
|
|
|
{ OP(PAT,SRC,GXand), OP(SRC,DST,GXand) }, /* 0x80 D&P&S */
|
|
|
|
{ OP(SRC,DST,GXxor), OP(PAT,SRC,GXxor),
|
|
|
|
OP(SRC,DST,GXnor) }, /* 0x81 ~((S^P)|(S^D)) */
|
|
|
|
{ OP(PAT,SRC,GXequiv), OP(SRC,DST,GXand) }, /* 0x82 D&~(P^S) */
|
|
|
|
{ OP(SRC,DST,GXorInverted), OP(PAT,DST,GXand),
|
|
|
|
OP(SRC,DST,GXequiv) }, /* 0x83 ~S^(P&(D|~S)) */
|
|
|
|
{ OP(PAT,DST,GXequiv), OP(SRC,DST,GXand) }, /* 0x84 S&~(D^P) */
|
|
|
|
{ OP(PAT,SRC,GXorInverted), OP(SRC,DST,GXand),
|
|
|
|
OP(PAT,DST,GXequiv) }, /* 0x85 ~P^(D&(S|~P)) */
|
|
|
|
{ OP(DST,TMP,GXcopy), OP(SRC,DST,GXor),
|
|
|
|
OP(PAT,DST,GXand), OP(SRC,DST,GXxor),
|
|
|
|
OP(TMP,DST,GXxor) }, /* 0x86 D^S^(P&(D|S)) */
|
|
|
|
{ OP(SRC,DST,GXand), OP(PAT,DST,GXequiv) }, /* 0x87 ~P^(D&S) */
|
|
|
|
{ OP(SRC,DST,GXand) }, /* 0x88 S&D */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(PAT,SRC,GXandReverse),
|
|
|
|
OP(SRC,DST,GXor), OP(TMP,DST,GXequiv) }, /* 0x89 ~S^(D|(P&~S)) */
|
|
|
|
{ OP(PAT,SRC,GXorInverted), OP(SRC,DST,GXand) }, /* 0x8a D&(S|~P) */
|
|
|
|
{ OP(DST,TMP,GXcopy), OP(PAT,DST,GXxor),
|
|
|
|
OP(SRC,DST,GXor), OP(TMP,DST,GXequiv) }, /* 0x8b ~D^(S|(P^D)) */
|
|
|
|
{ OP(PAT,DST,GXorInverted), OP(SRC,DST,GXand) }, /* 0x8c S&(D|~P) */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(PAT,SRC,GXxor),
|
|
|
|
OP(SRC,DST,GXor), OP(TMP,DST,GXequiv) }, /* 0x8d ~S^(D|(P^S)) */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(DST,SRC,GXxor),
|
|
|
|
OP(PAT,DST,GXxor), OP(SRC,DST,GXand),
|
|
|
|
OP(TMP,DST,GXxor) }, /* 0x8e S^((S^D)&(P^D))*/
|
|
|
|
{ OP(SRC,DST,GXnand), OP(PAT,DST,GXnand) }, /* 0x8f ~(P&~(D&S)) */
|
|
|
|
{ OP(SRC,DST,GXequiv), OP(PAT,DST,GXand) }, /* 0x90 P&~(D^S) */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(PAT,SRC,GXorReverse),
|
|
|
|
OP(SRC,DST,GXand), OP(TMP,DST,GXequiv) }, /* 0x91 ~S^(D&(P|~S)) */
|
|
|
|
{ OP(DST,TMP,GXcopy), OP(PAT,DST,GXor),
|
|
|
|
OP(SRC,DST,GXand), OP(PAT,DST,GXxor),
|
|
|
|
OP(TMP,DST,GXxor) }, /* 0x92 D^P^(S&(D|P)) */
|
|
|
|
{ OP(PAT,DST,GXand), OP(SRC,DST,GXequiv) }, /* 0x93 ~S^(P&D) */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(PAT,SRC,GXor),
|
|
|
|
OP(SRC,DST,GXand), OP(PAT,DST,GXxor),
|
|
|
|
OP(TMP,DST,GXxor) }, /* 0x94 S^P^(D&(P|S)) */
|
|
|
|
{ OP(PAT,SRC,GXand), OP(SRC,DST,GXequiv) }, /* 0x95 ~D^(P&S) */
|
|
|
|
{ OP(PAT,SRC,GXxor), OP(SRC,DST,GXxor) }, /* 0x96 D^P^S */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(PAT,SRC,GXnor),
|
|
|
|
OP(SRC,DST,GXor), OP(PAT,DST,GXxor),
|
|
|
|
OP(TMP,DST,GXxor) }, /* 0x97 S^P^(D|~(P|S)) */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(PAT,SRC,GXnor),
|
|
|
|
OP(SRC,DST,GXor), OP(TMP,DST,GXequiv) }, /* 0x98 ~S^(D|~(P|S)) */
|
|
|
|
{ OP(SRC,DST,GXequiv) }, /* 0x99 ~S^D */
|
|
|
|
{ OP(PAT,SRC,GXandReverse), OP(SRC,DST,GXxor) }, /* 0x9a D^(P&~S) */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(PAT,SRC,GXor),
|
|
|
|
OP(SRC,DST,GXand), OP(TMP,DST,GXequiv) }, /* 0x9b ~S^(D&(P|S)) */
|
|
|
|
{ OP(PAT,DST,GXandReverse), OP(SRC,DST,GXxor) }, /* 0x9c S^(P&~D) */
|
|
|
|
{ OP(DST,TMP,GXcopy), OP(PAT,DST,GXor),
|
|
|
|
OP(SRC,DST,GXand), OP(TMP,DST,GXequiv) }, /* 0x9d ~D^(S&(P|D)) */
|
|
|
|
{ OP(DST,TMP,GXcopy), OP(SRC,DST,GXand),
|
|
|
|
OP(PAT,DST,GXor), OP(SRC,DST,GXxor),
|
|
|
|
OP(TMP,DST,GXxor) }, /* 0x9e D^S^(P|(D&S)) */
|
|
|
|
{ OP(SRC,DST,GXxor), OP(PAT,DST,GXnand) }, /* 0x9f ~(P&(D^S)) */
|
|
|
|
{ OP(PAT,DST,GXand) }, /* 0xa0 D&P */
|
|
|
|
{ OP(PAT,SRC,GXandInverted), OP(SRC,DST,GXor),
|
|
|
|
OP(PAT,DST,GXequiv) }, /* 0xa1 ~P^(D|(S&~P)) */
|
|
|
|
{ OP(PAT,SRC,GXorReverse), OP(SRC,DST,GXand) }, /* 0xa2 D&(P|~S) */
|
|
|
|
{ OP(DST,SRC,GXxor), OP(PAT,SRC,GXor),
|
|
|
|
OP(SRC,DST,GXequiv) }, /* 0xa3 ~D^(P|(S^D)) */
|
|
|
|
{ OP(PAT,SRC,GXnor), OP(SRC,DST,GXor),
|
|
|
|
OP(PAT,DST,GXequiv) }, /* 0xa4 ~P^(D|~(S|P)) */
|
|
|
|
{ OP(PAT,DST,GXequiv) }, /* 0xa5 ~P^D */
|
|
|
|
{ OP(PAT,SRC,GXandInverted), OP(SRC,DST,GXxor) },/* 0xa6 D^(S&~P) */
|
|
|
|
{ OP(PAT,SRC,GXor), OP(SRC,DST,GXand),
|
|
|
|
OP(PAT,DST,GXequiv) }, /* 0xa7 ~P^(D&(S|P)) */
|
|
|
|
{ OP(PAT,SRC,GXor), OP(SRC,DST,GXand) }, /* 0xa8 D&(P|S) */
|
|
|
|
{ OP(PAT,SRC,GXor), OP(SRC,DST,GXequiv) }, /* 0xa9 ~D^(P|S) */
|
|
|
|
{ OP(SRC,DST,GXnoop) }, /* 0xaa D */
|
|
|
|
{ OP(PAT,SRC,GXnor), OP(SRC,DST,GXor) }, /* 0xab D|~(P|S) */
|
|
|
|
{ OP(SRC,DST,GXxor), OP(PAT,DST,GXand),
|
|
|
|
OP(SRC,DST,GXxor) }, /* 0xac S^(P&(D^S)) */
|
|
|
|
{ OP(DST,SRC,GXand), OP(PAT,SRC,GXor),
|
|
|
|
OP(SRC,DST,GXequiv) }, /* 0xad ~D^(P|(S&D)) */
|
|
|
|
{ OP(PAT,SRC,GXandInverted), OP(SRC,DST,GXor) }, /* 0xae D|(S&~P) */
|
|
|
|
{ OP(PAT,DST,GXorInverted) }, /* 0xaf D|~P */
|
|
|
|
{ OP(SRC,DST,GXorInverted), OP(PAT,DST,GXand) }, /* 0xb0 P&(D|~S) */
|
|
|
|
{ OP(PAT,SRC,GXxor), OP(SRC,DST,GXor),
|
|
|
|
OP(PAT,DST,GXequiv) }, /* 0xb1 ~P^(D|(S^P)) */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(SRC,DST,GXxor),
|
|
|
|
OP(PAT,SRC,GXxor), OP(SRC,DST,GXor),
|
|
|
|
OP(TMP,DST,GXxor) }, /* 0xb2 S^((S^P)|(S^D))*/
|
|
|
|
{ OP(PAT,DST,GXnand), OP(SRC,DST,GXnand) }, /* 0xb3 ~(S&~(D&P)) */
|
|
|
|
{ OP(SRC,DST,GXandReverse), OP(PAT,DST,GXxor) }, /* 0xb4 P^(S&~D) */
|
|
|
|
{ OP(DST,SRC,GXor), OP(PAT,SRC,GXand),
|
|
|
|
OP(SRC,DST,GXequiv) }, /* 0xb5 ~D^(P&(S|D)) */
|
|
|
|
{ OP(DST,TMP,GXcopy), OP(PAT,DST,GXand),
|
|
|
|
OP(SRC,DST,GXor), OP(PAT,DST,GXxor),
|
|
|
|
OP(TMP,DST,GXxor) }, /* 0xb6 D^P^(S|(D&P)) */
|
|
|
|
{ OP(PAT,DST,GXxor), OP(SRC,DST,GXnand) }, /* 0xb7 ~(S&(D^P)) */
|
|
|
|
{ OP(PAT,DST,GXxor), OP(SRC,DST,GXand),
|
|
|
|
OP(PAT,DST,GXxor) }, /* 0xb8 P^(S&(D^P)) */
|
|
|
|
{ OP(DST,TMP,GXcopy), OP(PAT,DST,GXand),
|
|
|
|
OP(SRC,DST,GXor), OP(TMP,DST,GXequiv) }, /* 0xb9 ~D^(S|(P&D)) */
|
|
|
|
{ OP(PAT,SRC,GXandReverse), OP(SRC,DST,GXor) }, /* 0xba D|(P&~S) */
|
|
|
|
{ OP(SRC,DST,GXorInverted) }, /* 0xbb ~S|D */
|
|
|
|
{ OP(SRC,DST,GXnand), OP(PAT,DST,GXand),
|
|
|
|
OP(SRC,DST,GXxor) }, /* 0xbc S^(P&~(D&S)) */
|
|
|
|
{ OP(DST,SRC,GXxor), OP(PAT,DST,GXxor),
|
|
|
|
OP(SRC,DST,GXnand) }, /* 0xbd ~((S^D)&(P^D)) */
|
|
|
|
{ OP(PAT,SRC,GXxor), OP(SRC,DST,GXor) }, /* 0xbe D|(P^S) */
|
|
|
|
{ OP(PAT,SRC,GXnand), OP(SRC,DST,GXor) }, /* 0xbf D|~(P&S) */
|
|
|
|
{ OP(PAT,SRC,GXand) }, /* 0xc0 P&S */
|
|
|
|
{ OP(SRC,DST,GXandInverted), OP(PAT,DST,GXor),
|
|
|
|
OP(SRC,DST,GXequiv) }, /* 0xc1 ~S^(P|(D&~S)) */
|
|
|
|
{ OP(SRC,DST,GXnor), OP(PAT,DST,GXor),
|
|
|
|
OP(SRC,DST,GXequiv) }, /* 0xc2 ~S^(P|~(D|S)) */
|
|
|
|
{ OP(PAT,SRC,GXequiv) }, /* 0xc3 ~P^S */
|
|
|
|
{ OP(PAT,DST,GXorReverse), OP(SRC,DST,GXand) }, /* 0xc4 S&(P|~D) */
|
|
|
|
{ OP(SRC,DST,GXxor), OP(PAT,DST,GXor),
|
|
|
|
OP(SRC,DST,GXequiv) }, /* 0xc5 ~S^(P|(D^S)) */
|
|
|
|
{ OP(PAT,DST,GXandInverted), OP(SRC,DST,GXxor) },/* 0xc6 S^(D&~P) */
|
|
|
|
{ OP(PAT,DST,GXor), OP(SRC,DST,GXand),
|
|
|
|
OP(PAT,DST,GXequiv) }, /* 0xc7 ~P^(S&(D|P)) */
|
|
|
|
{ OP(PAT,DST,GXor), OP(SRC,DST,GXand) }, /* 0xc8 S&(D|P) */
|
|
|
|
{ OP(PAT,DST,GXor), OP(SRC,DST,GXequiv) }, /* 0xc9 ~S^(P|D) */
|
|
|
|
{ OP(DST,SRC,GXxor), OP(PAT,SRC,GXand),
|
|
|
|
OP(SRC,DST,GXxor) }, /* 0xca D^(P&(S^D)) */
|
|
|
|
{ OP(SRC,DST,GXand), OP(PAT,DST,GXor),
|
|
|
|
OP(SRC,DST,GXequiv) }, /* 0xcb ~S^(P|(D&S)) */
|
|
|
|
{ OP(SRC,DST,GXcopy) }, /* 0xcc S */
|
|
|
|
{ OP(PAT,DST,GXnor), OP(SRC,DST,GXor) }, /* 0xcd S|~(D|P) */
|
|
|
|
{ OP(PAT,DST,GXandInverted), OP(SRC,DST,GXor) }, /* 0xce S|(D&~P) */
|
|
|
|
{ OP(PAT,SRC,GXorInverted) }, /* 0xcf S|~P */
|
|
|
|
{ OP(SRC,DST,GXorReverse), OP(PAT,DST,GXand) }, /* 0xd0 P&(S|~D) */
|
|
|
|
{ OP(PAT,DST,GXxor), OP(SRC,DST,GXor),
|
|
|
|
OP(PAT,DST,GXequiv) }, /* 0xd1 ~P^(S|(D^P)) */
|
|
|
|
{ OP(SRC,DST,GXandInverted), OP(PAT,DST,GXxor) },/* 0xd2 P^(D&~S) */
|
|
|
|
{ OP(SRC,DST,GXor), OP(PAT,DST,GXand),
|
|
|
|
OP(SRC,DST,GXequiv) }, /* 0xd3 ~S^(P&(D|S)) */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(PAT,SRC,GXxor),
|
|
|
|
OP(PAT,DST,GXxor), OP(SRC,DST,GXand),
|
|
|
|
OP(TMP,DST,GXxor) }, /* 0xd4 S^((S^P)&(D^P))*/
|
|
|
|
{ OP(PAT,SRC,GXnand), OP(SRC,DST,GXnand) }, /* 0xd5 ~(D&~(P&S)) */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(PAT,SRC,GXand),
|
|
|
|
OP(SRC,DST,GXor), OP(PAT,DST,GXxor),
|
|
|
|
OP(TMP,DST,GXxor) }, /* 0xd6 S^P^(D|(P&S)) */
|
|
|
|
{ OP(PAT,SRC,GXxor), OP(SRC,DST,GXnand) }, /* 0xd7 ~(D&(P^S)) */
|
|
|
|
{ OP(PAT,SRC,GXxor), OP(SRC,DST,GXand),
|
|
|
|
OP(PAT,DST,GXxor) }, /* 0xd8 P^(D&(S^P)) */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(PAT,SRC,GXand),
|
|
|
|
OP(SRC,DST,GXor), OP(TMP,DST,GXequiv) }, /* 0xd9 ~S^(D|(P&S)) */
|
|
|
|
{ OP(DST,SRC,GXnand), OP(PAT,SRC,GXand),
|
|
|
|
OP(SRC,DST,GXxor) }, /* 0xda D^(P&~(S&D)) */
|
|
|
|
{ OP(SRC,DST,GXxor), OP(PAT,SRC,GXxor),
|
|
|
|
OP(SRC,DST,GXnand) }, /* 0xdb ~((S^P)&(S^D)) */
|
|
|
|
{ OP(PAT,DST,GXandReverse), OP(SRC,DST,GXor) }, /* 0xdc S|(P&~D) */
|
|
|
|
{ OP(SRC,DST,GXorReverse) }, /* 0xdd S|~D */
|
|
|
|
{ OP(PAT,DST,GXxor), OP(SRC,DST,GXor) }, /* 0xde S|(D^P) */
|
|
|
|
{ OP(PAT,DST,GXnand), OP(SRC,DST,GXor) }, /* 0xdf S|~(D&P) */
|
|
|
|
{ OP(SRC,DST,GXor), OP(PAT,DST,GXand) }, /* 0xe0 P&(D|S) */
|
|
|
|
{ OP(SRC,DST,GXor), OP(PAT,DST,GXequiv) }, /* 0xe1 ~P^(D|S) */
|
|
|
|
{ OP(DST,TMP,GXcopy), OP(PAT,DST,GXxor),
|
|
|
|
OP(SRC,DST,GXand), OP(TMP,DST,GXxor) }, /* 0xe2 D^(S&(P^D)) */
|
|
|
|
{ OP(PAT,DST,GXand), OP(SRC,DST,GXor),
|
|
|
|
OP(PAT,DST,GXequiv) }, /* 0xe3 ~P^(S|(D&P)) */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(PAT,SRC,GXxor),
|
|
|
|
OP(SRC,DST,GXand), OP(TMP,DST,GXxor) }, /* 0xe4 S^(D&(P^S)) */
|
|
|
|
{ OP(PAT,SRC,GXand), OP(SRC,DST,GXor),
|
|
|
|
OP(PAT,DST,GXequiv) }, /* 0xe5 ~P^(D|(S&P)) */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(PAT,SRC,GXnand),
|
|
|
|
OP(SRC,DST,GXand), OP(TMP,DST,GXxor) }, /* 0xe6 S^(D&~(P&S)) */
|
|
|
|
{ OP(PAT,SRC,GXxor), OP(PAT,DST,GXxor),
|
|
|
|
OP(SRC,DST,GXnand) }, /* 0xe7 ~((S^P)&(D^P)) */
|
|
|
|
{ OP(SRC,TMP,GXcopy), OP(SRC,DST,GXxor),
|
|
|
|
OP(PAT,SRC,GXxor), OP(SRC,DST,GXand),
|
|
|
|
OP(TMP,DST,GXxor) }, /* 0xe8 S^((S^P)&(S^D))*/
|
|
|
|
{ OP(DST,TMP,GXcopy), OP(SRC,DST,GXnand),
|
|
|
|
OP(PAT,DST,GXand), OP(SRC,DST,GXxor),
|
|
|
|
OP(TMP,DST,GXequiv) }, /* 0xe9 ~D^S^(P&~(S&D))*/
|
|
|
|
{ OP(PAT,SRC,GXand), OP(SRC,DST,GXor) }, /* 0xea D|(P&S) */
|
|
|
|
{ OP(PAT,SRC,GXequiv), OP(SRC,DST,GXor) }, /* 0xeb D|~(P^S) */
|
|
|
|
{ OP(PAT,DST,GXand), OP(SRC,DST,GXor) }, /* 0xec S|(D&P) */
|
|
|
|
{ OP(PAT,DST,GXequiv), OP(SRC,DST,GXor) }, /* 0xed S|~(D^P) */
|
|
|
|
{ OP(SRC,DST,GXor) }, /* 0xee S|D */
|
|
|
|
{ OP(PAT,DST,GXorInverted), OP(SRC,DST,GXor) }, /* 0xef S|D|~P */
|
|
|
|
{ OP(PAT,DST,GXcopy) }, /* 0xf0 P */
|
|
|
|
{ OP(SRC,DST,GXnor), OP(PAT,DST,GXor) }, /* 0xf1 P|~(D|S) */
|
|
|
|
{ OP(SRC,DST,GXandInverted), OP(PAT,DST,GXor) }, /* 0xf2 P|(D&~S) */
|
|
|
|
{ OP(PAT,SRC,GXorReverse) }, /* 0xf3 P|~S */
|
|
|
|
{ OP(SRC,DST,GXandReverse), OP(PAT,DST,GXor) }, /* 0xf4 P|(S&~D) */
|
|
|
|
{ OP(PAT,DST,GXorReverse) }, /* 0xf5 P|~D */
|
|
|
|
{ OP(SRC,DST,GXxor), OP(PAT,DST,GXor) }, /* 0xf6 P|(D^S) */
|
|
|
|
{ OP(SRC,DST,GXnand), OP(PAT,DST,GXor) }, /* 0xf7 P|~(S&D) */
|
|
|
|
{ OP(SRC,DST,GXand), OP(PAT,DST,GXor) }, /* 0xf8 P|(D&S) */
|
|
|
|
{ OP(SRC,DST,GXequiv), OP(PAT,DST,GXor) }, /* 0xf9 P|~(D^S) */
|
|
|
|
{ OP(PAT,DST,GXor) }, /* 0xfa D|P */
|
|
|
|
{ OP(PAT,SRC,GXorReverse), OP(SRC,DST,GXor) }, /* 0xfb D|P|~S */
|
|
|
|
{ OP(PAT,SRC,GXor) }, /* 0xfc P|S */
|
|
|
|
{ OP(SRC,DST,GXorReverse), OP(PAT,DST,GXor) }, /* 0xfd P|S|~D */
|
|
|
|
{ OP(SRC,DST,GXor), OP(PAT,DST,GXor) }, /* 0xfe P|D|S */
|
|
|
|
{ OP(PAT,DST,GXset) } /* 0xff 1 */
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef BITBLT_TEST /* Opcodes test */
|
|
|
|
|
|
|
|
static int do_bitop( int s, int d, int rop )
|
|
|
|
{
|
|
|
|
int res;
|
|
|
|
switch(rop)
|
|
|
|
{
|
|
|
|
case GXclear: res = 0; break;
|
|
|
|
case GXand: res = s & d; break;
|
|
|
|
case GXandReverse: res = s & ~d; break;
|
|
|
|
case GXcopy: res = s; break;
|
|
|
|
case GXandInverted: res = ~s & d; break;
|
|
|
|
case GXnoop: res = d; break;
|
|
|
|
case GXxor: res = s ^ d; break;
|
|
|
|
case GXor: res = s | d; break;
|
|
|
|
case GXnor: res = ~(s | d); break;
|
|
|
|
case GXequiv: res = ~s ^ d; break;
|
|
|
|
case GXinvert: res = ~d; break;
|
|
|
|
case GXorReverse: res = s | ~d; break;
|
|
|
|
case GXcopyInverted: res = ~s; break;
|
|
|
|
case GXorInverted: res = ~s | d; break;
|
|
|
|
case GXnand: res = ~(s & d); break;
|
|
|
|
case GXset: res = 1; break;
|
|
|
|
}
|
|
|
|
return res & 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
main()
|
|
|
|
{
|
|
|
|
int rop, i, res, src, dst, pat, tmp, dstUsed;
|
|
|
|
const BYTE *opcode;
|
|
|
|
|
|
|
|
for (rop = 0; rop < 256; rop++)
|
|
|
|
{
|
|
|
|
res = dstUsed = 0;
|
|
|
|
for (i = 0; i < 8; i++)
|
|
|
|
{
|
|
|
|
pat = (i >> 2) & 1;
|
|
|
|
src = (i >> 1) & 1;
|
|
|
|
dst = i & 1;
|
|
|
|
for (opcode = BITBLT_Opcodes[rop]; *opcode; opcode++)
|
|
|
|
{
|
|
|
|
switch(*opcode >> 4)
|
|
|
|
{
|
|
|
|
case OP_ARGS(DST,TMP):
|
|
|
|
tmp = do_bitop( dst, tmp, *opcode & 0xf );
|
|
|
|
break;
|
|
|
|
case OP_ARGS(DST,SRC):
|
|
|
|
src = do_bitop( dst, src, *opcode & 0xf );
|
|
|
|
break;
|
|
|
|
case OP_ARGS(SRC,TMP):
|
|
|
|
tmp = do_bitop( src, tmp, *opcode & 0xf );
|
|
|
|
break;
|
|
|
|
case OP_ARGS(SRC,DST):
|
|
|
|
dst = do_bitop( src, dst, *opcode & 0xf );
|
|
|
|
dstUsed = 1;
|
|
|
|
break;
|
|
|
|
case OP_ARGS(PAT,TMP):
|
|
|
|
tmp = do_bitop( pat, tmp, *opcode & 0xf );
|
|
|
|
break;
|
|
|
|
case OP_ARGS(PAT,DST):
|
|
|
|
dst = do_bitop( pat, dst, *opcode & 0xf );
|
|
|
|
dstUsed = 1;
|
|
|
|
break;
|
|
|
|
case OP_ARGS(PAT,SRC):
|
|
|
|
src = do_bitop( pat, src, *opcode & 0xf );
|
|
|
|
break;
|
|
|
|
case OP_ARGS(TMP,DST):
|
|
|
|
dst = do_bitop( tmp, dst, *opcode & 0xf );
|
|
|
|
dstUsed = 1;
|
|
|
|
break;
|
|
|
|
case OP_ARGS(TMP,SRC):
|
|
|
|
src = do_bitop( tmp, src, *opcode & 0xf );
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
printf( "Invalid opcode %x\n", *opcode );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (!dstUsed) dst = src;
|
|
|
|
if (dst) res |= 1 << i;
|
|
|
|
}
|
|
|
|
if (res != rop) printf( "%02x: ERROR, res=%02x\n", rop, res );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif /* BITBLT_TEST */
|
|
|
|
|
1993-09-04 10:09:32 +00:00
|
|
|
|
Release 941122
Sun Nov 20 18:30:06 1994 Alexandre Julliard (julliard@lamisun.epfl.ch)
* [controls/scroll.c] [include/scroll.h]
Rewritten most of scroll-bar code for better Windows look & feel.
Implemented EnableScrollBar().
Preliminary keyboard support.
* [objects/bitblt.c]
Fixed BadMatch error for BitBlt() and StretchBlt() when reading
bits from outside the visible region.
* [objects/oembitmap.c] [include/bitmaps/obm_*]
Use XPM symbolic colors to load bitmaps. This allows the colors
of the bitmaps to depend on the system colors.
* [tools/make_debug]
Made the make_debug script more robust.
* [windows/dialog.c]
Fixed CheckRadioButton().
* [windows/nonclient.c]
A few changes to scroll-bar drawing and tracking.
* [windows/winpos.c]
Renamed NextWindowFromPoint() to WINPOS_NextWindowFromPoint() to
avoid confusion, and optimized it somewhat.
Nov 19, 94 Martin Ayotte (wine@trgcorp.mksinfo.qc.ca)
* [misc/audio.c]
* [misc/mcianim.c]
more coding but nothing spectacular.
* [misc/mmaux.c]
some coding to access '/dev/mixer'.
* [misc/midi.c]
some coding to read .MID files, but it's not playing yet.
Sun Nov 13 19:31:03 1994 James Youngman (mbcstjy@afs.man.ac.uk)
* [objects/dib.c]
Reimplemented DIB_SetImageBits_RLE8() so that it would cope with
bitmaps which don't end 0x00, 0x02 (previously it blew up). This
includes some bitmaps output by Paint Shop Pro. Implementation is
possibly now too lax. Please see the notes on the function about
why.
* [controls/desktop.c]
The desktop pattern should be painted if the wallpaper doesn't
cover the whole screen width OR the whole screen height.
Sun Nov 13 00:07:11 MET 1994 Erik Bos <erik@xs4all.nl>
* [objects/dib.c]
Small bug in DIB_SetImageBits() fixed, bitmaps in 16,24 bpp
now work.
* [loader/ne_resource.c] [include/resource.h]
Some cleanup.
Thu Nov 10 20:44:58 1994 Martin von Loewis (martin@cs.csufresno.edu)
* [Configure]
[rc/sysres.rc]
Primitive compile-time support for multiple languages
* [rc/sysres_De.rc]
New file
* [loader/resource.c]
LoadBitmap: Recognize end of sysresbm properly
* [rc/Imakefile]
Rules to compile resources simplified, dependencies changed
* [rc/sysresbm.rc]
Don't use sysresbm if using XPM
* [windows/dialog.c]
CreateDialogIndirectParam: Reverse Z-order of controls
* [windows/message.c]
MSG_TranslateMouseMsg: Fix HTTRANSPARENT handling
* [windows/winpos.c]
NextWindowFromPoint: New function
* [controls/button.c]
WM_NCHITTEST: Group Box is HTTRANSPARENT
BUTTON_CheckAutoRadioButton: New function
BM_SETCHECK: Added call to BUTTON_CheckAutoRadioButton
Mon Nov 7 11:20:26 1994 Paul Falstad (pf@zoof.cts.com)
* [objects/text.c]
Fix hang when using DrawText(..., DT_WORDBREAK) with a word that
is too long to break.
* [objects/font.c]
Don't assume helvetica if there is no font family; let the other
font attributes decide what font to use.
* [controls/widgets.c]
Listboxes and combo boxes need to be notified of double-clicks.
* [controls/listbox.c]
[include/listbox.h]
scrolling to bottom of list box should display last item at the
bottom, not at the top.
list boxes need to allocate a separate heap for their item data,
rather than using the user heap. Otherwise, it's very easy to run
out of memory for list box items.
removed redundant code in ListBoxAddString(). Implemented simple
version of LBS_SORT.
Don't put [.] in the list box when using DDL_DIRECTORY.
* [controls/combo.c]
Combos should pass CBS_SORT onto their list box.
* [windows/win.c]
If window creation is aborted, remove the window from the
linked lists.
* [controls/static.c]
static controls with SS_ICON were always returning 0 from
WM_NCCREATE.
Make sure static controls have text to draw before drawing it.
1994-11-22 16:31:29 +00:00
|
|
|
/***********************************************************************
|
1995-01-09 18:21:16 +00:00
|
|
|
* BITBLT_StretchRow
|
|
|
|
*
|
|
|
|
* Stretch a row of pixels. Helper function for BITBLT_StretchImage.
|
Release 941122
Sun Nov 20 18:30:06 1994 Alexandre Julliard (julliard@lamisun.epfl.ch)
* [controls/scroll.c] [include/scroll.h]
Rewritten most of scroll-bar code for better Windows look & feel.
Implemented EnableScrollBar().
Preliminary keyboard support.
* [objects/bitblt.c]
Fixed BadMatch error for BitBlt() and StretchBlt() when reading
bits from outside the visible region.
* [objects/oembitmap.c] [include/bitmaps/obm_*]
Use XPM symbolic colors to load bitmaps. This allows the colors
of the bitmaps to depend on the system colors.
* [tools/make_debug]
Made the make_debug script more robust.
* [windows/dialog.c]
Fixed CheckRadioButton().
* [windows/nonclient.c]
A few changes to scroll-bar drawing and tracking.
* [windows/winpos.c]
Renamed NextWindowFromPoint() to WINPOS_NextWindowFromPoint() to
avoid confusion, and optimized it somewhat.
Nov 19, 94 Martin Ayotte (wine@trgcorp.mksinfo.qc.ca)
* [misc/audio.c]
* [misc/mcianim.c]
more coding but nothing spectacular.
* [misc/mmaux.c]
some coding to access '/dev/mixer'.
* [misc/midi.c]
some coding to read .MID files, but it's not playing yet.
Sun Nov 13 19:31:03 1994 James Youngman (mbcstjy@afs.man.ac.uk)
* [objects/dib.c]
Reimplemented DIB_SetImageBits_RLE8() so that it would cope with
bitmaps which don't end 0x00, 0x02 (previously it blew up). This
includes some bitmaps output by Paint Shop Pro. Implementation is
possibly now too lax. Please see the notes on the function about
why.
* [controls/desktop.c]
The desktop pattern should be painted if the wallpaper doesn't
cover the whole screen width OR the whole screen height.
Sun Nov 13 00:07:11 MET 1994 Erik Bos <erik@xs4all.nl>
* [objects/dib.c]
Small bug in DIB_SetImageBits() fixed, bitmaps in 16,24 bpp
now work.
* [loader/ne_resource.c] [include/resource.h]
Some cleanup.
Thu Nov 10 20:44:58 1994 Martin von Loewis (martin@cs.csufresno.edu)
* [Configure]
[rc/sysres.rc]
Primitive compile-time support for multiple languages
* [rc/sysres_De.rc]
New file
* [loader/resource.c]
LoadBitmap: Recognize end of sysresbm properly
* [rc/Imakefile]
Rules to compile resources simplified, dependencies changed
* [rc/sysresbm.rc]
Don't use sysresbm if using XPM
* [windows/dialog.c]
CreateDialogIndirectParam: Reverse Z-order of controls
* [windows/message.c]
MSG_TranslateMouseMsg: Fix HTTRANSPARENT handling
* [windows/winpos.c]
NextWindowFromPoint: New function
* [controls/button.c]
WM_NCHITTEST: Group Box is HTTRANSPARENT
BUTTON_CheckAutoRadioButton: New function
BM_SETCHECK: Added call to BUTTON_CheckAutoRadioButton
Mon Nov 7 11:20:26 1994 Paul Falstad (pf@zoof.cts.com)
* [objects/text.c]
Fix hang when using DrawText(..., DT_WORDBREAK) with a word that
is too long to break.
* [objects/font.c]
Don't assume helvetica if there is no font family; let the other
font attributes decide what font to use.
* [controls/widgets.c]
Listboxes and combo boxes need to be notified of double-clicks.
* [controls/listbox.c]
[include/listbox.h]
scrolling to bottom of list box should display last item at the
bottom, not at the top.
list boxes need to allocate a separate heap for their item data,
rather than using the user heap. Otherwise, it's very easy to run
out of memory for list box items.
removed redundant code in ListBoxAddString(). Implemented simple
version of LBS_SORT.
Don't put [.] in the list box when using DDL_DIRECTORY.
* [controls/combo.c]
Combos should pass CBS_SORT onto their list box.
* [windows/win.c]
If window creation is aborted, remove the window from the
linked lists.
* [controls/static.c]
static controls with SS_ICON were always returning 0 from
WM_NCCREATE.
Make sure static controls have text to draw before drawing it.
1994-11-22 16:31:29 +00:00
|
|
|
*/
|
1995-01-09 18:21:16 +00:00
|
|
|
static void BITBLT_StretchRow( int *rowSrc, int *rowDst,
|
|
|
|
short startDst, short widthDst,
|
|
|
|
int xinc, WORD mode )
|
Release 941122
Sun Nov 20 18:30:06 1994 Alexandre Julliard (julliard@lamisun.epfl.ch)
* [controls/scroll.c] [include/scroll.h]
Rewritten most of scroll-bar code for better Windows look & feel.
Implemented EnableScrollBar().
Preliminary keyboard support.
* [objects/bitblt.c]
Fixed BadMatch error for BitBlt() and StretchBlt() when reading
bits from outside the visible region.
* [objects/oembitmap.c] [include/bitmaps/obm_*]
Use XPM symbolic colors to load bitmaps. This allows the colors
of the bitmaps to depend on the system colors.
* [tools/make_debug]
Made the make_debug script more robust.
* [windows/dialog.c]
Fixed CheckRadioButton().
* [windows/nonclient.c]
A few changes to scroll-bar drawing and tracking.
* [windows/winpos.c]
Renamed NextWindowFromPoint() to WINPOS_NextWindowFromPoint() to
avoid confusion, and optimized it somewhat.
Nov 19, 94 Martin Ayotte (wine@trgcorp.mksinfo.qc.ca)
* [misc/audio.c]
* [misc/mcianim.c]
more coding but nothing spectacular.
* [misc/mmaux.c]
some coding to access '/dev/mixer'.
* [misc/midi.c]
some coding to read .MID files, but it's not playing yet.
Sun Nov 13 19:31:03 1994 James Youngman (mbcstjy@afs.man.ac.uk)
* [objects/dib.c]
Reimplemented DIB_SetImageBits_RLE8() so that it would cope with
bitmaps which don't end 0x00, 0x02 (previously it blew up). This
includes some bitmaps output by Paint Shop Pro. Implementation is
possibly now too lax. Please see the notes on the function about
why.
* [controls/desktop.c]
The desktop pattern should be painted if the wallpaper doesn't
cover the whole screen width OR the whole screen height.
Sun Nov 13 00:07:11 MET 1994 Erik Bos <erik@xs4all.nl>
* [objects/dib.c]
Small bug in DIB_SetImageBits() fixed, bitmaps in 16,24 bpp
now work.
* [loader/ne_resource.c] [include/resource.h]
Some cleanup.
Thu Nov 10 20:44:58 1994 Martin von Loewis (martin@cs.csufresno.edu)
* [Configure]
[rc/sysres.rc]
Primitive compile-time support for multiple languages
* [rc/sysres_De.rc]
New file
* [loader/resource.c]
LoadBitmap: Recognize end of sysresbm properly
* [rc/Imakefile]
Rules to compile resources simplified, dependencies changed
* [rc/sysresbm.rc]
Don't use sysresbm if using XPM
* [windows/dialog.c]
CreateDialogIndirectParam: Reverse Z-order of controls
* [windows/message.c]
MSG_TranslateMouseMsg: Fix HTTRANSPARENT handling
* [windows/winpos.c]
NextWindowFromPoint: New function
* [controls/button.c]
WM_NCHITTEST: Group Box is HTTRANSPARENT
BUTTON_CheckAutoRadioButton: New function
BM_SETCHECK: Added call to BUTTON_CheckAutoRadioButton
Mon Nov 7 11:20:26 1994 Paul Falstad (pf@zoof.cts.com)
* [objects/text.c]
Fix hang when using DrawText(..., DT_WORDBREAK) with a word that
is too long to break.
* [objects/font.c]
Don't assume helvetica if there is no font family; let the other
font attributes decide what font to use.
* [controls/widgets.c]
Listboxes and combo boxes need to be notified of double-clicks.
* [controls/listbox.c]
[include/listbox.h]
scrolling to bottom of list box should display last item at the
bottom, not at the top.
list boxes need to allocate a separate heap for their item data,
rather than using the user heap. Otherwise, it's very easy to run
out of memory for list box items.
removed redundant code in ListBoxAddString(). Implemented simple
version of LBS_SORT.
Don't put [.] in the list box when using DDL_DIRECTORY.
* [controls/combo.c]
Combos should pass CBS_SORT onto their list box.
* [windows/win.c]
If window creation is aborted, remove the window from the
linked lists.
* [controls/static.c]
static controls with SS_ICON were always returning 0 from
WM_NCCREATE.
Make sure static controls have text to draw before drawing it.
1994-11-22 16:31:29 +00:00
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
register int xsrc = xinc * startDst;
|
|
|
|
rowDst += startDst;
|
|
|
|
switch(mode)
|
Release 941122
Sun Nov 20 18:30:06 1994 Alexandre Julliard (julliard@lamisun.epfl.ch)
* [controls/scroll.c] [include/scroll.h]
Rewritten most of scroll-bar code for better Windows look & feel.
Implemented EnableScrollBar().
Preliminary keyboard support.
* [objects/bitblt.c]
Fixed BadMatch error for BitBlt() and StretchBlt() when reading
bits from outside the visible region.
* [objects/oembitmap.c] [include/bitmaps/obm_*]
Use XPM symbolic colors to load bitmaps. This allows the colors
of the bitmaps to depend on the system colors.
* [tools/make_debug]
Made the make_debug script more robust.
* [windows/dialog.c]
Fixed CheckRadioButton().
* [windows/nonclient.c]
A few changes to scroll-bar drawing and tracking.
* [windows/winpos.c]
Renamed NextWindowFromPoint() to WINPOS_NextWindowFromPoint() to
avoid confusion, and optimized it somewhat.
Nov 19, 94 Martin Ayotte (wine@trgcorp.mksinfo.qc.ca)
* [misc/audio.c]
* [misc/mcianim.c]
more coding but nothing spectacular.
* [misc/mmaux.c]
some coding to access '/dev/mixer'.
* [misc/midi.c]
some coding to read .MID files, but it's not playing yet.
Sun Nov 13 19:31:03 1994 James Youngman (mbcstjy@afs.man.ac.uk)
* [objects/dib.c]
Reimplemented DIB_SetImageBits_RLE8() so that it would cope with
bitmaps which don't end 0x00, 0x02 (previously it blew up). This
includes some bitmaps output by Paint Shop Pro. Implementation is
possibly now too lax. Please see the notes on the function about
why.
* [controls/desktop.c]
The desktop pattern should be painted if the wallpaper doesn't
cover the whole screen width OR the whole screen height.
Sun Nov 13 00:07:11 MET 1994 Erik Bos <erik@xs4all.nl>
* [objects/dib.c]
Small bug in DIB_SetImageBits() fixed, bitmaps in 16,24 bpp
now work.
* [loader/ne_resource.c] [include/resource.h]
Some cleanup.
Thu Nov 10 20:44:58 1994 Martin von Loewis (martin@cs.csufresno.edu)
* [Configure]
[rc/sysres.rc]
Primitive compile-time support for multiple languages
* [rc/sysres_De.rc]
New file
* [loader/resource.c]
LoadBitmap: Recognize end of sysresbm properly
* [rc/Imakefile]
Rules to compile resources simplified, dependencies changed
* [rc/sysresbm.rc]
Don't use sysresbm if using XPM
* [windows/dialog.c]
CreateDialogIndirectParam: Reverse Z-order of controls
* [windows/message.c]
MSG_TranslateMouseMsg: Fix HTTRANSPARENT handling
* [windows/winpos.c]
NextWindowFromPoint: New function
* [controls/button.c]
WM_NCHITTEST: Group Box is HTTRANSPARENT
BUTTON_CheckAutoRadioButton: New function
BM_SETCHECK: Added call to BUTTON_CheckAutoRadioButton
Mon Nov 7 11:20:26 1994 Paul Falstad (pf@zoof.cts.com)
* [objects/text.c]
Fix hang when using DrawText(..., DT_WORDBREAK) with a word that
is too long to break.
* [objects/font.c]
Don't assume helvetica if there is no font family; let the other
font attributes decide what font to use.
* [controls/widgets.c]
Listboxes and combo boxes need to be notified of double-clicks.
* [controls/listbox.c]
[include/listbox.h]
scrolling to bottom of list box should display last item at the
bottom, not at the top.
list boxes need to allocate a separate heap for their item data,
rather than using the user heap. Otherwise, it's very easy to run
out of memory for list box items.
removed redundant code in ListBoxAddString(). Implemented simple
version of LBS_SORT.
Don't put [.] in the list box when using DDL_DIRECTORY.
* [controls/combo.c]
Combos should pass CBS_SORT onto their list box.
* [windows/win.c]
If window creation is aborted, remove the window from the
linked lists.
* [controls/static.c]
static controls with SS_ICON were always returning 0 from
WM_NCCREATE.
Make sure static controls have text to draw before drawing it.
1994-11-22 16:31:29 +00:00
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
case STRETCH_ANDSCANS:
|
|
|
|
for(; widthDst > 0; widthDst--, xsrc += xinc)
|
|
|
|
*rowDst++ &= rowSrc[xsrc >> 16];
|
|
|
|
break;
|
|
|
|
case STRETCH_ORSCANS:
|
|
|
|
for(; widthDst > 0; widthDst--, xsrc += xinc)
|
|
|
|
*rowDst++ |= rowSrc[xsrc >> 16];
|
|
|
|
break;
|
|
|
|
case STRETCH_DELETESCANS:
|
|
|
|
for(; widthDst > 0; widthDst--, xsrc += xinc)
|
|
|
|
*rowDst++ = rowSrc[xsrc >> 16];
|
|
|
|
break;
|
Release 941122
Sun Nov 20 18:30:06 1994 Alexandre Julliard (julliard@lamisun.epfl.ch)
* [controls/scroll.c] [include/scroll.h]
Rewritten most of scroll-bar code for better Windows look & feel.
Implemented EnableScrollBar().
Preliminary keyboard support.
* [objects/bitblt.c]
Fixed BadMatch error for BitBlt() and StretchBlt() when reading
bits from outside the visible region.
* [objects/oembitmap.c] [include/bitmaps/obm_*]
Use XPM symbolic colors to load bitmaps. This allows the colors
of the bitmaps to depend on the system colors.
* [tools/make_debug]
Made the make_debug script more robust.
* [windows/dialog.c]
Fixed CheckRadioButton().
* [windows/nonclient.c]
A few changes to scroll-bar drawing and tracking.
* [windows/winpos.c]
Renamed NextWindowFromPoint() to WINPOS_NextWindowFromPoint() to
avoid confusion, and optimized it somewhat.
Nov 19, 94 Martin Ayotte (wine@trgcorp.mksinfo.qc.ca)
* [misc/audio.c]
* [misc/mcianim.c]
more coding but nothing spectacular.
* [misc/mmaux.c]
some coding to access '/dev/mixer'.
* [misc/midi.c]
some coding to read .MID files, but it's not playing yet.
Sun Nov 13 19:31:03 1994 James Youngman (mbcstjy@afs.man.ac.uk)
* [objects/dib.c]
Reimplemented DIB_SetImageBits_RLE8() so that it would cope with
bitmaps which don't end 0x00, 0x02 (previously it blew up). This
includes some bitmaps output by Paint Shop Pro. Implementation is
possibly now too lax. Please see the notes on the function about
why.
* [controls/desktop.c]
The desktop pattern should be painted if the wallpaper doesn't
cover the whole screen width OR the whole screen height.
Sun Nov 13 00:07:11 MET 1994 Erik Bos <erik@xs4all.nl>
* [objects/dib.c]
Small bug in DIB_SetImageBits() fixed, bitmaps in 16,24 bpp
now work.
* [loader/ne_resource.c] [include/resource.h]
Some cleanup.
Thu Nov 10 20:44:58 1994 Martin von Loewis (martin@cs.csufresno.edu)
* [Configure]
[rc/sysres.rc]
Primitive compile-time support for multiple languages
* [rc/sysres_De.rc]
New file
* [loader/resource.c]
LoadBitmap: Recognize end of sysresbm properly
* [rc/Imakefile]
Rules to compile resources simplified, dependencies changed
* [rc/sysresbm.rc]
Don't use sysresbm if using XPM
* [windows/dialog.c]
CreateDialogIndirectParam: Reverse Z-order of controls
* [windows/message.c]
MSG_TranslateMouseMsg: Fix HTTRANSPARENT handling
* [windows/winpos.c]
NextWindowFromPoint: New function
* [controls/button.c]
WM_NCHITTEST: Group Box is HTTRANSPARENT
BUTTON_CheckAutoRadioButton: New function
BM_SETCHECK: Added call to BUTTON_CheckAutoRadioButton
Mon Nov 7 11:20:26 1994 Paul Falstad (pf@zoof.cts.com)
* [objects/text.c]
Fix hang when using DrawText(..., DT_WORDBREAK) with a word that
is too long to break.
* [objects/font.c]
Don't assume helvetica if there is no font family; let the other
font attributes decide what font to use.
* [controls/widgets.c]
Listboxes and combo boxes need to be notified of double-clicks.
* [controls/listbox.c]
[include/listbox.h]
scrolling to bottom of list box should display last item at the
bottom, not at the top.
list boxes need to allocate a separate heap for their item data,
rather than using the user heap. Otherwise, it's very easy to run
out of memory for list box items.
removed redundant code in ListBoxAddString(). Implemented simple
version of LBS_SORT.
Don't put [.] in the list box when using DDL_DIRECTORY.
* [controls/combo.c]
Combos should pass CBS_SORT onto their list box.
* [windows/win.c]
If window creation is aborted, remove the window from the
linked lists.
* [controls/static.c]
static controls with SS_ICON were always returning 0 from
WM_NCCREATE.
Make sure static controls have text to draw before drawing it.
1994-11-22 16:31:29 +00:00
|
|
|
}
|
1995-01-09 18:21:16 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* BITBLT_ShrinkRow
|
|
|
|
*
|
|
|
|
* Shrink a row of pixels. Helper function for BITBLT_StretchImage.
|
|
|
|
*/
|
|
|
|
static void BITBLT_ShrinkRow( int *rowSrc, int *rowDst,
|
|
|
|
short startSrc, short widthSrc,
|
1995-01-24 16:21:01 +00:00
|
|
|
int xinc, WORD mode )
|
1995-01-09 18:21:16 +00:00
|
|
|
{
|
|
|
|
register int xdst = xinc * startSrc;
|
|
|
|
rowSrc += startSrc;
|
|
|
|
switch(mode)
|
Release 941122
Sun Nov 20 18:30:06 1994 Alexandre Julliard (julliard@lamisun.epfl.ch)
* [controls/scroll.c] [include/scroll.h]
Rewritten most of scroll-bar code for better Windows look & feel.
Implemented EnableScrollBar().
Preliminary keyboard support.
* [objects/bitblt.c]
Fixed BadMatch error for BitBlt() and StretchBlt() when reading
bits from outside the visible region.
* [objects/oembitmap.c] [include/bitmaps/obm_*]
Use XPM symbolic colors to load bitmaps. This allows the colors
of the bitmaps to depend on the system colors.
* [tools/make_debug]
Made the make_debug script more robust.
* [windows/dialog.c]
Fixed CheckRadioButton().
* [windows/nonclient.c]
A few changes to scroll-bar drawing and tracking.
* [windows/winpos.c]
Renamed NextWindowFromPoint() to WINPOS_NextWindowFromPoint() to
avoid confusion, and optimized it somewhat.
Nov 19, 94 Martin Ayotte (wine@trgcorp.mksinfo.qc.ca)
* [misc/audio.c]
* [misc/mcianim.c]
more coding but nothing spectacular.
* [misc/mmaux.c]
some coding to access '/dev/mixer'.
* [misc/midi.c]
some coding to read .MID files, but it's not playing yet.
Sun Nov 13 19:31:03 1994 James Youngman (mbcstjy@afs.man.ac.uk)
* [objects/dib.c]
Reimplemented DIB_SetImageBits_RLE8() so that it would cope with
bitmaps which don't end 0x00, 0x02 (previously it blew up). This
includes some bitmaps output by Paint Shop Pro. Implementation is
possibly now too lax. Please see the notes on the function about
why.
* [controls/desktop.c]
The desktop pattern should be painted if the wallpaper doesn't
cover the whole screen width OR the whole screen height.
Sun Nov 13 00:07:11 MET 1994 Erik Bos <erik@xs4all.nl>
* [objects/dib.c]
Small bug in DIB_SetImageBits() fixed, bitmaps in 16,24 bpp
now work.
* [loader/ne_resource.c] [include/resource.h]
Some cleanup.
Thu Nov 10 20:44:58 1994 Martin von Loewis (martin@cs.csufresno.edu)
* [Configure]
[rc/sysres.rc]
Primitive compile-time support for multiple languages
* [rc/sysres_De.rc]
New file
* [loader/resource.c]
LoadBitmap: Recognize end of sysresbm properly
* [rc/Imakefile]
Rules to compile resources simplified, dependencies changed
* [rc/sysresbm.rc]
Don't use sysresbm if using XPM
* [windows/dialog.c]
CreateDialogIndirectParam: Reverse Z-order of controls
* [windows/message.c]
MSG_TranslateMouseMsg: Fix HTTRANSPARENT handling
* [windows/winpos.c]
NextWindowFromPoint: New function
* [controls/button.c]
WM_NCHITTEST: Group Box is HTTRANSPARENT
BUTTON_CheckAutoRadioButton: New function
BM_SETCHECK: Added call to BUTTON_CheckAutoRadioButton
Mon Nov 7 11:20:26 1994 Paul Falstad (pf@zoof.cts.com)
* [objects/text.c]
Fix hang when using DrawText(..., DT_WORDBREAK) with a word that
is too long to break.
* [objects/font.c]
Don't assume helvetica if there is no font family; let the other
font attributes decide what font to use.
* [controls/widgets.c]
Listboxes and combo boxes need to be notified of double-clicks.
* [controls/listbox.c]
[include/listbox.h]
scrolling to bottom of list box should display last item at the
bottom, not at the top.
list boxes need to allocate a separate heap for their item data,
rather than using the user heap. Otherwise, it's very easy to run
out of memory for list box items.
removed redundant code in ListBoxAddString(). Implemented simple
version of LBS_SORT.
Don't put [.] in the list box when using DDL_DIRECTORY.
* [controls/combo.c]
Combos should pass CBS_SORT onto their list box.
* [windows/win.c]
If window creation is aborted, remove the window from the
linked lists.
* [controls/static.c]
static controls with SS_ICON were always returning 0 from
WM_NCCREATE.
Make sure static controls have text to draw before drawing it.
1994-11-22 16:31:29 +00:00
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
case STRETCH_ORSCANS:
|
|
|
|
for(; widthSrc > 0; widthSrc--, xdst += xinc)
|
|
|
|
rowDst[xdst >> 16] |= *rowSrc++;
|
|
|
|
break;
|
|
|
|
case STRETCH_ANDSCANS:
|
|
|
|
for(; widthSrc > 0; widthSrc--, xdst += xinc)
|
|
|
|
rowDst[xdst >> 16] &= *rowSrc++;
|
|
|
|
break;
|
|
|
|
case STRETCH_DELETESCANS:
|
|
|
|
for(; widthSrc > 0; widthSrc--, xdst += xinc)
|
|
|
|
rowDst[xdst >> 16] = *rowSrc++;
|
|
|
|
break;
|
Release 941122
Sun Nov 20 18:30:06 1994 Alexandre Julliard (julliard@lamisun.epfl.ch)
* [controls/scroll.c] [include/scroll.h]
Rewritten most of scroll-bar code for better Windows look & feel.
Implemented EnableScrollBar().
Preliminary keyboard support.
* [objects/bitblt.c]
Fixed BadMatch error for BitBlt() and StretchBlt() when reading
bits from outside the visible region.
* [objects/oembitmap.c] [include/bitmaps/obm_*]
Use XPM symbolic colors to load bitmaps. This allows the colors
of the bitmaps to depend on the system colors.
* [tools/make_debug]
Made the make_debug script more robust.
* [windows/dialog.c]
Fixed CheckRadioButton().
* [windows/nonclient.c]
A few changes to scroll-bar drawing and tracking.
* [windows/winpos.c]
Renamed NextWindowFromPoint() to WINPOS_NextWindowFromPoint() to
avoid confusion, and optimized it somewhat.
Nov 19, 94 Martin Ayotte (wine@trgcorp.mksinfo.qc.ca)
* [misc/audio.c]
* [misc/mcianim.c]
more coding but nothing spectacular.
* [misc/mmaux.c]
some coding to access '/dev/mixer'.
* [misc/midi.c]
some coding to read .MID files, but it's not playing yet.
Sun Nov 13 19:31:03 1994 James Youngman (mbcstjy@afs.man.ac.uk)
* [objects/dib.c]
Reimplemented DIB_SetImageBits_RLE8() so that it would cope with
bitmaps which don't end 0x00, 0x02 (previously it blew up). This
includes some bitmaps output by Paint Shop Pro. Implementation is
possibly now too lax. Please see the notes on the function about
why.
* [controls/desktop.c]
The desktop pattern should be painted if the wallpaper doesn't
cover the whole screen width OR the whole screen height.
Sun Nov 13 00:07:11 MET 1994 Erik Bos <erik@xs4all.nl>
* [objects/dib.c]
Small bug in DIB_SetImageBits() fixed, bitmaps in 16,24 bpp
now work.
* [loader/ne_resource.c] [include/resource.h]
Some cleanup.
Thu Nov 10 20:44:58 1994 Martin von Loewis (martin@cs.csufresno.edu)
* [Configure]
[rc/sysres.rc]
Primitive compile-time support for multiple languages
* [rc/sysres_De.rc]
New file
* [loader/resource.c]
LoadBitmap: Recognize end of sysresbm properly
* [rc/Imakefile]
Rules to compile resources simplified, dependencies changed
* [rc/sysresbm.rc]
Don't use sysresbm if using XPM
* [windows/dialog.c]
CreateDialogIndirectParam: Reverse Z-order of controls
* [windows/message.c]
MSG_TranslateMouseMsg: Fix HTTRANSPARENT handling
* [windows/winpos.c]
NextWindowFromPoint: New function
* [controls/button.c]
WM_NCHITTEST: Group Box is HTTRANSPARENT
BUTTON_CheckAutoRadioButton: New function
BM_SETCHECK: Added call to BUTTON_CheckAutoRadioButton
Mon Nov 7 11:20:26 1994 Paul Falstad (pf@zoof.cts.com)
* [objects/text.c]
Fix hang when using DrawText(..., DT_WORDBREAK) with a word that
is too long to break.
* [objects/font.c]
Don't assume helvetica if there is no font family; let the other
font attributes decide what font to use.
* [controls/widgets.c]
Listboxes and combo boxes need to be notified of double-clicks.
* [controls/listbox.c]
[include/listbox.h]
scrolling to bottom of list box should display last item at the
bottom, not at the top.
list boxes need to allocate a separate heap for their item data,
rather than using the user heap. Otherwise, it's very easy to run
out of memory for list box items.
removed redundant code in ListBoxAddString(). Implemented simple
version of LBS_SORT.
Don't put [.] in the list box when using DDL_DIRECTORY.
* [controls/combo.c]
Combos should pass CBS_SORT onto their list box.
* [windows/win.c]
If window creation is aborted, remove the window from the
linked lists.
* [controls/static.c]
static controls with SS_ICON were always returning 0 from
WM_NCCREATE.
Make sure static controls have text to draw before drawing it.
1994-11-22 16:31:29 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
1994-12-27 14:11:53 +00:00
|
|
|
/***********************************************************************
|
1995-01-09 18:21:16 +00:00
|
|
|
* BITBLT_GetRow
|
1994-12-27 14:11:53 +00:00
|
|
|
*
|
1995-01-09 18:21:16 +00:00
|
|
|
* Retrieve a row from an image. Helper function for BITBLT_StretchImage.
|
1994-12-27 14:11:53 +00:00
|
|
|
*/
|
1995-01-09 18:21:16 +00:00
|
|
|
static void BITBLT_GetRow( XImage *image, int *pdata, short row,
|
|
|
|
short start, short width, short depthDst,
|
|
|
|
int fg, int bg, BOOL swap)
|
1994-12-27 14:11:53 +00:00
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
register short i;
|
1994-12-27 14:11:53 +00:00
|
|
|
|
1995-01-09 18:21:16 +00:00
|
|
|
pdata += swap ? start+width-1 : start;
|
Release 950606
Tue Jun 6 12:11:41 1995 Alexandre Julliard (julliard@sunsite.unc.edu)
* [controls/menu.c]
Fixed bug with drawing multi-column menus with vertical separator.
* [debugger/debug.l]
Fixed NULL-pointer reference after readline().
* [if1632/winprocs.spec] [miscemu/int21.c] [miscemu/interrupts.c]
Added interrupt vector emulation. Allows to retrieve an interrupt
vector and jump to it without crashing.
* [loader/ldt.c]
Moved ldt.c to memory directory.
* [loader/task.c]
Implemented LockCurrentTask() and GetInstanceData().
* [objects/bitblt.c]
Fixed a bug that caused StretchBlt() to use wrong colors when
stretching a monochrome bitmap to a color display.
* [objects/bitmap.c]
Fixed a segmented pointer bug in CreateBitmapIndirect().
* [tools/build.c]
Added possibility to have arguments for register functions; used
by interrupt vectors to remove the flags from the stack.
Generate a new function CallTo32_LargeStack(), that allows calling
a 32-bit function using the original 32-bit stack, for functions
that need more that 64k of stack.
Tue May 30 10:29:56 1995 Martin von Loewis <martin@informatik.hu-berlin.de>
* [if1632/shell.spec] [misc/shell.c]
DoEnvironmentSubst: fixed prototype
* [if1632/gdi.spec] [objects/palette.c]
SetSystemPaletteUse: new function
* [if1632/kernel.spec] [loader/resource.c]
DirectResAlloc: new function
* [if1632/user.spec] [windows/keyboard.c]
SetKeyboardState: new function
Mon May 29 12:58:28 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [tools/build.c]
Prevent interrupts from destroying the args for a 32 bit function
by loading the correct value into %esp directly after %ss.
* [loader/ne_image.c] [loader/module.c]
The new instance must be created earlier in LoadModule(), so that
fixups referencing it will be handled correctly.
Initialize the local heap for a DGROUP in NE_LoadSegment().
* [objects/dib.c]
Like RLE8 bitmaps, RLE4 bitmaps don't always end with a proper code.
This used to crash Wine. Fixed.
* [objects/text.c]
Fix possible null pointer dereference in debugging output.
* [misc/commdlg.c]
Handle user input in the edit control better. Some bugs fixed.
* [memory/local.c]
Started implementing moveable blocks. This is unfinished (!), but
at least it does not seem to break things.
Wed May 24 13:26:36 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [loader/module.c]
LoadModule(): DLLs occasionally have a data segment, and they work
much better if it is loaded :-)
LoadLibrary(): pass HMODULE instead of HINSTANCE to NE_InitializeDLLs.
FindModule(): also strip off the last backslash of the pathnames
(Winhelp tried to load C:\WINDOWS\SYSTEM\COMMDLG.DLL).
GetModuleHandle(): just call MODULE_FindModule, it does the same job,
only better.
* [loader/ne_image.c]
LocalInit() the heap of a DLL in NE_InitDLL. (This is probably
not really correct, it seems that all programs and DLLs try to do
this themselves. But they pass weird parameters.)
NE_InitializeDLLs should also call NE_InitDLL for the passed hModule.
* [loader/task.c] [misc/user.c]
Finish global initializations in InitTask instead of InitApp, or
all the DLLs will be initialized in InitTask without any available
window classes!
1995-06-06 16:40:35 +00:00
|
|
|
if (image->depth == depthDst) /* color -> color */
|
1994-12-27 14:11:53 +00:00
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
if (COLOR_PixelToPalette && (depthDst != 1))
|
|
|
|
if (swap) for (i = 0; i < width; i++)
|
|
|
|
*pdata-- = COLOR_PixelToPalette[XGetPixel( image, i, row )];
|
|
|
|
else for (i = 0; i < width; i++)
|
|
|
|
*pdata++ = COLOR_PixelToPalette[XGetPixel( image, i, row )];
|
|
|
|
else
|
|
|
|
if (swap) for (i = 0; i < width; i++)
|
|
|
|
*pdata-- = XGetPixel( image, i, row );
|
|
|
|
else for (i = 0; i < width; i++)
|
|
|
|
*pdata++ = XGetPixel( image, i, row );
|
1994-12-27 14:11:53 +00:00
|
|
|
}
|
1995-01-09 18:21:16 +00:00
|
|
|
else
|
1994-12-27 14:11:53 +00:00
|
|
|
{
|
Release 950606
Tue Jun 6 12:11:41 1995 Alexandre Julliard (julliard@sunsite.unc.edu)
* [controls/menu.c]
Fixed bug with drawing multi-column menus with vertical separator.
* [debugger/debug.l]
Fixed NULL-pointer reference after readline().
* [if1632/winprocs.spec] [miscemu/int21.c] [miscemu/interrupts.c]
Added interrupt vector emulation. Allows to retrieve an interrupt
vector and jump to it without crashing.
* [loader/ldt.c]
Moved ldt.c to memory directory.
* [loader/task.c]
Implemented LockCurrentTask() and GetInstanceData().
* [objects/bitblt.c]
Fixed a bug that caused StretchBlt() to use wrong colors when
stretching a monochrome bitmap to a color display.
* [objects/bitmap.c]
Fixed a segmented pointer bug in CreateBitmapIndirect().
* [tools/build.c]
Added possibility to have arguments for register functions; used
by interrupt vectors to remove the flags from the stack.
Generate a new function CallTo32_LargeStack(), that allows calling
a 32-bit function using the original 32-bit stack, for functions
that need more that 64k of stack.
Tue May 30 10:29:56 1995 Martin von Loewis <martin@informatik.hu-berlin.de>
* [if1632/shell.spec] [misc/shell.c]
DoEnvironmentSubst: fixed prototype
* [if1632/gdi.spec] [objects/palette.c]
SetSystemPaletteUse: new function
* [if1632/kernel.spec] [loader/resource.c]
DirectResAlloc: new function
* [if1632/user.spec] [windows/keyboard.c]
SetKeyboardState: new function
Mon May 29 12:58:28 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [tools/build.c]
Prevent interrupts from destroying the args for a 32 bit function
by loading the correct value into %esp directly after %ss.
* [loader/ne_image.c] [loader/module.c]
The new instance must be created earlier in LoadModule(), so that
fixups referencing it will be handled correctly.
Initialize the local heap for a DGROUP in NE_LoadSegment().
* [objects/dib.c]
Like RLE8 bitmaps, RLE4 bitmaps don't always end with a proper code.
This used to crash Wine. Fixed.
* [objects/text.c]
Fix possible null pointer dereference in debugging output.
* [misc/commdlg.c]
Handle user input in the edit control better. Some bugs fixed.
* [memory/local.c]
Started implementing moveable blocks. This is unfinished (!), but
at least it does not seem to break things.
Wed May 24 13:26:36 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [loader/module.c]
LoadModule(): DLLs occasionally have a data segment, and they work
much better if it is loaded :-)
LoadLibrary(): pass HMODULE instead of HINSTANCE to NE_InitializeDLLs.
FindModule(): also strip off the last backslash of the pathnames
(Winhelp tried to load C:\WINDOWS\SYSTEM\COMMDLG.DLL).
GetModuleHandle(): just call MODULE_FindModule, it does the same job,
only better.
* [loader/ne_image.c]
LocalInit() the heap of a DLL in NE_InitDLL. (This is probably
not really correct, it seems that all programs and DLLs try to do
this themselves. But they pass weird parameters.)
NE_InitializeDLLs should also call NE_InitDLL for the passed hModule.
* [loader/task.c] [misc/user.c]
Finish global initializations in InitTask instead of InitApp, or
all the DLLs will be initialized in InitTask without any available
window classes!
1995-06-06 16:40:35 +00:00
|
|
|
if (image->depth == 1) /* monochrome -> color */
|
|
|
|
{
|
|
|
|
if (COLOR_PixelToPalette)
|
|
|
|
{
|
|
|
|
fg = COLOR_PixelToPalette[fg];
|
|
|
|
bg = COLOR_PixelToPalette[bg];
|
|
|
|
}
|
1995-01-09 18:21:16 +00:00
|
|
|
if (swap) for (i = 0; i < width; i++)
|
|
|
|
*pdata-- = XGetPixel( image, i, row ) ? bg : fg;
|
|
|
|
else for (i = 0; i < width; i++)
|
|
|
|
*pdata++ = XGetPixel( image, i, row ) ? bg : fg;
|
Release 950606
Tue Jun 6 12:11:41 1995 Alexandre Julliard (julliard@sunsite.unc.edu)
* [controls/menu.c]
Fixed bug with drawing multi-column menus with vertical separator.
* [debugger/debug.l]
Fixed NULL-pointer reference after readline().
* [if1632/winprocs.spec] [miscemu/int21.c] [miscemu/interrupts.c]
Added interrupt vector emulation. Allows to retrieve an interrupt
vector and jump to it without crashing.
* [loader/ldt.c]
Moved ldt.c to memory directory.
* [loader/task.c]
Implemented LockCurrentTask() and GetInstanceData().
* [objects/bitblt.c]
Fixed a bug that caused StretchBlt() to use wrong colors when
stretching a monochrome bitmap to a color display.
* [objects/bitmap.c]
Fixed a segmented pointer bug in CreateBitmapIndirect().
* [tools/build.c]
Added possibility to have arguments for register functions; used
by interrupt vectors to remove the flags from the stack.
Generate a new function CallTo32_LargeStack(), that allows calling
a 32-bit function using the original 32-bit stack, for functions
that need more that 64k of stack.
Tue May 30 10:29:56 1995 Martin von Loewis <martin@informatik.hu-berlin.de>
* [if1632/shell.spec] [misc/shell.c]
DoEnvironmentSubst: fixed prototype
* [if1632/gdi.spec] [objects/palette.c]
SetSystemPaletteUse: new function
* [if1632/kernel.spec] [loader/resource.c]
DirectResAlloc: new function
* [if1632/user.spec] [windows/keyboard.c]
SetKeyboardState: new function
Mon May 29 12:58:28 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [tools/build.c]
Prevent interrupts from destroying the args for a 32 bit function
by loading the correct value into %esp directly after %ss.
* [loader/ne_image.c] [loader/module.c]
The new instance must be created earlier in LoadModule(), so that
fixups referencing it will be handled correctly.
Initialize the local heap for a DGROUP in NE_LoadSegment().
* [objects/dib.c]
Like RLE8 bitmaps, RLE4 bitmaps don't always end with a proper code.
This used to crash Wine. Fixed.
* [objects/text.c]
Fix possible null pointer dereference in debugging output.
* [misc/commdlg.c]
Handle user input in the edit control better. Some bugs fixed.
* [memory/local.c]
Started implementing moveable blocks. This is unfinished (!), but
at least it does not seem to break things.
Wed May 24 13:26:36 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [loader/module.c]
LoadModule(): DLLs occasionally have a data segment, and they work
much better if it is loaded :-)
LoadLibrary(): pass HMODULE instead of HINSTANCE to NE_InitializeDLLs.
FindModule(): also strip off the last backslash of the pathnames
(Winhelp tried to load C:\WINDOWS\SYSTEM\COMMDLG.DLL).
GetModuleHandle(): just call MODULE_FindModule, it does the same job,
only better.
* [loader/ne_image.c]
LocalInit() the heap of a DLL in NE_InitDLL. (This is probably
not really correct, it seems that all programs and DLLs try to do
this themselves. But they pass weird parameters.)
NE_InitializeDLLs should also call NE_InitDLL for the passed hModule.
* [loader/task.c] [misc/user.c]
Finish global initializations in InitTask instead of InitApp, or
all the DLLs will be initialized in InitTask without any available
window classes!
1995-06-06 16:40:35 +00:00
|
|
|
}
|
|
|
|
else /* color -> monochrome */
|
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
if (swap) for (i = 0; i < width; i++)
|
|
|
|
*pdata-- = (XGetPixel( image, i, row ) == bg) ? 1 : 0;
|
|
|
|
else for (i = 0; i < width; i++)
|
|
|
|
*pdata++ = (XGetPixel( image, i, row ) == bg) ? 1 : 0;
|
Release 950606
Tue Jun 6 12:11:41 1995 Alexandre Julliard (julliard@sunsite.unc.edu)
* [controls/menu.c]
Fixed bug with drawing multi-column menus with vertical separator.
* [debugger/debug.l]
Fixed NULL-pointer reference after readline().
* [if1632/winprocs.spec] [miscemu/int21.c] [miscemu/interrupts.c]
Added interrupt vector emulation. Allows to retrieve an interrupt
vector and jump to it without crashing.
* [loader/ldt.c]
Moved ldt.c to memory directory.
* [loader/task.c]
Implemented LockCurrentTask() and GetInstanceData().
* [objects/bitblt.c]
Fixed a bug that caused StretchBlt() to use wrong colors when
stretching a monochrome bitmap to a color display.
* [objects/bitmap.c]
Fixed a segmented pointer bug in CreateBitmapIndirect().
* [tools/build.c]
Added possibility to have arguments for register functions; used
by interrupt vectors to remove the flags from the stack.
Generate a new function CallTo32_LargeStack(), that allows calling
a 32-bit function using the original 32-bit stack, for functions
that need more that 64k of stack.
Tue May 30 10:29:56 1995 Martin von Loewis <martin@informatik.hu-berlin.de>
* [if1632/shell.spec] [misc/shell.c]
DoEnvironmentSubst: fixed prototype
* [if1632/gdi.spec] [objects/palette.c]
SetSystemPaletteUse: new function
* [if1632/kernel.spec] [loader/resource.c]
DirectResAlloc: new function
* [if1632/user.spec] [windows/keyboard.c]
SetKeyboardState: new function
Mon May 29 12:58:28 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [tools/build.c]
Prevent interrupts from destroying the args for a 32 bit function
by loading the correct value into %esp directly after %ss.
* [loader/ne_image.c] [loader/module.c]
The new instance must be created earlier in LoadModule(), so that
fixups referencing it will be handled correctly.
Initialize the local heap for a DGROUP in NE_LoadSegment().
* [objects/dib.c]
Like RLE8 bitmaps, RLE4 bitmaps don't always end with a proper code.
This used to crash Wine. Fixed.
* [objects/text.c]
Fix possible null pointer dereference in debugging output.
* [misc/commdlg.c]
Handle user input in the edit control better. Some bugs fixed.
* [memory/local.c]
Started implementing moveable blocks. This is unfinished (!), but
at least it does not seem to break things.
Wed May 24 13:26:36 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [loader/module.c]
LoadModule(): DLLs occasionally have a data segment, and they work
much better if it is loaded :-)
LoadLibrary(): pass HMODULE instead of HINSTANCE to NE_InitializeDLLs.
FindModule(): also strip off the last backslash of the pathnames
(Winhelp tried to load C:\WINDOWS\SYSTEM\COMMDLG.DLL).
GetModuleHandle(): just call MODULE_FindModule, it does the same job,
only better.
* [loader/ne_image.c]
LocalInit() the heap of a DLL in NE_InitDLL. (This is probably
not really correct, it seems that all programs and DLLs try to do
this themselves. But they pass weird parameters.)
NE_InitializeDLLs should also call NE_InitDLL for the passed hModule.
* [loader/task.c] [misc/user.c]
Finish global initializations in InitTask instead of InitApp, or
all the DLLs will be initialized in InitTask without any available
window classes!
1995-06-06 16:40:35 +00:00
|
|
|
}
|
1994-12-27 14:11:53 +00:00
|
|
|
}
|
1995-01-09 18:21:16 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* BITBLT_StretchImage
|
|
|
|
*
|
|
|
|
* Stretch an X image.
|
|
|
|
*/
|
|
|
|
static void BITBLT_StretchImage( XImage *srcImage, XImage *dstImage,
|
|
|
|
short widthSrc, short heightSrc,
|
|
|
|
short widthDst, short heightDst,
|
|
|
|
RECT *visRectSrc, RECT *visRectDst,
|
|
|
|
int foreground, int background, WORD mode )
|
|
|
|
{
|
|
|
|
int *rowSrc, *rowDst, *pixel;
|
|
|
|
int xinc, yinc, ysrc, ydst;
|
|
|
|
register short x, y;
|
|
|
|
BOOL hstretch, vstretch, hswap, vswap;
|
|
|
|
|
|
|
|
hswap = ((int)widthSrc * widthDst) < 0;
|
|
|
|
vswap = ((int)heightSrc * heightDst) < 0;
|
|
|
|
widthSrc = abs(widthSrc);
|
|
|
|
heightSrc = abs(heightSrc);
|
|
|
|
widthDst = abs(widthDst);
|
|
|
|
heightDst = abs(heightDst);
|
|
|
|
|
|
|
|
dprintf_bitblt( stddeb, "BITBLT_StretchImage: %dx%d -> %dx%d (mode=%d,h=%d,v=%d)\n",
|
|
|
|
widthSrc, heightSrc, widthDst, heightDst, mode, hswap, vswap );
|
|
|
|
|
|
|
|
if (!(rowSrc = (int *)malloc( (widthSrc+widthDst)*sizeof(int) ))) return;
|
|
|
|
rowDst = rowSrc + widthSrc;
|
1994-12-27 14:11:53 +00:00
|
|
|
|
1995-01-09 18:21:16 +00:00
|
|
|
/* When stretching, all modes are the same, and DELETESCANS is faster */
|
|
|
|
if ((widthSrc < widthDst) && (heightSrc < heightDst))
|
|
|
|
mode = STRETCH_DELETESCANS;
|
|
|
|
|
1995-01-24 16:21:01 +00:00
|
|
|
if (mode != STRETCH_DELETESCANS)
|
|
|
|
memset( rowDst, (mode == STRETCH_ANDSCANS) ? 0xff : 0x00,
|
|
|
|
widthDst*sizeof(int) );
|
|
|
|
|
1995-01-09 18:21:16 +00:00
|
|
|
hstretch = ((widthSrc < widthDst) || (mode == STRETCH_DELETESCANS));
|
|
|
|
vstretch = ((heightSrc < heightDst) || (mode == STRETCH_DELETESCANS));
|
|
|
|
xinc = hstretch ? ((int)widthSrc << 16) / widthDst :
|
|
|
|
((int)widthDst << 16) / widthSrc;
|
|
|
|
|
|
|
|
if (vstretch)
|
1994-12-27 14:11:53 +00:00
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
yinc = ((int)heightSrc << 16) / heightDst;
|
|
|
|
ydst = visRectDst->top;
|
|
|
|
ysrc = yinc * ydst;
|
1994-12-27 14:11:53 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
yinc = ((int)heightDst << 16) / heightSrc;
|
|
|
|
ysrc = visRectSrc->top;
|
|
|
|
ydst = yinc * ysrc;
|
|
|
|
}
|
|
|
|
|
|
|
|
while(vstretch ? (ydst < visRectDst->bottom) : (ysrc < visRectSrc->bottom))
|
|
|
|
{
|
|
|
|
/* Retrieve a source row */
|
|
|
|
BITBLT_GetRow( srcImage, rowSrc, vstretch ? ysrc >> 16 : ysrc,
|
|
|
|
visRectSrc->left, visRectSrc->right - visRectSrc->left,
|
|
|
|
dstImage->depth, foreground, background, hswap );
|
|
|
|
|
|
|
|
/* Stretch or shrink it */
|
|
|
|
if (hstretch)
|
|
|
|
BITBLT_StretchRow( rowSrc, rowDst, visRectDst->left,
|
|
|
|
visRectDst->right-visRectDst->left, xinc, mode);
|
|
|
|
else BITBLT_ShrinkRow( rowSrc, rowDst, visRectSrc->left,
|
|
|
|
visRectSrc->right-visRectSrc->left, xinc, mode);
|
|
|
|
|
|
|
|
/* When shrinking, merge several source rows into the destination */
|
|
|
|
if (!vstretch)
|
|
|
|
{
|
|
|
|
if (mode == STRETCH_DELETESCANS)
|
1994-12-27 14:11:53 +00:00
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
/* Simply skip the overlapping rows */
|
|
|
|
while (((ydst + yinc) >> 16 == ydst >> 16) &&
|
|
|
|
(ysrc < visRectSrc->bottom-1))
|
|
|
|
{
|
|
|
|
ydst += yinc;
|
|
|
|
ysrc++;
|
|
|
|
}
|
1994-12-27 14:11:53 +00:00
|
|
|
}
|
1995-01-09 18:21:16 +00:00
|
|
|
else if (((ydst + yinc) >> 16 == ydst >> 16) &&
|
|
|
|
(ysrc < visRectSrc->bottom-1))
|
|
|
|
{
|
|
|
|
ydst += yinc;
|
|
|
|
ysrc++;
|
|
|
|
continue; /* Restart loop for next overlapping row */
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Store the destination row */
|
|
|
|
|
|
|
|
pixel = rowDst + visRectDst->right - 1;
|
|
|
|
if (vswap)
|
|
|
|
y = visRectDst->bottom - (vstretch ? ydst : ydst >> 16);
|
|
|
|
else
|
|
|
|
y = (vstretch ? ydst : ydst >> 16) - visRectDst->top;
|
|
|
|
for (x = visRectDst->right-visRectDst->left-1; x >= 0; x--)
|
|
|
|
XPutPixel( dstImage, x, y, *pixel-- );
|
|
|
|
if (mode != STRETCH_DELETESCANS)
|
|
|
|
memset( rowDst, (mode == STRETCH_ANDSCANS) ? 0xff : 0x00,
|
|
|
|
widthDst*sizeof(int) );
|
|
|
|
|
|
|
|
/* If stretching, make copies of the destination row */
|
|
|
|
|
|
|
|
if (vstretch)
|
|
|
|
{
|
|
|
|
char *pdata = dstImage->data + dstImage->bytes_per_line * y;
|
|
|
|
while (((ysrc + yinc) >> 16 == ysrc >> 16) &&
|
|
|
|
(ydst < visRectDst->bottom-1))
|
|
|
|
{
|
|
|
|
if (vswap)
|
|
|
|
{
|
|
|
|
memcpy( pdata - dstImage->bytes_per_line, pdata,
|
|
|
|
dstImage->bytes_per_line );
|
|
|
|
pdata -= dstImage->bytes_per_line;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
memcpy( pdata + dstImage->bytes_per_line, pdata,
|
|
|
|
dstImage->bytes_per_line );
|
|
|
|
pdata += dstImage->bytes_per_line;
|
|
|
|
}
|
|
|
|
ysrc += yinc;
|
|
|
|
ydst++;
|
|
|
|
}
|
|
|
|
ysrc += yinc;
|
|
|
|
ydst++;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
ydst += yinc;
|
|
|
|
ysrc++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
free( rowSrc );
|
1994-12-27 14:11:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
1995-01-09 18:21:16 +00:00
|
|
|
* BITBLT_GetSrcAreaStretch
|
1994-12-27 14:11:53 +00:00
|
|
|
*
|
1995-01-09 18:21:16 +00:00
|
|
|
* Retrieve an area from the source DC, stretching and mapping all the
|
|
|
|
* pixels to Windows colors.
|
1994-12-27 14:11:53 +00:00
|
|
|
*/
|
1995-01-09 18:21:16 +00:00
|
|
|
static void BITBLT_GetSrcAreaStretch( DC *dcSrc, DC *dcDst,
|
|
|
|
Pixmap pixmap, GC gc,
|
|
|
|
short xSrc, short ySrc,
|
|
|
|
short widthSrc, short heightSrc,
|
|
|
|
short xDst, short yDst,
|
|
|
|
short widthDst, short heightDst,
|
|
|
|
RECT *visRectSrc, RECT *visRectDst )
|
1994-12-27 14:11:53 +00:00
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
XImage *imageSrc, *imageDst;
|
|
|
|
|
|
|
|
RECT rectSrc = *visRectSrc;
|
|
|
|
RECT rectDst = *visRectDst;
|
|
|
|
OffsetRect( &rectSrc, -xSrc, -ySrc );
|
|
|
|
OffsetRect( &rectDst, -xDst, -yDst );
|
|
|
|
imageSrc = XGetImage( display, dcSrc->u.x.drawable,
|
|
|
|
visRectSrc->left, visRectSrc->top,
|
|
|
|
visRectSrc->right - visRectSrc->left,
|
|
|
|
visRectSrc->bottom - visRectSrc->top,
|
|
|
|
AllPlanes, ZPixmap );
|
|
|
|
XCREATEIMAGE( imageDst, rectDst.right - rectDst.left,
|
|
|
|
rectDst.bottom - rectDst.top, dcDst->w.bitsPerPixel );
|
|
|
|
BITBLT_StretchImage( imageSrc, imageDst, widthSrc, heightSrc,
|
|
|
|
widthDst, heightDst, &rectSrc, &rectDst,
|
|
|
|
dcDst->w.textPixel, dcDst->w.bitsPerPixel != 1 ?
|
|
|
|
dcDst->w.backgroundPixel : dcSrc->w.backgroundPixel,
|
|
|
|
dcDst->w.stretchBltMode );
|
|
|
|
XPutImage( display, pixmap, gc, imageDst, 0, 0, 0, 0,
|
|
|
|
rectDst.right - rectDst.left, rectDst.bottom - rectDst.top );
|
|
|
|
XDestroyImage( imageSrc );
|
|
|
|
XDestroyImage( imageDst );
|
|
|
|
}
|
1994-12-27 14:11:53 +00:00
|
|
|
|
1995-01-09 18:21:16 +00:00
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* BITBLT_GetSrcArea
|
|
|
|
*
|
|
|
|
* Retrieve an area from the source DC, mapping all the
|
|
|
|
* pixels to Windows colors.
|
|
|
|
*/
|
|
|
|
static void BITBLT_GetSrcArea( DC *dcSrc, DC *dcDst, Pixmap pixmap, GC gc,
|
|
|
|
short xSrc, short ySrc,
|
|
|
|
RECT *visRectSrc )
|
|
|
|
{
|
|
|
|
XImage *imageSrc, *imageDst;
|
|
|
|
register short x, y;
|
|
|
|
short width = visRectSrc->right - visRectSrc->left;
|
|
|
|
short height = visRectSrc->bottom - visRectSrc->top;
|
|
|
|
|
|
|
|
if (dcSrc->w.bitsPerPixel == dcDst->w.bitsPerPixel)
|
1994-12-27 14:11:53 +00:00
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
if (!COLOR_PixelToPalette ||
|
|
|
|
(dcDst->w.bitsPerPixel == 1)) /* monochrome -> monochrome */
|
|
|
|
{
|
|
|
|
XCopyArea( display, dcSrc->u.x.drawable, pixmap, gc,
|
|
|
|
visRectSrc->left, visRectSrc->top, width, height, 0, 0);
|
|
|
|
}
|
|
|
|
else /* color -> color */
|
|
|
|
{
|
|
|
|
imageSrc = XGetImage( display, dcSrc->u.x.drawable,
|
|
|
|
visRectSrc->left, visRectSrc->top,
|
|
|
|
width, height, AllPlanes, ZPixmap );
|
|
|
|
for (y = 0; y < height; y++)
|
|
|
|
for (x = 0; x < width; x++)
|
|
|
|
XPutPixel(imageSrc, x, y,
|
|
|
|
COLOR_PixelToPalette[XGetPixel(imageSrc, x, y)]);
|
|
|
|
XPutImage( display, pixmap, gc, imageSrc,
|
|
|
|
0, 0, 0, 0, width, height );
|
|
|
|
XDestroyImage( imageSrc );
|
|
|
|
}
|
1994-12-27 14:11:53 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
if (dcSrc->w.bitsPerPixel == 1) /* monochrome -> color */
|
|
|
|
{
|
|
|
|
if (COLOR_PixelToPalette)
|
1994-12-27 14:11:53 +00:00
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
XSetBackground( display, gc,
|
|
|
|
COLOR_PixelToPalette[dcDst->w.textPixel] );
|
|
|
|
XSetForeground( display, gc,
|
|
|
|
COLOR_PixelToPalette[dcDst->w.backgroundPixel]);
|
1994-12-27 14:11:53 +00:00
|
|
|
}
|
1995-01-09 18:21:16 +00:00
|
|
|
else
|
|
|
|
{
|
|
|
|
XSetBackground( display, gc, dcDst->w.textPixel );
|
|
|
|
XSetForeground( display, gc, dcDst->w.backgroundPixel );
|
|
|
|
}
|
|
|
|
XCopyPlane( display, dcSrc->u.x.drawable, pixmap, gc,
|
|
|
|
visRectSrc->left, visRectSrc->top,
|
|
|
|
width, height, 0, 0, 1 );
|
|
|
|
}
|
|
|
|
else /* color -> monochrome */
|
|
|
|
{
|
|
|
|
imageSrc = XGetImage( display, dcSrc->u.x.drawable,
|
|
|
|
visRectSrc->left, visRectSrc->top,
|
|
|
|
width, height, AllPlanes, ZPixmap );
|
|
|
|
XCREATEIMAGE( imageDst, width, height, dcDst->w.bitsPerPixel );
|
|
|
|
for (y = 0; y < height; y++)
|
|
|
|
for (x = 0; x < width; x++)
|
|
|
|
XPutPixel(imageDst, x, y, (XGetPixel(imageSrc,x,y) ==
|
|
|
|
dcSrc->w.backgroundPixel) );
|
|
|
|
XPutImage( display, pixmap, gc, imageDst,
|
|
|
|
0, 0, 0, 0, width, height );
|
|
|
|
XDestroyImage( imageSrc );
|
|
|
|
XDestroyImage( imageDst );
|
|
|
|
}
|
1994-12-27 14:11:53 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
1995-01-09 18:21:16 +00:00
|
|
|
* BITBLT_GetDstArea
|
1994-12-27 14:11:53 +00:00
|
|
|
*
|
1995-01-09 18:21:16 +00:00
|
|
|
* Retrieve an area from the destination DC, mapping all the
|
|
|
|
* pixels to Windows colors.
|
1994-12-27 14:11:53 +00:00
|
|
|
*/
|
1995-01-09 18:21:16 +00:00
|
|
|
static void BITBLT_GetDstArea( DC *dc, Pixmap pixmap, GC gc, RECT *visRectDst )
|
1994-12-27 14:11:53 +00:00
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
short width = visRectDst->right - visRectDst->left;
|
|
|
|
short height = visRectDst->bottom - visRectDst->top;
|
|
|
|
|
|
|
|
if (!COLOR_PixelToPalette || (dc->w.bitsPerPixel == 1))
|
1994-12-27 14:11:53 +00:00
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
XCopyArea( display, dc->u.x.drawable, pixmap, gc,
|
|
|
|
visRectDst->left, visRectDst->top, width, height, 0, 0 );
|
1994-12-27 14:11:53 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
register short x, y;
|
|
|
|
XImage *image = XGetImage( display, dc->u.x.drawable,
|
|
|
|
visRectDst->left, visRectDst->top,
|
|
|
|
width, height, AllPlanes, ZPixmap );
|
|
|
|
for (y = 0; y < height; y++)
|
|
|
|
for (x = 0; x < width; x++)
|
|
|
|
XPutPixel( image, x, y,
|
|
|
|
COLOR_PixelToPalette[XGetPixel( image, x, y )]);
|
|
|
|
XPutImage( display, pixmap, gc, image, 0, 0, 0, 0, width, height );
|
1994-12-27 14:11:53 +00:00
|
|
|
}
|
1995-01-09 18:21:16 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* BITBLT_PutDstArea
|
|
|
|
*
|
|
|
|
* Put an area back into the destination DC, mapping the pixel
|
|
|
|
* colors to X pixels.
|
|
|
|
*/
|
|
|
|
static void BITBLT_PutDstArea( DC *dc, Pixmap pixmap, GC gc, RECT *visRectDst )
|
|
|
|
{
|
|
|
|
short width = visRectDst->right - visRectDst->left;
|
|
|
|
short height = visRectDst->bottom - visRectDst->top;
|
|
|
|
|
|
|
|
if (!COLOR_PaletteToPixel)
|
1994-12-27 14:11:53 +00:00
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
XCopyArea( display, pixmap, dc->u.x.drawable, gc, 0, 0,
|
|
|
|
width, height, visRectDst->left, visRectDst->top );
|
1994-12-27 14:11:53 +00:00
|
|
|
}
|
1995-01-09 18:21:16 +00:00
|
|
|
else
|
1994-12-27 14:11:53 +00:00
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
register short x, y;
|
|
|
|
XImage *image = XGetImage( display, pixmap, 0, 0, width, height,
|
|
|
|
AllPlanes, ZPixmap );
|
|
|
|
for (y = 0; y < height; y++)
|
|
|
|
for (x = 0; x < width; x++)
|
|
|
|
{
|
|
|
|
XPutPixel( image, x, y,
|
|
|
|
COLOR_PaletteToPixel[XGetPixel( image, x, y )]);
|
|
|
|
}
|
|
|
|
XPutImage( display, dc->u.x.drawable, gc, image, 0, 0,
|
|
|
|
visRectDst->left, visRectDst->top, width, height );
|
|
|
|
XDestroyImage( image );
|
1994-12-27 14:11:53 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
1993-09-04 10:09:32 +00:00
|
|
|
/***********************************************************************
|
1995-01-09 18:21:16 +00:00
|
|
|
* BITBLT_GetVisRectangles
|
|
|
|
*
|
|
|
|
* Get the source and destination visible rectangles for StretchBlt().
|
|
|
|
* Return FALSE if one of the rectangles is empty.
|
1993-09-04 10:09:32 +00:00
|
|
|
*/
|
1995-01-09 18:21:16 +00:00
|
|
|
static BOOL BITBLT_GetVisRectangles( DC *dcDst, short xDst, short yDst,
|
|
|
|
short widthDst, short heightDst,
|
|
|
|
DC *dcSrc, short xSrc, short ySrc,
|
|
|
|
short widthSrc, short heightSrc,
|
|
|
|
RECT *visRectSrc, RECT *visRectDst )
|
1993-09-04 10:09:32 +00:00
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
RECT tmpRect, clipRect;
|
Release 940602
Sat May 28 12:03:23 1994 Bob Amstadt (bob@pooh)
* miscemu/int21.c (OpenExistingFile):
OpenExistingFile needed to return handle in AX register instead
of the BX register.
* miscemu/int21.c (ioctlGetDeviceInfo):
Added a little code to give a fake result for normal files.
Wed May 25 21:55:38 1994 Bob Amstadt (bob@pooh)
* [memory/global.c]
return value from GlobalSize was completely wrong.
* [miscemu/int21.h]
fixed bug in FindFirst. Directory pointer (dp) was not placed in
dta correctly.
* [tools/build.c]
fixed creation of pop.h to guarantee that flags are restored correctly.
* [misc/comm.c]
changed all occurance of strncmp() to strncasecmp().
BuildCommDCB() should not require that OpenComm() be called first.
* [loader/selector.c]
Heap initialized to size of full segment less stack size and
automatic data size.
Sat May 28 09:14:33 1994 Rick Sladkey (jrs@world.std.com)
* [controls/listbox.c]
Correct typos in ListBoxResetContent where lpls variable is
used where lsls2 variable is meant. Don't call USER_HEAP_FREE
twice on the same handle if hData and hMem are the same.
* [debugger/opcodes/i386-dis.c]
Add new name array names_rmw for table driven decoding of the
16-bit mod/rm field. Omit large case statement in OP_E and
replace with array reference to match existing coding style.
Add new static variable machine with value 286 or 386 to
correctly decode mod/rm field in either 16 or 32 bit modes.
Set it in print_insn_i{2,3}86. In OP_E use it to decide how
to decode mod/rm. While the code was correct for 16 bit code,
it was improperly decoding mod/rm fields on word prefixed
32 bit instructions.
* [debugger/debug.l]
Recognize new token ABORT. Recognize single letters 'p'
and 'q' as tokens.
* [debugger/dbg.y]
Add new token ABORT. Allow print command to be invoked by
'p' and quit command by 'q', ala GDB. Change lots of '};'
to just '}'. Add static dummy_regs to wine_debug so that
wine_debug(0, NULL) doesn't core dump with qmagic.
* [debugger/info.c]
Correct syntax of break command in helptext and omit former
comment about probable bugginess of the disassembly since it
is now correct. Change fprintf of first backtrace stack
frame to match that of the second and subsequent frames.
* [loader/selector.c]
Change construction of command line in CreatePSP from creating
a string that looks like "arg1 arg2 \r" to "arg1 arg2". A DOS
PSP command line looks like " arg1 arg2\r" with the length not
including the trailing "\r" but that is not how Windows does it.
* [loader/library.c]
Change uses of %s to print strings in GetModuleHandle to %x so
that string IDs don't cause a core dump with qmagic. Handle
converting a string id to a literal module handle. For
example, GetModuleHandle((LPSTR) 0x57) now returns 0x57 if
it is a real module handle.
* [misc/message.c]
In MessageBox, translate a NULL title argument to the string "Error".
* [misc/profile.c]
In GetSetProfile translate a NULL Default argument to "". Any
caller whose Default argument is NULL is buggy, but CHARMAP does it
anyway.
* [objects/font.c]
Add NULL pointer checks in EnumFontFamilies to prevent core dumps.
Sat May 28 20:01:51 1994 Jon Tombs (jon@gtex02.us.es)
* New options/resourses nosaveunders and nobackingstore. By
default backingstore and saveunders are now enabled, these use
more memory but avoids those slow (sometimes multiple) redraws
caused be exposure events.
May 30, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [misc/driver.c] New file
Skeleton for 'Installable Wine Drivers' functions. :-)
* [misc/audio.c] New file
Skeleton for basic 'Audio Driver' functions.
* [misc/network.c] New file
Stubs for few networking functions.
* [misc/mmsystem.c]
More coding ... a dust in a galaxy ...
* [misc/shell.c]
Some coding for 'RegXXX' functions ... a dust in the wind ...
* [misc/profile.c]
Bug fix in GetSetProfile(), bad enumeration if KeyName == NULL.
* [objects/gdi.c]
New function CreateDiscardableBitmap(), it just calling
CreateCompatibleBitmap() for now. It's get 'clock.exe' running ! :-)
* [controls/listbox.c]
* [controls/combo.c]
New font member assigned to SYSTEM_FONT as default.
Added processing for WM_SETFONT message;
Tue May 31 20:34:25 EDT 1994 John Richardson <jrichard@cs.uml.edu>
* [windows/event.c]
Added AsyncMouseButtonsStates array for GetAsyncKeyState.
* [windows/keyboard.c]
Implemented beginning of GetAsyncKeyState.
Wed May 25 23:35:03 1994 David Metcalfe <david@prism.demon.co.uk>
* [objects/metafile.c] [include/metafile.h]
[windows/mapping.c] [objects/clipping.c] [objects/bitblt.c]
[windows/dc.c]
Further metafile support.
1994-06-02 22:38:20 +00:00
|
|
|
|
1995-01-09 18:21:16 +00:00
|
|
|
if (widthSrc < 0) { widthSrc = -widthSrc; xSrc -= widthSrc; }
|
|
|
|
if (widthDst < 0) { widthDst = -widthDst; xDst -= widthDst; }
|
|
|
|
if (heightSrc < 0) { heightSrc = -heightSrc; ySrc -= heightSrc; }
|
|
|
|
if (heightDst < 0) { heightDst = -heightDst; yDst -= heightDst; }
|
1993-09-04 10:09:32 +00:00
|
|
|
|
1995-01-09 18:21:16 +00:00
|
|
|
/* Get the destination visible rectangle */
|
1994-10-17 18:12:41 +00:00
|
|
|
|
1995-01-09 18:21:16 +00:00
|
|
|
SetRect( &tmpRect, xDst, yDst, xDst + widthDst, yDst + heightDst );
|
|
|
|
GetRgnBox( dcDst->w.hGCClipRgn, &clipRect );
|
|
|
|
OffsetRect( &clipRect, dcDst->w.DCOrgX, dcDst->w.DCOrgY );
|
|
|
|
if (!IntersectRect( visRectDst, &tmpRect, &clipRect )) return FALSE;
|
|
|
|
|
|
|
|
/* Get the source visible rectangle */
|
1994-10-17 18:12:41 +00:00
|
|
|
|
1995-01-09 18:21:16 +00:00
|
|
|
if (!dcSrc) return TRUE;
|
|
|
|
SetRect( &tmpRect, xSrc, ySrc, xSrc + widthSrc, ySrc + heightSrc );
|
|
|
|
GetRgnBox( dcSrc->w.hGCClipRgn, &clipRect );
|
|
|
|
OffsetRect( &clipRect, dcSrc->w.DCOrgX, dcSrc->w.DCOrgY );
|
|
|
|
if (!IntersectRect( visRectSrc, &tmpRect, &clipRect )) return FALSE;
|
1994-10-17 18:12:41 +00:00
|
|
|
|
1995-01-09 18:21:16 +00:00
|
|
|
/* Intersect the rectangles */
|
1994-10-17 18:12:41 +00:00
|
|
|
|
1995-01-09 18:21:16 +00:00
|
|
|
if ((widthSrc == widthDst) && (heightSrc == heightDst)) /* no stretching */
|
1994-10-17 18:12:41 +00:00
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
OffsetRect( visRectSrc, xDst - xSrc, yDst - ySrc );
|
|
|
|
if (!IntersectRect( &tmpRect, visRectSrc, visRectDst )) return FALSE;
|
|
|
|
*visRectSrc = *visRectDst = tmpRect;
|
|
|
|
OffsetRect( visRectSrc, xSrc - xDst, ySrc - yDst );
|
1994-10-17 18:12:41 +00:00
|
|
|
}
|
1995-01-09 18:21:16 +00:00
|
|
|
else /* stretching */
|
1994-10-17 18:12:41 +00:00
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
visRectSrc->left = xDst + (visRectSrc->left-xSrc)*widthDst/widthSrc;
|
|
|
|
visRectSrc->top = yDst + (visRectSrc->top-ySrc)*heightDst/heightSrc;
|
|
|
|
visRectSrc->right = xDst +
|
Release 950430
Sat Apr 29 20:42:01 1995 Alexandre Julliard (julliard@sunsite.unc.edu)
* [controls/static.c]
Fixed painting of SS_*FRAME controls.
* [if1632/callback.c]
Pass the window instance as DS to the 16-bit window procedure.
Rewrote Catch() and Throw() to make them work with multiple tasks.
* [loader/main.c]
New function MAIN_Init() to perform initializations before the
first task is started instead of doing them in InitApp().
Temporary hack to command-line parsing to load one program per
command-line argument, to make testing task-switching easier.
* [loader/*.c]
Reimplemented modules to use a Windows-compatible layout and to
allow multiple tasks and multiple module instances. Not really
finished yet.
* [loader/task.c] [misc/exec.c]
Reimplemented tasks to use a common address space, and implemented
preliminary task-switching capabilities.
* [memory/global.c]
Fixed bug in GlobalNext().
* [misc/main.c]
Updated the list of contributors. Let me know if I forgot someone.
* [miscemu/int21.c]
Use one DTA per task instead of a global one.
* [objects/bitblt.c]
Fixed bug in BitBlt() that could cause BadMatch errors.
* [tools/build.c]
Added new function type 'stub', that makes possible to export an
unimplemented function by name as well as by ordinal. This will
avoid loading errors for unimplemented functions.
Generate an in-memory module layout for built-in DLLs so that the
same code can be used for built-in and loaded modules.
Changed relay code to make it unnecessary to save the value of the
BP register.
* [windows/message.c]
Implemented multiple message queues and preliminary task-switching
capabilities. Inter-task SendMessage() calls are not implemented
yet and will probably cause crashes if used.
* [windows/property.c]
Reimplemented properties and allocate them on the USER heap.
* [windows/win.c]
Fixed bug in SetWindowWord().
Reimplemented EnumWindows() and EnumTaskWindows().
Tue Apr 18 09:48:38 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [misc/main.c]
GetSystemParametersInfo(): Additional action SPI_GETICONTITLEFONT.
* [loader/resource.c]
Removed the check for NE_SEGFLAGS_EXECUTEONLY, since it broke
control.exe.
Fixed icon loading.
* [objects/font.c] [include/windows.h]
Fixed a bug in InitFontsList() and worked on the EnumFonts()
functions to make them comprehensible.
* [controls/button.c]
Fixed my previous patch to handle LBUTTONUP messages.
Fri Apr 14 11:41:28 1995 Cameron Heide (heide@ee.ualberta.ca)
* [misc/network.c, misc/dos_fs.c]
Implemented WNetGetConnection. All that is currently
supported are drives, for which the remote name is simply
the redirected UNIX directory name.
* [miscemu/int2?.c]
More drive number validity checking.
Wed Apr 12 11:28:37 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [controls/listbox.c]
Oops, my previous change to ListBoxDirectory broke the Borland
file open dialog. Fixed.
Mon Apr 10 23:17:12 1995 Martin von Loewis <loewis@informatik.hu-berlin.de>
* [if1632/ole2nls.spec] [misc/ole2nls.c] [misc/Imakefile]
New file ole2nls.c. Added stubs for GetUserDefaultLCID,
GetSystemDefaultLCID, GetUserDefaultLangID, GetSystemDefaultLangID.
Mon Apr 10 10:05:18 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [memory/global.c] [memory/local.c] [include/windows.h]
GlobalReAlloc(): If GMEM_MODIFY is set, don't resize the block.
LocalReAlloc(): Same for LMEM_MODIFY.
* [controls/listbox.c]
Fixed a bug in ListBoxDirectory that prevented commdlg from working.
Check for errors in some more places.
* [if1632/gdi.spec] [if1632/user.spec]
16 bit callback functions should be passed as segptrs.
* [include/dlls.h] [loader/ne_image.c] [loader/selector.c]
[loader/library.c]
Prevent a DLL from being initialized twice (Borlands Resource
Workshop used to do this).
Provide an additional flag for each w_file that indicates whether
it's an EXE or a DLL, for combinations like pbrush.exe/.dll.
* [controls/button.c]
Handle LBUTTONUP messages even if the button no longer has the
capture (for WinHelp).
* [include/wintypes.h]
FARPROC is now a segptr for the emulator and a function
pointer for the library.
* [misc/commdlg.c] [misc/commdlg.h]
Cleaned the file dialogs up a little. They now work reasonably well,
although there are still some problems (e.g. files are initially
invisible).
* [windows/class.c] [if1632/user.spec] [include/windows.h]
GetClassInfo() must take a segptr, as it checks whether the
highword is zero.
GetClassName() called the wrong atom function. No surprise it didn't
find anything.
* [misc/lstr.c]
AnsiToOem() and OemToAnsi() didn't terminate the strings. Fixed.
Removed some warnings.
* [if1632/relay.c] [if1632/ddeml.spec] [include/dlls.h]
New spec file for the 3.1 DDEML DDL.
* [controls/menu.c]
Small fix to ChangeMenu - mask out the obsolete flags
(MF_APPEND == MF_OWNERDRAW, this led to problems). It also had
problems with the MF_BYPOSITION flag.
* [windows/message.c]
SendMessage(): call the WH_CALLWNDPROC hook function. This is rather
ugly, I'm afraid. Windows probably passes a pointer to the 16 bit
stack for speed reasons.
* [windows/hook.c] [include/windows.h]
Set/HookWindowsHook() shouldn't just call their *Ex counterparts, as
they have slightly different semantics.
MS Hearts now works somewhat, if you disable the new builtin DDEML.
The graphics are completely messed up, though.
1995-04-30 10:05:20 +00:00
|
|
|
((visRectSrc->right-xSrc) * widthDst) / widthSrc;
|
1995-01-09 18:21:16 +00:00
|
|
|
visRectSrc->bottom = yDst +
|
Release 950430
Sat Apr 29 20:42:01 1995 Alexandre Julliard (julliard@sunsite.unc.edu)
* [controls/static.c]
Fixed painting of SS_*FRAME controls.
* [if1632/callback.c]
Pass the window instance as DS to the 16-bit window procedure.
Rewrote Catch() and Throw() to make them work with multiple tasks.
* [loader/main.c]
New function MAIN_Init() to perform initializations before the
first task is started instead of doing them in InitApp().
Temporary hack to command-line parsing to load one program per
command-line argument, to make testing task-switching easier.
* [loader/*.c]
Reimplemented modules to use a Windows-compatible layout and to
allow multiple tasks and multiple module instances. Not really
finished yet.
* [loader/task.c] [misc/exec.c]
Reimplemented tasks to use a common address space, and implemented
preliminary task-switching capabilities.
* [memory/global.c]
Fixed bug in GlobalNext().
* [misc/main.c]
Updated the list of contributors. Let me know if I forgot someone.
* [miscemu/int21.c]
Use one DTA per task instead of a global one.
* [objects/bitblt.c]
Fixed bug in BitBlt() that could cause BadMatch errors.
* [tools/build.c]
Added new function type 'stub', that makes possible to export an
unimplemented function by name as well as by ordinal. This will
avoid loading errors for unimplemented functions.
Generate an in-memory module layout for built-in DLLs so that the
same code can be used for built-in and loaded modules.
Changed relay code to make it unnecessary to save the value of the
BP register.
* [windows/message.c]
Implemented multiple message queues and preliminary task-switching
capabilities. Inter-task SendMessage() calls are not implemented
yet and will probably cause crashes if used.
* [windows/property.c]
Reimplemented properties and allocate them on the USER heap.
* [windows/win.c]
Fixed bug in SetWindowWord().
Reimplemented EnumWindows() and EnumTaskWindows().
Tue Apr 18 09:48:38 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [misc/main.c]
GetSystemParametersInfo(): Additional action SPI_GETICONTITLEFONT.
* [loader/resource.c]
Removed the check for NE_SEGFLAGS_EXECUTEONLY, since it broke
control.exe.
Fixed icon loading.
* [objects/font.c] [include/windows.h]
Fixed a bug in InitFontsList() and worked on the EnumFonts()
functions to make them comprehensible.
* [controls/button.c]
Fixed my previous patch to handle LBUTTONUP messages.
Fri Apr 14 11:41:28 1995 Cameron Heide (heide@ee.ualberta.ca)
* [misc/network.c, misc/dos_fs.c]
Implemented WNetGetConnection. All that is currently
supported are drives, for which the remote name is simply
the redirected UNIX directory name.
* [miscemu/int2?.c]
More drive number validity checking.
Wed Apr 12 11:28:37 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [controls/listbox.c]
Oops, my previous change to ListBoxDirectory broke the Borland
file open dialog. Fixed.
Mon Apr 10 23:17:12 1995 Martin von Loewis <loewis@informatik.hu-berlin.de>
* [if1632/ole2nls.spec] [misc/ole2nls.c] [misc/Imakefile]
New file ole2nls.c. Added stubs for GetUserDefaultLCID,
GetSystemDefaultLCID, GetUserDefaultLangID, GetSystemDefaultLangID.
Mon Apr 10 10:05:18 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [memory/global.c] [memory/local.c] [include/windows.h]
GlobalReAlloc(): If GMEM_MODIFY is set, don't resize the block.
LocalReAlloc(): Same for LMEM_MODIFY.
* [controls/listbox.c]
Fixed a bug in ListBoxDirectory that prevented commdlg from working.
Check for errors in some more places.
* [if1632/gdi.spec] [if1632/user.spec]
16 bit callback functions should be passed as segptrs.
* [include/dlls.h] [loader/ne_image.c] [loader/selector.c]
[loader/library.c]
Prevent a DLL from being initialized twice (Borlands Resource
Workshop used to do this).
Provide an additional flag for each w_file that indicates whether
it's an EXE or a DLL, for combinations like pbrush.exe/.dll.
* [controls/button.c]
Handle LBUTTONUP messages even if the button no longer has the
capture (for WinHelp).
* [include/wintypes.h]
FARPROC is now a segptr for the emulator and a function
pointer for the library.
* [misc/commdlg.c] [misc/commdlg.h]
Cleaned the file dialogs up a little. They now work reasonably well,
although there are still some problems (e.g. files are initially
invisible).
* [windows/class.c] [if1632/user.spec] [include/windows.h]
GetClassInfo() must take a segptr, as it checks whether the
highword is zero.
GetClassName() called the wrong atom function. No surprise it didn't
find anything.
* [misc/lstr.c]
AnsiToOem() and OemToAnsi() didn't terminate the strings. Fixed.
Removed some warnings.
* [if1632/relay.c] [if1632/ddeml.spec] [include/dlls.h]
New spec file for the 3.1 DDEML DDL.
* [controls/menu.c]
Small fix to ChangeMenu - mask out the obsolete flags
(MF_APPEND == MF_OWNERDRAW, this led to problems). It also had
problems with the MF_BYPOSITION flag.
* [windows/message.c]
SendMessage(): call the WH_CALLWNDPROC hook function. This is rather
ugly, I'm afraid. Windows probably passes a pointer to the 16 bit
stack for speed reasons.
* [windows/hook.c] [include/windows.h]
Set/HookWindowsHook() shouldn't just call their *Ex counterparts, as
they have slightly different semantics.
MS Hearts now works somewhat, if you disable the new builtin DDEML.
The graphics are completely messed up, though.
1995-04-30 10:05:20 +00:00
|
|
|
((visRectSrc->bottom-ySrc) * heightDst) / heightSrc;
|
1995-01-09 18:21:16 +00:00
|
|
|
if (!IntersectRect( &tmpRect, visRectSrc, visRectDst )) return FALSE;
|
|
|
|
*visRectSrc = *visRectDst = tmpRect;
|
|
|
|
visRectSrc->left = xSrc + (visRectSrc->left-xDst)*widthSrc/widthDst;
|
|
|
|
visRectSrc->top = ySrc + (visRectSrc->top-yDst)*heightSrc/heightDst;
|
|
|
|
visRectSrc->right = xSrc +
|
Release 950430
Sat Apr 29 20:42:01 1995 Alexandre Julliard (julliard@sunsite.unc.edu)
* [controls/static.c]
Fixed painting of SS_*FRAME controls.
* [if1632/callback.c]
Pass the window instance as DS to the 16-bit window procedure.
Rewrote Catch() and Throw() to make them work with multiple tasks.
* [loader/main.c]
New function MAIN_Init() to perform initializations before the
first task is started instead of doing them in InitApp().
Temporary hack to command-line parsing to load one program per
command-line argument, to make testing task-switching easier.
* [loader/*.c]
Reimplemented modules to use a Windows-compatible layout and to
allow multiple tasks and multiple module instances. Not really
finished yet.
* [loader/task.c] [misc/exec.c]
Reimplemented tasks to use a common address space, and implemented
preliminary task-switching capabilities.
* [memory/global.c]
Fixed bug in GlobalNext().
* [misc/main.c]
Updated the list of contributors. Let me know if I forgot someone.
* [miscemu/int21.c]
Use one DTA per task instead of a global one.
* [objects/bitblt.c]
Fixed bug in BitBlt() that could cause BadMatch errors.
* [tools/build.c]
Added new function type 'stub', that makes possible to export an
unimplemented function by name as well as by ordinal. This will
avoid loading errors for unimplemented functions.
Generate an in-memory module layout for built-in DLLs so that the
same code can be used for built-in and loaded modules.
Changed relay code to make it unnecessary to save the value of the
BP register.
* [windows/message.c]
Implemented multiple message queues and preliminary task-switching
capabilities. Inter-task SendMessage() calls are not implemented
yet and will probably cause crashes if used.
* [windows/property.c]
Reimplemented properties and allocate them on the USER heap.
* [windows/win.c]
Fixed bug in SetWindowWord().
Reimplemented EnumWindows() and EnumTaskWindows().
Tue Apr 18 09:48:38 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [misc/main.c]
GetSystemParametersInfo(): Additional action SPI_GETICONTITLEFONT.
* [loader/resource.c]
Removed the check for NE_SEGFLAGS_EXECUTEONLY, since it broke
control.exe.
Fixed icon loading.
* [objects/font.c] [include/windows.h]
Fixed a bug in InitFontsList() and worked on the EnumFonts()
functions to make them comprehensible.
* [controls/button.c]
Fixed my previous patch to handle LBUTTONUP messages.
Fri Apr 14 11:41:28 1995 Cameron Heide (heide@ee.ualberta.ca)
* [misc/network.c, misc/dos_fs.c]
Implemented WNetGetConnection. All that is currently
supported are drives, for which the remote name is simply
the redirected UNIX directory name.
* [miscemu/int2?.c]
More drive number validity checking.
Wed Apr 12 11:28:37 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [controls/listbox.c]
Oops, my previous change to ListBoxDirectory broke the Borland
file open dialog. Fixed.
Mon Apr 10 23:17:12 1995 Martin von Loewis <loewis@informatik.hu-berlin.de>
* [if1632/ole2nls.spec] [misc/ole2nls.c] [misc/Imakefile]
New file ole2nls.c. Added stubs for GetUserDefaultLCID,
GetSystemDefaultLCID, GetUserDefaultLangID, GetSystemDefaultLangID.
Mon Apr 10 10:05:18 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [memory/global.c] [memory/local.c] [include/windows.h]
GlobalReAlloc(): If GMEM_MODIFY is set, don't resize the block.
LocalReAlloc(): Same for LMEM_MODIFY.
* [controls/listbox.c]
Fixed a bug in ListBoxDirectory that prevented commdlg from working.
Check for errors in some more places.
* [if1632/gdi.spec] [if1632/user.spec]
16 bit callback functions should be passed as segptrs.
* [include/dlls.h] [loader/ne_image.c] [loader/selector.c]
[loader/library.c]
Prevent a DLL from being initialized twice (Borlands Resource
Workshop used to do this).
Provide an additional flag for each w_file that indicates whether
it's an EXE or a DLL, for combinations like pbrush.exe/.dll.
* [controls/button.c]
Handle LBUTTONUP messages even if the button no longer has the
capture (for WinHelp).
* [include/wintypes.h]
FARPROC is now a segptr for the emulator and a function
pointer for the library.
* [misc/commdlg.c] [misc/commdlg.h]
Cleaned the file dialogs up a little. They now work reasonably well,
although there are still some problems (e.g. files are initially
invisible).
* [windows/class.c] [if1632/user.spec] [include/windows.h]
GetClassInfo() must take a segptr, as it checks whether the
highword is zero.
GetClassName() called the wrong atom function. No surprise it didn't
find anything.
* [misc/lstr.c]
AnsiToOem() and OemToAnsi() didn't terminate the strings. Fixed.
Removed some warnings.
* [if1632/relay.c] [if1632/ddeml.spec] [include/dlls.h]
New spec file for the 3.1 DDEML DDL.
* [controls/menu.c]
Small fix to ChangeMenu - mask out the obsolete flags
(MF_APPEND == MF_OWNERDRAW, this led to problems). It also had
problems with the MF_BYPOSITION flag.
* [windows/message.c]
SendMessage(): call the WH_CALLWNDPROC hook function. This is rather
ugly, I'm afraid. Windows probably passes a pointer to the 16 bit
stack for speed reasons.
* [windows/hook.c] [include/windows.h]
Set/HookWindowsHook() shouldn't just call their *Ex counterparts, as
they have slightly different semantics.
MS Hearts now works somewhat, if you disable the new builtin DDEML.
The graphics are completely messed up, though.
1995-04-30 10:05:20 +00:00
|
|
|
((visRectSrc->right-xDst) * widthSrc) / widthDst;
|
1995-01-09 18:21:16 +00:00
|
|
|
visRectSrc->bottom = ySrc +
|
Release 950430
Sat Apr 29 20:42:01 1995 Alexandre Julliard (julliard@sunsite.unc.edu)
* [controls/static.c]
Fixed painting of SS_*FRAME controls.
* [if1632/callback.c]
Pass the window instance as DS to the 16-bit window procedure.
Rewrote Catch() and Throw() to make them work with multiple tasks.
* [loader/main.c]
New function MAIN_Init() to perform initializations before the
first task is started instead of doing them in InitApp().
Temporary hack to command-line parsing to load one program per
command-line argument, to make testing task-switching easier.
* [loader/*.c]
Reimplemented modules to use a Windows-compatible layout and to
allow multiple tasks and multiple module instances. Not really
finished yet.
* [loader/task.c] [misc/exec.c]
Reimplemented tasks to use a common address space, and implemented
preliminary task-switching capabilities.
* [memory/global.c]
Fixed bug in GlobalNext().
* [misc/main.c]
Updated the list of contributors. Let me know if I forgot someone.
* [miscemu/int21.c]
Use one DTA per task instead of a global one.
* [objects/bitblt.c]
Fixed bug in BitBlt() that could cause BadMatch errors.
* [tools/build.c]
Added new function type 'stub', that makes possible to export an
unimplemented function by name as well as by ordinal. This will
avoid loading errors for unimplemented functions.
Generate an in-memory module layout for built-in DLLs so that the
same code can be used for built-in and loaded modules.
Changed relay code to make it unnecessary to save the value of the
BP register.
* [windows/message.c]
Implemented multiple message queues and preliminary task-switching
capabilities. Inter-task SendMessage() calls are not implemented
yet and will probably cause crashes if used.
* [windows/property.c]
Reimplemented properties and allocate them on the USER heap.
* [windows/win.c]
Fixed bug in SetWindowWord().
Reimplemented EnumWindows() and EnumTaskWindows().
Tue Apr 18 09:48:38 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [misc/main.c]
GetSystemParametersInfo(): Additional action SPI_GETICONTITLEFONT.
* [loader/resource.c]
Removed the check for NE_SEGFLAGS_EXECUTEONLY, since it broke
control.exe.
Fixed icon loading.
* [objects/font.c] [include/windows.h]
Fixed a bug in InitFontsList() and worked on the EnumFonts()
functions to make them comprehensible.
* [controls/button.c]
Fixed my previous patch to handle LBUTTONUP messages.
Fri Apr 14 11:41:28 1995 Cameron Heide (heide@ee.ualberta.ca)
* [misc/network.c, misc/dos_fs.c]
Implemented WNetGetConnection. All that is currently
supported are drives, for which the remote name is simply
the redirected UNIX directory name.
* [miscemu/int2?.c]
More drive number validity checking.
Wed Apr 12 11:28:37 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [controls/listbox.c]
Oops, my previous change to ListBoxDirectory broke the Borland
file open dialog. Fixed.
Mon Apr 10 23:17:12 1995 Martin von Loewis <loewis@informatik.hu-berlin.de>
* [if1632/ole2nls.spec] [misc/ole2nls.c] [misc/Imakefile]
New file ole2nls.c. Added stubs for GetUserDefaultLCID,
GetSystemDefaultLCID, GetUserDefaultLangID, GetSystemDefaultLangID.
Mon Apr 10 10:05:18 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [memory/global.c] [memory/local.c] [include/windows.h]
GlobalReAlloc(): If GMEM_MODIFY is set, don't resize the block.
LocalReAlloc(): Same for LMEM_MODIFY.
* [controls/listbox.c]
Fixed a bug in ListBoxDirectory that prevented commdlg from working.
Check for errors in some more places.
* [if1632/gdi.spec] [if1632/user.spec]
16 bit callback functions should be passed as segptrs.
* [include/dlls.h] [loader/ne_image.c] [loader/selector.c]
[loader/library.c]
Prevent a DLL from being initialized twice (Borlands Resource
Workshop used to do this).
Provide an additional flag for each w_file that indicates whether
it's an EXE or a DLL, for combinations like pbrush.exe/.dll.
* [controls/button.c]
Handle LBUTTONUP messages even if the button no longer has the
capture (for WinHelp).
* [include/wintypes.h]
FARPROC is now a segptr for the emulator and a function
pointer for the library.
* [misc/commdlg.c] [misc/commdlg.h]
Cleaned the file dialogs up a little. They now work reasonably well,
although there are still some problems (e.g. files are initially
invisible).
* [windows/class.c] [if1632/user.spec] [include/windows.h]
GetClassInfo() must take a segptr, as it checks whether the
highword is zero.
GetClassName() called the wrong atom function. No surprise it didn't
find anything.
* [misc/lstr.c]
AnsiToOem() and OemToAnsi() didn't terminate the strings. Fixed.
Removed some warnings.
* [if1632/relay.c] [if1632/ddeml.spec] [include/dlls.h]
New spec file for the 3.1 DDEML DDL.
* [controls/menu.c]
Small fix to ChangeMenu - mask out the obsolete flags
(MF_APPEND == MF_OWNERDRAW, this led to problems). It also had
problems with the MF_BYPOSITION flag.
* [windows/message.c]
SendMessage(): call the WH_CALLWNDPROC hook function. This is rather
ugly, I'm afraid. Windows probably passes a pointer to the 16 bit
stack for speed reasons.
* [windows/hook.c] [include/windows.h]
Set/HookWindowsHook() shouldn't just call their *Ex counterparts, as
they have slightly different semantics.
MS Hearts now works somewhat, if you disable the new builtin DDEML.
The graphics are completely messed up, though.
1995-04-30 10:05:20 +00:00
|
|
|
((visRectSrc->bottom-yDst) * heightSrc) / heightDst;
|
1995-01-09 18:21:16 +00:00
|
|
|
if (IsRectEmpty( visRectSrc )) return FALSE;
|
1994-10-17 18:12:41 +00:00
|
|
|
}
|
1993-09-04 10:09:32 +00:00
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
1995-01-09 18:21:16 +00:00
|
|
|
* BITBLT_InternalStretchBlt
|
|
|
|
*
|
|
|
|
* Implementation of PatBlt(), BitBlt() and StretchBlt().
|
1993-09-04 10:09:32 +00:00
|
|
|
*/
|
1995-01-09 18:21:16 +00:00
|
|
|
BOOL BITBLT_InternalStretchBlt( DC *dcDst, short xDst, short yDst,
|
|
|
|
short widthDst, short heightDst,
|
|
|
|
DC *dcSrc, short xSrc, short ySrc,
|
|
|
|
short widthSrc, short heightSrc, DWORD rop )
|
1993-09-04 10:09:32 +00:00
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
BOOL usePat, useSrc, useDst, destUsed, fStretch, fNullBrush;
|
|
|
|
RECT visRectDst, visRectSrc;
|
|
|
|
short width, height;
|
1994-12-27 14:11:53 +00:00
|
|
|
const BYTE *opcode;
|
1995-01-09 18:21:16 +00:00
|
|
|
Pixmap pixmaps[3] = { 0, 0, 0 }; /* pixmaps for DST, SRC, TMP */
|
1994-12-27 14:11:53 +00:00
|
|
|
GC tmpGC = 0;
|
1993-09-04 10:09:32 +00:00
|
|
|
|
1994-12-27 14:11:53 +00:00
|
|
|
usePat = (((rop >> 4) & 0x0f0000) != (rop & 0x0f0000));
|
|
|
|
useSrc = (((rop >> 2) & 0x330000) != (rop & 0x330000));
|
|
|
|
useDst = (((rop >> 1) & 0x550000) != (rop & 0x550000));
|
1995-01-09 18:21:16 +00:00
|
|
|
if (!dcSrc && useSrc) return FALSE;
|
1994-10-17 18:12:41 +00:00
|
|
|
|
1995-01-09 18:21:16 +00:00
|
|
|
/* Map the coordinates to device coords */
|
Release 941030
Sun Oct 30 13:01:18 1994 Alexandre Julliard (julliard@lamisun.epfl.ch)
* [controls/static.c]
Bug fix for SS_ICON controls.
* [if1632/Imakefile]
Fixed call.o dependencies.
* [objects/clipping.c] [objects/dc.c]
Fixed visible region handling. hVisRgn is always non-null now.
* [windows/dce.c]
Bug fix in GetDCEx for CS_OWNDC windows.
* [windows/nonclient.c] [windows/painting.c]
Fixes to icon window drawing.
* [windows/winpos.c]
A few fixes in SetWindowPos().
Sun Oct 30 12:50:24 1994 Michael Patra <micky@marie.physik.tu-berlin.de>
* [objects/bitblt.c]
BitBlt(): BitBlt is now able to handle any raster operation. If
the request can't be passed to XWindows directly, it's quite
slow, though.
* [*/*.c]
[misc/main.c]
Improvements of the system for handling debug messages. Options are
now also loaded from /usr/lib/X11/app-defaults/Wine (insert
*debugoptions: +xxx there if you want to have turn messages xxx on).
* [controls/menu.c]
DestroyMenu(): The whole window won't be destroyed as a sideeffect
any longer.
* [misc/file.c]
OpenFile(): Fixed bug in searching in system/window-directory.
Sun Oct 30 12:25:53 1994 Jimmy Tirtawangsa <j0t2527@tam2000.tamu.edu>
* [include/windows.h]
Bug fix for window related structures.
DCB and COMSTAT are affected. They must be packed.
* [misc/comm.c]
Bug fix for COM ports:
Dial and dialog window in terminal.exe now works.
Non sequential COM assignments in wine.conf should not break now.
Baudrate can be specified in wine.conf to overcome baudrate limitation
in mswindow. See sample wine.ini
* [include/comm.h]
add baudrate field to DosDeviceStructre
* [object/font.c]
Bug fix for font assignment.
Use pairs of foundry and family fontnames in X11 to correspond with
window's fonts.
Put font assignment ini wine.ini.
* [wine.ini]
Adding optional baudrate after port name in "serialports" section
Add new section, "fonts".
"default" is special key in "fonts" to match any unmatch window font.
Oct 29, 94 (new address) wine@trgcorp.mksinfo.qc.ca (Martin Ayotte)
* [if1632/relay.c]
* [if1632/commdlg.spec] New file.
* [misc/commdlg.c] New file.
* [include/commdlg.h] New file.
Begin of an emulated COMMDLG DLL, built-in for now.
(BTW, if you want to switch between built-in & 16bits CommDlg, only
thing you need to do is to put the real/dummy name in file relay.c)
* [controls/scroll.c]
* [controls/combo.c]
* [controls/listbox.c]
Few bug fixes and/or cosmetic.
* [misc/audio.c]
* [misc/mmaux.c]
bug fixes and flags returned to emulate SB16.
* [misc/midi.c] New file.
skeleton for 'Midi' MMSYSTEM & MCI driver.
* [misc/mcianim.c] New file.
skeleton for 'Animation1' MCI driver.
* [windows/win.c]
Add new stub for GetLastActiveWindow().
Tue Oct 25 09:17:25 1994 Olaf Flebbe (flebbe@tat.physik.uni-tuebingen.de)
* [if1632/call.S] [tools/build.c]
Support for ELF format. (Not complete)
Sun Oct 23 00:51:50 1994 Paul Falstad (pf@zoof)
* [if1632/user.spec]
Add stubs for ArrangeIconicWindows(), etc.
* [if1632/kernel.spec]
Add IsBad*Ptr() functions.
* [loader/signal.c]
Add test_memory(), for use with IsBad*Ptr().
* [windows/winpos.c]
Add stubs for TileChildWindows(), etc.
* [windows/win.c]
IsWindow() shouldn't crash if it's given a bad handle.
Add stub for GetLastActivePopup().
* [memory/global.c]
Implement the IsBad*Ptr() functions.
* [controls/listbox.c]
Return the full longword of the item data in LB_GETITEMDATA.
* [controls/edit.c]
Don't let the user select an area past the end of the text.
* [objects/text.c]
In DrawText(), the code to delete crlfs also removed multiple
consecutive newlines. Also, using DT_CALCRECT didn't return
the right height, and the width wasn't returned at all.
This caused MessageBoxes to be missing much of their text.
* [windows/scroll.c]
ScrollWindow[Ex] didn't work right with null LPRECT arguments.
Fri Oct 21 21:47:19 1994 Paul Falstad (pf@zoof.cts.com)
* [miscemu/int21.c]
Fixed int21 0x42 handler to properly assemble 32-bit seek ptr.
* [misc/property.c]
Fixed inverted logic in EnumProps(), and changed CallBack16()
call to use new arg format.
* [windows/win.c]
Fixed CallBack16() call in Enum[Child]Windows to use new arg
format; this fixes crashes in enum procedures.
Wed Oct 19 21:30:00 PDT 1994 martin@cs.csufresno.edu
* [misc/clipboard.c]
[windows/event.c]
[windows/message.c]
Added cut and paste between Wine and other X clients via
the PRIMARY selection. Text only this time.
* [controls/edit.c]
EDIT_LineLength, EDIT_TextLine return 0 for lines after last one.
* [windows/defwnd.c]
Send WM_SYSCOMMAND to overlapped ancestor window,
not the receiver of WM_SYSKEYDOWN
Sat Oct 22 15:01:02 1994 Thomas Sandford <t.d.g.sandford@bradford.ac.uk>
* [controls/edit.c]
ClientWidth()/ClientHeight() macros: return 0 if size would
be negative
EDIT_StrLength(): takes unsigned char* instead of char*
* [controls/listbox.c]
ListBoxWndProc(): in "case WM_MOUSEMOVE" - set lphl at start of
case instead of in each place required (it was omitted in
some places causing problems!)
* [controls/menu.c]
MENU_CalcItemSize(): don't try to find size of a text item
if the pointer is NULL
* [include/heap.h]
added definition of HEAP_LocalInit()
* [include/msdos.h]
removed buggy pointer() macro (use SAFEMAKEPTR() from segmem.h
instead)
* [loader/selector.c]
IPCCopySelector(): added missing flags to shmget() call
? does this break linux - I added these flags in a previous
patch but they were missing in the corresponding release ?
* [loader/signal.c]
win_fault(): added missing definitions of i, dump for those
not running NetBSD or linux
* [misc/dos_fs.c]
DOS_GetCurrentDir(): made temp[] static so it can be safely
returned
* [miscemu/int21.c,int25.c,int26.c]
Changed all invocations of pointer() to SAFEMAKEPTR(). Included
segmem.h where necessary.
* [windows/dialog.c]
CreateDialogIndirectParam(): Changed HEAP_Init() call to
HEAP_LocalInit(), removed redundant variables
Sat Oct 22 00:29:41 MET 1994 Dag Asheim (dash@ifi.uio.no)
* [loader/library.c] [loader/main.c] [loader/ne_image.c]
[misc/exec.c] [miscemu/int10.c] [miscemu/int21.c]
[objects/bitblt.c] [objects/metafile.c]
Rewritten more printf's to use the new debugging system, and
made wine less verbose per default. Use "-debugmsg +module"
to get (almost) the same behavior as before.
1994-10-30 16:25:19 +00:00
|
|
|
|
1995-01-09 18:21:16 +00:00
|
|
|
xDst = dcDst->w.DCOrgX + XLPTODP( dcDst, xDst );
|
|
|
|
yDst = dcDst->w.DCOrgY + YLPTODP( dcDst, yDst );
|
|
|
|
widthDst = widthDst * dcDst->w.VportExtX / dcDst->w.WndExtX;
|
|
|
|
heightDst = heightDst * dcDst->w.VportExtY / dcDst->w.WndExtY;
|
|
|
|
if (useSrc)
|
1994-12-27 14:11:53 +00:00
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
xSrc = dcSrc->w.DCOrgX + XLPTODP( dcSrc, xSrc );
|
|
|
|
ySrc = dcSrc->w.DCOrgY + YLPTODP( dcSrc, ySrc );
|
|
|
|
widthSrc = widthSrc * dcSrc->w.VportExtX / dcSrc->w.WndExtX;
|
|
|
|
heightSrc = heightSrc * dcSrc->w.VportExtY / dcSrc->w.WndExtY;
|
|
|
|
fStretch = (widthSrc != widthDst) || (heightSrc != heightDst);
|
|
|
|
if (!BITBLT_GetVisRectangles( dcDst, xDst, yDst, widthDst, heightDst,
|
|
|
|
dcSrc, xSrc, ySrc, widthSrc, heightSrc,
|
|
|
|
&visRectSrc, &visRectDst ))
|
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
fStretch = FALSE;
|
|
|
|
if (!BITBLT_GetVisRectangles( dcDst, xDst, yDst, widthDst, heightDst,
|
|
|
|
NULL, 0, 0, 0, 0, NULL, &visRectDst ))
|
|
|
|
return TRUE;
|
1994-12-27 14:11:53 +00:00
|
|
|
}
|
|
|
|
|
1995-01-09 18:21:16 +00:00
|
|
|
width = visRectDst.right - visRectDst.left;
|
|
|
|
height = visRectDst.bottom - visRectDst.top;
|
1994-12-27 14:11:53 +00:00
|
|
|
|
1995-01-09 18:21:16 +00:00
|
|
|
if (!fStretch) switch(rop) /* A few optimisations */
|
Release 940620
Mon Jun 20 14:26:41 1994 Bob Amstadt (bob@pooh)
* [objects/bitmap.c]
Allow negative bitmap sizes.
Sun Jun 19 12:00:04 1994 David Metcalfe <david@prism.demon.co.uk>
* [controls/edit.c]
Improved selection display. Added processing for WM_SETFONT,
EM_REPLACESEL, EM_LINELENGTH, EM_UNDO, EM_EMPTYUNDOBUFFER,
EM_GETHANDLE, EM_SETHANDLE messages. Text buffer now stored on
application's local heap.
* [windows/graphics.c]
Corrected bug in Rectangle(). XFillRectangle has the same
width as Rectangle, but XDrawRectangle is one pixel wider
for the same co-ordinates.
* [memory/heap.c] [include/heap.h]
Added HEAP_LocalSize function.
* [windows/event.c] [windows/keyboard.c]
Improvements to KeyStateTable and addition of AsyncKeyStateTable.
Added supporting code to GetKeyState and GetAsyncKeyState and
merged mouse button states into GetKeyboardState.
* [loader/resource.c] [include/accel.h]
Added recognition of SHIFT, CONTROL and ALT keys to
TranslateAccelerator.
* [objects/metafile.c] [objects/font.c] [objects/bitblt.c]
A bit more metafile support.
Sun Jun 19 17:29:00 MET DST 1994 Erik Bos (erik@hacktic.nl)
* [loader/resource.c]
SizeofResource() and AllocResource() added, AccessResource() updated.
* [if1632/kernel.spec]
FreeLibrary() used for FreeModule().
* [windows/graphics.c]
Rectangle(): swap left & right corners when right < left,
swap top & bottom when botton < top.
Jun 19, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/combo.c]
Fix bug in window style of the associated listbox.
* [controls/menu.c]
Skip separators in keyboard navigation by using new internal
functions SelectPrevItem() & SelectNextItem(),
* [misc/profile.c]
Bug fix in GetPrivateProfileInt(), was limited to 4 digit,
IntBuf must be alloc to (5+1)=6. char instead of 5.
* [misc/main.c]
Put code in functions SetEnvironment() & GetEnvironment().
* [misc/shell.c]
Start putting some code in ExtractIcon() function.
* [misc/mmsystem.c]
Some code for MMTimer functions & timers list.
* [miscemu/int31.c]
Few stubs for DPMI interrupt calls. Nothing work yet.
Mon Jun 20 07:37:43 EDT 1994 John Richardson (jrichard@cs.uml.edu)
* include/win.h (tagWND):
Added icon fields icon, hIcon and rectClientSave to
the tagWND struct.
* windows/Imakefile
Added icon.c to the list of files to compile
* windows/dce.c (GetDCEx):
Added some checks for iconic mode and pass icon window as drawable,
not the real window.
* windows/defwnd.c (DefWindowProc)
Added PAINTICON default windows procedure.
* windows/event.c (EVENT_Expose)
Added check for iconic window expose. If iconic window is exposed
send a WM_PAINTICON message
* windows/icon.c
New file. ICON_Iconify, ICON_findIconFromPoint, ICON_Deiconify.
* windows/mdi.c (DefMDIChildProc)
Test for IsIconic during a SC_RESTORE, this doesn't work yet.
* windows/message.c (hardware_event)
Looks for icon as well as window now.
* windows/nonclient.c (NC_HandleSysCommand, NC_DoNCPaintIcon)
Added iconify/deiconify in NC_HandleSysCommand, new function
NC_DoNCPaintIcon which paints an icon.
* windows/painting.c (BeginPaint)
Made a BeginPaint select the STOCK_BLACK_PEN, STOCK_WHITE_BRUSH,
and STOCK_SYSTEM_FONT objects since this is (hopefully) default
windows behavior.
* windows/win.h (CreateWindowEx)
Set the default background color of a window to be white.
Create icon window, turn off MINIMIZE if it is on, since
I don't know what to do with it as of yet... register
the icon with the hwnd of its window so we can identify where
icon messages are coming from.
Mon Jun 20 10:15:59 1994 Miguel de Icaza (miguel@sphinx)
* windows/event.c: Added a hack to define XPointer when using
X11R4.
* toolkit/hello.c: Test application for WineLib. To compile you'll
need: gcc -Iinclude -DWINELIB -g hello.c -c, and to link you'll
need: gcc hello.o libwine.a -lX11 -L/usr/openwin/lib -lm
* toolkit/heap.c: Extended the size of the block size per chunk.
* misc/stress.c (GetFreeFileHandles): Fixed typo.
* misc/main.c (main): Changes to allow compilation under SunOS.
* loader/library.c: Changed some ifdefs to compile WineLib.
1994-06-21 16:15:21 +00:00
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
case BLACKNESS: /* 0x00 */
|
|
|
|
if ((dcDst->w.bitsPerPixel == 1) || !COLOR_PaletteToPixel)
|
|
|
|
XSetFunction( display, dcDst->u.x.gc, GXclear );
|
|
|
|
else
|
|
|
|
{
|
|
|
|
XSetFunction( display, dcDst->u.x.gc, GXcopy );
|
|
|
|
XSetForeground( display, dcDst->u.x.gc, COLOR_PaletteToPixel[0] );
|
|
|
|
XSetFillStyle( display, dcDst->u.x.gc, FillSolid );
|
|
|
|
}
|
|
|
|
XFillRectangle( display, dcDst->u.x.drawable, dcDst->u.x.gc,
|
|
|
|
visRectDst.left, visRectDst.top, width, height );
|
|
|
|
return TRUE;
|
|
|
|
|
|
|
|
case PATINVERT: /* 0x5a */
|
|
|
|
/* FIXME: This is not really correct, but for now PATINVERT is */
|
|
|
|
/* used to draw the window moving frame, so it has to be fast. */
|
|
|
|
if (!DC_SetupGCForBrush( dcDst )) return TRUE;
|
|
|
|
XSetFunction( display, dcDst->u.x.gc, GXxor );
|
|
|
|
XFillRectangle( display, dcDst->u.x.drawable, dcDst->u.x.gc,
|
|
|
|
visRectDst.left, visRectDst.top, width, height );
|
|
|
|
return TRUE;
|
|
|
|
|
|
|
|
case SRCCOPY: /* 0xcc */
|
1994-12-27 14:11:53 +00:00
|
|
|
if (dcSrc->w.bitsPerPixel == dcDst->w.bitsPerPixel)
|
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
XSetFunction( display, dcDst->u.x.gc, GXcopy );
|
|
|
|
XCopyArea( display, dcSrc->u.x.drawable,
|
|
|
|
dcDst->u.x.drawable, dcDst->u.x.gc,
|
|
|
|
visRectSrc.left, visRectSrc.top,
|
|
|
|
width, height, visRectDst.left, visRectDst.top );
|
1994-12-27 14:11:53 +00:00
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
if (dcSrc->w.bitsPerPixel == 1)
|
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
XSetBackground( display, dcDst->u.x.gc, dcDst->w.textPixel );
|
|
|
|
XSetForeground( display, dcDst->u.x.gc, dcDst->w.backgroundPixel );
|
|
|
|
XSetFunction( display, dcDst->u.x.gc, GXcopy );
|
1994-12-27 14:11:53 +00:00
|
|
|
XCopyPlane( display, dcSrc->u.x.drawable,
|
|
|
|
dcDst->u.x.drawable, dcDst->u.x.gc,
|
1995-01-09 18:21:16 +00:00
|
|
|
visRectSrc.left, visRectSrc.top,
|
|
|
|
width, height, visRectDst.left, visRectDst.top, 1 );
|
1994-12-27 14:11:53 +00:00
|
|
|
return TRUE;
|
|
|
|
}
|
1995-01-09 18:21:16 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case PATCOPY: /* 0xf0 */
|
|
|
|
if (!DC_SetupGCForBrush( dcDst )) return TRUE;
|
|
|
|
XSetFunction( display, dcDst->u.x.gc, GXcopy );
|
|
|
|
XFillRectangle( display, dcDst->u.x.drawable, dcDst->u.x.gc,
|
|
|
|
visRectDst.left, visRectDst.top, width, height );
|
|
|
|
return TRUE;
|
|
|
|
|
|
|
|
case WHITENESS: /* 0xff */
|
|
|
|
if ((dcDst->w.bitsPerPixel == 1) || !COLOR_PaletteToPixel)
|
|
|
|
XSetFunction( display, dcDst->u.x.gc, GXset );
|
|
|
|
else
|
|
|
|
{
|
|
|
|
XSetFunction( display, dcDst->u.x.gc, GXcopy );
|
|
|
|
XSetForeground( display, dcDst->u.x.gc,
|
|
|
|
COLOR_PaletteToPixel[COLOR_ColormapSize-1] );
|
|
|
|
XSetFillStyle( display, dcDst->u.x.gc, FillSolid );
|
|
|
|
}
|
|
|
|
XFillRectangle( display, dcDst->u.x.drawable, dcDst->u.x.gc,
|
|
|
|
visRectDst.left, visRectDst.top, width, height );
|
|
|
|
return TRUE;
|
Release 940620
Mon Jun 20 14:26:41 1994 Bob Amstadt (bob@pooh)
* [objects/bitmap.c]
Allow negative bitmap sizes.
Sun Jun 19 12:00:04 1994 David Metcalfe <david@prism.demon.co.uk>
* [controls/edit.c]
Improved selection display. Added processing for WM_SETFONT,
EM_REPLACESEL, EM_LINELENGTH, EM_UNDO, EM_EMPTYUNDOBUFFER,
EM_GETHANDLE, EM_SETHANDLE messages. Text buffer now stored on
application's local heap.
* [windows/graphics.c]
Corrected bug in Rectangle(). XFillRectangle has the same
width as Rectangle, but XDrawRectangle is one pixel wider
for the same co-ordinates.
* [memory/heap.c] [include/heap.h]
Added HEAP_LocalSize function.
* [windows/event.c] [windows/keyboard.c]
Improvements to KeyStateTable and addition of AsyncKeyStateTable.
Added supporting code to GetKeyState and GetAsyncKeyState and
merged mouse button states into GetKeyboardState.
* [loader/resource.c] [include/accel.h]
Added recognition of SHIFT, CONTROL and ALT keys to
TranslateAccelerator.
* [objects/metafile.c] [objects/font.c] [objects/bitblt.c]
A bit more metafile support.
Sun Jun 19 17:29:00 MET DST 1994 Erik Bos (erik@hacktic.nl)
* [loader/resource.c]
SizeofResource() and AllocResource() added, AccessResource() updated.
* [if1632/kernel.spec]
FreeLibrary() used for FreeModule().
* [windows/graphics.c]
Rectangle(): swap left & right corners when right < left,
swap top & bottom when botton < top.
Jun 19, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/combo.c]
Fix bug in window style of the associated listbox.
* [controls/menu.c]
Skip separators in keyboard navigation by using new internal
functions SelectPrevItem() & SelectNextItem(),
* [misc/profile.c]
Bug fix in GetPrivateProfileInt(), was limited to 4 digit,
IntBuf must be alloc to (5+1)=6. char instead of 5.
* [misc/main.c]
Put code in functions SetEnvironment() & GetEnvironment().
* [misc/shell.c]
Start putting some code in ExtractIcon() function.
* [misc/mmsystem.c]
Some code for MMTimer functions & timers list.
* [miscemu/int31.c]
Few stubs for DPMI interrupt calls. Nothing work yet.
Mon Jun 20 07:37:43 EDT 1994 John Richardson (jrichard@cs.uml.edu)
* include/win.h (tagWND):
Added icon fields icon, hIcon and rectClientSave to
the tagWND struct.
* windows/Imakefile
Added icon.c to the list of files to compile
* windows/dce.c (GetDCEx):
Added some checks for iconic mode and pass icon window as drawable,
not the real window.
* windows/defwnd.c (DefWindowProc)
Added PAINTICON default windows procedure.
* windows/event.c (EVENT_Expose)
Added check for iconic window expose. If iconic window is exposed
send a WM_PAINTICON message
* windows/icon.c
New file. ICON_Iconify, ICON_findIconFromPoint, ICON_Deiconify.
* windows/mdi.c (DefMDIChildProc)
Test for IsIconic during a SC_RESTORE, this doesn't work yet.
* windows/message.c (hardware_event)
Looks for icon as well as window now.
* windows/nonclient.c (NC_HandleSysCommand, NC_DoNCPaintIcon)
Added iconify/deiconify in NC_HandleSysCommand, new function
NC_DoNCPaintIcon which paints an icon.
* windows/painting.c (BeginPaint)
Made a BeginPaint select the STOCK_BLACK_PEN, STOCK_WHITE_BRUSH,
and STOCK_SYSTEM_FONT objects since this is (hopefully) default
windows behavior.
* windows/win.h (CreateWindowEx)
Set the default background color of a window to be white.
Create icon window, turn off MINIMIZE if it is on, since
I don't know what to do with it as of yet... register
the icon with the hwnd of its window so we can identify where
icon messages are coming from.
Mon Jun 20 10:15:59 1994 Miguel de Icaza (miguel@sphinx)
* windows/event.c: Added a hack to define XPointer when using
X11R4.
* toolkit/hello.c: Test application for WineLib. To compile you'll
need: gcc -Iinclude -DWINELIB -g hello.c -c, and to link you'll
need: gcc hello.o libwine.a -lX11 -L/usr/openwin/lib -lm
* toolkit/heap.c: Extended the size of the block size per chunk.
* misc/stress.c (GetFreeFileHandles): Fixed typo.
* misc/main.c (main): Changes to allow compilation under SunOS.
* loader/library.c: Changed some ifdefs to compile WineLib.
1994-06-21 16:15:21 +00:00
|
|
|
}
|
1993-09-04 10:09:32 +00:00
|
|
|
|
1995-01-09 18:21:16 +00:00
|
|
|
tmpGC = XCreateGC( display, dcDst->u.x.drawable, 0, NULL );
|
|
|
|
pixmaps[DST] = XCreatePixmap( display, rootWindow, width, height,
|
|
|
|
dcDst->w.bitsPerPixel );
|
1994-12-27 14:11:53 +00:00
|
|
|
if (useSrc)
|
1995-01-09 18:21:16 +00:00
|
|
|
{
|
|
|
|
pixmaps[SRC] = XCreatePixmap( display, rootWindow, width, height,
|
|
|
|
dcDst->w.bitsPerPixel );
|
|
|
|
if (fStretch)
|
|
|
|
BITBLT_GetSrcAreaStretch( dcSrc, dcDst, pixmaps[SRC], tmpGC,
|
|
|
|
xSrc, ySrc, widthSrc, heightSrc,
|
|
|
|
xDst, yDst, widthDst, heightDst,
|
|
|
|
&visRectSrc, &visRectDst );
|
|
|
|
else
|
|
|
|
BITBLT_GetSrcArea( dcSrc, dcDst, pixmaps[SRC], tmpGC,
|
|
|
|
xSrc, ySrc, &visRectSrc );
|
|
|
|
}
|
|
|
|
if (useDst) BITBLT_GetDstArea( dcDst, pixmaps[DST], tmpGC, &visRectDst );
|
|
|
|
if (usePat) fNullBrush = !DC_SetupGCForPatBlt( dcDst, tmpGC, TRUE );
|
|
|
|
else fNullBrush = FALSE;
|
1994-12-27 14:11:53 +00:00
|
|
|
destUsed = FALSE;
|
|
|
|
|
1995-01-09 18:21:16 +00:00
|
|
|
for (opcode = BITBLT_Opcodes[(rop >> 16) & 0xff]; *opcode; opcode++)
|
1994-12-27 14:11:53 +00:00
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
if (OP_DST(*opcode) == DST) destUsed = TRUE;
|
|
|
|
XSetFunction( display, tmpGC, OP_ROP(*opcode) );
|
|
|
|
switch(OP_SRCDST(*opcode))
|
1994-12-27 14:11:53 +00:00
|
|
|
{
|
|
|
|
case OP_ARGS(DST,TMP):
|
|
|
|
case OP_ARGS(SRC,TMP):
|
1995-01-09 18:21:16 +00:00
|
|
|
if (!pixmaps[TMP])
|
|
|
|
pixmaps[TMP] = XCreatePixmap( display, rootWindow,
|
|
|
|
width, height,
|
|
|
|
dcDst->w.bitsPerPixel );
|
|
|
|
/* fall through */
|
|
|
|
case OP_ARGS(DST,SRC):
|
1994-12-27 14:11:53 +00:00
|
|
|
case OP_ARGS(SRC,DST):
|
1995-01-09 18:21:16 +00:00
|
|
|
case OP_ARGS(TMP,SRC):
|
|
|
|
case OP_ARGS(TMP,DST):
|
|
|
|
XCopyArea( display, pixmaps[OP_SRC(*opcode)],
|
|
|
|
pixmaps[OP_DST(*opcode)], tmpGC,
|
1994-12-27 14:11:53 +00:00
|
|
|
0, 0, width, height, 0, 0 );
|
|
|
|
break;
|
|
|
|
|
|
|
|
case OP_ARGS(PAT,TMP):
|
1995-01-09 18:21:16 +00:00
|
|
|
if (!pixmaps[TMP] && !fNullBrush)
|
|
|
|
pixmaps[TMP] = XCreatePixmap( display, rootWindow,
|
|
|
|
width, height,
|
|
|
|
dcDst->w.bitsPerPixel );
|
|
|
|
/* fall through */
|
1994-12-27 14:11:53 +00:00
|
|
|
case OP_ARGS(PAT,DST):
|
|
|
|
case OP_ARGS(PAT,SRC):
|
1995-01-09 18:21:16 +00:00
|
|
|
if (!fNullBrush)
|
|
|
|
XFillRectangle( display, pixmaps[OP_DST(*opcode)],
|
|
|
|
tmpGC, 0, 0, width, height );
|
1994-12-27 14:11:53 +00:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
XSetFunction( display, dcDst->u.x.gc, GXcopy );
|
1995-01-09 18:21:16 +00:00
|
|
|
BITBLT_PutDstArea( dcDst, pixmaps[destUsed ? DST : SRC],
|
|
|
|
dcDst->u.x.gc, &visRectDst );
|
|
|
|
XFreePixmap( display, pixmaps[DST] );
|
|
|
|
if (pixmaps[SRC]) XFreePixmap( display, pixmaps[SRC] );
|
|
|
|
if (pixmaps[TMP]) XFreePixmap( display, pixmaps[TMP] );
|
1994-12-27 14:11:53 +00:00
|
|
|
XFreeGC( display, tmpGC );
|
|
|
|
return TRUE;
|
1993-09-04 10:09:32 +00:00
|
|
|
}
|
Release 0.5
Sun Jan 2 12:38:53 1994 David Metcalfe <david@prism.demon.co.uk>
* [windows/class.c]
Implemented GetClassName and GetClassInfo.
* [windows/caret.c]
Various improvements to text caret code.
Fri Dec 31 15:22:22 1993 John Brezak <brezak@apollo.hp.com>
* [misc/comm.c]
Patches to work with NetBSD.
Thu Dec 30 12:11:55 1993 John Richardson <jrichard@cs.uml.edu>
* [objects/bitblt.c] Added StretchBlt().
Tue Jan 4 05:22:07 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [misc/user.c]
Added creation of system message queue.
* [objects/bitmap.c] [objects/dcvalues.c] [windows/dc.c]
Added DC size fields into DC structure.
* [objects/clipping.c]
Bug fix in CLIPPING_IntersectRect().
* [windows/class.c]
Allocate a DCE instead of a DC for CS_CLASSDC classes.
* [windows/clipping.c]
Fixed GetUpdateRect() and GetUpdateRgn() to clip to the client area.
* [windows/dce.c]
Implemented GetDCEx() and GetWindowDC().
* [windows/defwnd.c]
Implemented WM_WINDOWPOSCHANGED handling.
* [windows/event.c]
Preliminary support for Xlib event handling instead of Xt callbacks.
Changed MSG_AddMsg() calls to hardware_event() or PostMessage().
* [windows/message.c]
Preliminary support for multiple message queues.
Implemented hardware_event() to store messages into the system queue.
Implemented Get/SetTaskQueue().
Better WM_PAINT and WM_TIMER handling.
Changes to use Xlib instead of Xt for events.
* [windows/painting.c]
Use GetDCEx() to retrieve the DC, to get a correct visible region.
* [windows/timer.c]
Moved the timer procedure callback into DispatchMessage().
Changed implementation to get rid of Xt timeouts. Timer checking
is now done inside GetMessage().
* [windows/win.c]
Allocate a DCE instead of a DC for CS_OWNDC windows.
Replaced Xt calls with Xlib calls.
Moved window positioning functions into windows/winpos.c
* [windows/winpos.c] (New file)
Rewritten most of the window positioning functions.
Implemented SetWindowPos() and MapWindowPoints().
Jan 3, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [if1632/user.spec]
Bad arguments description for function SetDlgItemText.
* [objects/text.c]
Function DrawText now handle DT_CALCRECT request.
* [misc/message.c]
Message boxes now use DrawText with DT_CALCRECT.
* [windows/graphics.c]
Bug fix in function FrameRect, (it was using PEN instead of BRUSH).
* [windows/win.c]
Bug fix for flags in function ShowWindow.
More accurate WM_SIZE generated by function ShowWindow.
* [controls/listbox.c]
More code for LBS_MULTIPLESEL.
More code for LBS_MULTICOLUMN.
* [include/windows.h]
Bad define for MF_SEPARATOR.
* [controls/menu.c]
New functions: PopMenuWndProc() with 'glues',
CreatePopupMenu(), AppendMenu(), InsertMenu(), RemoveMenu(),
DeleteMenu(), ModifyMenu(), TrackPopupMenu().
Code in stubs: CreateMenu(), DestroyMenu().
Sat Jan 1 10:22:43 1994 Bob Amstadt (bob@pooh)
* loader/wine.c: Added support for relocation types 5 and 6.
Mon Dec 27 11:06:03 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/comm.c]
new functions: BuildCommDCB(), OpenComm(), CloseComm(),
SetCommBreak(), ClearCommBreak(), EscapeCommFunction(), FlushComm(),
GetCommError(), SetCommEventMask(), GetCommEventMask(),
SetCommState(), GetCommState(), TransmitCommChar(), ReadComm(),
WriteComm().
Wed Dec 22 13:00:15 1993 David Metcalfe <david@prism.demon.co.uk>
* [windows/caret.c]
Implemented text caret functions.
Tue Dec 21 06:13:58 1993 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/wine.c]
Bug fix in LoadImage().
* [objects/bitblt.c] [objects/clipping.c] [objects/text.c]
[windows/dc.c] [windows/dce.c] [windows/graphics.c]
Modified graphics calls to take into account the DC origin.
* [windows/defwnd.c]
Added preliminary WM_NCCALCSIZE handling.
* [windows/event.c]
Send WM_NCCALCSIZE message on resize event.
* [windows/win.c]
Send WM_NCCALCSIZE message in CreateWindow().
Realize widgets at creation time (should prevent problems with
unrealized widgets).
Dec 19, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/static.c]
Send mouse & keyboard message received to its parent.
* [controls/scroll.c]
Send keyboard message received to its parent.
* [controls/listbox.c]
Add Navigation keys .
ListBox now use VSCROLL & HSCROLL instead of children.
Alpha version of LBS_MULTIPLESEL.
Alpha version of LBS_MULTICOLUMN.
* [controls/combo.c]
Add Navigation keys on closed ComboBox.
Remove useless 'COMBOBOX_CreateComboBox' function.
Mon Dec 19 20:39:34 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/wine.
LoadImage() modified to use FindFile().
* [misc/file.c]
SetErrorMode added
* [misc/dos_fs.c]
bug fixes.
Dec 13, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [memory/global.c]
bug fix in GlobalGetFreeSegment : good ptr in 'g_prev'.
* [sysres.dll]
preliminary version of a 'glass of wine' bitmap
* [windows/event.c]
New function 'GetCapture'.
* [controls/scroll.c]
Remove useless 'SCROLLBAR_CreateScrollBar' function.
* [controls/listbox.c]
Remove useless 'LISTBOX_CreateListBox' function.
Mon Dec 13 13:51:00 1993 David Metcalfe <david@prism.demon.co.uk>
* [objects/font.c]
Corrected bugs in GetCharWidth().
* [windows/event.c]
Modified EVENT_key to send Windows virtual key codes for
WM_KEYDOWN and WM_KEYUP messages, and a WM_CHAR message
for printable characters.
Wed Dec 08 19:20:00 1993 Karl Guenter Wuensch (hn324wu@unidui.uni-duisburg.de)
* [windows/graphics.c]
Added Polyline and Polygon
Mon Dec 13 14:51:54 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [controls/listbox.c]
ListBoxDirectory() modified to use dos_fs.c's functions to
access files&|drives.
Sat Dec 04 17:04:23 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/dos_fs.c]
Added FindFile() to search a file in a dos/unix style path.
* [misc/file.c]
New Win31 functions: OpenFile, _lcreate, _llseek, GetTempDrive,
GetTempFileName, GetWindowsDirectory, GetSystemDirectory,
GetDriveType.
* [misc/int21.c]
Modified.
Wed Dec 1 16:20:45 1993 Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
* [misc/profile.c]
The Profile functions now return the correct values. They now
implement all the features described in the SDK.
Tue Nov 30 13:55:27 1993 Bob Amstadt (bob at amscons)
* [loader/selector.c]
Rewrote selector aliasing routines to use System V IPC
routine to alias memory segments.
Nov 28, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/listbox.c]
More consistency in functions using wIndexes
* [controls/scroll.c]
New function : ShowScrollBar().
* [loader/cursor.c] ... New file
Move cursor functions from [loader/resource.c].
New function : ClipCursor().
New function : GetClipCursor().
New function : CreateCursor().
SetCursor() now working using gloabal variable 'winHasCursor'.
*[object/palette.c]
New stub only : SelectPalette().
New stub only : RealizePalette().
*[win/event.c]
New function : EVENT_enter_notify(),
update 'winHasCursor' and send WM_SETCURSOR.
*[win/defwnd.c]
Add processing of WM_SETCURSOR message.
*[win/win.c]
New members in WND structure : hCursor, hWndVScroll & hWndHScroll.
CreateWindowEx() now create children for WM_HSCROLL & WM_VSCROLL.
New function ClientToScreen().
New function ScreenToClient().
Mon Nov 25 18:25:40 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [files.h / regfunc.h / misc/dos.c]
Removed.
* [misc/dos_fs.c]
Added support for loading dosdrive cfg from wine.ini.
* [misc/int21.c]
Modified.
Wed Nov 24 11:37:33 1993 julliard@disuns2.epfl.ch (Alexandre Julliard)
* [include/atom.h] [memory/atom.c]
Implemented atoms.
* [windows/class.c]
Modified RegisterClass() to use atoms.
Implemented CS_GLOBALCLASS style.
* [windows/message.c]
Implemented RegisterWindowMessage().
* [loader/resource.c]
Bug fix in LoadResource().
* [windows/dialog.c]
Modified CreateDialogParam() to use Find/LoadResource().
1994-01-04 20:14:34 +00:00
|
|
|
|
|
|
|
|
Release 940301
Tue Mar 1 11:30:21 1994 Bob Amstadt (bob@pooh)
* [Configure] [*/Imakefile]
Created configure script to handle different types of Wine builds.
* [Configure] [tools/build.c] [if1632/Imakefile] [Wine.tmpl]
Added ability to compile Wine on systems with 14-char filename limit.
* [if1632/relay.c] [include/options.h] [misc/main.c]
Added -relaydbg option to command line if DEBUG_RELAY is defined.
* [loader/selector.c]
Fixed bug in GetEntryDLLName() that caused Wine to seg fault.
* [memory/heap.c]
Fixed LocalInit() to work correctly.
* [misc/user.c]
Added code to call loaded DLLs' initialization routines.
Tue Mar 1 01:01:17 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/dce.c]
Added clipping of child windows by their parent's client area.
* [windows/nonclient.c]
Bug fix in NC_DoNCPaint().
* [windows/painting.c]
Bug fix in RedrawWindow().
Feb 27, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [mem/atom.c]
Bug fix again in ATOM_DeleteAtom() :
change LocalFree() by USER_HEAP_FREE().
(Previous patch done Feb 13th had been lost)
* [controls/scroll.c]
Move bitmaps loading in AllocScrollBar() instead of in WM_CREATE.
* [windows/class.c] (sorry Alex ...)
There was no bug there "in RegisterClass() :
WNDCLASS->lpszClassName was reset to NULL."
^^^^^
* [misc/clipboard.c] --- New File ---
New function EnumClipboardFormats().
New function OpenClipboard().
New function CloseClipboard().
New function EmptyClipboard().
New function GetClipboardOwner().
New function GetClipboardViewer().
New function CountClipboardFormats().
New function IsClipboardFormatAvailable().
New function OpenClipboard().
New function GetClipboardData().
New function SetClipboardViewer().
New function EnumClipboardFormats().
New function RegisterClipboardFormat().
New function ChangeClipboardChain().
New function SetClipboardData().
New function GetOpenClipboardWindow().
New function GetPriorityClipboardFormat().
New function GetClipboardFormatName().
Tue Mar 1 20:15:45 1994 Erik Bos <erik@trashcan.hacktic.nl>
* [misc/comm.c]
bugfix in OpenComm().
Tue Feb 22 18:04:02 1994 Jeffrey Hsu <hsu@freefall.cdrom.com>
* [include/winsock.h]
The sockproto struct is already defined in <sys/socket.h>
* [misc/winsock.c]
Need to include <netinet/in.h> for struct in-addr.
Use sys_errlist[] instead of strerror[].
*[toolkit/heap.c]
ANSI C specifies that the malloc functions are defined in stdlib.h,
so we don't need to include malloc.h.
*[loader/ldtlib.c]
Print informative error message about probable cause of i386_set_ldt()
failure and then exit.
*[Imakefile]
For systems that don't use gmake by default, set the MAKE variable
to gmake and propagate it on recursive makes.
Take out -li386 for FreeBSD systems and define __FreeBSD__ so Wine
can be built with the FreeBSD 1.0.2 compiler.
Tue Feb 22 02:52:19 EST 1994 jrichard@cs.uml.edu (John Richardson)
* [objects/bitblt.c]
Added in three functions to do stretching and compression
for WHITEONBLACK, BLACKONWHITE, and color copies.
Tue Feb 22 15:01:31 EST 1994 jrichard@cs.uml.edu (John Richardson)
* [windows/graphics.c]
Added FloodFill and FloodFill_rec. FloodFill_rec is pretty
inefficent, but should suffice for now.
* [include/windows.h]
Changed the x,y paramaters for the FloodFill prototype
from ints to shorts
Tue Feb 22 00:58:28 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/widgets.c]
Added desktop window class.
* [windows/painting.c]
Bug fix in RedrawWindow().
Implemented ExcludeUpdateRgn().
* [windows/win.c] [windows/winpos.c]
Implemented desktop window.
* [controls/desktop.c]
Preliminary desktop window procedure.
Feb 20, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/menu.c]
New function LoadMenuIndirect().
New function GetMenuCheckMarkDimensions().
* [if1632/user.spec]
Entry for DefDlgProc().
* [windows/class.c]
Fix bug in RegisterClass() :
WNDCLASS->lpszMenuName was reset to NULL.
* [windows/win.c]
In CreateWindowEx(), if hMenu == 0 then use
wndclass->lpszMenuName to load Menu from resource;
Mon Feb 21 22:38:28 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/library.c] [loader/wine.c]
Fixed runing DLL's as main executable problem.
* [misc/dos_fs.c]
Added wildcard support in DOS_readdir().
* [misc/winsocket.c]
Added proper error handling of BSD winsocket functions.
* [miscemu/int21.c]
KERNEL_DOS3Call renamed to DOS3Call and modified to use do_int21().
* [main/main.c]
Added functions for GetVersion, GetWinFlags and GetTimerResolution
for libwine.a, SystemParametersInfo() partly implemented.
Tue Feb 22 19:00:02 1994 Miguel de Icaza (miguel@xochitl.nuclecu.unam.mx)
* [toolkit/winmain.c]
Added _WinMain function. Setups the library (calls USER_InitApp).
* [toolkit/sup.c]
Added load_mz_header, load_ne_header, load_type_info and
load_name_info functions.
* [toolkit/heap.c]
Code cleanup.
* [misc/user.c]
Moved from loader/misc.c. I hope to put back all the loader
functions in the ~loader subdirectory in the future. CUrrently is
needed since it has USER_InitApp.
* [misc/resource.c]
Since WineLib will probably need DLLs (currently it needs
Sysres.dll). WineLib will be using much code of the loader again.
So I removed some ifdefs that were used by WineLib.
Added load_typeinfo and load_nameinfo (and the corresponding
functions in [toolkit/sup.c]
Added integer convertion functions in the needed places.
Added very ugly patch (includes wine.c). In the next release I
plan to move back all the loader routines to ~/loader. In the
meantime I needed this patch. It doesn't affect any of the
emulator code (its ifdefed for WineLib).
* [misc/main.c]
Cleaned up call to WinMain (now uses [toolkit/winmain.c]
Ifdefed argument number checking when compiling the library.
* [loader/wine.c]
Modified to use load_(mz|ne)_header instead of doing a direct
read. When compiling the emulator it still uses the direct read
for performance.
* [include/wine.h]
Prototypes for loading routines.
* [include/class.h]
Added WINE_PACKED macro instead of __attribute__ ((packed))
* [include/arch.h]
Macros for converting integers (Little endian to big-endian).
Needed in the Sun to allow loading of DLL files.
Mon Feb 14 23:48:09 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/clipping.c]
Moved everything into windows/painting.c and removed this file.
* [windows/message.c]
Removed calls to memmove() in MSG_RemoveMsg().
* [windows/nonclient.c]
Added WM_GETMINMAXINFO support for window resizing.
* [windows/painting.c]
Implemented RedrawWindow().
* [windows/scroll.c]
Bug fix in ScrollWindowEx().
* [windows/win.c]
Moved UpdateWindow() to windows/painting.c.
Fri Feb 11 12:41:28 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/wine.c] [misc/dos_fs.c]
getenv() eq NULL bugfixes.
* [misc/comm.c]
cfmakeraw changed for SunOS.
Feb 13, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [mem/atom.c]
Bug fix in ATOM_DeleteAtom() :
change LocalFree() by USER_HEAP_FREE().
* [misc/message.c]
New function FatalAppExit().
* [objects/font.c]
New empty stub SetMapperFlags().
* [controls/menu.c]
Better CheckMark & other bitmaps placement.
* [windows/graphics.c]
New function RoundRect() : calc.exe now working...
Tue Feb 15 14:29:37 1994 John Richardson
* [objects/bitblt.c]
Fixed StretchBlt so it works quicker and faster. It still doesn't
use the StretchMode bits for bitmap compression, but that will
come soon.
Mon Feb 14 13:21:04 1994 Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
* [include/windows.h,dialog.h,gdi.h]
Changed __atribute__ ((packed)) for WINE_PACKED.
When compiling the library this is defined as nothing. This gets
rid with all the problems compiling under SunOS. Also
* [windows/utility.c]
Added DebugPrintString.
* [toolkit/sup.c]
Added hSysRes = 1 definition to resolve externals.
Added CallLineDDAProc function (toolkit version).
Added toy, and hi ineficient memmove until code in message.c get
rewritten.
* [objects/gdiobj.c]
Ifdefed linux/emulator-dependent code to allow compilation of
WineLib.
* [misc/winsocket.c]
Added ifdef to allow compilation under SunOS.
* [misc/resource.c]
When compiling the library, the resource file is expected to be in
a file called $argv[0].Res. Also the information of the resource
is expected to be at offset 0 of the .Res file.
* [misc/main.c]
Call WinMain with arguments if compiling WineLib.
Call shutdown functions (Comm_DeInit, DOS_DeInitFS).
Call sync_profiles to preserve changes to .INI files.
* [misc/comm.c,dos_fs.c]
removed call to atexit(Comm_DeInit)
removed call to atexit(DOS_DeInitFS)
Shutdown functions are now called from the return of WinMain
* removed memorylib subdirectory
* moved memory/atom.c to misc/atom.c
moved memorylib/heap.c to toolkit/heap.c
* [loader/wine.c]
Moved DebugPrintString to windows/utility.c
* [include/winsock.h]
Define SO_DONTLINGER only if it has not been previously defined.
* [include/windows.h]
added definition for DLGPROC.
added definition for LMEM_WINE_ALIGN and other LMEM_* constants.
When compiling WineLib WNDPROC is defined with all the parameters
to avoid compilation problems.
* [include/user.h]
When compiling WineLib USER_HEAP_(ALLOC|REALLOC|ADDR|FREE) the
calls are translated to the library allocation routines.
* [include/gdi.h,user.h]
When compiling WineLib GDI_HEAP_(ALLOC|ADDR|FREE) the calls are
translated to the library allocation routines.
* [include/atom.h]
Defined LocalAlign. When compiling the emulator it's translated as
a call to LocalAlloc (the original code), when compiling WineLib
as a call to LocalAlloc with a WINE-flag called LMEM_WINE_ALIGN
(atom.c needs aligned data on a 4 byte boundary).
* [misc/file.c]
Renamed KERNEL_* functions and fixed prototypes.
* [if1632/kernel.spec]
Renamed KERNEL_* functions in order to be used by applications
using Wine as a library (OpeFile, _lclose, _lread, _lcreate,
_llseek, _lopen, _lwrite).
* [Makefile]
Create library instead of executable when building target
libwine.a
Tue Feb 8 13:52:11 1994 Miguel de Icaza (miguel@roxanne)
* [Makefiles]
Use $(CC) instead of cc.
Added libwine target.
* [include/prototypes]
#ifdefed section for WineLib
* moved loader/cursor.c to misc/cursor.c
moved loader/resource.c to misc/resource.c
moved misc/emulate.c to miscemu/emulate.c
moved misc/int1a.c to miscemu/int1a.c
moved misc/int21.c to miscemu/int21.c
moved misc/kernel.c to miscemu/kernel.c
moved misc/user.c to miscemu/user.c
* [memorylib/heap.c]
Heap management for WineLib
* [misc/comm.c]
Modified to allow compilation under SunOS (#include errno, SunOS
doesn't have atexit ()).
* [misc/dos_fs.c]
Modified to allow compilation under SunOS (#include vfs.h)
* [misc/file.c]
Modified to allow compilation under SunOS (OPEN_MAX constant,
#include unistd.h)
* [objects/palette.c]
Modified to allow compilation under SunOS (#include limits)
* [toolkit/sup.c]
WineLib version of CallWindowProc.
* [windows/event.c]
Typedef XPointer under X11R4 (OpenWindows).
* [windows/win.c]
When compiling WineLib, use direct callbacks instead of the
windows supplied callbacks.
Mon Feb 7 22:37:34 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/cursor.c]
New function CURSOR_SetWinCursor(), for internal use, to set
the cursor of a specific window more reliably than with SetCursor().
* [windows/nonclient.c]
Better window management. Moving and resizing from the system
menu should work now.
Added scroll-bar mouse tracking.
* [windows/win.c]
Moved scroll-bar creation and destruction to defwnd.c.
Feb 5, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [windows/nonclient.c]
Call to StdDrawMenuBar() during NC's drawing.
New NC_TrackMouseMenuBar() function which call
MenuButtonDown(), MenuButtonUp() & MenuMouseMove().
* [controls/menu.c]
New ChangeMenu() function.
Remove permanently old Xt menu code.
Make common functions MenuButtonDown(), MenuButtonUp()
& MenuMouseMove() for both popups & menubar.
* [controls/combo.c]
Paint OBM_COMBO directly in combo client.
* [controls/listbox.c]
Fix bug in multicolumns calculations.
* [controls/Makefile]
Remove rules for old file 'caption.c'.
* [misc/kernel.c]
Remove empty stub GetModuleFileName().
* [loader/library.c]
New GetModuleHandle() function.
New GetModuleUsage() function.
New GetModuleFileName() function.
* [loader/resource.c]
Try to find the bug a missing menu loading ... Not found yet !
* [windows/win.c]
Remove old menubar creation.
Thu Feb 3 22:30:11 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/winsocket.c]
More functions added.
* [if1632/winsock.spec] [misc/winsocket.c]
Added John Brezak's winsock.dll stuff.
1994-03-01 19:48:04 +00:00
|
|
|
/***********************************************************************
|
1995-01-09 18:21:16 +00:00
|
|
|
* PatBlt (GDI.29)
|
Release 940301
Tue Mar 1 11:30:21 1994 Bob Amstadt (bob@pooh)
* [Configure] [*/Imakefile]
Created configure script to handle different types of Wine builds.
* [Configure] [tools/build.c] [if1632/Imakefile] [Wine.tmpl]
Added ability to compile Wine on systems with 14-char filename limit.
* [if1632/relay.c] [include/options.h] [misc/main.c]
Added -relaydbg option to command line if DEBUG_RELAY is defined.
* [loader/selector.c]
Fixed bug in GetEntryDLLName() that caused Wine to seg fault.
* [memory/heap.c]
Fixed LocalInit() to work correctly.
* [misc/user.c]
Added code to call loaded DLLs' initialization routines.
Tue Mar 1 01:01:17 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/dce.c]
Added clipping of child windows by their parent's client area.
* [windows/nonclient.c]
Bug fix in NC_DoNCPaint().
* [windows/painting.c]
Bug fix in RedrawWindow().
Feb 27, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [mem/atom.c]
Bug fix again in ATOM_DeleteAtom() :
change LocalFree() by USER_HEAP_FREE().
(Previous patch done Feb 13th had been lost)
* [controls/scroll.c]
Move bitmaps loading in AllocScrollBar() instead of in WM_CREATE.
* [windows/class.c] (sorry Alex ...)
There was no bug there "in RegisterClass() :
WNDCLASS->lpszClassName was reset to NULL."
^^^^^
* [misc/clipboard.c] --- New File ---
New function EnumClipboardFormats().
New function OpenClipboard().
New function CloseClipboard().
New function EmptyClipboard().
New function GetClipboardOwner().
New function GetClipboardViewer().
New function CountClipboardFormats().
New function IsClipboardFormatAvailable().
New function OpenClipboard().
New function GetClipboardData().
New function SetClipboardViewer().
New function EnumClipboardFormats().
New function RegisterClipboardFormat().
New function ChangeClipboardChain().
New function SetClipboardData().
New function GetOpenClipboardWindow().
New function GetPriorityClipboardFormat().
New function GetClipboardFormatName().
Tue Mar 1 20:15:45 1994 Erik Bos <erik@trashcan.hacktic.nl>
* [misc/comm.c]
bugfix in OpenComm().
Tue Feb 22 18:04:02 1994 Jeffrey Hsu <hsu@freefall.cdrom.com>
* [include/winsock.h]
The sockproto struct is already defined in <sys/socket.h>
* [misc/winsock.c]
Need to include <netinet/in.h> for struct in-addr.
Use sys_errlist[] instead of strerror[].
*[toolkit/heap.c]
ANSI C specifies that the malloc functions are defined in stdlib.h,
so we don't need to include malloc.h.
*[loader/ldtlib.c]
Print informative error message about probable cause of i386_set_ldt()
failure and then exit.
*[Imakefile]
For systems that don't use gmake by default, set the MAKE variable
to gmake and propagate it on recursive makes.
Take out -li386 for FreeBSD systems and define __FreeBSD__ so Wine
can be built with the FreeBSD 1.0.2 compiler.
Tue Feb 22 02:52:19 EST 1994 jrichard@cs.uml.edu (John Richardson)
* [objects/bitblt.c]
Added in three functions to do stretching and compression
for WHITEONBLACK, BLACKONWHITE, and color copies.
Tue Feb 22 15:01:31 EST 1994 jrichard@cs.uml.edu (John Richardson)
* [windows/graphics.c]
Added FloodFill and FloodFill_rec. FloodFill_rec is pretty
inefficent, but should suffice for now.
* [include/windows.h]
Changed the x,y paramaters for the FloodFill prototype
from ints to shorts
Tue Feb 22 00:58:28 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/widgets.c]
Added desktop window class.
* [windows/painting.c]
Bug fix in RedrawWindow().
Implemented ExcludeUpdateRgn().
* [windows/win.c] [windows/winpos.c]
Implemented desktop window.
* [controls/desktop.c]
Preliminary desktop window procedure.
Feb 20, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/menu.c]
New function LoadMenuIndirect().
New function GetMenuCheckMarkDimensions().
* [if1632/user.spec]
Entry for DefDlgProc().
* [windows/class.c]
Fix bug in RegisterClass() :
WNDCLASS->lpszMenuName was reset to NULL.
* [windows/win.c]
In CreateWindowEx(), if hMenu == 0 then use
wndclass->lpszMenuName to load Menu from resource;
Mon Feb 21 22:38:28 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/library.c] [loader/wine.c]
Fixed runing DLL's as main executable problem.
* [misc/dos_fs.c]
Added wildcard support in DOS_readdir().
* [misc/winsocket.c]
Added proper error handling of BSD winsocket functions.
* [miscemu/int21.c]
KERNEL_DOS3Call renamed to DOS3Call and modified to use do_int21().
* [main/main.c]
Added functions for GetVersion, GetWinFlags and GetTimerResolution
for libwine.a, SystemParametersInfo() partly implemented.
Tue Feb 22 19:00:02 1994 Miguel de Icaza (miguel@xochitl.nuclecu.unam.mx)
* [toolkit/winmain.c]
Added _WinMain function. Setups the library (calls USER_InitApp).
* [toolkit/sup.c]
Added load_mz_header, load_ne_header, load_type_info and
load_name_info functions.
* [toolkit/heap.c]
Code cleanup.
* [misc/user.c]
Moved from loader/misc.c. I hope to put back all the loader
functions in the ~loader subdirectory in the future. CUrrently is
needed since it has USER_InitApp.
* [misc/resource.c]
Since WineLib will probably need DLLs (currently it needs
Sysres.dll). WineLib will be using much code of the loader again.
So I removed some ifdefs that were used by WineLib.
Added load_typeinfo and load_nameinfo (and the corresponding
functions in [toolkit/sup.c]
Added integer convertion functions in the needed places.
Added very ugly patch (includes wine.c). In the next release I
plan to move back all the loader routines to ~/loader. In the
meantime I needed this patch. It doesn't affect any of the
emulator code (its ifdefed for WineLib).
* [misc/main.c]
Cleaned up call to WinMain (now uses [toolkit/winmain.c]
Ifdefed argument number checking when compiling the library.
* [loader/wine.c]
Modified to use load_(mz|ne)_header instead of doing a direct
read. When compiling the emulator it still uses the direct read
for performance.
* [include/wine.h]
Prototypes for loading routines.
* [include/class.h]
Added WINE_PACKED macro instead of __attribute__ ((packed))
* [include/arch.h]
Macros for converting integers (Little endian to big-endian).
Needed in the Sun to allow loading of DLL files.
Mon Feb 14 23:48:09 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/clipping.c]
Moved everything into windows/painting.c and removed this file.
* [windows/message.c]
Removed calls to memmove() in MSG_RemoveMsg().
* [windows/nonclient.c]
Added WM_GETMINMAXINFO support for window resizing.
* [windows/painting.c]
Implemented RedrawWindow().
* [windows/scroll.c]
Bug fix in ScrollWindowEx().
* [windows/win.c]
Moved UpdateWindow() to windows/painting.c.
Fri Feb 11 12:41:28 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/wine.c] [misc/dos_fs.c]
getenv() eq NULL bugfixes.
* [misc/comm.c]
cfmakeraw changed for SunOS.
Feb 13, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [mem/atom.c]
Bug fix in ATOM_DeleteAtom() :
change LocalFree() by USER_HEAP_FREE().
* [misc/message.c]
New function FatalAppExit().
* [objects/font.c]
New empty stub SetMapperFlags().
* [controls/menu.c]
Better CheckMark & other bitmaps placement.
* [windows/graphics.c]
New function RoundRect() : calc.exe now working...
Tue Feb 15 14:29:37 1994 John Richardson
* [objects/bitblt.c]
Fixed StretchBlt so it works quicker and faster. It still doesn't
use the StretchMode bits for bitmap compression, but that will
come soon.
Mon Feb 14 13:21:04 1994 Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
* [include/windows.h,dialog.h,gdi.h]
Changed __atribute__ ((packed)) for WINE_PACKED.
When compiling the library this is defined as nothing. This gets
rid with all the problems compiling under SunOS. Also
* [windows/utility.c]
Added DebugPrintString.
* [toolkit/sup.c]
Added hSysRes = 1 definition to resolve externals.
Added CallLineDDAProc function (toolkit version).
Added toy, and hi ineficient memmove until code in message.c get
rewritten.
* [objects/gdiobj.c]
Ifdefed linux/emulator-dependent code to allow compilation of
WineLib.
* [misc/winsocket.c]
Added ifdef to allow compilation under SunOS.
* [misc/resource.c]
When compiling the library, the resource file is expected to be in
a file called $argv[0].Res. Also the information of the resource
is expected to be at offset 0 of the .Res file.
* [misc/main.c]
Call WinMain with arguments if compiling WineLib.
Call shutdown functions (Comm_DeInit, DOS_DeInitFS).
Call sync_profiles to preserve changes to .INI files.
* [misc/comm.c,dos_fs.c]
removed call to atexit(Comm_DeInit)
removed call to atexit(DOS_DeInitFS)
Shutdown functions are now called from the return of WinMain
* removed memorylib subdirectory
* moved memory/atom.c to misc/atom.c
moved memorylib/heap.c to toolkit/heap.c
* [loader/wine.c]
Moved DebugPrintString to windows/utility.c
* [include/winsock.h]
Define SO_DONTLINGER only if it has not been previously defined.
* [include/windows.h]
added definition for DLGPROC.
added definition for LMEM_WINE_ALIGN and other LMEM_* constants.
When compiling WineLib WNDPROC is defined with all the parameters
to avoid compilation problems.
* [include/user.h]
When compiling WineLib USER_HEAP_(ALLOC|REALLOC|ADDR|FREE) the
calls are translated to the library allocation routines.
* [include/gdi.h,user.h]
When compiling WineLib GDI_HEAP_(ALLOC|ADDR|FREE) the calls are
translated to the library allocation routines.
* [include/atom.h]
Defined LocalAlign. When compiling the emulator it's translated as
a call to LocalAlloc (the original code), when compiling WineLib
as a call to LocalAlloc with a WINE-flag called LMEM_WINE_ALIGN
(atom.c needs aligned data on a 4 byte boundary).
* [misc/file.c]
Renamed KERNEL_* functions and fixed prototypes.
* [if1632/kernel.spec]
Renamed KERNEL_* functions in order to be used by applications
using Wine as a library (OpeFile, _lclose, _lread, _lcreate,
_llseek, _lopen, _lwrite).
* [Makefile]
Create library instead of executable when building target
libwine.a
Tue Feb 8 13:52:11 1994 Miguel de Icaza (miguel@roxanne)
* [Makefiles]
Use $(CC) instead of cc.
Added libwine target.
* [include/prototypes]
#ifdefed section for WineLib
* moved loader/cursor.c to misc/cursor.c
moved loader/resource.c to misc/resource.c
moved misc/emulate.c to miscemu/emulate.c
moved misc/int1a.c to miscemu/int1a.c
moved misc/int21.c to miscemu/int21.c
moved misc/kernel.c to miscemu/kernel.c
moved misc/user.c to miscemu/user.c
* [memorylib/heap.c]
Heap management for WineLib
* [misc/comm.c]
Modified to allow compilation under SunOS (#include errno, SunOS
doesn't have atexit ()).
* [misc/dos_fs.c]
Modified to allow compilation under SunOS (#include vfs.h)
* [misc/file.c]
Modified to allow compilation under SunOS (OPEN_MAX constant,
#include unistd.h)
* [objects/palette.c]
Modified to allow compilation under SunOS (#include limits)
* [toolkit/sup.c]
WineLib version of CallWindowProc.
* [windows/event.c]
Typedef XPointer under X11R4 (OpenWindows).
* [windows/win.c]
When compiling WineLib, use direct callbacks instead of the
windows supplied callbacks.
Mon Feb 7 22:37:34 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/cursor.c]
New function CURSOR_SetWinCursor(), for internal use, to set
the cursor of a specific window more reliably than with SetCursor().
* [windows/nonclient.c]
Better window management. Moving and resizing from the system
menu should work now.
Added scroll-bar mouse tracking.
* [windows/win.c]
Moved scroll-bar creation and destruction to defwnd.c.
Feb 5, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [windows/nonclient.c]
Call to StdDrawMenuBar() during NC's drawing.
New NC_TrackMouseMenuBar() function which call
MenuButtonDown(), MenuButtonUp() & MenuMouseMove().
* [controls/menu.c]
New ChangeMenu() function.
Remove permanently old Xt menu code.
Make common functions MenuButtonDown(), MenuButtonUp()
& MenuMouseMove() for both popups & menubar.
* [controls/combo.c]
Paint OBM_COMBO directly in combo client.
* [controls/listbox.c]
Fix bug in multicolumns calculations.
* [controls/Makefile]
Remove rules for old file 'caption.c'.
* [misc/kernel.c]
Remove empty stub GetModuleFileName().
* [loader/library.c]
New GetModuleHandle() function.
New GetModuleUsage() function.
New GetModuleFileName() function.
* [loader/resource.c]
Try to find the bug a missing menu loading ... Not found yet !
* [windows/win.c]
Remove old menubar creation.
Thu Feb 3 22:30:11 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/winsocket.c]
More functions added.
* [if1632/winsock.spec] [misc/winsocket.c]
Added John Brezak's winsock.dll stuff.
1994-03-01 19:48:04 +00:00
|
|
|
*/
|
1995-01-09 18:21:16 +00:00
|
|
|
BOOL PatBlt( HDC hdc, short left, short top,
|
|
|
|
short width, short height, DWORD rop)
|
Release 940301
Tue Mar 1 11:30:21 1994 Bob Amstadt (bob@pooh)
* [Configure] [*/Imakefile]
Created configure script to handle different types of Wine builds.
* [Configure] [tools/build.c] [if1632/Imakefile] [Wine.tmpl]
Added ability to compile Wine on systems with 14-char filename limit.
* [if1632/relay.c] [include/options.h] [misc/main.c]
Added -relaydbg option to command line if DEBUG_RELAY is defined.
* [loader/selector.c]
Fixed bug in GetEntryDLLName() that caused Wine to seg fault.
* [memory/heap.c]
Fixed LocalInit() to work correctly.
* [misc/user.c]
Added code to call loaded DLLs' initialization routines.
Tue Mar 1 01:01:17 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/dce.c]
Added clipping of child windows by their parent's client area.
* [windows/nonclient.c]
Bug fix in NC_DoNCPaint().
* [windows/painting.c]
Bug fix in RedrawWindow().
Feb 27, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [mem/atom.c]
Bug fix again in ATOM_DeleteAtom() :
change LocalFree() by USER_HEAP_FREE().
(Previous patch done Feb 13th had been lost)
* [controls/scroll.c]
Move bitmaps loading in AllocScrollBar() instead of in WM_CREATE.
* [windows/class.c] (sorry Alex ...)
There was no bug there "in RegisterClass() :
WNDCLASS->lpszClassName was reset to NULL."
^^^^^
* [misc/clipboard.c] --- New File ---
New function EnumClipboardFormats().
New function OpenClipboard().
New function CloseClipboard().
New function EmptyClipboard().
New function GetClipboardOwner().
New function GetClipboardViewer().
New function CountClipboardFormats().
New function IsClipboardFormatAvailable().
New function OpenClipboard().
New function GetClipboardData().
New function SetClipboardViewer().
New function EnumClipboardFormats().
New function RegisterClipboardFormat().
New function ChangeClipboardChain().
New function SetClipboardData().
New function GetOpenClipboardWindow().
New function GetPriorityClipboardFormat().
New function GetClipboardFormatName().
Tue Mar 1 20:15:45 1994 Erik Bos <erik@trashcan.hacktic.nl>
* [misc/comm.c]
bugfix in OpenComm().
Tue Feb 22 18:04:02 1994 Jeffrey Hsu <hsu@freefall.cdrom.com>
* [include/winsock.h]
The sockproto struct is already defined in <sys/socket.h>
* [misc/winsock.c]
Need to include <netinet/in.h> for struct in-addr.
Use sys_errlist[] instead of strerror[].
*[toolkit/heap.c]
ANSI C specifies that the malloc functions are defined in stdlib.h,
so we don't need to include malloc.h.
*[loader/ldtlib.c]
Print informative error message about probable cause of i386_set_ldt()
failure and then exit.
*[Imakefile]
For systems that don't use gmake by default, set the MAKE variable
to gmake and propagate it on recursive makes.
Take out -li386 for FreeBSD systems and define __FreeBSD__ so Wine
can be built with the FreeBSD 1.0.2 compiler.
Tue Feb 22 02:52:19 EST 1994 jrichard@cs.uml.edu (John Richardson)
* [objects/bitblt.c]
Added in three functions to do stretching and compression
for WHITEONBLACK, BLACKONWHITE, and color copies.
Tue Feb 22 15:01:31 EST 1994 jrichard@cs.uml.edu (John Richardson)
* [windows/graphics.c]
Added FloodFill and FloodFill_rec. FloodFill_rec is pretty
inefficent, but should suffice for now.
* [include/windows.h]
Changed the x,y paramaters for the FloodFill prototype
from ints to shorts
Tue Feb 22 00:58:28 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/widgets.c]
Added desktop window class.
* [windows/painting.c]
Bug fix in RedrawWindow().
Implemented ExcludeUpdateRgn().
* [windows/win.c] [windows/winpos.c]
Implemented desktop window.
* [controls/desktop.c]
Preliminary desktop window procedure.
Feb 20, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/menu.c]
New function LoadMenuIndirect().
New function GetMenuCheckMarkDimensions().
* [if1632/user.spec]
Entry for DefDlgProc().
* [windows/class.c]
Fix bug in RegisterClass() :
WNDCLASS->lpszMenuName was reset to NULL.
* [windows/win.c]
In CreateWindowEx(), if hMenu == 0 then use
wndclass->lpszMenuName to load Menu from resource;
Mon Feb 21 22:38:28 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/library.c] [loader/wine.c]
Fixed runing DLL's as main executable problem.
* [misc/dos_fs.c]
Added wildcard support in DOS_readdir().
* [misc/winsocket.c]
Added proper error handling of BSD winsocket functions.
* [miscemu/int21.c]
KERNEL_DOS3Call renamed to DOS3Call and modified to use do_int21().
* [main/main.c]
Added functions for GetVersion, GetWinFlags and GetTimerResolution
for libwine.a, SystemParametersInfo() partly implemented.
Tue Feb 22 19:00:02 1994 Miguel de Icaza (miguel@xochitl.nuclecu.unam.mx)
* [toolkit/winmain.c]
Added _WinMain function. Setups the library (calls USER_InitApp).
* [toolkit/sup.c]
Added load_mz_header, load_ne_header, load_type_info and
load_name_info functions.
* [toolkit/heap.c]
Code cleanup.
* [misc/user.c]
Moved from loader/misc.c. I hope to put back all the loader
functions in the ~loader subdirectory in the future. CUrrently is
needed since it has USER_InitApp.
* [misc/resource.c]
Since WineLib will probably need DLLs (currently it needs
Sysres.dll). WineLib will be using much code of the loader again.
So I removed some ifdefs that were used by WineLib.
Added load_typeinfo and load_nameinfo (and the corresponding
functions in [toolkit/sup.c]
Added integer convertion functions in the needed places.
Added very ugly patch (includes wine.c). In the next release I
plan to move back all the loader routines to ~/loader. In the
meantime I needed this patch. It doesn't affect any of the
emulator code (its ifdefed for WineLib).
* [misc/main.c]
Cleaned up call to WinMain (now uses [toolkit/winmain.c]
Ifdefed argument number checking when compiling the library.
* [loader/wine.c]
Modified to use load_(mz|ne)_header instead of doing a direct
read. When compiling the emulator it still uses the direct read
for performance.
* [include/wine.h]
Prototypes for loading routines.
* [include/class.h]
Added WINE_PACKED macro instead of __attribute__ ((packed))
* [include/arch.h]
Macros for converting integers (Little endian to big-endian).
Needed in the Sun to allow loading of DLL files.
Mon Feb 14 23:48:09 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/clipping.c]
Moved everything into windows/painting.c and removed this file.
* [windows/message.c]
Removed calls to memmove() in MSG_RemoveMsg().
* [windows/nonclient.c]
Added WM_GETMINMAXINFO support for window resizing.
* [windows/painting.c]
Implemented RedrawWindow().
* [windows/scroll.c]
Bug fix in ScrollWindowEx().
* [windows/win.c]
Moved UpdateWindow() to windows/painting.c.
Fri Feb 11 12:41:28 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/wine.c] [misc/dos_fs.c]
getenv() eq NULL bugfixes.
* [misc/comm.c]
cfmakeraw changed for SunOS.
Feb 13, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [mem/atom.c]
Bug fix in ATOM_DeleteAtom() :
change LocalFree() by USER_HEAP_FREE().
* [misc/message.c]
New function FatalAppExit().
* [objects/font.c]
New empty stub SetMapperFlags().
* [controls/menu.c]
Better CheckMark & other bitmaps placement.
* [windows/graphics.c]
New function RoundRect() : calc.exe now working...
Tue Feb 15 14:29:37 1994 John Richardson
* [objects/bitblt.c]
Fixed StretchBlt so it works quicker and faster. It still doesn't
use the StretchMode bits for bitmap compression, but that will
come soon.
Mon Feb 14 13:21:04 1994 Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
* [include/windows.h,dialog.h,gdi.h]
Changed __atribute__ ((packed)) for WINE_PACKED.
When compiling the library this is defined as nothing. This gets
rid with all the problems compiling under SunOS. Also
* [windows/utility.c]
Added DebugPrintString.
* [toolkit/sup.c]
Added hSysRes = 1 definition to resolve externals.
Added CallLineDDAProc function (toolkit version).
Added toy, and hi ineficient memmove until code in message.c get
rewritten.
* [objects/gdiobj.c]
Ifdefed linux/emulator-dependent code to allow compilation of
WineLib.
* [misc/winsocket.c]
Added ifdef to allow compilation under SunOS.
* [misc/resource.c]
When compiling the library, the resource file is expected to be in
a file called $argv[0].Res. Also the information of the resource
is expected to be at offset 0 of the .Res file.
* [misc/main.c]
Call WinMain with arguments if compiling WineLib.
Call shutdown functions (Comm_DeInit, DOS_DeInitFS).
Call sync_profiles to preserve changes to .INI files.
* [misc/comm.c,dos_fs.c]
removed call to atexit(Comm_DeInit)
removed call to atexit(DOS_DeInitFS)
Shutdown functions are now called from the return of WinMain
* removed memorylib subdirectory
* moved memory/atom.c to misc/atom.c
moved memorylib/heap.c to toolkit/heap.c
* [loader/wine.c]
Moved DebugPrintString to windows/utility.c
* [include/winsock.h]
Define SO_DONTLINGER only if it has not been previously defined.
* [include/windows.h]
added definition for DLGPROC.
added definition for LMEM_WINE_ALIGN and other LMEM_* constants.
When compiling WineLib WNDPROC is defined with all the parameters
to avoid compilation problems.
* [include/user.h]
When compiling WineLib USER_HEAP_(ALLOC|REALLOC|ADDR|FREE) the
calls are translated to the library allocation routines.
* [include/gdi.h,user.h]
When compiling WineLib GDI_HEAP_(ALLOC|ADDR|FREE) the calls are
translated to the library allocation routines.
* [include/atom.h]
Defined LocalAlign. When compiling the emulator it's translated as
a call to LocalAlloc (the original code), when compiling WineLib
as a call to LocalAlloc with a WINE-flag called LMEM_WINE_ALIGN
(atom.c needs aligned data on a 4 byte boundary).
* [misc/file.c]
Renamed KERNEL_* functions and fixed prototypes.
* [if1632/kernel.spec]
Renamed KERNEL_* functions in order to be used by applications
using Wine as a library (OpeFile, _lclose, _lread, _lcreate,
_llseek, _lopen, _lwrite).
* [Makefile]
Create library instead of executable when building target
libwine.a
Tue Feb 8 13:52:11 1994 Miguel de Icaza (miguel@roxanne)
* [Makefiles]
Use $(CC) instead of cc.
Added libwine target.
* [include/prototypes]
#ifdefed section for WineLib
* moved loader/cursor.c to misc/cursor.c
moved loader/resource.c to misc/resource.c
moved misc/emulate.c to miscemu/emulate.c
moved misc/int1a.c to miscemu/int1a.c
moved misc/int21.c to miscemu/int21.c
moved misc/kernel.c to miscemu/kernel.c
moved misc/user.c to miscemu/user.c
* [memorylib/heap.c]
Heap management for WineLib
* [misc/comm.c]
Modified to allow compilation under SunOS (#include errno, SunOS
doesn't have atexit ()).
* [misc/dos_fs.c]
Modified to allow compilation under SunOS (#include vfs.h)
* [misc/file.c]
Modified to allow compilation under SunOS (OPEN_MAX constant,
#include unistd.h)
* [objects/palette.c]
Modified to allow compilation under SunOS (#include limits)
* [toolkit/sup.c]
WineLib version of CallWindowProc.
* [windows/event.c]
Typedef XPointer under X11R4 (OpenWindows).
* [windows/win.c]
When compiling WineLib, use direct callbacks instead of the
windows supplied callbacks.
Mon Feb 7 22:37:34 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/cursor.c]
New function CURSOR_SetWinCursor(), for internal use, to set
the cursor of a specific window more reliably than with SetCursor().
* [windows/nonclient.c]
Better window management. Moving and resizing from the system
menu should work now.
Added scroll-bar mouse tracking.
* [windows/win.c]
Moved scroll-bar creation and destruction to defwnd.c.
Feb 5, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [windows/nonclient.c]
Call to StdDrawMenuBar() during NC's drawing.
New NC_TrackMouseMenuBar() function which call
MenuButtonDown(), MenuButtonUp() & MenuMouseMove().
* [controls/menu.c]
New ChangeMenu() function.
Remove permanently old Xt menu code.
Make common functions MenuButtonDown(), MenuButtonUp()
& MenuMouseMove() for both popups & menubar.
* [controls/combo.c]
Paint OBM_COMBO directly in combo client.
* [controls/listbox.c]
Fix bug in multicolumns calculations.
* [controls/Makefile]
Remove rules for old file 'caption.c'.
* [misc/kernel.c]
Remove empty stub GetModuleFileName().
* [loader/library.c]
New GetModuleHandle() function.
New GetModuleUsage() function.
New GetModuleFileName() function.
* [loader/resource.c]
Try to find the bug a missing menu loading ... Not found yet !
* [windows/win.c]
Remove old menubar creation.
Thu Feb 3 22:30:11 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/winsocket.c]
More functions added.
* [if1632/winsock.spec] [misc/winsocket.c]
Added John Brezak's winsock.dll stuff.
1994-03-01 19:48:04 +00:00
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
DC * dc = (DC *) GDI_GetObjPtr( hdc, DC_MAGIC );
|
|
|
|
if (!dc)
|
|
|
|
{
|
|
|
|
dc = (DC *)GDI_GetObjPtr(hdc, METAFILE_DC_MAGIC);
|
|
|
|
if (!dc) return FALSE;
|
|
|
|
MF_MetaParam6(dc, META_PATBLT, left, top, width, height,
|
|
|
|
HIWORD(rop), LOWORD(rop));
|
|
|
|
return TRUE;
|
|
|
|
}
|
Release 940301
Tue Mar 1 11:30:21 1994 Bob Amstadt (bob@pooh)
* [Configure] [*/Imakefile]
Created configure script to handle different types of Wine builds.
* [Configure] [tools/build.c] [if1632/Imakefile] [Wine.tmpl]
Added ability to compile Wine on systems with 14-char filename limit.
* [if1632/relay.c] [include/options.h] [misc/main.c]
Added -relaydbg option to command line if DEBUG_RELAY is defined.
* [loader/selector.c]
Fixed bug in GetEntryDLLName() that caused Wine to seg fault.
* [memory/heap.c]
Fixed LocalInit() to work correctly.
* [misc/user.c]
Added code to call loaded DLLs' initialization routines.
Tue Mar 1 01:01:17 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/dce.c]
Added clipping of child windows by their parent's client area.
* [windows/nonclient.c]
Bug fix in NC_DoNCPaint().
* [windows/painting.c]
Bug fix in RedrawWindow().
Feb 27, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [mem/atom.c]
Bug fix again in ATOM_DeleteAtom() :
change LocalFree() by USER_HEAP_FREE().
(Previous patch done Feb 13th had been lost)
* [controls/scroll.c]
Move bitmaps loading in AllocScrollBar() instead of in WM_CREATE.
* [windows/class.c] (sorry Alex ...)
There was no bug there "in RegisterClass() :
WNDCLASS->lpszClassName was reset to NULL."
^^^^^
* [misc/clipboard.c] --- New File ---
New function EnumClipboardFormats().
New function OpenClipboard().
New function CloseClipboard().
New function EmptyClipboard().
New function GetClipboardOwner().
New function GetClipboardViewer().
New function CountClipboardFormats().
New function IsClipboardFormatAvailable().
New function OpenClipboard().
New function GetClipboardData().
New function SetClipboardViewer().
New function EnumClipboardFormats().
New function RegisterClipboardFormat().
New function ChangeClipboardChain().
New function SetClipboardData().
New function GetOpenClipboardWindow().
New function GetPriorityClipboardFormat().
New function GetClipboardFormatName().
Tue Mar 1 20:15:45 1994 Erik Bos <erik@trashcan.hacktic.nl>
* [misc/comm.c]
bugfix in OpenComm().
Tue Feb 22 18:04:02 1994 Jeffrey Hsu <hsu@freefall.cdrom.com>
* [include/winsock.h]
The sockproto struct is already defined in <sys/socket.h>
* [misc/winsock.c]
Need to include <netinet/in.h> for struct in-addr.
Use sys_errlist[] instead of strerror[].
*[toolkit/heap.c]
ANSI C specifies that the malloc functions are defined in stdlib.h,
so we don't need to include malloc.h.
*[loader/ldtlib.c]
Print informative error message about probable cause of i386_set_ldt()
failure and then exit.
*[Imakefile]
For systems that don't use gmake by default, set the MAKE variable
to gmake and propagate it on recursive makes.
Take out -li386 for FreeBSD systems and define __FreeBSD__ so Wine
can be built with the FreeBSD 1.0.2 compiler.
Tue Feb 22 02:52:19 EST 1994 jrichard@cs.uml.edu (John Richardson)
* [objects/bitblt.c]
Added in three functions to do stretching and compression
for WHITEONBLACK, BLACKONWHITE, and color copies.
Tue Feb 22 15:01:31 EST 1994 jrichard@cs.uml.edu (John Richardson)
* [windows/graphics.c]
Added FloodFill and FloodFill_rec. FloodFill_rec is pretty
inefficent, but should suffice for now.
* [include/windows.h]
Changed the x,y paramaters for the FloodFill prototype
from ints to shorts
Tue Feb 22 00:58:28 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/widgets.c]
Added desktop window class.
* [windows/painting.c]
Bug fix in RedrawWindow().
Implemented ExcludeUpdateRgn().
* [windows/win.c] [windows/winpos.c]
Implemented desktop window.
* [controls/desktop.c]
Preliminary desktop window procedure.
Feb 20, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/menu.c]
New function LoadMenuIndirect().
New function GetMenuCheckMarkDimensions().
* [if1632/user.spec]
Entry for DefDlgProc().
* [windows/class.c]
Fix bug in RegisterClass() :
WNDCLASS->lpszMenuName was reset to NULL.
* [windows/win.c]
In CreateWindowEx(), if hMenu == 0 then use
wndclass->lpszMenuName to load Menu from resource;
Mon Feb 21 22:38:28 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/library.c] [loader/wine.c]
Fixed runing DLL's as main executable problem.
* [misc/dos_fs.c]
Added wildcard support in DOS_readdir().
* [misc/winsocket.c]
Added proper error handling of BSD winsocket functions.
* [miscemu/int21.c]
KERNEL_DOS3Call renamed to DOS3Call and modified to use do_int21().
* [main/main.c]
Added functions for GetVersion, GetWinFlags and GetTimerResolution
for libwine.a, SystemParametersInfo() partly implemented.
Tue Feb 22 19:00:02 1994 Miguel de Icaza (miguel@xochitl.nuclecu.unam.mx)
* [toolkit/winmain.c]
Added _WinMain function. Setups the library (calls USER_InitApp).
* [toolkit/sup.c]
Added load_mz_header, load_ne_header, load_type_info and
load_name_info functions.
* [toolkit/heap.c]
Code cleanup.
* [misc/user.c]
Moved from loader/misc.c. I hope to put back all the loader
functions in the ~loader subdirectory in the future. CUrrently is
needed since it has USER_InitApp.
* [misc/resource.c]
Since WineLib will probably need DLLs (currently it needs
Sysres.dll). WineLib will be using much code of the loader again.
So I removed some ifdefs that were used by WineLib.
Added load_typeinfo and load_nameinfo (and the corresponding
functions in [toolkit/sup.c]
Added integer convertion functions in the needed places.
Added very ugly patch (includes wine.c). In the next release I
plan to move back all the loader routines to ~/loader. In the
meantime I needed this patch. It doesn't affect any of the
emulator code (its ifdefed for WineLib).
* [misc/main.c]
Cleaned up call to WinMain (now uses [toolkit/winmain.c]
Ifdefed argument number checking when compiling the library.
* [loader/wine.c]
Modified to use load_(mz|ne)_header instead of doing a direct
read. When compiling the emulator it still uses the direct read
for performance.
* [include/wine.h]
Prototypes for loading routines.
* [include/class.h]
Added WINE_PACKED macro instead of __attribute__ ((packed))
* [include/arch.h]
Macros for converting integers (Little endian to big-endian).
Needed in the Sun to allow loading of DLL files.
Mon Feb 14 23:48:09 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/clipping.c]
Moved everything into windows/painting.c and removed this file.
* [windows/message.c]
Removed calls to memmove() in MSG_RemoveMsg().
* [windows/nonclient.c]
Added WM_GETMINMAXINFO support for window resizing.
* [windows/painting.c]
Implemented RedrawWindow().
* [windows/scroll.c]
Bug fix in ScrollWindowEx().
* [windows/win.c]
Moved UpdateWindow() to windows/painting.c.
Fri Feb 11 12:41:28 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/wine.c] [misc/dos_fs.c]
getenv() eq NULL bugfixes.
* [misc/comm.c]
cfmakeraw changed for SunOS.
Feb 13, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [mem/atom.c]
Bug fix in ATOM_DeleteAtom() :
change LocalFree() by USER_HEAP_FREE().
* [misc/message.c]
New function FatalAppExit().
* [objects/font.c]
New empty stub SetMapperFlags().
* [controls/menu.c]
Better CheckMark & other bitmaps placement.
* [windows/graphics.c]
New function RoundRect() : calc.exe now working...
Tue Feb 15 14:29:37 1994 John Richardson
* [objects/bitblt.c]
Fixed StretchBlt so it works quicker and faster. It still doesn't
use the StretchMode bits for bitmap compression, but that will
come soon.
Mon Feb 14 13:21:04 1994 Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
* [include/windows.h,dialog.h,gdi.h]
Changed __atribute__ ((packed)) for WINE_PACKED.
When compiling the library this is defined as nothing. This gets
rid with all the problems compiling under SunOS. Also
* [windows/utility.c]
Added DebugPrintString.
* [toolkit/sup.c]
Added hSysRes = 1 definition to resolve externals.
Added CallLineDDAProc function (toolkit version).
Added toy, and hi ineficient memmove until code in message.c get
rewritten.
* [objects/gdiobj.c]
Ifdefed linux/emulator-dependent code to allow compilation of
WineLib.
* [misc/winsocket.c]
Added ifdef to allow compilation under SunOS.
* [misc/resource.c]
When compiling the library, the resource file is expected to be in
a file called $argv[0].Res. Also the information of the resource
is expected to be at offset 0 of the .Res file.
* [misc/main.c]
Call WinMain with arguments if compiling WineLib.
Call shutdown functions (Comm_DeInit, DOS_DeInitFS).
Call sync_profiles to preserve changes to .INI files.
* [misc/comm.c,dos_fs.c]
removed call to atexit(Comm_DeInit)
removed call to atexit(DOS_DeInitFS)
Shutdown functions are now called from the return of WinMain
* removed memorylib subdirectory
* moved memory/atom.c to misc/atom.c
moved memorylib/heap.c to toolkit/heap.c
* [loader/wine.c]
Moved DebugPrintString to windows/utility.c
* [include/winsock.h]
Define SO_DONTLINGER only if it has not been previously defined.
* [include/windows.h]
added definition for DLGPROC.
added definition for LMEM_WINE_ALIGN and other LMEM_* constants.
When compiling WineLib WNDPROC is defined with all the parameters
to avoid compilation problems.
* [include/user.h]
When compiling WineLib USER_HEAP_(ALLOC|REALLOC|ADDR|FREE) the
calls are translated to the library allocation routines.
* [include/gdi.h,user.h]
When compiling WineLib GDI_HEAP_(ALLOC|ADDR|FREE) the calls are
translated to the library allocation routines.
* [include/atom.h]
Defined LocalAlign. When compiling the emulator it's translated as
a call to LocalAlloc (the original code), when compiling WineLib
as a call to LocalAlloc with a WINE-flag called LMEM_WINE_ALIGN
(atom.c needs aligned data on a 4 byte boundary).
* [misc/file.c]
Renamed KERNEL_* functions and fixed prototypes.
* [if1632/kernel.spec]
Renamed KERNEL_* functions in order to be used by applications
using Wine as a library (OpeFile, _lclose, _lread, _lcreate,
_llseek, _lopen, _lwrite).
* [Makefile]
Create library instead of executable when building target
libwine.a
Tue Feb 8 13:52:11 1994 Miguel de Icaza (miguel@roxanne)
* [Makefiles]
Use $(CC) instead of cc.
Added libwine target.
* [include/prototypes]
#ifdefed section for WineLib
* moved loader/cursor.c to misc/cursor.c
moved loader/resource.c to misc/resource.c
moved misc/emulate.c to miscemu/emulate.c
moved misc/int1a.c to miscemu/int1a.c
moved misc/int21.c to miscemu/int21.c
moved misc/kernel.c to miscemu/kernel.c
moved misc/user.c to miscemu/user.c
* [memorylib/heap.c]
Heap management for WineLib
* [misc/comm.c]
Modified to allow compilation under SunOS (#include errno, SunOS
doesn't have atexit ()).
* [misc/dos_fs.c]
Modified to allow compilation under SunOS (#include vfs.h)
* [misc/file.c]
Modified to allow compilation under SunOS (OPEN_MAX constant,
#include unistd.h)
* [objects/palette.c]
Modified to allow compilation under SunOS (#include limits)
* [toolkit/sup.c]
WineLib version of CallWindowProc.
* [windows/event.c]
Typedef XPointer under X11R4 (OpenWindows).
* [windows/win.c]
When compiling WineLib, use direct callbacks instead of the
windows supplied callbacks.
Mon Feb 7 22:37:34 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/cursor.c]
New function CURSOR_SetWinCursor(), for internal use, to set
the cursor of a specific window more reliably than with SetCursor().
* [windows/nonclient.c]
Better window management. Moving and resizing from the system
menu should work now.
Added scroll-bar mouse tracking.
* [windows/win.c]
Moved scroll-bar creation and destruction to defwnd.c.
Feb 5, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [windows/nonclient.c]
Call to StdDrawMenuBar() during NC's drawing.
New NC_TrackMouseMenuBar() function which call
MenuButtonDown(), MenuButtonUp() & MenuMouseMove().
* [controls/menu.c]
New ChangeMenu() function.
Remove permanently old Xt menu code.
Make common functions MenuButtonDown(), MenuButtonUp()
& MenuMouseMove() for both popups & menubar.
* [controls/combo.c]
Paint OBM_COMBO directly in combo client.
* [controls/listbox.c]
Fix bug in multicolumns calculations.
* [controls/Makefile]
Remove rules for old file 'caption.c'.
* [misc/kernel.c]
Remove empty stub GetModuleFileName().
* [loader/library.c]
New GetModuleHandle() function.
New GetModuleUsage() function.
New GetModuleFileName() function.
* [loader/resource.c]
Try to find the bug a missing menu loading ... Not found yet !
* [windows/win.c]
Remove old menubar creation.
Thu Feb 3 22:30:11 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/winsocket.c]
More functions added.
* [if1632/winsock.spec] [misc/winsocket.c]
Added John Brezak's winsock.dll stuff.
1994-03-01 19:48:04 +00:00
|
|
|
|
1995-01-09 18:21:16 +00:00
|
|
|
dprintf_bitblt(stddeb, "PatBlt: %d %d,%d %dx%d %06lx\n",
|
|
|
|
hdc, left, top, width, height, rop );
|
|
|
|
|
Release 950606
Tue Jun 6 12:11:41 1995 Alexandre Julliard (julliard@sunsite.unc.edu)
* [controls/menu.c]
Fixed bug with drawing multi-column menus with vertical separator.
* [debugger/debug.l]
Fixed NULL-pointer reference after readline().
* [if1632/winprocs.spec] [miscemu/int21.c] [miscemu/interrupts.c]
Added interrupt vector emulation. Allows to retrieve an interrupt
vector and jump to it without crashing.
* [loader/ldt.c]
Moved ldt.c to memory directory.
* [loader/task.c]
Implemented LockCurrentTask() and GetInstanceData().
* [objects/bitblt.c]
Fixed a bug that caused StretchBlt() to use wrong colors when
stretching a monochrome bitmap to a color display.
* [objects/bitmap.c]
Fixed a segmented pointer bug in CreateBitmapIndirect().
* [tools/build.c]
Added possibility to have arguments for register functions; used
by interrupt vectors to remove the flags from the stack.
Generate a new function CallTo32_LargeStack(), that allows calling
a 32-bit function using the original 32-bit stack, for functions
that need more that 64k of stack.
Tue May 30 10:29:56 1995 Martin von Loewis <martin@informatik.hu-berlin.de>
* [if1632/shell.spec] [misc/shell.c]
DoEnvironmentSubst: fixed prototype
* [if1632/gdi.spec] [objects/palette.c]
SetSystemPaletteUse: new function
* [if1632/kernel.spec] [loader/resource.c]
DirectResAlloc: new function
* [if1632/user.spec] [windows/keyboard.c]
SetKeyboardState: new function
Mon May 29 12:58:28 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [tools/build.c]
Prevent interrupts from destroying the args for a 32 bit function
by loading the correct value into %esp directly after %ss.
* [loader/ne_image.c] [loader/module.c]
The new instance must be created earlier in LoadModule(), so that
fixups referencing it will be handled correctly.
Initialize the local heap for a DGROUP in NE_LoadSegment().
* [objects/dib.c]
Like RLE8 bitmaps, RLE4 bitmaps don't always end with a proper code.
This used to crash Wine. Fixed.
* [objects/text.c]
Fix possible null pointer dereference in debugging output.
* [misc/commdlg.c]
Handle user input in the edit control better. Some bugs fixed.
* [memory/local.c]
Started implementing moveable blocks. This is unfinished (!), but
at least it does not seem to break things.
Wed May 24 13:26:36 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [loader/module.c]
LoadModule(): DLLs occasionally have a data segment, and they work
much better if it is loaded :-)
LoadLibrary(): pass HMODULE instead of HINSTANCE to NE_InitializeDLLs.
FindModule(): also strip off the last backslash of the pathnames
(Winhelp tried to load C:\WINDOWS\SYSTEM\COMMDLG.DLL).
GetModuleHandle(): just call MODULE_FindModule, it does the same job,
only better.
* [loader/ne_image.c]
LocalInit() the heap of a DLL in NE_InitDLL. (This is probably
not really correct, it seems that all programs and DLLs try to do
this themselves. But they pass weird parameters.)
NE_InitializeDLLs should also call NE_InitDLL for the passed hModule.
* [loader/task.c] [misc/user.c]
Finish global initializations in InitTask instead of InitApp, or
all the DLLs will be initialized in InitTask without any available
window classes!
1995-06-06 16:40:35 +00:00
|
|
|
return CallTo32_LargeStack( (int(*)())BITBLT_InternalStretchBlt, 11,
|
|
|
|
dc, left, top, width, height,
|
|
|
|
NULL, 0, 0, 0, 0, rop );
|
Release 940301
Tue Mar 1 11:30:21 1994 Bob Amstadt (bob@pooh)
* [Configure] [*/Imakefile]
Created configure script to handle different types of Wine builds.
* [Configure] [tools/build.c] [if1632/Imakefile] [Wine.tmpl]
Added ability to compile Wine on systems with 14-char filename limit.
* [if1632/relay.c] [include/options.h] [misc/main.c]
Added -relaydbg option to command line if DEBUG_RELAY is defined.
* [loader/selector.c]
Fixed bug in GetEntryDLLName() that caused Wine to seg fault.
* [memory/heap.c]
Fixed LocalInit() to work correctly.
* [misc/user.c]
Added code to call loaded DLLs' initialization routines.
Tue Mar 1 01:01:17 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/dce.c]
Added clipping of child windows by their parent's client area.
* [windows/nonclient.c]
Bug fix in NC_DoNCPaint().
* [windows/painting.c]
Bug fix in RedrawWindow().
Feb 27, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [mem/atom.c]
Bug fix again in ATOM_DeleteAtom() :
change LocalFree() by USER_HEAP_FREE().
(Previous patch done Feb 13th had been lost)
* [controls/scroll.c]
Move bitmaps loading in AllocScrollBar() instead of in WM_CREATE.
* [windows/class.c] (sorry Alex ...)
There was no bug there "in RegisterClass() :
WNDCLASS->lpszClassName was reset to NULL."
^^^^^
* [misc/clipboard.c] --- New File ---
New function EnumClipboardFormats().
New function OpenClipboard().
New function CloseClipboard().
New function EmptyClipboard().
New function GetClipboardOwner().
New function GetClipboardViewer().
New function CountClipboardFormats().
New function IsClipboardFormatAvailable().
New function OpenClipboard().
New function GetClipboardData().
New function SetClipboardViewer().
New function EnumClipboardFormats().
New function RegisterClipboardFormat().
New function ChangeClipboardChain().
New function SetClipboardData().
New function GetOpenClipboardWindow().
New function GetPriorityClipboardFormat().
New function GetClipboardFormatName().
Tue Mar 1 20:15:45 1994 Erik Bos <erik@trashcan.hacktic.nl>
* [misc/comm.c]
bugfix in OpenComm().
Tue Feb 22 18:04:02 1994 Jeffrey Hsu <hsu@freefall.cdrom.com>
* [include/winsock.h]
The sockproto struct is already defined in <sys/socket.h>
* [misc/winsock.c]
Need to include <netinet/in.h> for struct in-addr.
Use sys_errlist[] instead of strerror[].
*[toolkit/heap.c]
ANSI C specifies that the malloc functions are defined in stdlib.h,
so we don't need to include malloc.h.
*[loader/ldtlib.c]
Print informative error message about probable cause of i386_set_ldt()
failure and then exit.
*[Imakefile]
For systems that don't use gmake by default, set the MAKE variable
to gmake and propagate it on recursive makes.
Take out -li386 for FreeBSD systems and define __FreeBSD__ so Wine
can be built with the FreeBSD 1.0.2 compiler.
Tue Feb 22 02:52:19 EST 1994 jrichard@cs.uml.edu (John Richardson)
* [objects/bitblt.c]
Added in three functions to do stretching and compression
for WHITEONBLACK, BLACKONWHITE, and color copies.
Tue Feb 22 15:01:31 EST 1994 jrichard@cs.uml.edu (John Richardson)
* [windows/graphics.c]
Added FloodFill and FloodFill_rec. FloodFill_rec is pretty
inefficent, but should suffice for now.
* [include/windows.h]
Changed the x,y paramaters for the FloodFill prototype
from ints to shorts
Tue Feb 22 00:58:28 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/widgets.c]
Added desktop window class.
* [windows/painting.c]
Bug fix in RedrawWindow().
Implemented ExcludeUpdateRgn().
* [windows/win.c] [windows/winpos.c]
Implemented desktop window.
* [controls/desktop.c]
Preliminary desktop window procedure.
Feb 20, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/menu.c]
New function LoadMenuIndirect().
New function GetMenuCheckMarkDimensions().
* [if1632/user.spec]
Entry for DefDlgProc().
* [windows/class.c]
Fix bug in RegisterClass() :
WNDCLASS->lpszMenuName was reset to NULL.
* [windows/win.c]
In CreateWindowEx(), if hMenu == 0 then use
wndclass->lpszMenuName to load Menu from resource;
Mon Feb 21 22:38:28 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/library.c] [loader/wine.c]
Fixed runing DLL's as main executable problem.
* [misc/dos_fs.c]
Added wildcard support in DOS_readdir().
* [misc/winsocket.c]
Added proper error handling of BSD winsocket functions.
* [miscemu/int21.c]
KERNEL_DOS3Call renamed to DOS3Call and modified to use do_int21().
* [main/main.c]
Added functions for GetVersion, GetWinFlags and GetTimerResolution
for libwine.a, SystemParametersInfo() partly implemented.
Tue Feb 22 19:00:02 1994 Miguel de Icaza (miguel@xochitl.nuclecu.unam.mx)
* [toolkit/winmain.c]
Added _WinMain function. Setups the library (calls USER_InitApp).
* [toolkit/sup.c]
Added load_mz_header, load_ne_header, load_type_info and
load_name_info functions.
* [toolkit/heap.c]
Code cleanup.
* [misc/user.c]
Moved from loader/misc.c. I hope to put back all the loader
functions in the ~loader subdirectory in the future. CUrrently is
needed since it has USER_InitApp.
* [misc/resource.c]
Since WineLib will probably need DLLs (currently it needs
Sysres.dll). WineLib will be using much code of the loader again.
So I removed some ifdefs that were used by WineLib.
Added load_typeinfo and load_nameinfo (and the corresponding
functions in [toolkit/sup.c]
Added integer convertion functions in the needed places.
Added very ugly patch (includes wine.c). In the next release I
plan to move back all the loader routines to ~/loader. In the
meantime I needed this patch. It doesn't affect any of the
emulator code (its ifdefed for WineLib).
* [misc/main.c]
Cleaned up call to WinMain (now uses [toolkit/winmain.c]
Ifdefed argument number checking when compiling the library.
* [loader/wine.c]
Modified to use load_(mz|ne)_header instead of doing a direct
read. When compiling the emulator it still uses the direct read
for performance.
* [include/wine.h]
Prototypes for loading routines.
* [include/class.h]
Added WINE_PACKED macro instead of __attribute__ ((packed))
* [include/arch.h]
Macros for converting integers (Little endian to big-endian).
Needed in the Sun to allow loading of DLL files.
Mon Feb 14 23:48:09 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/clipping.c]
Moved everything into windows/painting.c and removed this file.
* [windows/message.c]
Removed calls to memmove() in MSG_RemoveMsg().
* [windows/nonclient.c]
Added WM_GETMINMAXINFO support for window resizing.
* [windows/painting.c]
Implemented RedrawWindow().
* [windows/scroll.c]
Bug fix in ScrollWindowEx().
* [windows/win.c]
Moved UpdateWindow() to windows/painting.c.
Fri Feb 11 12:41:28 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/wine.c] [misc/dos_fs.c]
getenv() eq NULL bugfixes.
* [misc/comm.c]
cfmakeraw changed for SunOS.
Feb 13, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [mem/atom.c]
Bug fix in ATOM_DeleteAtom() :
change LocalFree() by USER_HEAP_FREE().
* [misc/message.c]
New function FatalAppExit().
* [objects/font.c]
New empty stub SetMapperFlags().
* [controls/menu.c]
Better CheckMark & other bitmaps placement.
* [windows/graphics.c]
New function RoundRect() : calc.exe now working...
Tue Feb 15 14:29:37 1994 John Richardson
* [objects/bitblt.c]
Fixed StretchBlt so it works quicker and faster. It still doesn't
use the StretchMode bits for bitmap compression, but that will
come soon.
Mon Feb 14 13:21:04 1994 Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
* [include/windows.h,dialog.h,gdi.h]
Changed __atribute__ ((packed)) for WINE_PACKED.
When compiling the library this is defined as nothing. This gets
rid with all the problems compiling under SunOS. Also
* [windows/utility.c]
Added DebugPrintString.
* [toolkit/sup.c]
Added hSysRes = 1 definition to resolve externals.
Added CallLineDDAProc function (toolkit version).
Added toy, and hi ineficient memmove until code in message.c get
rewritten.
* [objects/gdiobj.c]
Ifdefed linux/emulator-dependent code to allow compilation of
WineLib.
* [misc/winsocket.c]
Added ifdef to allow compilation under SunOS.
* [misc/resource.c]
When compiling the library, the resource file is expected to be in
a file called $argv[0].Res. Also the information of the resource
is expected to be at offset 0 of the .Res file.
* [misc/main.c]
Call WinMain with arguments if compiling WineLib.
Call shutdown functions (Comm_DeInit, DOS_DeInitFS).
Call sync_profiles to preserve changes to .INI files.
* [misc/comm.c,dos_fs.c]
removed call to atexit(Comm_DeInit)
removed call to atexit(DOS_DeInitFS)
Shutdown functions are now called from the return of WinMain
* removed memorylib subdirectory
* moved memory/atom.c to misc/atom.c
moved memorylib/heap.c to toolkit/heap.c
* [loader/wine.c]
Moved DebugPrintString to windows/utility.c
* [include/winsock.h]
Define SO_DONTLINGER only if it has not been previously defined.
* [include/windows.h]
added definition for DLGPROC.
added definition for LMEM_WINE_ALIGN and other LMEM_* constants.
When compiling WineLib WNDPROC is defined with all the parameters
to avoid compilation problems.
* [include/user.h]
When compiling WineLib USER_HEAP_(ALLOC|REALLOC|ADDR|FREE) the
calls are translated to the library allocation routines.
* [include/gdi.h,user.h]
When compiling WineLib GDI_HEAP_(ALLOC|ADDR|FREE) the calls are
translated to the library allocation routines.
* [include/atom.h]
Defined LocalAlign. When compiling the emulator it's translated as
a call to LocalAlloc (the original code), when compiling WineLib
as a call to LocalAlloc with a WINE-flag called LMEM_WINE_ALIGN
(atom.c needs aligned data on a 4 byte boundary).
* [misc/file.c]
Renamed KERNEL_* functions and fixed prototypes.
* [if1632/kernel.spec]
Renamed KERNEL_* functions in order to be used by applications
using Wine as a library (OpeFile, _lclose, _lread, _lcreate,
_llseek, _lopen, _lwrite).
* [Makefile]
Create library instead of executable when building target
libwine.a
Tue Feb 8 13:52:11 1994 Miguel de Icaza (miguel@roxanne)
* [Makefiles]
Use $(CC) instead of cc.
Added libwine target.
* [include/prototypes]
#ifdefed section for WineLib
* moved loader/cursor.c to misc/cursor.c
moved loader/resource.c to misc/resource.c
moved misc/emulate.c to miscemu/emulate.c
moved misc/int1a.c to miscemu/int1a.c
moved misc/int21.c to miscemu/int21.c
moved misc/kernel.c to miscemu/kernel.c
moved misc/user.c to miscemu/user.c
* [memorylib/heap.c]
Heap management for WineLib
* [misc/comm.c]
Modified to allow compilation under SunOS (#include errno, SunOS
doesn't have atexit ()).
* [misc/dos_fs.c]
Modified to allow compilation under SunOS (#include vfs.h)
* [misc/file.c]
Modified to allow compilation under SunOS (OPEN_MAX constant,
#include unistd.h)
* [objects/palette.c]
Modified to allow compilation under SunOS (#include limits)
* [toolkit/sup.c]
WineLib version of CallWindowProc.
* [windows/event.c]
Typedef XPointer under X11R4 (OpenWindows).
* [windows/win.c]
When compiling WineLib, use direct callbacks instead of the
windows supplied callbacks.
Mon Feb 7 22:37:34 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/cursor.c]
New function CURSOR_SetWinCursor(), for internal use, to set
the cursor of a specific window more reliably than with SetCursor().
* [windows/nonclient.c]
Better window management. Moving and resizing from the system
menu should work now.
Added scroll-bar mouse tracking.
* [windows/win.c]
Moved scroll-bar creation and destruction to defwnd.c.
Feb 5, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [windows/nonclient.c]
Call to StdDrawMenuBar() during NC's drawing.
New NC_TrackMouseMenuBar() function which call
MenuButtonDown(), MenuButtonUp() & MenuMouseMove().
* [controls/menu.c]
New ChangeMenu() function.
Remove permanently old Xt menu code.
Make common functions MenuButtonDown(), MenuButtonUp()
& MenuMouseMove() for both popups & menubar.
* [controls/combo.c]
Paint OBM_COMBO directly in combo client.
* [controls/listbox.c]
Fix bug in multicolumns calculations.
* [controls/Makefile]
Remove rules for old file 'caption.c'.
* [misc/kernel.c]
Remove empty stub GetModuleFileName().
* [loader/library.c]
New GetModuleHandle() function.
New GetModuleUsage() function.
New GetModuleFileName() function.
* [loader/resource.c]
Try to find the bug a missing menu loading ... Not found yet !
* [windows/win.c]
Remove old menubar creation.
Thu Feb 3 22:30:11 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/winsocket.c]
More functions added.
* [if1632/winsock.spec] [misc/winsocket.c]
Added John Brezak's winsock.dll stuff.
1994-03-01 19:48:04 +00:00
|
|
|
}
|
|
|
|
|
1995-01-09 18:21:16 +00:00
|
|
|
|
Release 940301
Tue Mar 1 11:30:21 1994 Bob Amstadt (bob@pooh)
* [Configure] [*/Imakefile]
Created configure script to handle different types of Wine builds.
* [Configure] [tools/build.c] [if1632/Imakefile] [Wine.tmpl]
Added ability to compile Wine on systems with 14-char filename limit.
* [if1632/relay.c] [include/options.h] [misc/main.c]
Added -relaydbg option to command line if DEBUG_RELAY is defined.
* [loader/selector.c]
Fixed bug in GetEntryDLLName() that caused Wine to seg fault.
* [memory/heap.c]
Fixed LocalInit() to work correctly.
* [misc/user.c]
Added code to call loaded DLLs' initialization routines.
Tue Mar 1 01:01:17 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/dce.c]
Added clipping of child windows by their parent's client area.
* [windows/nonclient.c]
Bug fix in NC_DoNCPaint().
* [windows/painting.c]
Bug fix in RedrawWindow().
Feb 27, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [mem/atom.c]
Bug fix again in ATOM_DeleteAtom() :
change LocalFree() by USER_HEAP_FREE().
(Previous patch done Feb 13th had been lost)
* [controls/scroll.c]
Move bitmaps loading in AllocScrollBar() instead of in WM_CREATE.
* [windows/class.c] (sorry Alex ...)
There was no bug there "in RegisterClass() :
WNDCLASS->lpszClassName was reset to NULL."
^^^^^
* [misc/clipboard.c] --- New File ---
New function EnumClipboardFormats().
New function OpenClipboard().
New function CloseClipboard().
New function EmptyClipboard().
New function GetClipboardOwner().
New function GetClipboardViewer().
New function CountClipboardFormats().
New function IsClipboardFormatAvailable().
New function OpenClipboard().
New function GetClipboardData().
New function SetClipboardViewer().
New function EnumClipboardFormats().
New function RegisterClipboardFormat().
New function ChangeClipboardChain().
New function SetClipboardData().
New function GetOpenClipboardWindow().
New function GetPriorityClipboardFormat().
New function GetClipboardFormatName().
Tue Mar 1 20:15:45 1994 Erik Bos <erik@trashcan.hacktic.nl>
* [misc/comm.c]
bugfix in OpenComm().
Tue Feb 22 18:04:02 1994 Jeffrey Hsu <hsu@freefall.cdrom.com>
* [include/winsock.h]
The sockproto struct is already defined in <sys/socket.h>
* [misc/winsock.c]
Need to include <netinet/in.h> for struct in-addr.
Use sys_errlist[] instead of strerror[].
*[toolkit/heap.c]
ANSI C specifies that the malloc functions are defined in stdlib.h,
so we don't need to include malloc.h.
*[loader/ldtlib.c]
Print informative error message about probable cause of i386_set_ldt()
failure and then exit.
*[Imakefile]
For systems that don't use gmake by default, set the MAKE variable
to gmake and propagate it on recursive makes.
Take out -li386 for FreeBSD systems and define __FreeBSD__ so Wine
can be built with the FreeBSD 1.0.2 compiler.
Tue Feb 22 02:52:19 EST 1994 jrichard@cs.uml.edu (John Richardson)
* [objects/bitblt.c]
Added in three functions to do stretching and compression
for WHITEONBLACK, BLACKONWHITE, and color copies.
Tue Feb 22 15:01:31 EST 1994 jrichard@cs.uml.edu (John Richardson)
* [windows/graphics.c]
Added FloodFill and FloodFill_rec. FloodFill_rec is pretty
inefficent, but should suffice for now.
* [include/windows.h]
Changed the x,y paramaters for the FloodFill prototype
from ints to shorts
Tue Feb 22 00:58:28 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/widgets.c]
Added desktop window class.
* [windows/painting.c]
Bug fix in RedrawWindow().
Implemented ExcludeUpdateRgn().
* [windows/win.c] [windows/winpos.c]
Implemented desktop window.
* [controls/desktop.c]
Preliminary desktop window procedure.
Feb 20, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/menu.c]
New function LoadMenuIndirect().
New function GetMenuCheckMarkDimensions().
* [if1632/user.spec]
Entry for DefDlgProc().
* [windows/class.c]
Fix bug in RegisterClass() :
WNDCLASS->lpszMenuName was reset to NULL.
* [windows/win.c]
In CreateWindowEx(), if hMenu == 0 then use
wndclass->lpszMenuName to load Menu from resource;
Mon Feb 21 22:38:28 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/library.c] [loader/wine.c]
Fixed runing DLL's as main executable problem.
* [misc/dos_fs.c]
Added wildcard support in DOS_readdir().
* [misc/winsocket.c]
Added proper error handling of BSD winsocket functions.
* [miscemu/int21.c]
KERNEL_DOS3Call renamed to DOS3Call and modified to use do_int21().
* [main/main.c]
Added functions for GetVersion, GetWinFlags and GetTimerResolution
for libwine.a, SystemParametersInfo() partly implemented.
Tue Feb 22 19:00:02 1994 Miguel de Icaza (miguel@xochitl.nuclecu.unam.mx)
* [toolkit/winmain.c]
Added _WinMain function. Setups the library (calls USER_InitApp).
* [toolkit/sup.c]
Added load_mz_header, load_ne_header, load_type_info and
load_name_info functions.
* [toolkit/heap.c]
Code cleanup.
* [misc/user.c]
Moved from loader/misc.c. I hope to put back all the loader
functions in the ~loader subdirectory in the future. CUrrently is
needed since it has USER_InitApp.
* [misc/resource.c]
Since WineLib will probably need DLLs (currently it needs
Sysres.dll). WineLib will be using much code of the loader again.
So I removed some ifdefs that were used by WineLib.
Added load_typeinfo and load_nameinfo (and the corresponding
functions in [toolkit/sup.c]
Added integer convertion functions in the needed places.
Added very ugly patch (includes wine.c). In the next release I
plan to move back all the loader routines to ~/loader. In the
meantime I needed this patch. It doesn't affect any of the
emulator code (its ifdefed for WineLib).
* [misc/main.c]
Cleaned up call to WinMain (now uses [toolkit/winmain.c]
Ifdefed argument number checking when compiling the library.
* [loader/wine.c]
Modified to use load_(mz|ne)_header instead of doing a direct
read. When compiling the emulator it still uses the direct read
for performance.
* [include/wine.h]
Prototypes for loading routines.
* [include/class.h]
Added WINE_PACKED macro instead of __attribute__ ((packed))
* [include/arch.h]
Macros for converting integers (Little endian to big-endian).
Needed in the Sun to allow loading of DLL files.
Mon Feb 14 23:48:09 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/clipping.c]
Moved everything into windows/painting.c and removed this file.
* [windows/message.c]
Removed calls to memmove() in MSG_RemoveMsg().
* [windows/nonclient.c]
Added WM_GETMINMAXINFO support for window resizing.
* [windows/painting.c]
Implemented RedrawWindow().
* [windows/scroll.c]
Bug fix in ScrollWindowEx().
* [windows/win.c]
Moved UpdateWindow() to windows/painting.c.
Fri Feb 11 12:41:28 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/wine.c] [misc/dos_fs.c]
getenv() eq NULL bugfixes.
* [misc/comm.c]
cfmakeraw changed for SunOS.
Feb 13, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [mem/atom.c]
Bug fix in ATOM_DeleteAtom() :
change LocalFree() by USER_HEAP_FREE().
* [misc/message.c]
New function FatalAppExit().
* [objects/font.c]
New empty stub SetMapperFlags().
* [controls/menu.c]
Better CheckMark & other bitmaps placement.
* [windows/graphics.c]
New function RoundRect() : calc.exe now working...
Tue Feb 15 14:29:37 1994 John Richardson
* [objects/bitblt.c]
Fixed StretchBlt so it works quicker and faster. It still doesn't
use the StretchMode bits for bitmap compression, but that will
come soon.
Mon Feb 14 13:21:04 1994 Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
* [include/windows.h,dialog.h,gdi.h]
Changed __atribute__ ((packed)) for WINE_PACKED.
When compiling the library this is defined as nothing. This gets
rid with all the problems compiling under SunOS. Also
* [windows/utility.c]
Added DebugPrintString.
* [toolkit/sup.c]
Added hSysRes = 1 definition to resolve externals.
Added CallLineDDAProc function (toolkit version).
Added toy, and hi ineficient memmove until code in message.c get
rewritten.
* [objects/gdiobj.c]
Ifdefed linux/emulator-dependent code to allow compilation of
WineLib.
* [misc/winsocket.c]
Added ifdef to allow compilation under SunOS.
* [misc/resource.c]
When compiling the library, the resource file is expected to be in
a file called $argv[0].Res. Also the information of the resource
is expected to be at offset 0 of the .Res file.
* [misc/main.c]
Call WinMain with arguments if compiling WineLib.
Call shutdown functions (Comm_DeInit, DOS_DeInitFS).
Call sync_profiles to preserve changes to .INI files.
* [misc/comm.c,dos_fs.c]
removed call to atexit(Comm_DeInit)
removed call to atexit(DOS_DeInitFS)
Shutdown functions are now called from the return of WinMain
* removed memorylib subdirectory
* moved memory/atom.c to misc/atom.c
moved memorylib/heap.c to toolkit/heap.c
* [loader/wine.c]
Moved DebugPrintString to windows/utility.c
* [include/winsock.h]
Define SO_DONTLINGER only if it has not been previously defined.
* [include/windows.h]
added definition for DLGPROC.
added definition for LMEM_WINE_ALIGN and other LMEM_* constants.
When compiling WineLib WNDPROC is defined with all the parameters
to avoid compilation problems.
* [include/user.h]
When compiling WineLib USER_HEAP_(ALLOC|REALLOC|ADDR|FREE) the
calls are translated to the library allocation routines.
* [include/gdi.h,user.h]
When compiling WineLib GDI_HEAP_(ALLOC|ADDR|FREE) the calls are
translated to the library allocation routines.
* [include/atom.h]
Defined LocalAlign. When compiling the emulator it's translated as
a call to LocalAlloc (the original code), when compiling WineLib
as a call to LocalAlloc with a WINE-flag called LMEM_WINE_ALIGN
(atom.c needs aligned data on a 4 byte boundary).
* [misc/file.c]
Renamed KERNEL_* functions and fixed prototypes.
* [if1632/kernel.spec]
Renamed KERNEL_* functions in order to be used by applications
using Wine as a library (OpeFile, _lclose, _lread, _lcreate,
_llseek, _lopen, _lwrite).
* [Makefile]
Create library instead of executable when building target
libwine.a
Tue Feb 8 13:52:11 1994 Miguel de Icaza (miguel@roxanne)
* [Makefiles]
Use $(CC) instead of cc.
Added libwine target.
* [include/prototypes]
#ifdefed section for WineLib
* moved loader/cursor.c to misc/cursor.c
moved loader/resource.c to misc/resource.c
moved misc/emulate.c to miscemu/emulate.c
moved misc/int1a.c to miscemu/int1a.c
moved misc/int21.c to miscemu/int21.c
moved misc/kernel.c to miscemu/kernel.c
moved misc/user.c to miscemu/user.c
* [memorylib/heap.c]
Heap management for WineLib
* [misc/comm.c]
Modified to allow compilation under SunOS (#include errno, SunOS
doesn't have atexit ()).
* [misc/dos_fs.c]
Modified to allow compilation under SunOS (#include vfs.h)
* [misc/file.c]
Modified to allow compilation under SunOS (OPEN_MAX constant,
#include unistd.h)
* [objects/palette.c]
Modified to allow compilation under SunOS (#include limits)
* [toolkit/sup.c]
WineLib version of CallWindowProc.
* [windows/event.c]
Typedef XPointer under X11R4 (OpenWindows).
* [windows/win.c]
When compiling WineLib, use direct callbacks instead of the
windows supplied callbacks.
Mon Feb 7 22:37:34 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/cursor.c]
New function CURSOR_SetWinCursor(), for internal use, to set
the cursor of a specific window more reliably than with SetCursor().
* [windows/nonclient.c]
Better window management. Moving and resizing from the system
menu should work now.
Added scroll-bar mouse tracking.
* [windows/win.c]
Moved scroll-bar creation and destruction to defwnd.c.
Feb 5, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [windows/nonclient.c]
Call to StdDrawMenuBar() during NC's drawing.
New NC_TrackMouseMenuBar() function which call
MenuButtonDown(), MenuButtonUp() & MenuMouseMove().
* [controls/menu.c]
New ChangeMenu() function.
Remove permanently old Xt menu code.
Make common functions MenuButtonDown(), MenuButtonUp()
& MenuMouseMove() for both popups & menubar.
* [controls/combo.c]
Paint OBM_COMBO directly in combo client.
* [controls/listbox.c]
Fix bug in multicolumns calculations.
* [controls/Makefile]
Remove rules for old file 'caption.c'.
* [misc/kernel.c]
Remove empty stub GetModuleFileName().
* [loader/library.c]
New GetModuleHandle() function.
New GetModuleUsage() function.
New GetModuleFileName() function.
* [loader/resource.c]
Try to find the bug a missing menu loading ... Not found yet !
* [windows/win.c]
Remove old menubar creation.
Thu Feb 3 22:30:11 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/winsocket.c]
More functions added.
* [if1632/winsock.spec] [misc/winsocket.c]
Added John Brezak's winsock.dll stuff.
1994-03-01 19:48:04 +00:00
|
|
|
/***********************************************************************
|
1995-01-09 18:21:16 +00:00
|
|
|
* BitBlt (GDI.34)
|
Release 940301
Tue Mar 1 11:30:21 1994 Bob Amstadt (bob@pooh)
* [Configure] [*/Imakefile]
Created configure script to handle different types of Wine builds.
* [Configure] [tools/build.c] [if1632/Imakefile] [Wine.tmpl]
Added ability to compile Wine on systems with 14-char filename limit.
* [if1632/relay.c] [include/options.h] [misc/main.c]
Added -relaydbg option to command line if DEBUG_RELAY is defined.
* [loader/selector.c]
Fixed bug in GetEntryDLLName() that caused Wine to seg fault.
* [memory/heap.c]
Fixed LocalInit() to work correctly.
* [misc/user.c]
Added code to call loaded DLLs' initialization routines.
Tue Mar 1 01:01:17 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/dce.c]
Added clipping of child windows by their parent's client area.
* [windows/nonclient.c]
Bug fix in NC_DoNCPaint().
* [windows/painting.c]
Bug fix in RedrawWindow().
Feb 27, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [mem/atom.c]
Bug fix again in ATOM_DeleteAtom() :
change LocalFree() by USER_HEAP_FREE().
(Previous patch done Feb 13th had been lost)
* [controls/scroll.c]
Move bitmaps loading in AllocScrollBar() instead of in WM_CREATE.
* [windows/class.c] (sorry Alex ...)
There was no bug there "in RegisterClass() :
WNDCLASS->lpszClassName was reset to NULL."
^^^^^
* [misc/clipboard.c] --- New File ---
New function EnumClipboardFormats().
New function OpenClipboard().
New function CloseClipboard().
New function EmptyClipboard().
New function GetClipboardOwner().
New function GetClipboardViewer().
New function CountClipboardFormats().
New function IsClipboardFormatAvailable().
New function OpenClipboard().
New function GetClipboardData().
New function SetClipboardViewer().
New function EnumClipboardFormats().
New function RegisterClipboardFormat().
New function ChangeClipboardChain().
New function SetClipboardData().
New function GetOpenClipboardWindow().
New function GetPriorityClipboardFormat().
New function GetClipboardFormatName().
Tue Mar 1 20:15:45 1994 Erik Bos <erik@trashcan.hacktic.nl>
* [misc/comm.c]
bugfix in OpenComm().
Tue Feb 22 18:04:02 1994 Jeffrey Hsu <hsu@freefall.cdrom.com>
* [include/winsock.h]
The sockproto struct is already defined in <sys/socket.h>
* [misc/winsock.c]
Need to include <netinet/in.h> for struct in-addr.
Use sys_errlist[] instead of strerror[].
*[toolkit/heap.c]
ANSI C specifies that the malloc functions are defined in stdlib.h,
so we don't need to include malloc.h.
*[loader/ldtlib.c]
Print informative error message about probable cause of i386_set_ldt()
failure and then exit.
*[Imakefile]
For systems that don't use gmake by default, set the MAKE variable
to gmake and propagate it on recursive makes.
Take out -li386 for FreeBSD systems and define __FreeBSD__ so Wine
can be built with the FreeBSD 1.0.2 compiler.
Tue Feb 22 02:52:19 EST 1994 jrichard@cs.uml.edu (John Richardson)
* [objects/bitblt.c]
Added in three functions to do stretching and compression
for WHITEONBLACK, BLACKONWHITE, and color copies.
Tue Feb 22 15:01:31 EST 1994 jrichard@cs.uml.edu (John Richardson)
* [windows/graphics.c]
Added FloodFill and FloodFill_rec. FloodFill_rec is pretty
inefficent, but should suffice for now.
* [include/windows.h]
Changed the x,y paramaters for the FloodFill prototype
from ints to shorts
Tue Feb 22 00:58:28 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/widgets.c]
Added desktop window class.
* [windows/painting.c]
Bug fix in RedrawWindow().
Implemented ExcludeUpdateRgn().
* [windows/win.c] [windows/winpos.c]
Implemented desktop window.
* [controls/desktop.c]
Preliminary desktop window procedure.
Feb 20, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/menu.c]
New function LoadMenuIndirect().
New function GetMenuCheckMarkDimensions().
* [if1632/user.spec]
Entry for DefDlgProc().
* [windows/class.c]
Fix bug in RegisterClass() :
WNDCLASS->lpszMenuName was reset to NULL.
* [windows/win.c]
In CreateWindowEx(), if hMenu == 0 then use
wndclass->lpszMenuName to load Menu from resource;
Mon Feb 21 22:38:28 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/library.c] [loader/wine.c]
Fixed runing DLL's as main executable problem.
* [misc/dos_fs.c]
Added wildcard support in DOS_readdir().
* [misc/winsocket.c]
Added proper error handling of BSD winsocket functions.
* [miscemu/int21.c]
KERNEL_DOS3Call renamed to DOS3Call and modified to use do_int21().
* [main/main.c]
Added functions for GetVersion, GetWinFlags and GetTimerResolution
for libwine.a, SystemParametersInfo() partly implemented.
Tue Feb 22 19:00:02 1994 Miguel de Icaza (miguel@xochitl.nuclecu.unam.mx)
* [toolkit/winmain.c]
Added _WinMain function. Setups the library (calls USER_InitApp).
* [toolkit/sup.c]
Added load_mz_header, load_ne_header, load_type_info and
load_name_info functions.
* [toolkit/heap.c]
Code cleanup.
* [misc/user.c]
Moved from loader/misc.c. I hope to put back all the loader
functions in the ~loader subdirectory in the future. CUrrently is
needed since it has USER_InitApp.
* [misc/resource.c]
Since WineLib will probably need DLLs (currently it needs
Sysres.dll). WineLib will be using much code of the loader again.
So I removed some ifdefs that were used by WineLib.
Added load_typeinfo and load_nameinfo (and the corresponding
functions in [toolkit/sup.c]
Added integer convertion functions in the needed places.
Added very ugly patch (includes wine.c). In the next release I
plan to move back all the loader routines to ~/loader. In the
meantime I needed this patch. It doesn't affect any of the
emulator code (its ifdefed for WineLib).
* [misc/main.c]
Cleaned up call to WinMain (now uses [toolkit/winmain.c]
Ifdefed argument number checking when compiling the library.
* [loader/wine.c]
Modified to use load_(mz|ne)_header instead of doing a direct
read. When compiling the emulator it still uses the direct read
for performance.
* [include/wine.h]
Prototypes for loading routines.
* [include/class.h]
Added WINE_PACKED macro instead of __attribute__ ((packed))
* [include/arch.h]
Macros for converting integers (Little endian to big-endian).
Needed in the Sun to allow loading of DLL files.
Mon Feb 14 23:48:09 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/clipping.c]
Moved everything into windows/painting.c and removed this file.
* [windows/message.c]
Removed calls to memmove() in MSG_RemoveMsg().
* [windows/nonclient.c]
Added WM_GETMINMAXINFO support for window resizing.
* [windows/painting.c]
Implemented RedrawWindow().
* [windows/scroll.c]
Bug fix in ScrollWindowEx().
* [windows/win.c]
Moved UpdateWindow() to windows/painting.c.
Fri Feb 11 12:41:28 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/wine.c] [misc/dos_fs.c]
getenv() eq NULL bugfixes.
* [misc/comm.c]
cfmakeraw changed for SunOS.
Feb 13, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [mem/atom.c]
Bug fix in ATOM_DeleteAtom() :
change LocalFree() by USER_HEAP_FREE().
* [misc/message.c]
New function FatalAppExit().
* [objects/font.c]
New empty stub SetMapperFlags().
* [controls/menu.c]
Better CheckMark & other bitmaps placement.
* [windows/graphics.c]
New function RoundRect() : calc.exe now working...
Tue Feb 15 14:29:37 1994 John Richardson
* [objects/bitblt.c]
Fixed StretchBlt so it works quicker and faster. It still doesn't
use the StretchMode bits for bitmap compression, but that will
come soon.
Mon Feb 14 13:21:04 1994 Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
* [include/windows.h,dialog.h,gdi.h]
Changed __atribute__ ((packed)) for WINE_PACKED.
When compiling the library this is defined as nothing. This gets
rid with all the problems compiling under SunOS. Also
* [windows/utility.c]
Added DebugPrintString.
* [toolkit/sup.c]
Added hSysRes = 1 definition to resolve externals.
Added CallLineDDAProc function (toolkit version).
Added toy, and hi ineficient memmove until code in message.c get
rewritten.
* [objects/gdiobj.c]
Ifdefed linux/emulator-dependent code to allow compilation of
WineLib.
* [misc/winsocket.c]
Added ifdef to allow compilation under SunOS.
* [misc/resource.c]
When compiling the library, the resource file is expected to be in
a file called $argv[0].Res. Also the information of the resource
is expected to be at offset 0 of the .Res file.
* [misc/main.c]
Call WinMain with arguments if compiling WineLib.
Call shutdown functions (Comm_DeInit, DOS_DeInitFS).
Call sync_profiles to preserve changes to .INI files.
* [misc/comm.c,dos_fs.c]
removed call to atexit(Comm_DeInit)
removed call to atexit(DOS_DeInitFS)
Shutdown functions are now called from the return of WinMain
* removed memorylib subdirectory
* moved memory/atom.c to misc/atom.c
moved memorylib/heap.c to toolkit/heap.c
* [loader/wine.c]
Moved DebugPrintString to windows/utility.c
* [include/winsock.h]
Define SO_DONTLINGER only if it has not been previously defined.
* [include/windows.h]
added definition for DLGPROC.
added definition for LMEM_WINE_ALIGN and other LMEM_* constants.
When compiling WineLib WNDPROC is defined with all the parameters
to avoid compilation problems.
* [include/user.h]
When compiling WineLib USER_HEAP_(ALLOC|REALLOC|ADDR|FREE) the
calls are translated to the library allocation routines.
* [include/gdi.h,user.h]
When compiling WineLib GDI_HEAP_(ALLOC|ADDR|FREE) the calls are
translated to the library allocation routines.
* [include/atom.h]
Defined LocalAlign. When compiling the emulator it's translated as
a call to LocalAlloc (the original code), when compiling WineLib
as a call to LocalAlloc with a WINE-flag called LMEM_WINE_ALIGN
(atom.c needs aligned data on a 4 byte boundary).
* [misc/file.c]
Renamed KERNEL_* functions and fixed prototypes.
* [if1632/kernel.spec]
Renamed KERNEL_* functions in order to be used by applications
using Wine as a library (OpeFile, _lclose, _lread, _lcreate,
_llseek, _lopen, _lwrite).
* [Makefile]
Create library instead of executable when building target
libwine.a
Tue Feb 8 13:52:11 1994 Miguel de Icaza (miguel@roxanne)
* [Makefiles]
Use $(CC) instead of cc.
Added libwine target.
* [include/prototypes]
#ifdefed section for WineLib
* moved loader/cursor.c to misc/cursor.c
moved loader/resource.c to misc/resource.c
moved misc/emulate.c to miscemu/emulate.c
moved misc/int1a.c to miscemu/int1a.c
moved misc/int21.c to miscemu/int21.c
moved misc/kernel.c to miscemu/kernel.c
moved misc/user.c to miscemu/user.c
* [memorylib/heap.c]
Heap management for WineLib
* [misc/comm.c]
Modified to allow compilation under SunOS (#include errno, SunOS
doesn't have atexit ()).
* [misc/dos_fs.c]
Modified to allow compilation under SunOS (#include vfs.h)
* [misc/file.c]
Modified to allow compilation under SunOS (OPEN_MAX constant,
#include unistd.h)
* [objects/palette.c]
Modified to allow compilation under SunOS (#include limits)
* [toolkit/sup.c]
WineLib version of CallWindowProc.
* [windows/event.c]
Typedef XPointer under X11R4 (OpenWindows).
* [windows/win.c]
When compiling WineLib, use direct callbacks instead of the
windows supplied callbacks.
Mon Feb 7 22:37:34 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/cursor.c]
New function CURSOR_SetWinCursor(), for internal use, to set
the cursor of a specific window more reliably than with SetCursor().
* [windows/nonclient.c]
Better window management. Moving and resizing from the system
menu should work now.
Added scroll-bar mouse tracking.
* [windows/win.c]
Moved scroll-bar creation and destruction to defwnd.c.
Feb 5, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [windows/nonclient.c]
Call to StdDrawMenuBar() during NC's drawing.
New NC_TrackMouseMenuBar() function which call
MenuButtonDown(), MenuButtonUp() & MenuMouseMove().
* [controls/menu.c]
New ChangeMenu() function.
Remove permanently old Xt menu code.
Make common functions MenuButtonDown(), MenuButtonUp()
& MenuMouseMove() for both popups & menubar.
* [controls/combo.c]
Paint OBM_COMBO directly in combo client.
* [controls/listbox.c]
Fix bug in multicolumns calculations.
* [controls/Makefile]
Remove rules for old file 'caption.c'.
* [misc/kernel.c]
Remove empty stub GetModuleFileName().
* [loader/library.c]
New GetModuleHandle() function.
New GetModuleUsage() function.
New GetModuleFileName() function.
* [loader/resource.c]
Try to find the bug a missing menu loading ... Not found yet !
* [windows/win.c]
Remove old menubar creation.
Thu Feb 3 22:30:11 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/winsocket.c]
More functions added.
* [if1632/winsock.spec] [misc/winsocket.c]
Added John Brezak's winsock.dll stuff.
1994-03-01 19:48:04 +00:00
|
|
|
*/
|
1995-01-09 18:21:16 +00:00
|
|
|
BOOL BitBlt( HDC hdcDst, short xDst, short yDst, short width, short height,
|
|
|
|
HDC hdcSrc, short xSrc, short ySrc, DWORD rop )
|
Release 940301
Tue Mar 1 11:30:21 1994 Bob Amstadt (bob@pooh)
* [Configure] [*/Imakefile]
Created configure script to handle different types of Wine builds.
* [Configure] [tools/build.c] [if1632/Imakefile] [Wine.tmpl]
Added ability to compile Wine on systems with 14-char filename limit.
* [if1632/relay.c] [include/options.h] [misc/main.c]
Added -relaydbg option to command line if DEBUG_RELAY is defined.
* [loader/selector.c]
Fixed bug in GetEntryDLLName() that caused Wine to seg fault.
* [memory/heap.c]
Fixed LocalInit() to work correctly.
* [misc/user.c]
Added code to call loaded DLLs' initialization routines.
Tue Mar 1 01:01:17 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/dce.c]
Added clipping of child windows by their parent's client area.
* [windows/nonclient.c]
Bug fix in NC_DoNCPaint().
* [windows/painting.c]
Bug fix in RedrawWindow().
Feb 27, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [mem/atom.c]
Bug fix again in ATOM_DeleteAtom() :
change LocalFree() by USER_HEAP_FREE().
(Previous patch done Feb 13th had been lost)
* [controls/scroll.c]
Move bitmaps loading in AllocScrollBar() instead of in WM_CREATE.
* [windows/class.c] (sorry Alex ...)
There was no bug there "in RegisterClass() :
WNDCLASS->lpszClassName was reset to NULL."
^^^^^
* [misc/clipboard.c] --- New File ---
New function EnumClipboardFormats().
New function OpenClipboard().
New function CloseClipboard().
New function EmptyClipboard().
New function GetClipboardOwner().
New function GetClipboardViewer().
New function CountClipboardFormats().
New function IsClipboardFormatAvailable().
New function OpenClipboard().
New function GetClipboardData().
New function SetClipboardViewer().
New function EnumClipboardFormats().
New function RegisterClipboardFormat().
New function ChangeClipboardChain().
New function SetClipboardData().
New function GetOpenClipboardWindow().
New function GetPriorityClipboardFormat().
New function GetClipboardFormatName().
Tue Mar 1 20:15:45 1994 Erik Bos <erik@trashcan.hacktic.nl>
* [misc/comm.c]
bugfix in OpenComm().
Tue Feb 22 18:04:02 1994 Jeffrey Hsu <hsu@freefall.cdrom.com>
* [include/winsock.h]
The sockproto struct is already defined in <sys/socket.h>
* [misc/winsock.c]
Need to include <netinet/in.h> for struct in-addr.
Use sys_errlist[] instead of strerror[].
*[toolkit/heap.c]
ANSI C specifies that the malloc functions are defined in stdlib.h,
so we don't need to include malloc.h.
*[loader/ldtlib.c]
Print informative error message about probable cause of i386_set_ldt()
failure and then exit.
*[Imakefile]
For systems that don't use gmake by default, set the MAKE variable
to gmake and propagate it on recursive makes.
Take out -li386 for FreeBSD systems and define __FreeBSD__ so Wine
can be built with the FreeBSD 1.0.2 compiler.
Tue Feb 22 02:52:19 EST 1994 jrichard@cs.uml.edu (John Richardson)
* [objects/bitblt.c]
Added in three functions to do stretching and compression
for WHITEONBLACK, BLACKONWHITE, and color copies.
Tue Feb 22 15:01:31 EST 1994 jrichard@cs.uml.edu (John Richardson)
* [windows/graphics.c]
Added FloodFill and FloodFill_rec. FloodFill_rec is pretty
inefficent, but should suffice for now.
* [include/windows.h]
Changed the x,y paramaters for the FloodFill prototype
from ints to shorts
Tue Feb 22 00:58:28 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/widgets.c]
Added desktop window class.
* [windows/painting.c]
Bug fix in RedrawWindow().
Implemented ExcludeUpdateRgn().
* [windows/win.c] [windows/winpos.c]
Implemented desktop window.
* [controls/desktop.c]
Preliminary desktop window procedure.
Feb 20, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/menu.c]
New function LoadMenuIndirect().
New function GetMenuCheckMarkDimensions().
* [if1632/user.spec]
Entry for DefDlgProc().
* [windows/class.c]
Fix bug in RegisterClass() :
WNDCLASS->lpszMenuName was reset to NULL.
* [windows/win.c]
In CreateWindowEx(), if hMenu == 0 then use
wndclass->lpszMenuName to load Menu from resource;
Mon Feb 21 22:38:28 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/library.c] [loader/wine.c]
Fixed runing DLL's as main executable problem.
* [misc/dos_fs.c]
Added wildcard support in DOS_readdir().
* [misc/winsocket.c]
Added proper error handling of BSD winsocket functions.
* [miscemu/int21.c]
KERNEL_DOS3Call renamed to DOS3Call and modified to use do_int21().
* [main/main.c]
Added functions for GetVersion, GetWinFlags and GetTimerResolution
for libwine.a, SystemParametersInfo() partly implemented.
Tue Feb 22 19:00:02 1994 Miguel de Icaza (miguel@xochitl.nuclecu.unam.mx)
* [toolkit/winmain.c]
Added _WinMain function. Setups the library (calls USER_InitApp).
* [toolkit/sup.c]
Added load_mz_header, load_ne_header, load_type_info and
load_name_info functions.
* [toolkit/heap.c]
Code cleanup.
* [misc/user.c]
Moved from loader/misc.c. I hope to put back all the loader
functions in the ~loader subdirectory in the future. CUrrently is
needed since it has USER_InitApp.
* [misc/resource.c]
Since WineLib will probably need DLLs (currently it needs
Sysres.dll). WineLib will be using much code of the loader again.
So I removed some ifdefs that were used by WineLib.
Added load_typeinfo and load_nameinfo (and the corresponding
functions in [toolkit/sup.c]
Added integer convertion functions in the needed places.
Added very ugly patch (includes wine.c). In the next release I
plan to move back all the loader routines to ~/loader. In the
meantime I needed this patch. It doesn't affect any of the
emulator code (its ifdefed for WineLib).
* [misc/main.c]
Cleaned up call to WinMain (now uses [toolkit/winmain.c]
Ifdefed argument number checking when compiling the library.
* [loader/wine.c]
Modified to use load_(mz|ne)_header instead of doing a direct
read. When compiling the emulator it still uses the direct read
for performance.
* [include/wine.h]
Prototypes for loading routines.
* [include/class.h]
Added WINE_PACKED macro instead of __attribute__ ((packed))
* [include/arch.h]
Macros for converting integers (Little endian to big-endian).
Needed in the Sun to allow loading of DLL files.
Mon Feb 14 23:48:09 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/clipping.c]
Moved everything into windows/painting.c and removed this file.
* [windows/message.c]
Removed calls to memmove() in MSG_RemoveMsg().
* [windows/nonclient.c]
Added WM_GETMINMAXINFO support for window resizing.
* [windows/painting.c]
Implemented RedrawWindow().
* [windows/scroll.c]
Bug fix in ScrollWindowEx().
* [windows/win.c]
Moved UpdateWindow() to windows/painting.c.
Fri Feb 11 12:41:28 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/wine.c] [misc/dos_fs.c]
getenv() eq NULL bugfixes.
* [misc/comm.c]
cfmakeraw changed for SunOS.
Feb 13, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [mem/atom.c]
Bug fix in ATOM_DeleteAtom() :
change LocalFree() by USER_HEAP_FREE().
* [misc/message.c]
New function FatalAppExit().
* [objects/font.c]
New empty stub SetMapperFlags().
* [controls/menu.c]
Better CheckMark & other bitmaps placement.
* [windows/graphics.c]
New function RoundRect() : calc.exe now working...
Tue Feb 15 14:29:37 1994 John Richardson
* [objects/bitblt.c]
Fixed StretchBlt so it works quicker and faster. It still doesn't
use the StretchMode bits for bitmap compression, but that will
come soon.
Mon Feb 14 13:21:04 1994 Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
* [include/windows.h,dialog.h,gdi.h]
Changed __atribute__ ((packed)) for WINE_PACKED.
When compiling the library this is defined as nothing. This gets
rid with all the problems compiling under SunOS. Also
* [windows/utility.c]
Added DebugPrintString.
* [toolkit/sup.c]
Added hSysRes = 1 definition to resolve externals.
Added CallLineDDAProc function (toolkit version).
Added toy, and hi ineficient memmove until code in message.c get
rewritten.
* [objects/gdiobj.c]
Ifdefed linux/emulator-dependent code to allow compilation of
WineLib.
* [misc/winsocket.c]
Added ifdef to allow compilation under SunOS.
* [misc/resource.c]
When compiling the library, the resource file is expected to be in
a file called $argv[0].Res. Also the information of the resource
is expected to be at offset 0 of the .Res file.
* [misc/main.c]
Call WinMain with arguments if compiling WineLib.
Call shutdown functions (Comm_DeInit, DOS_DeInitFS).
Call sync_profiles to preserve changes to .INI files.
* [misc/comm.c,dos_fs.c]
removed call to atexit(Comm_DeInit)
removed call to atexit(DOS_DeInitFS)
Shutdown functions are now called from the return of WinMain
* removed memorylib subdirectory
* moved memory/atom.c to misc/atom.c
moved memorylib/heap.c to toolkit/heap.c
* [loader/wine.c]
Moved DebugPrintString to windows/utility.c
* [include/winsock.h]
Define SO_DONTLINGER only if it has not been previously defined.
* [include/windows.h]
added definition for DLGPROC.
added definition for LMEM_WINE_ALIGN and other LMEM_* constants.
When compiling WineLib WNDPROC is defined with all the parameters
to avoid compilation problems.
* [include/user.h]
When compiling WineLib USER_HEAP_(ALLOC|REALLOC|ADDR|FREE) the
calls are translated to the library allocation routines.
* [include/gdi.h,user.h]
When compiling WineLib GDI_HEAP_(ALLOC|ADDR|FREE) the calls are
translated to the library allocation routines.
* [include/atom.h]
Defined LocalAlign. When compiling the emulator it's translated as
a call to LocalAlloc (the original code), when compiling WineLib
as a call to LocalAlloc with a WINE-flag called LMEM_WINE_ALIGN
(atom.c needs aligned data on a 4 byte boundary).
* [misc/file.c]
Renamed KERNEL_* functions and fixed prototypes.
* [if1632/kernel.spec]
Renamed KERNEL_* functions in order to be used by applications
using Wine as a library (OpeFile, _lclose, _lread, _lcreate,
_llseek, _lopen, _lwrite).
* [Makefile]
Create library instead of executable when building target
libwine.a
Tue Feb 8 13:52:11 1994 Miguel de Icaza (miguel@roxanne)
* [Makefiles]
Use $(CC) instead of cc.
Added libwine target.
* [include/prototypes]
#ifdefed section for WineLib
* moved loader/cursor.c to misc/cursor.c
moved loader/resource.c to misc/resource.c
moved misc/emulate.c to miscemu/emulate.c
moved misc/int1a.c to miscemu/int1a.c
moved misc/int21.c to miscemu/int21.c
moved misc/kernel.c to miscemu/kernel.c
moved misc/user.c to miscemu/user.c
* [memorylib/heap.c]
Heap management for WineLib
* [misc/comm.c]
Modified to allow compilation under SunOS (#include errno, SunOS
doesn't have atexit ()).
* [misc/dos_fs.c]
Modified to allow compilation under SunOS (#include vfs.h)
* [misc/file.c]
Modified to allow compilation under SunOS (OPEN_MAX constant,
#include unistd.h)
* [objects/palette.c]
Modified to allow compilation under SunOS (#include limits)
* [toolkit/sup.c]
WineLib version of CallWindowProc.
* [windows/event.c]
Typedef XPointer under X11R4 (OpenWindows).
* [windows/win.c]
When compiling WineLib, use direct callbacks instead of the
windows supplied callbacks.
Mon Feb 7 22:37:34 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/cursor.c]
New function CURSOR_SetWinCursor(), for internal use, to set
the cursor of a specific window more reliably than with SetCursor().
* [windows/nonclient.c]
Better window management. Moving and resizing from the system
menu should work now.
Added scroll-bar mouse tracking.
* [windows/win.c]
Moved scroll-bar creation and destruction to defwnd.c.
Feb 5, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [windows/nonclient.c]
Call to StdDrawMenuBar() during NC's drawing.
New NC_TrackMouseMenuBar() function which call
MenuButtonDown(), MenuButtonUp() & MenuMouseMove().
* [controls/menu.c]
New ChangeMenu() function.
Remove permanently old Xt menu code.
Make common functions MenuButtonDown(), MenuButtonUp()
& MenuMouseMove() for both popups & menubar.
* [controls/combo.c]
Paint OBM_COMBO directly in combo client.
* [controls/listbox.c]
Fix bug in multicolumns calculations.
* [controls/Makefile]
Remove rules for old file 'caption.c'.
* [misc/kernel.c]
Remove empty stub GetModuleFileName().
* [loader/library.c]
New GetModuleHandle() function.
New GetModuleUsage() function.
New GetModuleFileName() function.
* [loader/resource.c]
Try to find the bug a missing menu loading ... Not found yet !
* [windows/win.c]
Remove old menubar creation.
Thu Feb 3 22:30:11 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/winsocket.c]
More functions added.
* [if1632/winsock.spec] [misc/winsocket.c]
Added John Brezak's winsock.dll stuff.
1994-03-01 19:48:04 +00:00
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
DC *dcDst, *dcSrc;
|
Release 940301
Tue Mar 1 11:30:21 1994 Bob Amstadt (bob@pooh)
* [Configure] [*/Imakefile]
Created configure script to handle different types of Wine builds.
* [Configure] [tools/build.c] [if1632/Imakefile] [Wine.tmpl]
Added ability to compile Wine on systems with 14-char filename limit.
* [if1632/relay.c] [include/options.h] [misc/main.c]
Added -relaydbg option to command line if DEBUG_RELAY is defined.
* [loader/selector.c]
Fixed bug in GetEntryDLLName() that caused Wine to seg fault.
* [memory/heap.c]
Fixed LocalInit() to work correctly.
* [misc/user.c]
Added code to call loaded DLLs' initialization routines.
Tue Mar 1 01:01:17 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/dce.c]
Added clipping of child windows by their parent's client area.
* [windows/nonclient.c]
Bug fix in NC_DoNCPaint().
* [windows/painting.c]
Bug fix in RedrawWindow().
Feb 27, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [mem/atom.c]
Bug fix again in ATOM_DeleteAtom() :
change LocalFree() by USER_HEAP_FREE().
(Previous patch done Feb 13th had been lost)
* [controls/scroll.c]
Move bitmaps loading in AllocScrollBar() instead of in WM_CREATE.
* [windows/class.c] (sorry Alex ...)
There was no bug there "in RegisterClass() :
WNDCLASS->lpszClassName was reset to NULL."
^^^^^
* [misc/clipboard.c] --- New File ---
New function EnumClipboardFormats().
New function OpenClipboard().
New function CloseClipboard().
New function EmptyClipboard().
New function GetClipboardOwner().
New function GetClipboardViewer().
New function CountClipboardFormats().
New function IsClipboardFormatAvailable().
New function OpenClipboard().
New function GetClipboardData().
New function SetClipboardViewer().
New function EnumClipboardFormats().
New function RegisterClipboardFormat().
New function ChangeClipboardChain().
New function SetClipboardData().
New function GetOpenClipboardWindow().
New function GetPriorityClipboardFormat().
New function GetClipboardFormatName().
Tue Mar 1 20:15:45 1994 Erik Bos <erik@trashcan.hacktic.nl>
* [misc/comm.c]
bugfix in OpenComm().
Tue Feb 22 18:04:02 1994 Jeffrey Hsu <hsu@freefall.cdrom.com>
* [include/winsock.h]
The sockproto struct is already defined in <sys/socket.h>
* [misc/winsock.c]
Need to include <netinet/in.h> for struct in-addr.
Use sys_errlist[] instead of strerror[].
*[toolkit/heap.c]
ANSI C specifies that the malloc functions are defined in stdlib.h,
so we don't need to include malloc.h.
*[loader/ldtlib.c]
Print informative error message about probable cause of i386_set_ldt()
failure and then exit.
*[Imakefile]
For systems that don't use gmake by default, set the MAKE variable
to gmake and propagate it on recursive makes.
Take out -li386 for FreeBSD systems and define __FreeBSD__ so Wine
can be built with the FreeBSD 1.0.2 compiler.
Tue Feb 22 02:52:19 EST 1994 jrichard@cs.uml.edu (John Richardson)
* [objects/bitblt.c]
Added in three functions to do stretching and compression
for WHITEONBLACK, BLACKONWHITE, and color copies.
Tue Feb 22 15:01:31 EST 1994 jrichard@cs.uml.edu (John Richardson)
* [windows/graphics.c]
Added FloodFill and FloodFill_rec. FloodFill_rec is pretty
inefficent, but should suffice for now.
* [include/windows.h]
Changed the x,y paramaters for the FloodFill prototype
from ints to shorts
Tue Feb 22 00:58:28 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/widgets.c]
Added desktop window class.
* [windows/painting.c]
Bug fix in RedrawWindow().
Implemented ExcludeUpdateRgn().
* [windows/win.c] [windows/winpos.c]
Implemented desktop window.
* [controls/desktop.c]
Preliminary desktop window procedure.
Feb 20, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/menu.c]
New function LoadMenuIndirect().
New function GetMenuCheckMarkDimensions().
* [if1632/user.spec]
Entry for DefDlgProc().
* [windows/class.c]
Fix bug in RegisterClass() :
WNDCLASS->lpszMenuName was reset to NULL.
* [windows/win.c]
In CreateWindowEx(), if hMenu == 0 then use
wndclass->lpszMenuName to load Menu from resource;
Mon Feb 21 22:38:28 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/library.c] [loader/wine.c]
Fixed runing DLL's as main executable problem.
* [misc/dos_fs.c]
Added wildcard support in DOS_readdir().
* [misc/winsocket.c]
Added proper error handling of BSD winsocket functions.
* [miscemu/int21.c]
KERNEL_DOS3Call renamed to DOS3Call and modified to use do_int21().
* [main/main.c]
Added functions for GetVersion, GetWinFlags and GetTimerResolution
for libwine.a, SystemParametersInfo() partly implemented.
Tue Feb 22 19:00:02 1994 Miguel de Icaza (miguel@xochitl.nuclecu.unam.mx)
* [toolkit/winmain.c]
Added _WinMain function. Setups the library (calls USER_InitApp).
* [toolkit/sup.c]
Added load_mz_header, load_ne_header, load_type_info and
load_name_info functions.
* [toolkit/heap.c]
Code cleanup.
* [misc/user.c]
Moved from loader/misc.c. I hope to put back all the loader
functions in the ~loader subdirectory in the future. CUrrently is
needed since it has USER_InitApp.
* [misc/resource.c]
Since WineLib will probably need DLLs (currently it needs
Sysres.dll). WineLib will be using much code of the loader again.
So I removed some ifdefs that were used by WineLib.
Added load_typeinfo and load_nameinfo (and the corresponding
functions in [toolkit/sup.c]
Added integer convertion functions in the needed places.
Added very ugly patch (includes wine.c). In the next release I
plan to move back all the loader routines to ~/loader. In the
meantime I needed this patch. It doesn't affect any of the
emulator code (its ifdefed for WineLib).
* [misc/main.c]
Cleaned up call to WinMain (now uses [toolkit/winmain.c]
Ifdefed argument number checking when compiling the library.
* [loader/wine.c]
Modified to use load_(mz|ne)_header instead of doing a direct
read. When compiling the emulator it still uses the direct read
for performance.
* [include/wine.h]
Prototypes for loading routines.
* [include/class.h]
Added WINE_PACKED macro instead of __attribute__ ((packed))
* [include/arch.h]
Macros for converting integers (Little endian to big-endian).
Needed in the Sun to allow loading of DLL files.
Mon Feb 14 23:48:09 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/clipping.c]
Moved everything into windows/painting.c and removed this file.
* [windows/message.c]
Removed calls to memmove() in MSG_RemoveMsg().
* [windows/nonclient.c]
Added WM_GETMINMAXINFO support for window resizing.
* [windows/painting.c]
Implemented RedrawWindow().
* [windows/scroll.c]
Bug fix in ScrollWindowEx().
* [windows/win.c]
Moved UpdateWindow() to windows/painting.c.
Fri Feb 11 12:41:28 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/wine.c] [misc/dos_fs.c]
getenv() eq NULL bugfixes.
* [misc/comm.c]
cfmakeraw changed for SunOS.
Feb 13, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [mem/atom.c]
Bug fix in ATOM_DeleteAtom() :
change LocalFree() by USER_HEAP_FREE().
* [misc/message.c]
New function FatalAppExit().
* [objects/font.c]
New empty stub SetMapperFlags().
* [controls/menu.c]
Better CheckMark & other bitmaps placement.
* [windows/graphics.c]
New function RoundRect() : calc.exe now working...
Tue Feb 15 14:29:37 1994 John Richardson
* [objects/bitblt.c]
Fixed StretchBlt so it works quicker and faster. It still doesn't
use the StretchMode bits for bitmap compression, but that will
come soon.
Mon Feb 14 13:21:04 1994 Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
* [include/windows.h,dialog.h,gdi.h]
Changed __atribute__ ((packed)) for WINE_PACKED.
When compiling the library this is defined as nothing. This gets
rid with all the problems compiling under SunOS. Also
* [windows/utility.c]
Added DebugPrintString.
* [toolkit/sup.c]
Added hSysRes = 1 definition to resolve externals.
Added CallLineDDAProc function (toolkit version).
Added toy, and hi ineficient memmove until code in message.c get
rewritten.
* [objects/gdiobj.c]
Ifdefed linux/emulator-dependent code to allow compilation of
WineLib.
* [misc/winsocket.c]
Added ifdef to allow compilation under SunOS.
* [misc/resource.c]
When compiling the library, the resource file is expected to be in
a file called $argv[0].Res. Also the information of the resource
is expected to be at offset 0 of the .Res file.
* [misc/main.c]
Call WinMain with arguments if compiling WineLib.
Call shutdown functions (Comm_DeInit, DOS_DeInitFS).
Call sync_profiles to preserve changes to .INI files.
* [misc/comm.c,dos_fs.c]
removed call to atexit(Comm_DeInit)
removed call to atexit(DOS_DeInitFS)
Shutdown functions are now called from the return of WinMain
* removed memorylib subdirectory
* moved memory/atom.c to misc/atom.c
moved memorylib/heap.c to toolkit/heap.c
* [loader/wine.c]
Moved DebugPrintString to windows/utility.c
* [include/winsock.h]
Define SO_DONTLINGER only if it has not been previously defined.
* [include/windows.h]
added definition for DLGPROC.
added definition for LMEM_WINE_ALIGN and other LMEM_* constants.
When compiling WineLib WNDPROC is defined with all the parameters
to avoid compilation problems.
* [include/user.h]
When compiling WineLib USER_HEAP_(ALLOC|REALLOC|ADDR|FREE) the
calls are translated to the library allocation routines.
* [include/gdi.h,user.h]
When compiling WineLib GDI_HEAP_(ALLOC|ADDR|FREE) the calls are
translated to the library allocation routines.
* [include/atom.h]
Defined LocalAlign. When compiling the emulator it's translated as
a call to LocalAlloc (the original code), when compiling WineLib
as a call to LocalAlloc with a WINE-flag called LMEM_WINE_ALIGN
(atom.c needs aligned data on a 4 byte boundary).
* [misc/file.c]
Renamed KERNEL_* functions and fixed prototypes.
* [if1632/kernel.spec]
Renamed KERNEL_* functions in order to be used by applications
using Wine as a library (OpeFile, _lclose, _lread, _lcreate,
_llseek, _lopen, _lwrite).
* [Makefile]
Create library instead of executable when building target
libwine.a
Tue Feb 8 13:52:11 1994 Miguel de Icaza (miguel@roxanne)
* [Makefiles]
Use $(CC) instead of cc.
Added libwine target.
* [include/prototypes]
#ifdefed section for WineLib
* moved loader/cursor.c to misc/cursor.c
moved loader/resource.c to misc/resource.c
moved misc/emulate.c to miscemu/emulate.c
moved misc/int1a.c to miscemu/int1a.c
moved misc/int21.c to miscemu/int21.c
moved misc/kernel.c to miscemu/kernel.c
moved misc/user.c to miscemu/user.c
* [memorylib/heap.c]
Heap management for WineLib
* [misc/comm.c]
Modified to allow compilation under SunOS (#include errno, SunOS
doesn't have atexit ()).
* [misc/dos_fs.c]
Modified to allow compilation under SunOS (#include vfs.h)
* [misc/file.c]
Modified to allow compilation under SunOS (OPEN_MAX constant,
#include unistd.h)
* [objects/palette.c]
Modified to allow compilation under SunOS (#include limits)
* [toolkit/sup.c]
WineLib version of CallWindowProc.
* [windows/event.c]
Typedef XPointer under X11R4 (OpenWindows).
* [windows/win.c]
When compiling WineLib, use direct callbacks instead of the
windows supplied callbacks.
Mon Feb 7 22:37:34 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/cursor.c]
New function CURSOR_SetWinCursor(), for internal use, to set
the cursor of a specific window more reliably than with SetCursor().
* [windows/nonclient.c]
Better window management. Moving and resizing from the system
menu should work now.
Added scroll-bar mouse tracking.
* [windows/win.c]
Moved scroll-bar creation and destruction to defwnd.c.
Feb 5, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [windows/nonclient.c]
Call to StdDrawMenuBar() during NC's drawing.
New NC_TrackMouseMenuBar() function which call
MenuButtonDown(), MenuButtonUp() & MenuMouseMove().
* [controls/menu.c]
New ChangeMenu() function.
Remove permanently old Xt menu code.
Make common functions MenuButtonDown(), MenuButtonUp()
& MenuMouseMove() for both popups & menubar.
* [controls/combo.c]
Paint OBM_COMBO directly in combo client.
* [controls/listbox.c]
Fix bug in multicolumns calculations.
* [controls/Makefile]
Remove rules for old file 'caption.c'.
* [misc/kernel.c]
Remove empty stub GetModuleFileName().
* [loader/library.c]
New GetModuleHandle() function.
New GetModuleUsage() function.
New GetModuleFileName() function.
* [loader/resource.c]
Try to find the bug a missing menu loading ... Not found yet !
* [windows/win.c]
Remove old menubar creation.
Thu Feb 3 22:30:11 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/winsocket.c]
More functions added.
* [if1632/winsock.spec] [misc/winsocket.c]
Added John Brezak's winsock.dll stuff.
1994-03-01 19:48:04 +00:00
|
|
|
|
1995-01-09 18:21:16 +00:00
|
|
|
if (!(dcDst = (DC *)GDI_GetObjPtr( hdcDst, DC_MAGIC )))
|
|
|
|
{
|
|
|
|
dcDst = (DC *)GDI_GetObjPtr( hdcDst, METAFILE_DC_MAGIC );
|
|
|
|
if (!dcDst) return FALSE;
|
|
|
|
return MF_BitBlt( dcDst, xDst, yDst, width, height,
|
|
|
|
hdcSrc, xSrc, ySrc, rop );
|
|
|
|
}
|
|
|
|
dcSrc = (DC *) GDI_GetObjPtr( hdcSrc, DC_MAGIC );
|
1994-05-04 19:15:00 +00:00
|
|
|
|
1995-01-09 18:21:16 +00:00
|
|
|
dprintf_bitblt(stddeb,
|
|
|
|
"BitBlt: %04x %d,%d %d bpp -> %04x %d,%d %dx%dx%d rop=%06lx\n",
|
|
|
|
hdcSrc, xSrc, ySrc, dcSrc ? dcSrc->w.bitsPerPixel : 0,
|
|
|
|
hdcDst, xDst, yDst, width, height, dcDst->w.bitsPerPixel, rop);
|
Release 950620
Mon Jun 19 20:29:50 1995 Alexandre Julliard (julliard@sunsite.unc.edu)
* [debugger/*.c]
Modified debugger to use segmented pointers everywhere.
* [if1632/shell.spec] [if1632/sound.spec] [if1632/user.spec]
Declared all functions that return only 16-bit as 'pascal16'.
* [include/ldt.h] [memory/ldt.c]
Export LDT_EntryToBytes (new) and LDT_BytesToEntry for DPMI.
Maintain a copy of the selector flags, removing the need to make a
system call to retrieve an LDT entry.
* [loader/module.c]
Fixed bug with module file handle cache.
* [loader/ne_resource.c]
Fixed file name bug in NE_AccessResource().
* [loader/resource.c]
Fixed bug in LoadIcon() that caused wrong colors to be used for
the icon mask.
* [loader/signal.c]
Moved instruction emulation to miscemu/instr.c.
* [misc/dos_fs.c] [miscemu/int21.c]
Lots of small fixes, thanks to Morten Welinder.
* [miscemu/dpmi.c]
More complete DPMI emulation.
* [miscemu/instr.c]
Added support for prefixes in instructions to emulate.
* [miscemu/int2f.c]
Use register macros instead of destroying the high part of 32-bit
registers.
* [objects/dc.c]
Fixed bug in GetDCState() that failed to clear the new DC.
* [rc/sysres.rc]
Removed dialogs 11 and 12 that were never used.
* [tools/build.c]
'pascal16' generated functions did not save %dx.
Removed use of %fs to access the stack.
%ds is no longer initialized before calling a 16-bit routine.
* [windows/defwnd.c]
Accept a NULL pointer as window title.
* [windows/mdi.c]
MDICascade: skip iconic windows.
Implemented CalcChildScroll().
* [windows/utility.c]
Fixed MulDiv() for illegal values.
* [windows/win.c]
Fixed X error in CreateWindowEx() when WM_NCCALCSIZE returned
a zero width or height.
Sun Jun 18 22:22:30 MET DST 1995 Fons Botman (botman@inter.nl.net)
* [controls/edit.c]
Fixed "uninitalized" message which -Wall couldnt see to be ok
in EDIT_WriteText.
* [include/debug.h]
Added define for extra checks in API definitions during debugging.
* [loader/ne_image.c]
Added newline in NE_FixupPrologs to avoid long lines.
* [misc/dos_fs.c]
Added extra safety check in DOS_ValidDrive.
* [misc/exec.c]
Fixed definition of ExitWindows.
Sun Jun 18 21:16:08 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [controls/edit.c]
Some fixes, mostly for memory management, but also for text selection
and tab postitions. General cleanup. Notepad.exe now works.
* [controls/combo.c]
Fix: the hwnd field of the DRAWITEMSTRUCT should always be that of
the combo box, not the ComboLBox that belongs to it.
* [controls/listbox.c]
Handle itemID field correctly throughout.
* [memory/local.c]
Implemented flag LMEM_ZEROINIT.
LocalReAlloc() could trash the heap. Fixed.
* [objects/font.c]
FONT_MatchFont(): don't get confused by negative widths.
Fixed a segfault in EnumFonts().
* [objects/text.c]
DrawText(): DT_CALCRECT implies DT_NOCLIP.
* [objects/dcvalues.c]
MAKELONG was used with bad parameters in DC_GET_X_Y.
* [windows/dialog.c]
Don't show the dialog if WS_VISIBLE isn't set in the template.
* [windows/utility.c]
UTILITY_convertArgs(): Never pass an expression containing ++ into a
macro...
* [windows/win.c]
SetParent() should unlink the window before changing the parent.
* [windows/message.c]
Don't call timer functions via CallWindowProc(), since it checks
whether hwnd==0 and does not call the function in that case.
* [miscemu/instr.c]
Ignore interrupt 0x3D, for VBRUN300.DLL.
* [misc/commdlg.c]
Don't rely on the itemData field of the DRAWITEMSTRUCT to contain a
pointer to the item text.
* [if1632/relay.c]
Disable OLE and DDEML DLLs by default, since they contain nothing but
stubs anyway. SHELL, COMMDLG and WIN87EM are left enabled, although
some programs may work better without them.
* [multimedia/*.c] [include/multimedia.h] [include/driver.h]
Begun cleaning things up a little. Replaced printfs with dprintf_
macros, made functions static where possible, and some other minor
changes.
Sun Jun 11 23:19:10 1995 Martin von Loewis <martin@informatik.hu-berlin.de>
* [debugger/dbg.y][debugger/dbg.l]
Removed special handling for FILE_IDENTIFER, because it caused
problems with x/<format> statements.
* [debugger/info.c]
Use SC_ESP instead of SC_EIP for stack dump.
* [misc/compobj.c][if1632/compobj.spec]
CoBuildVersion, CoInitialize, CoUninitialize: new functions
* [misc/ole2.c][if1632/ole2.spec][misc/Imakefile][include/ole2.h]
New files ole2.c, ole2.h
OleBuildVersion, OleInitialize, OleUninitialize: new functions
* [if1632/ole2disp.spec]
Added missing ordinals above 109
* [misc/ole2nls.c][if1632/ole2nls.spec][include/winnls.h]
New file winnls.h
GetLocaleInfoA: new function
* [if1632/shell.spec]
Added FindEnvironmentString as stub
* [misc/olecli.c][if1632/olecli.spec]
OleIsDcMeta: New function
* [objects/font][misc/gdi.spec]
GetKerningPairs: new function
* [misc/shell.c]
ShellExecute: Implemented support for starting programs
* [if1632/user.spec]
Inserted missing relay to GetClipCursor
Sun Jun 11 20:34:47 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [controls/edit.c]
Fix a problem with the local heap.
* [include/wintypes.h]
Fixed wrong declarations of CATCHBUF and LPCATCHBUF.
* [include/mdi.h] [windows/mdi.c]
This code still assumed segmented address==linear address. Fixed.
* [include/msdos.h] [misc/dos_fs.c]
The filemask field of the dosdirent structure could be overrun. Fixed.
If you had a file called foobar and a file called foo, trying to
FindFile(foo) could accidentally find file foobar instead. Fixed.
* [misc/file.c]
OpenFile(): Always return the full pathname in ofs->szPathName. This
also fixes GetModuleFilename().
Prevent _lclose() from closing stderr or stdout.
* [misc/profile.c]
Search for .ini files in the path of the current module as well.
(Needed by Lotus Organizer.)
* [loader/task.c] [loader/ne_image.c] [loader/module.c]
[memory/local.c]
Local heaps are now initialized by InitTask() for executables. DLLs
have to call LocalInit() themselves, LocalInit() has to put the
heap at the end of the segment when called with start==0. We no longer
allocate the DGROUP with 64k on startup, but grow the local heap
in LOCAL_GetBlock() when necessary.
* [loader/module.c]
LoadLibrary() should call LoadModule() in all cases, even if the
DLL is already loaded, to ensure that the reference count is correct.
* [loader/ne_image.c]
Some changes to function prolog fixup. Does anyone know exactly how
this is supposed to work? I am only guessing here.
In NE_InitializeDLLs(), initialize the DLLs a module refers to before
the module itself.
* [loader/task.c]
Initialize instance data at the beginning of the DGROUP in InitTask().
* [memory/local.c]
Some fixes for moveable blocks.
* [memory/selector.c]
All the IsBad*Pointer() functions returned exactly the wrong boolean
value in all cases!
* [objects/bitblt.c]
Fixed another null pointer dereference in debugging output.
* [objects/font.c]
Some more recovery possibilities for FONT_MatchFont() if a specified
font does not exist.
* [windows/win.c]
The dialog code may call CreateWindowEx with an integer in windowName.
This happens for static icon controls that expect a resource ID as
the window name. CreateWindowEx() used to crash. Fixed.
* [windows/class.c] [windows/win.c]
Window classes are owned by modules, not instances. Changed
RegisterClass(), UnregisterClass(), GetClassInfo() and CreateWindowEx()
accordingly.
Sat Jun 10 16:10:53 1995 Olaf Flebbe <o.flebbe@science-computing.uni-tuebingen.de>
* [miscemu/int21.c]
clock.exe was displaying incorrect year.
Fri Jun 9 20:36:56 1995 Victor Schneider <tailor@crl.com>
* [include/cursor.h] [windows/cursor.c]
Implemented CreateCursorIconIndirect().
1995-06-20 19:08:12 +00:00
|
|
|
if (dcSrc != NULL) {
|
|
|
|
dprintf_bitblt(stddeb," src org=%d,%d",
|
|
|
|
dcSrc->w.DCOrgX, dcSrc->w.DCOrgY);
|
|
|
|
}
|
|
|
|
dprintf_bitblt(stddeb," dst org=%d,%d\n", dcDst->w.DCOrgX,
|
|
|
|
dcDst->w.DCOrgY);
|
Release 950606
Tue Jun 6 12:11:41 1995 Alexandre Julliard (julliard@sunsite.unc.edu)
* [controls/menu.c]
Fixed bug with drawing multi-column menus with vertical separator.
* [debugger/debug.l]
Fixed NULL-pointer reference after readline().
* [if1632/winprocs.spec] [miscemu/int21.c] [miscemu/interrupts.c]
Added interrupt vector emulation. Allows to retrieve an interrupt
vector and jump to it without crashing.
* [loader/ldt.c]
Moved ldt.c to memory directory.
* [loader/task.c]
Implemented LockCurrentTask() and GetInstanceData().
* [objects/bitblt.c]
Fixed a bug that caused StretchBlt() to use wrong colors when
stretching a monochrome bitmap to a color display.
* [objects/bitmap.c]
Fixed a segmented pointer bug in CreateBitmapIndirect().
* [tools/build.c]
Added possibility to have arguments for register functions; used
by interrupt vectors to remove the flags from the stack.
Generate a new function CallTo32_LargeStack(), that allows calling
a 32-bit function using the original 32-bit stack, for functions
that need more that 64k of stack.
Tue May 30 10:29:56 1995 Martin von Loewis <martin@informatik.hu-berlin.de>
* [if1632/shell.spec] [misc/shell.c]
DoEnvironmentSubst: fixed prototype
* [if1632/gdi.spec] [objects/palette.c]
SetSystemPaletteUse: new function
* [if1632/kernel.spec] [loader/resource.c]
DirectResAlloc: new function
* [if1632/user.spec] [windows/keyboard.c]
SetKeyboardState: new function
Mon May 29 12:58:28 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [tools/build.c]
Prevent interrupts from destroying the args for a 32 bit function
by loading the correct value into %esp directly after %ss.
* [loader/ne_image.c] [loader/module.c]
The new instance must be created earlier in LoadModule(), so that
fixups referencing it will be handled correctly.
Initialize the local heap for a DGROUP in NE_LoadSegment().
* [objects/dib.c]
Like RLE8 bitmaps, RLE4 bitmaps don't always end with a proper code.
This used to crash Wine. Fixed.
* [objects/text.c]
Fix possible null pointer dereference in debugging output.
* [misc/commdlg.c]
Handle user input in the edit control better. Some bugs fixed.
* [memory/local.c]
Started implementing moveable blocks. This is unfinished (!), but
at least it does not seem to break things.
Wed May 24 13:26:36 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [loader/module.c]
LoadModule(): DLLs occasionally have a data segment, and they work
much better if it is loaded :-)
LoadLibrary(): pass HMODULE instead of HINSTANCE to NE_InitializeDLLs.
FindModule(): also strip off the last backslash of the pathnames
(Winhelp tried to load C:\WINDOWS\SYSTEM\COMMDLG.DLL).
GetModuleHandle(): just call MODULE_FindModule, it does the same job,
only better.
* [loader/ne_image.c]
LocalInit() the heap of a DLL in NE_InitDLL. (This is probably
not really correct, it seems that all programs and DLLs try to do
this themselves. But they pass weird parameters.)
NE_InitializeDLLs should also call NE_InitDLL for the passed hModule.
* [loader/task.c] [misc/user.c]
Finish global initializations in InitTask instead of InitApp, or
all the DLLs will be initialized in InitTask without any available
window classes!
1995-06-06 16:40:35 +00:00
|
|
|
return CallTo32_LargeStack( (int(*)())BITBLT_InternalStretchBlt, 11,
|
|
|
|
dcDst, xDst, yDst, width, height,
|
|
|
|
dcSrc, xSrc, ySrc, width, height, rop );
|
Release 940301
Tue Mar 1 11:30:21 1994 Bob Amstadt (bob@pooh)
* [Configure] [*/Imakefile]
Created configure script to handle different types of Wine builds.
* [Configure] [tools/build.c] [if1632/Imakefile] [Wine.tmpl]
Added ability to compile Wine on systems with 14-char filename limit.
* [if1632/relay.c] [include/options.h] [misc/main.c]
Added -relaydbg option to command line if DEBUG_RELAY is defined.
* [loader/selector.c]
Fixed bug in GetEntryDLLName() that caused Wine to seg fault.
* [memory/heap.c]
Fixed LocalInit() to work correctly.
* [misc/user.c]
Added code to call loaded DLLs' initialization routines.
Tue Mar 1 01:01:17 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/dce.c]
Added clipping of child windows by their parent's client area.
* [windows/nonclient.c]
Bug fix in NC_DoNCPaint().
* [windows/painting.c]
Bug fix in RedrawWindow().
Feb 27, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [mem/atom.c]
Bug fix again in ATOM_DeleteAtom() :
change LocalFree() by USER_HEAP_FREE().
(Previous patch done Feb 13th had been lost)
* [controls/scroll.c]
Move bitmaps loading in AllocScrollBar() instead of in WM_CREATE.
* [windows/class.c] (sorry Alex ...)
There was no bug there "in RegisterClass() :
WNDCLASS->lpszClassName was reset to NULL."
^^^^^
* [misc/clipboard.c] --- New File ---
New function EnumClipboardFormats().
New function OpenClipboard().
New function CloseClipboard().
New function EmptyClipboard().
New function GetClipboardOwner().
New function GetClipboardViewer().
New function CountClipboardFormats().
New function IsClipboardFormatAvailable().
New function OpenClipboard().
New function GetClipboardData().
New function SetClipboardViewer().
New function EnumClipboardFormats().
New function RegisterClipboardFormat().
New function ChangeClipboardChain().
New function SetClipboardData().
New function GetOpenClipboardWindow().
New function GetPriorityClipboardFormat().
New function GetClipboardFormatName().
Tue Mar 1 20:15:45 1994 Erik Bos <erik@trashcan.hacktic.nl>
* [misc/comm.c]
bugfix in OpenComm().
Tue Feb 22 18:04:02 1994 Jeffrey Hsu <hsu@freefall.cdrom.com>
* [include/winsock.h]
The sockproto struct is already defined in <sys/socket.h>
* [misc/winsock.c]
Need to include <netinet/in.h> for struct in-addr.
Use sys_errlist[] instead of strerror[].
*[toolkit/heap.c]
ANSI C specifies that the malloc functions are defined in stdlib.h,
so we don't need to include malloc.h.
*[loader/ldtlib.c]
Print informative error message about probable cause of i386_set_ldt()
failure and then exit.
*[Imakefile]
For systems that don't use gmake by default, set the MAKE variable
to gmake and propagate it on recursive makes.
Take out -li386 for FreeBSD systems and define __FreeBSD__ so Wine
can be built with the FreeBSD 1.0.2 compiler.
Tue Feb 22 02:52:19 EST 1994 jrichard@cs.uml.edu (John Richardson)
* [objects/bitblt.c]
Added in three functions to do stretching and compression
for WHITEONBLACK, BLACKONWHITE, and color copies.
Tue Feb 22 15:01:31 EST 1994 jrichard@cs.uml.edu (John Richardson)
* [windows/graphics.c]
Added FloodFill and FloodFill_rec. FloodFill_rec is pretty
inefficent, but should suffice for now.
* [include/windows.h]
Changed the x,y paramaters for the FloodFill prototype
from ints to shorts
Tue Feb 22 00:58:28 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/widgets.c]
Added desktop window class.
* [windows/painting.c]
Bug fix in RedrawWindow().
Implemented ExcludeUpdateRgn().
* [windows/win.c] [windows/winpos.c]
Implemented desktop window.
* [controls/desktop.c]
Preliminary desktop window procedure.
Feb 20, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/menu.c]
New function LoadMenuIndirect().
New function GetMenuCheckMarkDimensions().
* [if1632/user.spec]
Entry for DefDlgProc().
* [windows/class.c]
Fix bug in RegisterClass() :
WNDCLASS->lpszMenuName was reset to NULL.
* [windows/win.c]
In CreateWindowEx(), if hMenu == 0 then use
wndclass->lpszMenuName to load Menu from resource;
Mon Feb 21 22:38:28 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/library.c] [loader/wine.c]
Fixed runing DLL's as main executable problem.
* [misc/dos_fs.c]
Added wildcard support in DOS_readdir().
* [misc/winsocket.c]
Added proper error handling of BSD winsocket functions.
* [miscemu/int21.c]
KERNEL_DOS3Call renamed to DOS3Call and modified to use do_int21().
* [main/main.c]
Added functions for GetVersion, GetWinFlags and GetTimerResolution
for libwine.a, SystemParametersInfo() partly implemented.
Tue Feb 22 19:00:02 1994 Miguel de Icaza (miguel@xochitl.nuclecu.unam.mx)
* [toolkit/winmain.c]
Added _WinMain function. Setups the library (calls USER_InitApp).
* [toolkit/sup.c]
Added load_mz_header, load_ne_header, load_type_info and
load_name_info functions.
* [toolkit/heap.c]
Code cleanup.
* [misc/user.c]
Moved from loader/misc.c. I hope to put back all the loader
functions in the ~loader subdirectory in the future. CUrrently is
needed since it has USER_InitApp.
* [misc/resource.c]
Since WineLib will probably need DLLs (currently it needs
Sysres.dll). WineLib will be using much code of the loader again.
So I removed some ifdefs that were used by WineLib.
Added load_typeinfo and load_nameinfo (and the corresponding
functions in [toolkit/sup.c]
Added integer convertion functions in the needed places.
Added very ugly patch (includes wine.c). In the next release I
plan to move back all the loader routines to ~/loader. In the
meantime I needed this patch. It doesn't affect any of the
emulator code (its ifdefed for WineLib).
* [misc/main.c]
Cleaned up call to WinMain (now uses [toolkit/winmain.c]
Ifdefed argument number checking when compiling the library.
* [loader/wine.c]
Modified to use load_(mz|ne)_header instead of doing a direct
read. When compiling the emulator it still uses the direct read
for performance.
* [include/wine.h]
Prototypes for loading routines.
* [include/class.h]
Added WINE_PACKED macro instead of __attribute__ ((packed))
* [include/arch.h]
Macros for converting integers (Little endian to big-endian).
Needed in the Sun to allow loading of DLL files.
Mon Feb 14 23:48:09 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [windows/clipping.c]
Moved everything into windows/painting.c and removed this file.
* [windows/message.c]
Removed calls to memmove() in MSG_RemoveMsg().
* [windows/nonclient.c]
Added WM_GETMINMAXINFO support for window resizing.
* [windows/painting.c]
Implemented RedrawWindow().
* [windows/scroll.c]
Bug fix in ScrollWindowEx().
* [windows/win.c]
Moved UpdateWindow() to windows/painting.c.
Fri Feb 11 12:41:28 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/wine.c] [misc/dos_fs.c]
getenv() eq NULL bugfixes.
* [misc/comm.c]
cfmakeraw changed for SunOS.
Feb 13, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [mem/atom.c]
Bug fix in ATOM_DeleteAtom() :
change LocalFree() by USER_HEAP_FREE().
* [misc/message.c]
New function FatalAppExit().
* [objects/font.c]
New empty stub SetMapperFlags().
* [controls/menu.c]
Better CheckMark & other bitmaps placement.
* [windows/graphics.c]
New function RoundRect() : calc.exe now working...
Tue Feb 15 14:29:37 1994 John Richardson
* [objects/bitblt.c]
Fixed StretchBlt so it works quicker and faster. It still doesn't
use the StretchMode bits for bitmap compression, but that will
come soon.
Mon Feb 14 13:21:04 1994 Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
* [include/windows.h,dialog.h,gdi.h]
Changed __atribute__ ((packed)) for WINE_PACKED.
When compiling the library this is defined as nothing. This gets
rid with all the problems compiling under SunOS. Also
* [windows/utility.c]
Added DebugPrintString.
* [toolkit/sup.c]
Added hSysRes = 1 definition to resolve externals.
Added CallLineDDAProc function (toolkit version).
Added toy, and hi ineficient memmove until code in message.c get
rewritten.
* [objects/gdiobj.c]
Ifdefed linux/emulator-dependent code to allow compilation of
WineLib.
* [misc/winsocket.c]
Added ifdef to allow compilation under SunOS.
* [misc/resource.c]
When compiling the library, the resource file is expected to be in
a file called $argv[0].Res. Also the information of the resource
is expected to be at offset 0 of the .Res file.
* [misc/main.c]
Call WinMain with arguments if compiling WineLib.
Call shutdown functions (Comm_DeInit, DOS_DeInitFS).
Call sync_profiles to preserve changes to .INI files.
* [misc/comm.c,dos_fs.c]
removed call to atexit(Comm_DeInit)
removed call to atexit(DOS_DeInitFS)
Shutdown functions are now called from the return of WinMain
* removed memorylib subdirectory
* moved memory/atom.c to misc/atom.c
moved memorylib/heap.c to toolkit/heap.c
* [loader/wine.c]
Moved DebugPrintString to windows/utility.c
* [include/winsock.h]
Define SO_DONTLINGER only if it has not been previously defined.
* [include/windows.h]
added definition for DLGPROC.
added definition for LMEM_WINE_ALIGN and other LMEM_* constants.
When compiling WineLib WNDPROC is defined with all the parameters
to avoid compilation problems.
* [include/user.h]
When compiling WineLib USER_HEAP_(ALLOC|REALLOC|ADDR|FREE) the
calls are translated to the library allocation routines.
* [include/gdi.h,user.h]
When compiling WineLib GDI_HEAP_(ALLOC|ADDR|FREE) the calls are
translated to the library allocation routines.
* [include/atom.h]
Defined LocalAlign. When compiling the emulator it's translated as
a call to LocalAlloc (the original code), when compiling WineLib
as a call to LocalAlloc with a WINE-flag called LMEM_WINE_ALIGN
(atom.c needs aligned data on a 4 byte boundary).
* [misc/file.c]
Renamed KERNEL_* functions and fixed prototypes.
* [if1632/kernel.spec]
Renamed KERNEL_* functions in order to be used by applications
using Wine as a library (OpeFile, _lclose, _lread, _lcreate,
_llseek, _lopen, _lwrite).
* [Makefile]
Create library instead of executable when building target
libwine.a
Tue Feb 8 13:52:11 1994 Miguel de Icaza (miguel@roxanne)
* [Makefiles]
Use $(CC) instead of cc.
Added libwine target.
* [include/prototypes]
#ifdefed section for WineLib
* moved loader/cursor.c to misc/cursor.c
moved loader/resource.c to misc/resource.c
moved misc/emulate.c to miscemu/emulate.c
moved misc/int1a.c to miscemu/int1a.c
moved misc/int21.c to miscemu/int21.c
moved misc/kernel.c to miscemu/kernel.c
moved misc/user.c to miscemu/user.c
* [memorylib/heap.c]
Heap management for WineLib
* [misc/comm.c]
Modified to allow compilation under SunOS (#include errno, SunOS
doesn't have atexit ()).
* [misc/dos_fs.c]
Modified to allow compilation under SunOS (#include vfs.h)
* [misc/file.c]
Modified to allow compilation under SunOS (OPEN_MAX constant,
#include unistd.h)
* [objects/palette.c]
Modified to allow compilation under SunOS (#include limits)
* [toolkit/sup.c]
WineLib version of CallWindowProc.
* [windows/event.c]
Typedef XPointer under X11R4 (OpenWindows).
* [windows/win.c]
When compiling WineLib, use direct callbacks instead of the
windows supplied callbacks.
Mon Feb 7 22:37:34 MET 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/cursor.c]
New function CURSOR_SetWinCursor(), for internal use, to set
the cursor of a specific window more reliably than with SetCursor().
* [windows/nonclient.c]
Better window management. Moving and resizing from the system
menu should work now.
Added scroll-bar mouse tracking.
* [windows/win.c]
Moved scroll-bar creation and destruction to defwnd.c.
Feb 5, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [windows/nonclient.c]
Call to StdDrawMenuBar() during NC's drawing.
New NC_TrackMouseMenuBar() function which call
MenuButtonDown(), MenuButtonUp() & MenuMouseMove().
* [controls/menu.c]
New ChangeMenu() function.
Remove permanently old Xt menu code.
Make common functions MenuButtonDown(), MenuButtonUp()
& MenuMouseMove() for both popups & menubar.
* [controls/combo.c]
Paint OBM_COMBO directly in combo client.
* [controls/listbox.c]
Fix bug in multicolumns calculations.
* [controls/Makefile]
Remove rules for old file 'caption.c'.
* [misc/kernel.c]
Remove empty stub GetModuleFileName().
* [loader/library.c]
New GetModuleHandle() function.
New GetModuleUsage() function.
New GetModuleFileName() function.
* [loader/resource.c]
Try to find the bug a missing menu loading ... Not found yet !
* [windows/win.c]
Remove old menubar creation.
Thu Feb 3 22:30:11 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/winsocket.c]
More functions added.
* [if1632/winsock.spec] [misc/winsocket.c]
Added John Brezak's winsock.dll stuff.
1994-03-01 19:48:04 +00:00
|
|
|
}
|
|
|
|
|
1995-01-09 18:21:16 +00:00
|
|
|
|
Release 0.5
Sun Jan 2 12:38:53 1994 David Metcalfe <david@prism.demon.co.uk>
* [windows/class.c]
Implemented GetClassName and GetClassInfo.
* [windows/caret.c]
Various improvements to text caret code.
Fri Dec 31 15:22:22 1993 John Brezak <brezak@apollo.hp.com>
* [misc/comm.c]
Patches to work with NetBSD.
Thu Dec 30 12:11:55 1993 John Richardson <jrichard@cs.uml.edu>
* [objects/bitblt.c] Added StretchBlt().
Tue Jan 4 05:22:07 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [misc/user.c]
Added creation of system message queue.
* [objects/bitmap.c] [objects/dcvalues.c] [windows/dc.c]
Added DC size fields into DC structure.
* [objects/clipping.c]
Bug fix in CLIPPING_IntersectRect().
* [windows/class.c]
Allocate a DCE instead of a DC for CS_CLASSDC classes.
* [windows/clipping.c]
Fixed GetUpdateRect() and GetUpdateRgn() to clip to the client area.
* [windows/dce.c]
Implemented GetDCEx() and GetWindowDC().
* [windows/defwnd.c]
Implemented WM_WINDOWPOSCHANGED handling.
* [windows/event.c]
Preliminary support for Xlib event handling instead of Xt callbacks.
Changed MSG_AddMsg() calls to hardware_event() or PostMessage().
* [windows/message.c]
Preliminary support for multiple message queues.
Implemented hardware_event() to store messages into the system queue.
Implemented Get/SetTaskQueue().
Better WM_PAINT and WM_TIMER handling.
Changes to use Xlib instead of Xt for events.
* [windows/painting.c]
Use GetDCEx() to retrieve the DC, to get a correct visible region.
* [windows/timer.c]
Moved the timer procedure callback into DispatchMessage().
Changed implementation to get rid of Xt timeouts. Timer checking
is now done inside GetMessage().
* [windows/win.c]
Allocate a DCE instead of a DC for CS_OWNDC windows.
Replaced Xt calls with Xlib calls.
Moved window positioning functions into windows/winpos.c
* [windows/winpos.c] (New file)
Rewritten most of the window positioning functions.
Implemented SetWindowPos() and MapWindowPoints().
Jan 3, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [if1632/user.spec]
Bad arguments description for function SetDlgItemText.
* [objects/text.c]
Function DrawText now handle DT_CALCRECT request.
* [misc/message.c]
Message boxes now use DrawText with DT_CALCRECT.
* [windows/graphics.c]
Bug fix in function FrameRect, (it was using PEN instead of BRUSH).
* [windows/win.c]
Bug fix for flags in function ShowWindow.
More accurate WM_SIZE generated by function ShowWindow.
* [controls/listbox.c]
More code for LBS_MULTIPLESEL.
More code for LBS_MULTICOLUMN.
* [include/windows.h]
Bad define for MF_SEPARATOR.
* [controls/menu.c]
New functions: PopMenuWndProc() with 'glues',
CreatePopupMenu(), AppendMenu(), InsertMenu(), RemoveMenu(),
DeleteMenu(), ModifyMenu(), TrackPopupMenu().
Code in stubs: CreateMenu(), DestroyMenu().
Sat Jan 1 10:22:43 1994 Bob Amstadt (bob@pooh)
* loader/wine.c: Added support for relocation types 5 and 6.
Mon Dec 27 11:06:03 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/comm.c]
new functions: BuildCommDCB(), OpenComm(), CloseComm(),
SetCommBreak(), ClearCommBreak(), EscapeCommFunction(), FlushComm(),
GetCommError(), SetCommEventMask(), GetCommEventMask(),
SetCommState(), GetCommState(), TransmitCommChar(), ReadComm(),
WriteComm().
Wed Dec 22 13:00:15 1993 David Metcalfe <david@prism.demon.co.uk>
* [windows/caret.c]
Implemented text caret functions.
Tue Dec 21 06:13:58 1993 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/wine.c]
Bug fix in LoadImage().
* [objects/bitblt.c] [objects/clipping.c] [objects/text.c]
[windows/dc.c] [windows/dce.c] [windows/graphics.c]
Modified graphics calls to take into account the DC origin.
* [windows/defwnd.c]
Added preliminary WM_NCCALCSIZE handling.
* [windows/event.c]
Send WM_NCCALCSIZE message on resize event.
* [windows/win.c]
Send WM_NCCALCSIZE message in CreateWindow().
Realize widgets at creation time (should prevent problems with
unrealized widgets).
Dec 19, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/static.c]
Send mouse & keyboard message received to its parent.
* [controls/scroll.c]
Send keyboard message received to its parent.
* [controls/listbox.c]
Add Navigation keys .
ListBox now use VSCROLL & HSCROLL instead of children.
Alpha version of LBS_MULTIPLESEL.
Alpha version of LBS_MULTICOLUMN.
* [controls/combo.c]
Add Navigation keys on closed ComboBox.
Remove useless 'COMBOBOX_CreateComboBox' function.
Mon Dec 19 20:39:34 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/wine.
LoadImage() modified to use FindFile().
* [misc/file.c]
SetErrorMode added
* [misc/dos_fs.c]
bug fixes.
Dec 13, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [memory/global.c]
bug fix in GlobalGetFreeSegment : good ptr in 'g_prev'.
* [sysres.dll]
preliminary version of a 'glass of wine' bitmap
* [windows/event.c]
New function 'GetCapture'.
* [controls/scroll.c]
Remove useless 'SCROLLBAR_CreateScrollBar' function.
* [controls/listbox.c]
Remove useless 'LISTBOX_CreateListBox' function.
Mon Dec 13 13:51:00 1993 David Metcalfe <david@prism.demon.co.uk>
* [objects/font.c]
Corrected bugs in GetCharWidth().
* [windows/event.c]
Modified EVENT_key to send Windows virtual key codes for
WM_KEYDOWN and WM_KEYUP messages, and a WM_CHAR message
for printable characters.
Wed Dec 08 19:20:00 1993 Karl Guenter Wuensch (hn324wu@unidui.uni-duisburg.de)
* [windows/graphics.c]
Added Polyline and Polygon
Mon Dec 13 14:51:54 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [controls/listbox.c]
ListBoxDirectory() modified to use dos_fs.c's functions to
access files&|drives.
Sat Dec 04 17:04:23 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/dos_fs.c]
Added FindFile() to search a file in a dos/unix style path.
* [misc/file.c]
New Win31 functions: OpenFile, _lcreate, _llseek, GetTempDrive,
GetTempFileName, GetWindowsDirectory, GetSystemDirectory,
GetDriveType.
* [misc/int21.c]
Modified.
Wed Dec 1 16:20:45 1993 Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
* [misc/profile.c]
The Profile functions now return the correct values. They now
implement all the features described in the SDK.
Tue Nov 30 13:55:27 1993 Bob Amstadt (bob at amscons)
* [loader/selector.c]
Rewrote selector aliasing routines to use System V IPC
routine to alias memory segments.
Nov 28, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/listbox.c]
More consistency in functions using wIndexes
* [controls/scroll.c]
New function : ShowScrollBar().
* [loader/cursor.c] ... New file
Move cursor functions from [loader/resource.c].
New function : ClipCursor().
New function : GetClipCursor().
New function : CreateCursor().
SetCursor() now working using gloabal variable 'winHasCursor'.
*[object/palette.c]
New stub only : SelectPalette().
New stub only : RealizePalette().
*[win/event.c]
New function : EVENT_enter_notify(),
update 'winHasCursor' and send WM_SETCURSOR.
*[win/defwnd.c]
Add processing of WM_SETCURSOR message.
*[win/win.c]
New members in WND structure : hCursor, hWndVScroll & hWndHScroll.
CreateWindowEx() now create children for WM_HSCROLL & WM_VSCROLL.
New function ClientToScreen().
New function ScreenToClient().
Mon Nov 25 18:25:40 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [files.h / regfunc.h / misc/dos.c]
Removed.
* [misc/dos_fs.c]
Added support for loading dosdrive cfg from wine.ini.
* [misc/int21.c]
Modified.
Wed Nov 24 11:37:33 1993 julliard@disuns2.epfl.ch (Alexandre Julliard)
* [include/atom.h] [memory/atom.c]
Implemented atoms.
* [windows/class.c]
Modified RegisterClass() to use atoms.
Implemented CS_GLOBALCLASS style.
* [windows/message.c]
Implemented RegisterWindowMessage().
* [loader/resource.c]
Bug fix in LoadResource().
* [windows/dialog.c]
Modified CreateDialogParam() to use Find/LoadResource().
1994-01-04 20:14:34 +00:00
|
|
|
/***********************************************************************
|
Release 0.7
Thu Jan 13 11:45:13 1994 John Richardson <jrichard@cs.uml.edu>
* [window/win.c]
Added functions EnableWindow, IsWindowEnabled, and helper
WIN_SetSensitive.
* [window/event.c]
Added checks for WS_DISABLED windows in EVENT_key, EVENT_MotionNotify,
EVENT_ButtonPress, EVENT_ButtonRelease, EVENT_ConfigureNotify,
EVENT_FocusIn, EVENT_FocusOut, and EVENT_EnterNotify. Key and
button presses beep for a disabled window.
If anyone finds better places for these checks, please tell me.
Jan 17, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [misc/message.c]
Cleanup on buttons answer value returned.
* [control/combo.c]
Now use OBM_COMBO bitmap dropdown button.
Mon Jan 17 21:56:45 1994 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/comm/c]
A few bugfixes.
Tue Jan 18 06:36:48 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/cursor.c]
Added X cursor for IDC_SIZENS and IDC_SIZEWE.
* [include/options.h] [misc/main.c] (New files)
Rewrote main() function to get rid of Xt application context,
and added command-line option parsing.
* [objects/color.c]
Use of a private map now configurable with command-line option.
* [windows/defwnd.c]
Added WM_SYSCOMMAND handling, and better WM_SETCURSOR handling.
* [windows/event.c]
Removed ConfigureNotify event handler (no longer needed).
* [windows/message.c]
Send WM_SETCURSOR message on mouse events.
* [windows/nonclient.c]
Use OEM bitmaps for the drawing of the non-client area.
Added caption bar buttons handling, and moving and resizing of
the window via the window frame (bypassing the window manager).
* [windows/painting.c]
Bug fix in BeginPaint().
* [windows/win.c]
Set the override_redirect flag for windows (to bypass window
manager).
* [windows/winpos.c]
Implemented WindowFromPoint(), ChildWindowFromPoint(),
BringWindowToTop(), Get/SetInternalWindowPos(),
Get/SetWindowPlacement().
Mon Jan 17 20:48:24 1994 Bob Amstadt (bob@pooh)
* [memory/heap.c]
Added support for multiple local heaps.
1994-01-18 23:04:40 +00:00
|
|
|
* StretchBlt (GDI.35)
|
Release 0.5
Sun Jan 2 12:38:53 1994 David Metcalfe <david@prism.demon.co.uk>
* [windows/class.c]
Implemented GetClassName and GetClassInfo.
* [windows/caret.c]
Various improvements to text caret code.
Fri Dec 31 15:22:22 1993 John Brezak <brezak@apollo.hp.com>
* [misc/comm.c]
Patches to work with NetBSD.
Thu Dec 30 12:11:55 1993 John Richardson <jrichard@cs.uml.edu>
* [objects/bitblt.c] Added StretchBlt().
Tue Jan 4 05:22:07 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [misc/user.c]
Added creation of system message queue.
* [objects/bitmap.c] [objects/dcvalues.c] [windows/dc.c]
Added DC size fields into DC structure.
* [objects/clipping.c]
Bug fix in CLIPPING_IntersectRect().
* [windows/class.c]
Allocate a DCE instead of a DC for CS_CLASSDC classes.
* [windows/clipping.c]
Fixed GetUpdateRect() and GetUpdateRgn() to clip to the client area.
* [windows/dce.c]
Implemented GetDCEx() and GetWindowDC().
* [windows/defwnd.c]
Implemented WM_WINDOWPOSCHANGED handling.
* [windows/event.c]
Preliminary support for Xlib event handling instead of Xt callbacks.
Changed MSG_AddMsg() calls to hardware_event() or PostMessage().
* [windows/message.c]
Preliminary support for multiple message queues.
Implemented hardware_event() to store messages into the system queue.
Implemented Get/SetTaskQueue().
Better WM_PAINT and WM_TIMER handling.
Changes to use Xlib instead of Xt for events.
* [windows/painting.c]
Use GetDCEx() to retrieve the DC, to get a correct visible region.
* [windows/timer.c]
Moved the timer procedure callback into DispatchMessage().
Changed implementation to get rid of Xt timeouts. Timer checking
is now done inside GetMessage().
* [windows/win.c]
Allocate a DCE instead of a DC for CS_OWNDC windows.
Replaced Xt calls with Xlib calls.
Moved window positioning functions into windows/winpos.c
* [windows/winpos.c] (New file)
Rewritten most of the window positioning functions.
Implemented SetWindowPos() and MapWindowPoints().
Jan 3, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [if1632/user.spec]
Bad arguments description for function SetDlgItemText.
* [objects/text.c]
Function DrawText now handle DT_CALCRECT request.
* [misc/message.c]
Message boxes now use DrawText with DT_CALCRECT.
* [windows/graphics.c]
Bug fix in function FrameRect, (it was using PEN instead of BRUSH).
* [windows/win.c]
Bug fix for flags in function ShowWindow.
More accurate WM_SIZE generated by function ShowWindow.
* [controls/listbox.c]
More code for LBS_MULTIPLESEL.
More code for LBS_MULTICOLUMN.
* [include/windows.h]
Bad define for MF_SEPARATOR.
* [controls/menu.c]
New functions: PopMenuWndProc() with 'glues',
CreatePopupMenu(), AppendMenu(), InsertMenu(), RemoveMenu(),
DeleteMenu(), ModifyMenu(), TrackPopupMenu().
Code in stubs: CreateMenu(), DestroyMenu().
Sat Jan 1 10:22:43 1994 Bob Amstadt (bob@pooh)
* loader/wine.c: Added support for relocation types 5 and 6.
Mon Dec 27 11:06:03 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/comm.c]
new functions: BuildCommDCB(), OpenComm(), CloseComm(),
SetCommBreak(), ClearCommBreak(), EscapeCommFunction(), FlushComm(),
GetCommError(), SetCommEventMask(), GetCommEventMask(),
SetCommState(), GetCommState(), TransmitCommChar(), ReadComm(),
WriteComm().
Wed Dec 22 13:00:15 1993 David Metcalfe <david@prism.demon.co.uk>
* [windows/caret.c]
Implemented text caret functions.
Tue Dec 21 06:13:58 1993 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/wine.c]
Bug fix in LoadImage().
* [objects/bitblt.c] [objects/clipping.c] [objects/text.c]
[windows/dc.c] [windows/dce.c] [windows/graphics.c]
Modified graphics calls to take into account the DC origin.
* [windows/defwnd.c]
Added preliminary WM_NCCALCSIZE handling.
* [windows/event.c]
Send WM_NCCALCSIZE message on resize event.
* [windows/win.c]
Send WM_NCCALCSIZE message in CreateWindow().
Realize widgets at creation time (should prevent problems with
unrealized widgets).
Dec 19, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/static.c]
Send mouse & keyboard message received to its parent.
* [controls/scroll.c]
Send keyboard message received to its parent.
* [controls/listbox.c]
Add Navigation keys .
ListBox now use VSCROLL & HSCROLL instead of children.
Alpha version of LBS_MULTIPLESEL.
Alpha version of LBS_MULTICOLUMN.
* [controls/combo.c]
Add Navigation keys on closed ComboBox.
Remove useless 'COMBOBOX_CreateComboBox' function.
Mon Dec 19 20:39:34 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/wine.
LoadImage() modified to use FindFile().
* [misc/file.c]
SetErrorMode added
* [misc/dos_fs.c]
bug fixes.
Dec 13, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [memory/global.c]
bug fix in GlobalGetFreeSegment : good ptr in 'g_prev'.
* [sysres.dll]
preliminary version of a 'glass of wine' bitmap
* [windows/event.c]
New function 'GetCapture'.
* [controls/scroll.c]
Remove useless 'SCROLLBAR_CreateScrollBar' function.
* [controls/listbox.c]
Remove useless 'LISTBOX_CreateListBox' function.
Mon Dec 13 13:51:00 1993 David Metcalfe <david@prism.demon.co.uk>
* [objects/font.c]
Corrected bugs in GetCharWidth().
* [windows/event.c]
Modified EVENT_key to send Windows virtual key codes for
WM_KEYDOWN and WM_KEYUP messages, and a WM_CHAR message
for printable characters.
Wed Dec 08 19:20:00 1993 Karl Guenter Wuensch (hn324wu@unidui.uni-duisburg.de)
* [windows/graphics.c]
Added Polyline and Polygon
Mon Dec 13 14:51:54 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [controls/listbox.c]
ListBoxDirectory() modified to use dos_fs.c's functions to
access files&|drives.
Sat Dec 04 17:04:23 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/dos_fs.c]
Added FindFile() to search a file in a dos/unix style path.
* [misc/file.c]
New Win31 functions: OpenFile, _lcreate, _llseek, GetTempDrive,
GetTempFileName, GetWindowsDirectory, GetSystemDirectory,
GetDriveType.
* [misc/int21.c]
Modified.
Wed Dec 1 16:20:45 1993 Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
* [misc/profile.c]
The Profile functions now return the correct values. They now
implement all the features described in the SDK.
Tue Nov 30 13:55:27 1993 Bob Amstadt (bob at amscons)
* [loader/selector.c]
Rewrote selector aliasing routines to use System V IPC
routine to alias memory segments.
Nov 28, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/listbox.c]
More consistency in functions using wIndexes
* [controls/scroll.c]
New function : ShowScrollBar().
* [loader/cursor.c] ... New file
Move cursor functions from [loader/resource.c].
New function : ClipCursor().
New function : GetClipCursor().
New function : CreateCursor().
SetCursor() now working using gloabal variable 'winHasCursor'.
*[object/palette.c]
New stub only : SelectPalette().
New stub only : RealizePalette().
*[win/event.c]
New function : EVENT_enter_notify(),
update 'winHasCursor' and send WM_SETCURSOR.
*[win/defwnd.c]
Add processing of WM_SETCURSOR message.
*[win/win.c]
New members in WND structure : hCursor, hWndVScroll & hWndHScroll.
CreateWindowEx() now create children for WM_HSCROLL & WM_VSCROLL.
New function ClientToScreen().
New function ScreenToClient().
Mon Nov 25 18:25:40 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [files.h / regfunc.h / misc/dos.c]
Removed.
* [misc/dos_fs.c]
Added support for loading dosdrive cfg from wine.ini.
* [misc/int21.c]
Modified.
Wed Nov 24 11:37:33 1993 julliard@disuns2.epfl.ch (Alexandre Julliard)
* [include/atom.h] [memory/atom.c]
Implemented atoms.
* [windows/class.c]
Modified RegisterClass() to use atoms.
Implemented CS_GLOBALCLASS style.
* [windows/message.c]
Implemented RegisterWindowMessage().
* [loader/resource.c]
Bug fix in LoadResource().
* [windows/dialog.c]
Modified CreateDialogParam() to use Find/LoadResource().
1994-01-04 20:14:34 +00:00
|
|
|
*/
|
1995-01-09 18:21:16 +00:00
|
|
|
BOOL StretchBlt( HDC hdcDst, short xDst, short yDst,
|
|
|
|
short widthDst, short heightDst,
|
|
|
|
HDC hdcSrc, short xSrc, short ySrc,
|
|
|
|
short widthSrc, short heightSrc, DWORD rop )
|
Release 0.5
Sun Jan 2 12:38:53 1994 David Metcalfe <david@prism.demon.co.uk>
* [windows/class.c]
Implemented GetClassName and GetClassInfo.
* [windows/caret.c]
Various improvements to text caret code.
Fri Dec 31 15:22:22 1993 John Brezak <brezak@apollo.hp.com>
* [misc/comm.c]
Patches to work with NetBSD.
Thu Dec 30 12:11:55 1993 John Richardson <jrichard@cs.uml.edu>
* [objects/bitblt.c] Added StretchBlt().
Tue Jan 4 05:22:07 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [misc/user.c]
Added creation of system message queue.
* [objects/bitmap.c] [objects/dcvalues.c] [windows/dc.c]
Added DC size fields into DC structure.
* [objects/clipping.c]
Bug fix in CLIPPING_IntersectRect().
* [windows/class.c]
Allocate a DCE instead of a DC for CS_CLASSDC classes.
* [windows/clipping.c]
Fixed GetUpdateRect() and GetUpdateRgn() to clip to the client area.
* [windows/dce.c]
Implemented GetDCEx() and GetWindowDC().
* [windows/defwnd.c]
Implemented WM_WINDOWPOSCHANGED handling.
* [windows/event.c]
Preliminary support for Xlib event handling instead of Xt callbacks.
Changed MSG_AddMsg() calls to hardware_event() or PostMessage().
* [windows/message.c]
Preliminary support for multiple message queues.
Implemented hardware_event() to store messages into the system queue.
Implemented Get/SetTaskQueue().
Better WM_PAINT and WM_TIMER handling.
Changes to use Xlib instead of Xt for events.
* [windows/painting.c]
Use GetDCEx() to retrieve the DC, to get a correct visible region.
* [windows/timer.c]
Moved the timer procedure callback into DispatchMessage().
Changed implementation to get rid of Xt timeouts. Timer checking
is now done inside GetMessage().
* [windows/win.c]
Allocate a DCE instead of a DC for CS_OWNDC windows.
Replaced Xt calls with Xlib calls.
Moved window positioning functions into windows/winpos.c
* [windows/winpos.c] (New file)
Rewritten most of the window positioning functions.
Implemented SetWindowPos() and MapWindowPoints().
Jan 3, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [if1632/user.spec]
Bad arguments description for function SetDlgItemText.
* [objects/text.c]
Function DrawText now handle DT_CALCRECT request.
* [misc/message.c]
Message boxes now use DrawText with DT_CALCRECT.
* [windows/graphics.c]
Bug fix in function FrameRect, (it was using PEN instead of BRUSH).
* [windows/win.c]
Bug fix for flags in function ShowWindow.
More accurate WM_SIZE generated by function ShowWindow.
* [controls/listbox.c]
More code for LBS_MULTIPLESEL.
More code for LBS_MULTICOLUMN.
* [include/windows.h]
Bad define for MF_SEPARATOR.
* [controls/menu.c]
New functions: PopMenuWndProc() with 'glues',
CreatePopupMenu(), AppendMenu(), InsertMenu(), RemoveMenu(),
DeleteMenu(), ModifyMenu(), TrackPopupMenu().
Code in stubs: CreateMenu(), DestroyMenu().
Sat Jan 1 10:22:43 1994 Bob Amstadt (bob@pooh)
* loader/wine.c: Added support for relocation types 5 and 6.
Mon Dec 27 11:06:03 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/comm.c]
new functions: BuildCommDCB(), OpenComm(), CloseComm(),
SetCommBreak(), ClearCommBreak(), EscapeCommFunction(), FlushComm(),
GetCommError(), SetCommEventMask(), GetCommEventMask(),
SetCommState(), GetCommState(), TransmitCommChar(), ReadComm(),
WriteComm().
Wed Dec 22 13:00:15 1993 David Metcalfe <david@prism.demon.co.uk>
* [windows/caret.c]
Implemented text caret functions.
Tue Dec 21 06:13:58 1993 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/wine.c]
Bug fix in LoadImage().
* [objects/bitblt.c] [objects/clipping.c] [objects/text.c]
[windows/dc.c] [windows/dce.c] [windows/graphics.c]
Modified graphics calls to take into account the DC origin.
* [windows/defwnd.c]
Added preliminary WM_NCCALCSIZE handling.
* [windows/event.c]
Send WM_NCCALCSIZE message on resize event.
* [windows/win.c]
Send WM_NCCALCSIZE message in CreateWindow().
Realize widgets at creation time (should prevent problems with
unrealized widgets).
Dec 19, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/static.c]
Send mouse & keyboard message received to its parent.
* [controls/scroll.c]
Send keyboard message received to its parent.
* [controls/listbox.c]
Add Navigation keys .
ListBox now use VSCROLL & HSCROLL instead of children.
Alpha version of LBS_MULTIPLESEL.
Alpha version of LBS_MULTICOLUMN.
* [controls/combo.c]
Add Navigation keys on closed ComboBox.
Remove useless 'COMBOBOX_CreateComboBox' function.
Mon Dec 19 20:39:34 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/wine.
LoadImage() modified to use FindFile().
* [misc/file.c]
SetErrorMode added
* [misc/dos_fs.c]
bug fixes.
Dec 13, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [memory/global.c]
bug fix in GlobalGetFreeSegment : good ptr in 'g_prev'.
* [sysres.dll]
preliminary version of a 'glass of wine' bitmap
* [windows/event.c]
New function 'GetCapture'.
* [controls/scroll.c]
Remove useless 'SCROLLBAR_CreateScrollBar' function.
* [controls/listbox.c]
Remove useless 'LISTBOX_CreateListBox' function.
Mon Dec 13 13:51:00 1993 David Metcalfe <david@prism.demon.co.uk>
* [objects/font.c]
Corrected bugs in GetCharWidth().
* [windows/event.c]
Modified EVENT_key to send Windows virtual key codes for
WM_KEYDOWN and WM_KEYUP messages, and a WM_CHAR message
for printable characters.
Wed Dec 08 19:20:00 1993 Karl Guenter Wuensch (hn324wu@unidui.uni-duisburg.de)
* [windows/graphics.c]
Added Polyline and Polygon
Mon Dec 13 14:51:54 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [controls/listbox.c]
ListBoxDirectory() modified to use dos_fs.c's functions to
access files&|drives.
Sat Dec 04 17:04:23 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/dos_fs.c]
Added FindFile() to search a file in a dos/unix style path.
* [misc/file.c]
New Win31 functions: OpenFile, _lcreate, _llseek, GetTempDrive,
GetTempFileName, GetWindowsDirectory, GetSystemDirectory,
GetDriveType.
* [misc/int21.c]
Modified.
Wed Dec 1 16:20:45 1993 Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
* [misc/profile.c]
The Profile functions now return the correct values. They now
implement all the features described in the SDK.
Tue Nov 30 13:55:27 1993 Bob Amstadt (bob at amscons)
* [loader/selector.c]
Rewrote selector aliasing routines to use System V IPC
routine to alias memory segments.
Nov 28, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/listbox.c]
More consistency in functions using wIndexes
* [controls/scroll.c]
New function : ShowScrollBar().
* [loader/cursor.c] ... New file
Move cursor functions from [loader/resource.c].
New function : ClipCursor().
New function : GetClipCursor().
New function : CreateCursor().
SetCursor() now working using gloabal variable 'winHasCursor'.
*[object/palette.c]
New stub only : SelectPalette().
New stub only : RealizePalette().
*[win/event.c]
New function : EVENT_enter_notify(),
update 'winHasCursor' and send WM_SETCURSOR.
*[win/defwnd.c]
Add processing of WM_SETCURSOR message.
*[win/win.c]
New members in WND structure : hCursor, hWndVScroll & hWndHScroll.
CreateWindowEx() now create children for WM_HSCROLL & WM_VSCROLL.
New function ClientToScreen().
New function ScreenToClient().
Mon Nov 25 18:25:40 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [files.h / regfunc.h / misc/dos.c]
Removed.
* [misc/dos_fs.c]
Added support for loading dosdrive cfg from wine.ini.
* [misc/int21.c]
Modified.
Wed Nov 24 11:37:33 1993 julliard@disuns2.epfl.ch (Alexandre Julliard)
* [include/atom.h] [memory/atom.c]
Implemented atoms.
* [windows/class.c]
Modified RegisterClass() to use atoms.
Implemented CS_GLOBALCLASS style.
* [windows/message.c]
Implemented RegisterWindowMessage().
* [loader/resource.c]
Bug fix in LoadResource().
* [windows/dialog.c]
Modified CreateDialogParam() to use Find/LoadResource().
1994-01-04 20:14:34 +00:00
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
DC *dcDst, *dcSrc;
|
Release 0.5
Sun Jan 2 12:38:53 1994 David Metcalfe <david@prism.demon.co.uk>
* [windows/class.c]
Implemented GetClassName and GetClassInfo.
* [windows/caret.c]
Various improvements to text caret code.
Fri Dec 31 15:22:22 1993 John Brezak <brezak@apollo.hp.com>
* [misc/comm.c]
Patches to work with NetBSD.
Thu Dec 30 12:11:55 1993 John Richardson <jrichard@cs.uml.edu>
* [objects/bitblt.c] Added StretchBlt().
Tue Jan 4 05:22:07 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [misc/user.c]
Added creation of system message queue.
* [objects/bitmap.c] [objects/dcvalues.c] [windows/dc.c]
Added DC size fields into DC structure.
* [objects/clipping.c]
Bug fix in CLIPPING_IntersectRect().
* [windows/class.c]
Allocate a DCE instead of a DC for CS_CLASSDC classes.
* [windows/clipping.c]
Fixed GetUpdateRect() and GetUpdateRgn() to clip to the client area.
* [windows/dce.c]
Implemented GetDCEx() and GetWindowDC().
* [windows/defwnd.c]
Implemented WM_WINDOWPOSCHANGED handling.
* [windows/event.c]
Preliminary support for Xlib event handling instead of Xt callbacks.
Changed MSG_AddMsg() calls to hardware_event() or PostMessage().
* [windows/message.c]
Preliminary support for multiple message queues.
Implemented hardware_event() to store messages into the system queue.
Implemented Get/SetTaskQueue().
Better WM_PAINT and WM_TIMER handling.
Changes to use Xlib instead of Xt for events.
* [windows/painting.c]
Use GetDCEx() to retrieve the DC, to get a correct visible region.
* [windows/timer.c]
Moved the timer procedure callback into DispatchMessage().
Changed implementation to get rid of Xt timeouts. Timer checking
is now done inside GetMessage().
* [windows/win.c]
Allocate a DCE instead of a DC for CS_OWNDC windows.
Replaced Xt calls with Xlib calls.
Moved window positioning functions into windows/winpos.c
* [windows/winpos.c] (New file)
Rewritten most of the window positioning functions.
Implemented SetWindowPos() and MapWindowPoints().
Jan 3, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [if1632/user.spec]
Bad arguments description for function SetDlgItemText.
* [objects/text.c]
Function DrawText now handle DT_CALCRECT request.
* [misc/message.c]
Message boxes now use DrawText with DT_CALCRECT.
* [windows/graphics.c]
Bug fix in function FrameRect, (it was using PEN instead of BRUSH).
* [windows/win.c]
Bug fix for flags in function ShowWindow.
More accurate WM_SIZE generated by function ShowWindow.
* [controls/listbox.c]
More code for LBS_MULTIPLESEL.
More code for LBS_MULTICOLUMN.
* [include/windows.h]
Bad define for MF_SEPARATOR.
* [controls/menu.c]
New functions: PopMenuWndProc() with 'glues',
CreatePopupMenu(), AppendMenu(), InsertMenu(), RemoveMenu(),
DeleteMenu(), ModifyMenu(), TrackPopupMenu().
Code in stubs: CreateMenu(), DestroyMenu().
Sat Jan 1 10:22:43 1994 Bob Amstadt (bob@pooh)
* loader/wine.c: Added support for relocation types 5 and 6.
Mon Dec 27 11:06:03 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/comm.c]
new functions: BuildCommDCB(), OpenComm(), CloseComm(),
SetCommBreak(), ClearCommBreak(), EscapeCommFunction(), FlushComm(),
GetCommError(), SetCommEventMask(), GetCommEventMask(),
SetCommState(), GetCommState(), TransmitCommChar(), ReadComm(),
WriteComm().
Wed Dec 22 13:00:15 1993 David Metcalfe <david@prism.demon.co.uk>
* [windows/caret.c]
Implemented text caret functions.
Tue Dec 21 06:13:58 1993 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/wine.c]
Bug fix in LoadImage().
* [objects/bitblt.c] [objects/clipping.c] [objects/text.c]
[windows/dc.c] [windows/dce.c] [windows/graphics.c]
Modified graphics calls to take into account the DC origin.
* [windows/defwnd.c]
Added preliminary WM_NCCALCSIZE handling.
* [windows/event.c]
Send WM_NCCALCSIZE message on resize event.
* [windows/win.c]
Send WM_NCCALCSIZE message in CreateWindow().
Realize widgets at creation time (should prevent problems with
unrealized widgets).
Dec 19, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/static.c]
Send mouse & keyboard message received to its parent.
* [controls/scroll.c]
Send keyboard message received to its parent.
* [controls/listbox.c]
Add Navigation keys .
ListBox now use VSCROLL & HSCROLL instead of children.
Alpha version of LBS_MULTIPLESEL.
Alpha version of LBS_MULTICOLUMN.
* [controls/combo.c]
Add Navigation keys on closed ComboBox.
Remove useless 'COMBOBOX_CreateComboBox' function.
Mon Dec 19 20:39:34 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/wine.
LoadImage() modified to use FindFile().
* [misc/file.c]
SetErrorMode added
* [misc/dos_fs.c]
bug fixes.
Dec 13, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [memory/global.c]
bug fix in GlobalGetFreeSegment : good ptr in 'g_prev'.
* [sysres.dll]
preliminary version of a 'glass of wine' bitmap
* [windows/event.c]
New function 'GetCapture'.
* [controls/scroll.c]
Remove useless 'SCROLLBAR_CreateScrollBar' function.
* [controls/listbox.c]
Remove useless 'LISTBOX_CreateListBox' function.
Mon Dec 13 13:51:00 1993 David Metcalfe <david@prism.demon.co.uk>
* [objects/font.c]
Corrected bugs in GetCharWidth().
* [windows/event.c]
Modified EVENT_key to send Windows virtual key codes for
WM_KEYDOWN and WM_KEYUP messages, and a WM_CHAR message
for printable characters.
Wed Dec 08 19:20:00 1993 Karl Guenter Wuensch (hn324wu@unidui.uni-duisburg.de)
* [windows/graphics.c]
Added Polyline and Polygon
Mon Dec 13 14:51:54 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [controls/listbox.c]
ListBoxDirectory() modified to use dos_fs.c's functions to
access files&|drives.
Sat Dec 04 17:04:23 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/dos_fs.c]
Added FindFile() to search a file in a dos/unix style path.
* [misc/file.c]
New Win31 functions: OpenFile, _lcreate, _llseek, GetTempDrive,
GetTempFileName, GetWindowsDirectory, GetSystemDirectory,
GetDriveType.
* [misc/int21.c]
Modified.
Wed Dec 1 16:20:45 1993 Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
* [misc/profile.c]
The Profile functions now return the correct values. They now
implement all the features described in the SDK.
Tue Nov 30 13:55:27 1993 Bob Amstadt (bob at amscons)
* [loader/selector.c]
Rewrote selector aliasing routines to use System V IPC
routine to alias memory segments.
Nov 28, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/listbox.c]
More consistency in functions using wIndexes
* [controls/scroll.c]
New function : ShowScrollBar().
* [loader/cursor.c] ... New file
Move cursor functions from [loader/resource.c].
New function : ClipCursor().
New function : GetClipCursor().
New function : CreateCursor().
SetCursor() now working using gloabal variable 'winHasCursor'.
*[object/palette.c]
New stub only : SelectPalette().
New stub only : RealizePalette().
*[win/event.c]
New function : EVENT_enter_notify(),
update 'winHasCursor' and send WM_SETCURSOR.
*[win/defwnd.c]
Add processing of WM_SETCURSOR message.
*[win/win.c]
New members in WND structure : hCursor, hWndVScroll & hWndHScroll.
CreateWindowEx() now create children for WM_HSCROLL & WM_VSCROLL.
New function ClientToScreen().
New function ScreenToClient().
Mon Nov 25 18:25:40 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [files.h / regfunc.h / misc/dos.c]
Removed.
* [misc/dos_fs.c]
Added support for loading dosdrive cfg from wine.ini.
* [misc/int21.c]
Modified.
Wed Nov 24 11:37:33 1993 julliard@disuns2.epfl.ch (Alexandre Julliard)
* [include/atom.h] [memory/atom.c]
Implemented atoms.
* [windows/class.c]
Modified RegisterClass() to use atoms.
Implemented CS_GLOBALCLASS style.
* [windows/message.c]
Implemented RegisterWindowMessage().
* [loader/resource.c]
Bug fix in LoadResource().
* [windows/dialog.c]
Modified CreateDialogParam() to use Find/LoadResource().
1994-01-04 20:14:34 +00:00
|
|
|
|
1995-01-09 18:21:16 +00:00
|
|
|
if (!(dcDst = (DC *) GDI_GetObjPtr( hdcDst, DC_MAGIC )))
|
Release 0.5
Sun Jan 2 12:38:53 1994 David Metcalfe <david@prism.demon.co.uk>
* [windows/class.c]
Implemented GetClassName and GetClassInfo.
* [windows/caret.c]
Various improvements to text caret code.
Fri Dec 31 15:22:22 1993 John Brezak <brezak@apollo.hp.com>
* [misc/comm.c]
Patches to work with NetBSD.
Thu Dec 30 12:11:55 1993 John Richardson <jrichard@cs.uml.edu>
* [objects/bitblt.c] Added StretchBlt().
Tue Jan 4 05:22:07 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [misc/user.c]
Added creation of system message queue.
* [objects/bitmap.c] [objects/dcvalues.c] [windows/dc.c]
Added DC size fields into DC structure.
* [objects/clipping.c]
Bug fix in CLIPPING_IntersectRect().
* [windows/class.c]
Allocate a DCE instead of a DC for CS_CLASSDC classes.
* [windows/clipping.c]
Fixed GetUpdateRect() and GetUpdateRgn() to clip to the client area.
* [windows/dce.c]
Implemented GetDCEx() and GetWindowDC().
* [windows/defwnd.c]
Implemented WM_WINDOWPOSCHANGED handling.
* [windows/event.c]
Preliminary support for Xlib event handling instead of Xt callbacks.
Changed MSG_AddMsg() calls to hardware_event() or PostMessage().
* [windows/message.c]
Preliminary support for multiple message queues.
Implemented hardware_event() to store messages into the system queue.
Implemented Get/SetTaskQueue().
Better WM_PAINT and WM_TIMER handling.
Changes to use Xlib instead of Xt for events.
* [windows/painting.c]
Use GetDCEx() to retrieve the DC, to get a correct visible region.
* [windows/timer.c]
Moved the timer procedure callback into DispatchMessage().
Changed implementation to get rid of Xt timeouts. Timer checking
is now done inside GetMessage().
* [windows/win.c]
Allocate a DCE instead of a DC for CS_OWNDC windows.
Replaced Xt calls with Xlib calls.
Moved window positioning functions into windows/winpos.c
* [windows/winpos.c] (New file)
Rewritten most of the window positioning functions.
Implemented SetWindowPos() and MapWindowPoints().
Jan 3, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [if1632/user.spec]
Bad arguments description for function SetDlgItemText.
* [objects/text.c]
Function DrawText now handle DT_CALCRECT request.
* [misc/message.c]
Message boxes now use DrawText with DT_CALCRECT.
* [windows/graphics.c]
Bug fix in function FrameRect, (it was using PEN instead of BRUSH).
* [windows/win.c]
Bug fix for flags in function ShowWindow.
More accurate WM_SIZE generated by function ShowWindow.
* [controls/listbox.c]
More code for LBS_MULTIPLESEL.
More code for LBS_MULTICOLUMN.
* [include/windows.h]
Bad define for MF_SEPARATOR.
* [controls/menu.c]
New functions: PopMenuWndProc() with 'glues',
CreatePopupMenu(), AppendMenu(), InsertMenu(), RemoveMenu(),
DeleteMenu(), ModifyMenu(), TrackPopupMenu().
Code in stubs: CreateMenu(), DestroyMenu().
Sat Jan 1 10:22:43 1994 Bob Amstadt (bob@pooh)
* loader/wine.c: Added support for relocation types 5 and 6.
Mon Dec 27 11:06:03 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/comm.c]
new functions: BuildCommDCB(), OpenComm(), CloseComm(),
SetCommBreak(), ClearCommBreak(), EscapeCommFunction(), FlushComm(),
GetCommError(), SetCommEventMask(), GetCommEventMask(),
SetCommState(), GetCommState(), TransmitCommChar(), ReadComm(),
WriteComm().
Wed Dec 22 13:00:15 1993 David Metcalfe <david@prism.demon.co.uk>
* [windows/caret.c]
Implemented text caret functions.
Tue Dec 21 06:13:58 1993 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/wine.c]
Bug fix in LoadImage().
* [objects/bitblt.c] [objects/clipping.c] [objects/text.c]
[windows/dc.c] [windows/dce.c] [windows/graphics.c]
Modified graphics calls to take into account the DC origin.
* [windows/defwnd.c]
Added preliminary WM_NCCALCSIZE handling.
* [windows/event.c]
Send WM_NCCALCSIZE message on resize event.
* [windows/win.c]
Send WM_NCCALCSIZE message in CreateWindow().
Realize widgets at creation time (should prevent problems with
unrealized widgets).
Dec 19, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/static.c]
Send mouse & keyboard message received to its parent.
* [controls/scroll.c]
Send keyboard message received to its parent.
* [controls/listbox.c]
Add Navigation keys .
ListBox now use VSCROLL & HSCROLL instead of children.
Alpha version of LBS_MULTIPLESEL.
Alpha version of LBS_MULTICOLUMN.
* [controls/combo.c]
Add Navigation keys on closed ComboBox.
Remove useless 'COMBOBOX_CreateComboBox' function.
Mon Dec 19 20:39:34 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/wine.
LoadImage() modified to use FindFile().
* [misc/file.c]
SetErrorMode added
* [misc/dos_fs.c]
bug fixes.
Dec 13, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [memory/global.c]
bug fix in GlobalGetFreeSegment : good ptr in 'g_prev'.
* [sysres.dll]
preliminary version of a 'glass of wine' bitmap
* [windows/event.c]
New function 'GetCapture'.
* [controls/scroll.c]
Remove useless 'SCROLLBAR_CreateScrollBar' function.
* [controls/listbox.c]
Remove useless 'LISTBOX_CreateListBox' function.
Mon Dec 13 13:51:00 1993 David Metcalfe <david@prism.demon.co.uk>
* [objects/font.c]
Corrected bugs in GetCharWidth().
* [windows/event.c]
Modified EVENT_key to send Windows virtual key codes for
WM_KEYDOWN and WM_KEYUP messages, and a WM_CHAR message
for printable characters.
Wed Dec 08 19:20:00 1993 Karl Guenter Wuensch (hn324wu@unidui.uni-duisburg.de)
* [windows/graphics.c]
Added Polyline and Polygon
Mon Dec 13 14:51:54 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [controls/listbox.c]
ListBoxDirectory() modified to use dos_fs.c's functions to
access files&|drives.
Sat Dec 04 17:04:23 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/dos_fs.c]
Added FindFile() to search a file in a dos/unix style path.
* [misc/file.c]
New Win31 functions: OpenFile, _lcreate, _llseek, GetTempDrive,
GetTempFileName, GetWindowsDirectory, GetSystemDirectory,
GetDriveType.
* [misc/int21.c]
Modified.
Wed Dec 1 16:20:45 1993 Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
* [misc/profile.c]
The Profile functions now return the correct values. They now
implement all the features described in the SDK.
Tue Nov 30 13:55:27 1993 Bob Amstadt (bob at amscons)
* [loader/selector.c]
Rewrote selector aliasing routines to use System V IPC
routine to alias memory segments.
Nov 28, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/listbox.c]
More consistency in functions using wIndexes
* [controls/scroll.c]
New function : ShowScrollBar().
* [loader/cursor.c] ... New file
Move cursor functions from [loader/resource.c].
New function : ClipCursor().
New function : GetClipCursor().
New function : CreateCursor().
SetCursor() now working using gloabal variable 'winHasCursor'.
*[object/palette.c]
New stub only : SelectPalette().
New stub only : RealizePalette().
*[win/event.c]
New function : EVENT_enter_notify(),
update 'winHasCursor' and send WM_SETCURSOR.
*[win/defwnd.c]
Add processing of WM_SETCURSOR message.
*[win/win.c]
New members in WND structure : hCursor, hWndVScroll & hWndHScroll.
CreateWindowEx() now create children for WM_HSCROLL & WM_VSCROLL.
New function ClientToScreen().
New function ScreenToClient().
Mon Nov 25 18:25:40 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [files.h / regfunc.h / misc/dos.c]
Removed.
* [misc/dos_fs.c]
Added support for loading dosdrive cfg from wine.ini.
* [misc/int21.c]
Modified.
Wed Nov 24 11:37:33 1993 julliard@disuns2.epfl.ch (Alexandre Julliard)
* [include/atom.h] [memory/atom.c]
Implemented atoms.
* [windows/class.c]
Modified RegisterClass() to use atoms.
Implemented CS_GLOBALCLASS style.
* [windows/message.c]
Implemented RegisterWindowMessage().
* [loader/resource.c]
Bug fix in LoadResource().
* [windows/dialog.c]
Modified CreateDialogParam() to use Find/LoadResource().
1994-01-04 20:14:34 +00:00
|
|
|
{
|
1995-01-09 18:21:16 +00:00
|
|
|
if (!(dcDst = (DC *)GDI_GetObjPtr( hdcDst, METAFILE_DC_MAGIC )))
|
|
|
|
return FALSE;
|
|
|
|
return MF_StretchBlt( dcDst, xDst, yDst, widthDst, heightDst,
|
|
|
|
hdcSrc, xSrc, ySrc, widthSrc, heightSrc, rop );
|
Release 0.5
Sun Jan 2 12:38:53 1994 David Metcalfe <david@prism.demon.co.uk>
* [windows/class.c]
Implemented GetClassName and GetClassInfo.
* [windows/caret.c]
Various improvements to text caret code.
Fri Dec 31 15:22:22 1993 John Brezak <brezak@apollo.hp.com>
* [misc/comm.c]
Patches to work with NetBSD.
Thu Dec 30 12:11:55 1993 John Richardson <jrichard@cs.uml.edu>
* [objects/bitblt.c] Added StretchBlt().
Tue Jan 4 05:22:07 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [misc/user.c]
Added creation of system message queue.
* [objects/bitmap.c] [objects/dcvalues.c] [windows/dc.c]
Added DC size fields into DC structure.
* [objects/clipping.c]
Bug fix in CLIPPING_IntersectRect().
* [windows/class.c]
Allocate a DCE instead of a DC for CS_CLASSDC classes.
* [windows/clipping.c]
Fixed GetUpdateRect() and GetUpdateRgn() to clip to the client area.
* [windows/dce.c]
Implemented GetDCEx() and GetWindowDC().
* [windows/defwnd.c]
Implemented WM_WINDOWPOSCHANGED handling.
* [windows/event.c]
Preliminary support for Xlib event handling instead of Xt callbacks.
Changed MSG_AddMsg() calls to hardware_event() or PostMessage().
* [windows/message.c]
Preliminary support for multiple message queues.
Implemented hardware_event() to store messages into the system queue.
Implemented Get/SetTaskQueue().
Better WM_PAINT and WM_TIMER handling.
Changes to use Xlib instead of Xt for events.
* [windows/painting.c]
Use GetDCEx() to retrieve the DC, to get a correct visible region.
* [windows/timer.c]
Moved the timer procedure callback into DispatchMessage().
Changed implementation to get rid of Xt timeouts. Timer checking
is now done inside GetMessage().
* [windows/win.c]
Allocate a DCE instead of a DC for CS_OWNDC windows.
Replaced Xt calls with Xlib calls.
Moved window positioning functions into windows/winpos.c
* [windows/winpos.c] (New file)
Rewritten most of the window positioning functions.
Implemented SetWindowPos() and MapWindowPoints().
Jan 3, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [if1632/user.spec]
Bad arguments description for function SetDlgItemText.
* [objects/text.c]
Function DrawText now handle DT_CALCRECT request.
* [misc/message.c]
Message boxes now use DrawText with DT_CALCRECT.
* [windows/graphics.c]
Bug fix in function FrameRect, (it was using PEN instead of BRUSH).
* [windows/win.c]
Bug fix for flags in function ShowWindow.
More accurate WM_SIZE generated by function ShowWindow.
* [controls/listbox.c]
More code for LBS_MULTIPLESEL.
More code for LBS_MULTICOLUMN.
* [include/windows.h]
Bad define for MF_SEPARATOR.
* [controls/menu.c]
New functions: PopMenuWndProc() with 'glues',
CreatePopupMenu(), AppendMenu(), InsertMenu(), RemoveMenu(),
DeleteMenu(), ModifyMenu(), TrackPopupMenu().
Code in stubs: CreateMenu(), DestroyMenu().
Sat Jan 1 10:22:43 1994 Bob Amstadt (bob@pooh)
* loader/wine.c: Added support for relocation types 5 and 6.
Mon Dec 27 11:06:03 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/comm.c]
new functions: BuildCommDCB(), OpenComm(), CloseComm(),
SetCommBreak(), ClearCommBreak(), EscapeCommFunction(), FlushComm(),
GetCommError(), SetCommEventMask(), GetCommEventMask(),
SetCommState(), GetCommState(), TransmitCommChar(), ReadComm(),
WriteComm().
Wed Dec 22 13:00:15 1993 David Metcalfe <david@prism.demon.co.uk>
* [windows/caret.c]
Implemented text caret functions.
Tue Dec 21 06:13:58 1993 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/wine.c]
Bug fix in LoadImage().
* [objects/bitblt.c] [objects/clipping.c] [objects/text.c]
[windows/dc.c] [windows/dce.c] [windows/graphics.c]
Modified graphics calls to take into account the DC origin.
* [windows/defwnd.c]
Added preliminary WM_NCCALCSIZE handling.
* [windows/event.c]
Send WM_NCCALCSIZE message on resize event.
* [windows/win.c]
Send WM_NCCALCSIZE message in CreateWindow().
Realize widgets at creation time (should prevent problems with
unrealized widgets).
Dec 19, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/static.c]
Send mouse & keyboard message received to its parent.
* [controls/scroll.c]
Send keyboard message received to its parent.
* [controls/listbox.c]
Add Navigation keys .
ListBox now use VSCROLL & HSCROLL instead of children.
Alpha version of LBS_MULTIPLESEL.
Alpha version of LBS_MULTICOLUMN.
* [controls/combo.c]
Add Navigation keys on closed ComboBox.
Remove useless 'COMBOBOX_CreateComboBox' function.
Mon Dec 19 20:39:34 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/wine.
LoadImage() modified to use FindFile().
* [misc/file.c]
SetErrorMode added
* [misc/dos_fs.c]
bug fixes.
Dec 13, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [memory/global.c]
bug fix in GlobalGetFreeSegment : good ptr in 'g_prev'.
* [sysres.dll]
preliminary version of a 'glass of wine' bitmap
* [windows/event.c]
New function 'GetCapture'.
* [controls/scroll.c]
Remove useless 'SCROLLBAR_CreateScrollBar' function.
* [controls/listbox.c]
Remove useless 'LISTBOX_CreateListBox' function.
Mon Dec 13 13:51:00 1993 David Metcalfe <david@prism.demon.co.uk>
* [objects/font.c]
Corrected bugs in GetCharWidth().
* [windows/event.c]
Modified EVENT_key to send Windows virtual key codes for
WM_KEYDOWN and WM_KEYUP messages, and a WM_CHAR message
for printable characters.
Wed Dec 08 19:20:00 1993 Karl Guenter Wuensch (hn324wu@unidui.uni-duisburg.de)
* [windows/graphics.c]
Added Polyline and Polygon
Mon Dec 13 14:51:54 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [controls/listbox.c]
ListBoxDirectory() modified to use dos_fs.c's functions to
access files&|drives.
Sat Dec 04 17:04:23 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/dos_fs.c]
Added FindFile() to search a file in a dos/unix style path.
* [misc/file.c]
New Win31 functions: OpenFile, _lcreate, _llseek, GetTempDrive,
GetTempFileName, GetWindowsDirectory, GetSystemDirectory,
GetDriveType.
* [misc/int21.c]
Modified.
Wed Dec 1 16:20:45 1993 Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
* [misc/profile.c]
The Profile functions now return the correct values. They now
implement all the features described in the SDK.
Tue Nov 30 13:55:27 1993 Bob Amstadt (bob at amscons)
* [loader/selector.c]
Rewrote selector aliasing routines to use System V IPC
routine to alias memory segments.
Nov 28, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/listbox.c]
More consistency in functions using wIndexes
* [controls/scroll.c]
New function : ShowScrollBar().
* [loader/cursor.c] ... New file
Move cursor functions from [loader/resource.c].
New function : ClipCursor().
New function : GetClipCursor().
New function : CreateCursor().
SetCursor() now working using gloabal variable 'winHasCursor'.
*[object/palette.c]
New stub only : SelectPalette().
New stub only : RealizePalette().
*[win/event.c]
New function : EVENT_enter_notify(),
update 'winHasCursor' and send WM_SETCURSOR.
*[win/defwnd.c]
Add processing of WM_SETCURSOR message.
*[win/win.c]
New members in WND structure : hCursor, hWndVScroll & hWndHScroll.
CreateWindowEx() now create children for WM_HSCROLL & WM_VSCROLL.
New function ClientToScreen().
New function ScreenToClient().
Mon Nov 25 18:25:40 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [files.h / regfunc.h / misc/dos.c]
Removed.
* [misc/dos_fs.c]
Added support for loading dosdrive cfg from wine.ini.
* [misc/int21.c]
Modified.
Wed Nov 24 11:37:33 1993 julliard@disuns2.epfl.ch (Alexandre Julliard)
* [include/atom.h] [memory/atom.c]
Implemented atoms.
* [windows/class.c]
Modified RegisterClass() to use atoms.
Implemented CS_GLOBALCLASS style.
* [windows/message.c]
Implemented RegisterWindowMessage().
* [loader/resource.c]
Bug fix in LoadResource().
* [windows/dialog.c]
Modified CreateDialogParam() to use Find/LoadResource().
1994-01-04 20:14:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
dcSrc = (DC *) GDI_GetObjPtr( hdcSrc, DC_MAGIC );
|
1995-01-09 18:21:16 +00:00
|
|
|
dprintf_bitblt(stddeb,
|
|
|
|
"StretchBlt: %04x %d,%d %dx%dx%d -> %04x %d,%d %dx%dx%d rop=%06lx\n",
|
|
|
|
hdcSrc, xSrc, ySrc, widthSrc, heightSrc,
|
|
|
|
dcSrc ? dcSrc->w.bitsPerPixel : 0, hdcDst, xDst, yDst,
|
|
|
|
widthDst, heightDst, dcDst->w.bitsPerPixel, rop );
|
|
|
|
|
Release 950606
Tue Jun 6 12:11:41 1995 Alexandre Julliard (julliard@sunsite.unc.edu)
* [controls/menu.c]
Fixed bug with drawing multi-column menus with vertical separator.
* [debugger/debug.l]
Fixed NULL-pointer reference after readline().
* [if1632/winprocs.spec] [miscemu/int21.c] [miscemu/interrupts.c]
Added interrupt vector emulation. Allows to retrieve an interrupt
vector and jump to it without crashing.
* [loader/ldt.c]
Moved ldt.c to memory directory.
* [loader/task.c]
Implemented LockCurrentTask() and GetInstanceData().
* [objects/bitblt.c]
Fixed a bug that caused StretchBlt() to use wrong colors when
stretching a monochrome bitmap to a color display.
* [objects/bitmap.c]
Fixed a segmented pointer bug in CreateBitmapIndirect().
* [tools/build.c]
Added possibility to have arguments for register functions; used
by interrupt vectors to remove the flags from the stack.
Generate a new function CallTo32_LargeStack(), that allows calling
a 32-bit function using the original 32-bit stack, for functions
that need more that 64k of stack.
Tue May 30 10:29:56 1995 Martin von Loewis <martin@informatik.hu-berlin.de>
* [if1632/shell.spec] [misc/shell.c]
DoEnvironmentSubst: fixed prototype
* [if1632/gdi.spec] [objects/palette.c]
SetSystemPaletteUse: new function
* [if1632/kernel.spec] [loader/resource.c]
DirectResAlloc: new function
* [if1632/user.spec] [windows/keyboard.c]
SetKeyboardState: new function
Mon May 29 12:58:28 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [tools/build.c]
Prevent interrupts from destroying the args for a 32 bit function
by loading the correct value into %esp directly after %ss.
* [loader/ne_image.c] [loader/module.c]
The new instance must be created earlier in LoadModule(), so that
fixups referencing it will be handled correctly.
Initialize the local heap for a DGROUP in NE_LoadSegment().
* [objects/dib.c]
Like RLE8 bitmaps, RLE4 bitmaps don't always end with a proper code.
This used to crash Wine. Fixed.
* [objects/text.c]
Fix possible null pointer dereference in debugging output.
* [misc/commdlg.c]
Handle user input in the edit control better. Some bugs fixed.
* [memory/local.c]
Started implementing moveable blocks. This is unfinished (!), but
at least it does not seem to break things.
Wed May 24 13:26:36 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [loader/module.c]
LoadModule(): DLLs occasionally have a data segment, and they work
much better if it is loaded :-)
LoadLibrary(): pass HMODULE instead of HINSTANCE to NE_InitializeDLLs.
FindModule(): also strip off the last backslash of the pathnames
(Winhelp tried to load C:\WINDOWS\SYSTEM\COMMDLG.DLL).
GetModuleHandle(): just call MODULE_FindModule, it does the same job,
only better.
* [loader/ne_image.c]
LocalInit() the heap of a DLL in NE_InitDLL. (This is probably
not really correct, it seems that all programs and DLLs try to do
this themselves. But they pass weird parameters.)
NE_InitializeDLLs should also call NE_InitDLL for the passed hModule.
* [loader/task.c] [misc/user.c]
Finish global initializations in InitTask instead of InitApp, or
all the DLLs will be initialized in InitTask without any available
window classes!
1995-06-06 16:40:35 +00:00
|
|
|
return CallTo32_LargeStack( (int(*)())BITBLT_InternalStretchBlt, 11,
|
|
|
|
dcDst, xDst, yDst, widthDst, heightDst,
|
|
|
|
dcSrc, xSrc, ySrc, widthSrc, heightSrc, rop );
|
Release 0.5
Sun Jan 2 12:38:53 1994 David Metcalfe <david@prism.demon.co.uk>
* [windows/class.c]
Implemented GetClassName and GetClassInfo.
* [windows/caret.c]
Various improvements to text caret code.
Fri Dec 31 15:22:22 1993 John Brezak <brezak@apollo.hp.com>
* [misc/comm.c]
Patches to work with NetBSD.
Thu Dec 30 12:11:55 1993 John Richardson <jrichard@cs.uml.edu>
* [objects/bitblt.c] Added StretchBlt().
Tue Jan 4 05:22:07 1994 julliard@di.epfl.ch (Alexandre Julliard)
* [misc/user.c]
Added creation of system message queue.
* [objects/bitmap.c] [objects/dcvalues.c] [windows/dc.c]
Added DC size fields into DC structure.
* [objects/clipping.c]
Bug fix in CLIPPING_IntersectRect().
* [windows/class.c]
Allocate a DCE instead of a DC for CS_CLASSDC classes.
* [windows/clipping.c]
Fixed GetUpdateRect() and GetUpdateRgn() to clip to the client area.
* [windows/dce.c]
Implemented GetDCEx() and GetWindowDC().
* [windows/defwnd.c]
Implemented WM_WINDOWPOSCHANGED handling.
* [windows/event.c]
Preliminary support for Xlib event handling instead of Xt callbacks.
Changed MSG_AddMsg() calls to hardware_event() or PostMessage().
* [windows/message.c]
Preliminary support for multiple message queues.
Implemented hardware_event() to store messages into the system queue.
Implemented Get/SetTaskQueue().
Better WM_PAINT and WM_TIMER handling.
Changes to use Xlib instead of Xt for events.
* [windows/painting.c]
Use GetDCEx() to retrieve the DC, to get a correct visible region.
* [windows/timer.c]
Moved the timer procedure callback into DispatchMessage().
Changed implementation to get rid of Xt timeouts. Timer checking
is now done inside GetMessage().
* [windows/win.c]
Allocate a DCE instead of a DC for CS_OWNDC windows.
Replaced Xt calls with Xlib calls.
Moved window positioning functions into windows/winpos.c
* [windows/winpos.c] (New file)
Rewritten most of the window positioning functions.
Implemented SetWindowPos() and MapWindowPoints().
Jan 3, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [if1632/user.spec]
Bad arguments description for function SetDlgItemText.
* [objects/text.c]
Function DrawText now handle DT_CALCRECT request.
* [misc/message.c]
Message boxes now use DrawText with DT_CALCRECT.
* [windows/graphics.c]
Bug fix in function FrameRect, (it was using PEN instead of BRUSH).
* [windows/win.c]
Bug fix for flags in function ShowWindow.
More accurate WM_SIZE generated by function ShowWindow.
* [controls/listbox.c]
More code for LBS_MULTIPLESEL.
More code for LBS_MULTICOLUMN.
* [include/windows.h]
Bad define for MF_SEPARATOR.
* [controls/menu.c]
New functions: PopMenuWndProc() with 'glues',
CreatePopupMenu(), AppendMenu(), InsertMenu(), RemoveMenu(),
DeleteMenu(), ModifyMenu(), TrackPopupMenu().
Code in stubs: CreateMenu(), DestroyMenu().
Sat Jan 1 10:22:43 1994 Bob Amstadt (bob@pooh)
* loader/wine.c: Added support for relocation types 5 and 6.
Mon Dec 27 11:06:03 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/comm.c]
new functions: BuildCommDCB(), OpenComm(), CloseComm(),
SetCommBreak(), ClearCommBreak(), EscapeCommFunction(), FlushComm(),
GetCommError(), SetCommEventMask(), GetCommEventMask(),
SetCommState(), GetCommState(), TransmitCommChar(), ReadComm(),
WriteComm().
Wed Dec 22 13:00:15 1993 David Metcalfe <david@prism.demon.co.uk>
* [windows/caret.c]
Implemented text caret functions.
Tue Dec 21 06:13:58 1993 julliard@di.epfl.ch (Alexandre Julliard)
* [loader/wine.c]
Bug fix in LoadImage().
* [objects/bitblt.c] [objects/clipping.c] [objects/text.c]
[windows/dc.c] [windows/dce.c] [windows/graphics.c]
Modified graphics calls to take into account the DC origin.
* [windows/defwnd.c]
Added preliminary WM_NCCALCSIZE handling.
* [windows/event.c]
Send WM_NCCALCSIZE message on resize event.
* [windows/win.c]
Send WM_NCCALCSIZE message in CreateWindow().
Realize widgets at creation time (should prevent problems with
unrealized widgets).
Dec 19, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/static.c]
Send mouse & keyboard message received to its parent.
* [controls/scroll.c]
Send keyboard message received to its parent.
* [controls/listbox.c]
Add Navigation keys .
ListBox now use VSCROLL & HSCROLL instead of children.
Alpha version of LBS_MULTIPLESEL.
Alpha version of LBS_MULTICOLUMN.
* [controls/combo.c]
Add Navigation keys on closed ComboBox.
Remove useless 'COMBOBOX_CreateComboBox' function.
Mon Dec 19 20:39:34 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [loader/wine.
LoadImage() modified to use FindFile().
* [misc/file.c]
SetErrorMode added
* [misc/dos_fs.c]
bug fixes.
Dec 13, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [memory/global.c]
bug fix in GlobalGetFreeSegment : good ptr in 'g_prev'.
* [sysres.dll]
preliminary version of a 'glass of wine' bitmap
* [windows/event.c]
New function 'GetCapture'.
* [controls/scroll.c]
Remove useless 'SCROLLBAR_CreateScrollBar' function.
* [controls/listbox.c]
Remove useless 'LISTBOX_CreateListBox' function.
Mon Dec 13 13:51:00 1993 David Metcalfe <david@prism.demon.co.uk>
* [objects/font.c]
Corrected bugs in GetCharWidth().
* [windows/event.c]
Modified EVENT_key to send Windows virtual key codes for
WM_KEYDOWN and WM_KEYUP messages, and a WM_CHAR message
for printable characters.
Wed Dec 08 19:20:00 1993 Karl Guenter Wuensch (hn324wu@unidui.uni-duisburg.de)
* [windows/graphics.c]
Added Polyline and Polygon
Mon Dec 13 14:51:54 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [controls/listbox.c]
ListBoxDirectory() modified to use dos_fs.c's functions to
access files&|drives.
Sat Dec 04 17:04:23 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [misc/dos_fs.c]
Added FindFile() to search a file in a dos/unix style path.
* [misc/file.c]
New Win31 functions: OpenFile, _lcreate, _llseek, GetTempDrive,
GetTempFileName, GetWindowsDirectory, GetSystemDirectory,
GetDriveType.
* [misc/int21.c]
Modified.
Wed Dec 1 16:20:45 1993 Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx)
* [misc/profile.c]
The Profile functions now return the correct values. They now
implement all the features described in the SDK.
Tue Nov 30 13:55:27 1993 Bob Amstadt (bob at amscons)
* [loader/selector.c]
Rewrote selector aliasing routines to use System V IPC
routine to alias memory segments.
Nov 28, 93 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)
* [controls/listbox.c]
More consistency in functions using wIndexes
* [controls/scroll.c]
New function : ShowScrollBar().
* [loader/cursor.c] ... New file
Move cursor functions from [loader/resource.c].
New function : ClipCursor().
New function : GetClipCursor().
New function : CreateCursor().
SetCursor() now working using gloabal variable 'winHasCursor'.
*[object/palette.c]
New stub only : SelectPalette().
New stub only : RealizePalette().
*[win/event.c]
New function : EVENT_enter_notify(),
update 'winHasCursor' and send WM_SETCURSOR.
*[win/defwnd.c]
Add processing of WM_SETCURSOR message.
*[win/win.c]
New members in WND structure : hCursor, hWndVScroll & hWndHScroll.
CreateWindowEx() now create children for WM_HSCROLL & WM_VSCROLL.
New function ClientToScreen().
New function ScreenToClient().
Mon Nov 25 18:25:40 1993 Erik Bos (erik@trashcan.hacktic.nl)
* [files.h / regfunc.h / misc/dos.c]
Removed.
* [misc/dos_fs.c]
Added support for loading dosdrive cfg from wine.ini.
* [misc/int21.c]
Modified.
Wed Nov 24 11:37:33 1993 julliard@disuns2.epfl.ch (Alexandre Julliard)
* [include/atom.h] [memory/atom.c]
Implemented atoms.
* [windows/class.c]
Modified RegisterClass() to use atoms.
Implemented CS_GLOBALCLASS style.
* [windows/message.c]
Implemented RegisterWindowMessage().
* [loader/resource.c]
Bug fix in LoadResource().
* [windows/dialog.c]
Modified CreateDialogParam() to use Find/LoadResource().
1994-01-04 20:14:34 +00:00
|
|
|
}
|