mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-16 06:16:35 +00:00
a0b2b1d0f6
Sun Nov 16 07:42:44 1997 Alex Korobka <alex@trantor.pharm.sunysb.edu> * [windows/dce.c] [windows/clipboard.c] [windows/nonclient.c] Bug fixes. * [misc/shell.c] [resources/*] New "About" dialog. Sat Nov 15 17:30:18 1997 Alexandre Julliard <julliard@lrc.epfl.ch> * [configure.in] [Makefile.in] Replaced --with-library option by --disable-emulator. The default is now to build both the library and the emulator. Renamed --with options to --enable to follow autoconf guidelines. * [loader/main.c] [miscemu/main.c] (New file) Split initialization in WinelibInit/EmulatorInit. * [loader/*.c] Removed all remaining #ifdef's WINELIB. * [controls/widgets.c] [windows/mdi.c] Converted MDIClientWndProc to 32-bit. * [debugger/break.c] [if1632/signal.c] [include/selectors.h] [scheduler/thread.c] Code and data selector values are now computed at run-time. * [library/libres.c] Moved to loader/ directory. * [misc/main.c] [misc/version.c] (New file) Moved all version stuff to version.c. Cleaned up a bit. * [msdos/dpmi.c] Update the REALMODECALL structure on return from real-mode interrupt. * [windows/event.c] [windows/keyboard.c] Changed the way event coordinates are determined. Don't rely on the ConfigureNotify event values. This should fix all problems with cursor position in -desktop and -managed modes. Sat Nov 15 16:09:36 1997 Slaven Rezic <eserte@cs.tu-berlin.de> * [controls/button.c] (BUTTON_CheckAutoRadioButton): Prevent possible endless loop. Wed Nov 12 03:42:45 1997 Chris Faherty <chrisf@america.com> * [misc/ver.c] Changed VerInstall32A to assume srcdir as destination if destdir is blank. This was causing alot of DLL installation into SYSTEM directory to fail. * [loader/ne_image.c] NE_LoadSegment buffer[100] was too small and getting overruns. Changed it to buffer[200]. Sat Nov 8 06:09:57 1997 Len White <phreak@cgocable.net> * [misc/ddeml.c] [include/ddeml.h] [if1632/ddeml.spec] Added stub functions DdeConnectList(), DdeQueryNextServer(), DdeDisconnectList(), DdeSetUserHandle(), DdeAbandonTransaction(), DdePostAdvise(), DdeCreateDataHandle(), DdeAddData(), DdeGetData(), DdeAccessData(), DdeUnaccessData(), DdeEnableCallback(), DdeCmpStringHandles(). Fri Nov 7 19:44:26 1997 Olaf Flebbe <o.flebbe@science-computing.de> * [files/directory.c] Fix typo in directory.c [broke loading of cdplayer on nt40] * [misc/main.c] Implemented -winver nt40. * [loader/resource.c] [user32.spec] Stubs for CopyAcceleratorTable, Destroy AcceleratorTable. Thu Nov 6 22:37:04 1997 Morten Welinder <welinder@rentec.com> * [files/drive.c] (GetDiskFreeSpace32A): Cap at 2GB. * [include/windows.h] Prototype DrawIconEx and CreateDIBSection32. Define OBM_RADIOCHECK. Add DI_* macros. * [objects/dib.c] [if1632/gdi.spec] CreateDIBSection is a WINAPI. Renamed to CreateDIBSection32. Implement CreateDIBSection16. * [if1632/user.spec] [if1632/user32.spec] Add DrawIconEx. * [objects/cursoricon.c] (CopyIcon32): Fix bogus implementation. * [objects/bitmap.c] (CopyBitmap32): New function. (CopyImage32): Do bitmaps. * [graphics/x11drv/text.c] (X11DRV_ExtTextOut): Change ascent and descent default to avoid zero-thinkness overstrike line. * [include/debugstr.h] [misc/debugstr.c] New files. * [msdos/dpmi.c] Don't prototype do_mscdex. In INT_Int31Handler, handle real-mode int 0x21, ah=0x52. * [msdos/int2f.c] Add dummys for 0x1681 and 0x1682. * [misc/registry.c] Fix memory leaks in RegDeleteKey32W. * [objects/text.c] In TEXT_NextLine, fix another off-by-one bug. * [include/bitmaps/obm_radiocheck] New file. (It a small circle used to radio-button menu items when selected.) * [objects/oembitmap.c] Add obm_radiocheck. * [include/windows.h] [if1632/user32.spec] [controls/menu.c] [if1632/user.spec] Define CheckMenuRadioItem{16,32}. Define GetMenuItemRect{16,32}. Wed Nov 5 11:30:14 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de> * [misc/main.c] Auto adjust versions depending on binary. Tue Nov 4 15:21:00 1997 Kristian Nielsen <kristian.nielsen@risoe.dk> * [controls/listbox.c] Paint full background in listbox items with tab stops enabled. * [if1632/thunk.c] Copy some more message parameter structures (DRAWITEMSTRUCT16, COMPAREITEMSTRUCT16) to the stack segment to fix broken programs that need this. * [windows/dce.c] Only clip sibling windows when the parent has the WS_CLIPSIBLINGS style set. * [windows/focus.c] Make order of events in FOCUS_SwitchFocus() reflect API docs. * [windows/defdlg.c] Fix problem with loss of focus in some dialogs. * [win32/code_page.c] Fix return value for MultiByteToWideChar(). * [BUGS] BCW now works.
223 lines
6.4 KiB
C
223 lines
6.4 KiB
C
/*
|
|
* Win16 printer driver definitions
|
|
*/
|
|
|
|
#ifndef __WINE_WIN16DRV_H
|
|
#define __WINE_WIN16DRV_H
|
|
|
|
#include "windows.h"
|
|
#include "gdi.h"
|
|
|
|
#define SETHIGHBIT
|
|
#undef SETHIGHBIT
|
|
#ifdef SETHIGHBIT
|
|
#define GETGDIINFO 0x8001
|
|
#define INITPDEVICE 0x8000
|
|
#else
|
|
#define GETGDIINFO 0x0001
|
|
#define INITPDEVICE 0x0000
|
|
#endif
|
|
|
|
#define OS_ARC 3
|
|
#define OS_SCANLINES 4
|
|
#define OS_RECTANGLE 6
|
|
#define OS_ELLIPSE 7
|
|
#define OS_MARKER 8
|
|
#define OS_POLYLINE 18
|
|
#define OS_ALTPOLYGON 22
|
|
#define OS_WINDPOLYGON 20
|
|
#define OS_PIE 23
|
|
#define OS_POLYMARKER 24
|
|
#define OS_CHORD 39
|
|
#define OS_CIRCLE 55
|
|
#define OS_ROUNDRECT 72
|
|
|
|
/* Internal Data */
|
|
#define ORD_BITBLT 1
|
|
#define ORD_COLORINFO 2
|
|
#define ORD_CONTROL 3
|
|
#define ORD_DISABLE 4
|
|
#define ORD_ENABLE 5
|
|
#define ORD_ENUMDFONTS 6
|
|
#define ORD_ENUMOBJ 7
|
|
#define ORD_OUTPUT 8
|
|
#define ORD_PIXEL 9
|
|
#define ORD_REALIZEOBJECT 10
|
|
#define ORD_STRBLT 11
|
|
#define ORD_SCANLR 12
|
|
#define ORD_DEVICEMODE 13
|
|
#define ORD_EXTTEXTOUT 14
|
|
#define ORD_GETCHARWIDTH 15
|
|
#define ORD_DEVICEBITMAP 16
|
|
#define ORD_FASTBORDER 17
|
|
#define ORD_SETATTRIBUTE 18
|
|
|
|
#define ORD_STRETCHBLT 27
|
|
#define ORD_STRETCHDIBITS 28
|
|
#define ORD_SELECTBITMAP 29
|
|
#define ORD_BITMAPBITS 30
|
|
|
|
#define ORD_EXTDEVICEMODE 90
|
|
#define ORD_DEVICECAPABILITIES 91
|
|
#define ORD_ADVANCEDSETUPDIALOG 93
|
|
|
|
#define ORD_DIALOGFN 100
|
|
#define ORD_PSEUDOEDIT 101
|
|
|
|
enum {
|
|
FUNC_BITBLT = 0,
|
|
FUNC_COLORINFO,
|
|
FUNC_CONTROL,
|
|
FUNC_DISABLE,
|
|
FUNC_ENABLE,
|
|
FUNC_ENUMDFONTS,
|
|
FUNC_ENUMOBJ,
|
|
FUNC_OUTPUT,
|
|
FUNC_PIXEL,
|
|
FUNC_REALIZEOBJECT,
|
|
FUNC_STRBLT,
|
|
FUNC_SCANLR,
|
|
FUNC_DEVICEMODE,
|
|
FUNC_EXTTEXTOUT,
|
|
FUNC_GETCHARWIDTH,
|
|
FUNC_DEVICEBITMAP,
|
|
FUNC_FASTBORDER,
|
|
FUNC_SETATTRIBUTE,
|
|
FUNC_STRETCHBLT,
|
|
FUNC_STRETCHDIBITS,
|
|
FUNC_SELECTBITMAP,
|
|
FUNC_BITMAPBITS,
|
|
FUNC_EXTDEVICEMODE,
|
|
FUNC_DEVICECAPABILITIES,
|
|
FUNC_ADVANCEDSETUPDIALOG,
|
|
FUNC_DIALOGFN,
|
|
FUNC_PSEUDOEDIT,
|
|
TOTAL_PRINTER_DRIVER_FUNCTIONS /* insert functions before here */
|
|
};
|
|
|
|
typedef struct PRINTER_FONTS_INFO
|
|
{
|
|
LOGFONT16 lf; /* LogFont infomation */
|
|
TEXTMETRIC16 tm; /* Text metrics infomation */
|
|
} PRINTER_FONTS_INFO;
|
|
|
|
typedef struct
|
|
{
|
|
LPSTR szDriver; /* Driver name eg EPSON */
|
|
HINSTANCE16 hInst; /* Handle for driver */
|
|
WORD ds_reg; /* DS of driver */
|
|
FARPROC16 fn[TOTAL_PRINTER_DRIVER_FUNCTIONS]; /* Printer functions */
|
|
int nUsageCount; /* Usage count, unload == 0 */
|
|
int nPrinterFonts; /* Number of printer fonts */
|
|
PRINTER_FONTS_INFO *paPrinterFonts; /* array of printer fonts */
|
|
int nIndex; /* Index in global driver array */
|
|
} LOADED_PRINTER_DRIVER;
|
|
|
|
typedef struct PDEVICE_HEADER
|
|
{
|
|
LOADED_PRINTER_DRIVER *pLPD; /* Associated printer driver */
|
|
} PDEVICE_HEADER;
|
|
|
|
typedef short SHORT;
|
|
|
|
#pragma pack(1)
|
|
#define PCOLOR DWORD
|
|
typedef struct DRAWMODE
|
|
{
|
|
SHORT Rop2;
|
|
SHORT bkMode;
|
|
PCOLOR bkColor;
|
|
PCOLOR TextColor;
|
|
SHORT TBreakExtra;
|
|
SHORT BreakExtra;
|
|
SHORT BreakErr;
|
|
SHORT BreakRem;
|
|
SHORT BreakCount;
|
|
SHORT CharExtra;
|
|
COLORREF LbkColor;
|
|
COLORREF LTextColor;
|
|
} DRAWMODE, *LPDRAWMODE;
|
|
|
|
|
|
#pragma pack(4)
|
|
|
|
typedef struct WINE_ENUM_PRINTER_FONT_CALLBACK
|
|
{
|
|
DWORD magic; /* magic number */
|
|
int nMode; /* Mode 0=count, 1=store */
|
|
int nCount; /* Callback count */
|
|
LOADED_PRINTER_DRIVER *pLPD; /* Printer driver info */
|
|
} WEPFC;
|
|
|
|
#define DRVOBJ_PEN 1
|
|
#define DRVOBJ_BRUSH 2
|
|
#define DRVOBJ_FONT 3
|
|
#define DRVOBJ_PBITMAP 5
|
|
|
|
/* Win16 printer driver physical DC */
|
|
typedef struct
|
|
{
|
|
SEGPTR segptrPDEVICE; /* PDEVICE used by 16 bit printer drivers */
|
|
LOGFONT16 lf; /* Current font details */
|
|
TEXTMETRIC16 tm; /* Current font metrics */
|
|
SEGPTR segptrFontInfo; /* Current font realized by printer driver */
|
|
SEGPTR segptrBrushInfo; /* Current brush realized by printer driver */
|
|
SEGPTR segptrPenInfo; /* Current pen realized by printer driver */
|
|
} WIN16DRV_PDEVICE;
|
|
|
|
/*
|
|
* Printer driver functions
|
|
*/
|
|
typedef SEGPTR LPPDEVICE;
|
|
LOADED_PRINTER_DRIVER *LoadPrinterDriver(const char *pszDriver);
|
|
|
|
extern INT16 PRTDRV_Control(LPPDEVICE lpDestDev, WORD wfunction, SEGPTR lpInData, SEGPTR lpOutData);
|
|
extern WORD PRTDRV_Enable(LPVOID lpDevInfo, WORD wStyle, LPCSTR lpDestDevType,
|
|
LPCSTR lpDeviceName, LPCSTR lpOutputFile, LPVOID lpData);
|
|
extern WORD PRTDRV_EnumDFonts(LPPDEVICE lpDestDev, LPSTR lpFaceName,
|
|
FARPROC16 lpCallbackFunc, LPVOID lpClientData);
|
|
extern DWORD PRTDRV_RealizeObject(LPPDEVICE lpDestDev, WORD wStyle,
|
|
LPVOID lpInObj, LPVOID lpOutObj,
|
|
SEGPTR lpTextXForm);
|
|
|
|
extern BOOL16 PRTDRV_EnumObj(LPPDEVICE lpDestDev, WORD iStyle, FARPROC16 lpfn, LPVOID lpb);
|
|
extern DWORD PRTDRV_ExtTextOut(LPPDEVICE lpDestDev, WORD wDestXOrg, WORD wDestYOrg,
|
|
RECT16 *lpClipRect, LPCSTR lpString, WORD wCount,
|
|
SEGPTR lpFontInfo,SEGPTR lpDrawMode,
|
|
SEGPTR lpTextXForm, SHORT *lpCharWidths,
|
|
RECT16 * lpOpaqueRect, WORD wOptions);
|
|
|
|
|
|
/* Wine driver functions */
|
|
|
|
extern BOOL32 WIN16DRV_GetCharWidth( struct tagDC *dc, UINT32 firstChar, UINT32 lastChar,
|
|
LPINT32 buffer );
|
|
|
|
extern BOOL32 WIN16DRV_GetTextExtentPoint( DC *dc, LPCSTR str, INT32 count,
|
|
LPSIZE32 size );
|
|
extern BOOL32 WIN16DRV_GetTextMetrics( DC *dc, TEXTMETRIC32A *metrics );
|
|
|
|
extern BOOL32 WIN16DRV_ExtTextOut( DC *dc, INT32 x, INT32 y, UINT32 flags,
|
|
const RECT32 *lprect, LPCSTR str, UINT32 count,
|
|
const INT32 *lpDx );
|
|
extern BOOL32 WIN16DRV_LineTo( DC *dc, INT32 x, INT32 y );
|
|
extern BOOL32 WIN16DRV_MoveToEx(DC *dc,INT32 x,INT32 y,LPPOINT32 pt);
|
|
extern BOOL32 WIN16DRV_Polygon(DC *dc, LPPOINT32 pt, INT32 count );
|
|
extern BOOL32 WIN16DRV_Rectangle(DC *dc, INT32 left, INT32 top, INT32 right, INT32 bottom);
|
|
extern HGDIOBJ32 WIN16DRV_SelectObject( DC *dc, HGDIOBJ32 handle );
|
|
extern BOOL32 WIN16DRV_PatBlt( struct tagDC *dc, INT32 left, INT32 top,
|
|
INT32 width, INT32 height, DWORD rop );
|
|
|
|
|
|
|
|
/*
|
|
* Wine 16bit driver global variables
|
|
*/
|
|
extern SEGPTR win16drv_SegPtr_TextXForm;
|
|
extern LPTEXTXFORM16 win16drv_TextXFormP;
|
|
extern SEGPTR win16drv_SegPtr_DrawMode;
|
|
extern LPDRAWMODE win16drv_DrawModeP;
|
|
|
|
#endif /* __WINE_WIN16DRV_H */
|
|
|