wine/include/win16drv.h
Alexandre Julliard 0e270f4598 Release 960824
Sat Aug 24 13:57:01 1996  Alexandre Julliard  <julliard@lrc.epfl.ch>

	* [controls/scroll.c]
	Renamed SCROLLINFO to SCROLLBAR_INFO to avoid conflict with Win32.

	* [graphics/driver.c] [include/x11drv.h]
	New files for graphics driver handling.

	* [if1632/relay.c] [include/registers.h] [tools/build.c]
	Implemented Win32 register functions. Not really tested yet.

	* [include/gdi.h]
	Added a lot of functions to the DC func table.

	* [loader/pe_image.c]
	Initialise %fs before calling out to 32-bit code.

	* [windows/hook.c]
	Fixed bug in HOOK_GetHook().

	* [windows/win.c]
	Fixed FindWindow to return an error if the class name doesn't exist.

Wed Aug 21 15:15:53 1996  Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>

	* [if1632/Makefile.in] [misc/mpr.c] [if1632/mpr.spec]
	mpr.dll specs added.

	* [if1632/kernel32.spec] [win32/newfns.c] [memory/global.c]
	QueryPerformanceCounter(), GlobalMemoryStatus() added.

	* [if1632/user32.spec] [win32/error.c]
	SetLastErrorEx() added.

	* [misc/commdlg.c]
	lpstrFilter might be NULL in FILE_WMInitDialog (NS 3.0 setup).

	* [misc/registry.c]
	Some missing NULL ptr checks added, misc clean up.

Tue Aug 20 21:00:00 1996 Alex Korobka  <alex@pharm.sunysb.edu>

	* [controls/menu.c]
	Adjust popup menu coordinates so that it always stays within 
	the desktop.

	* [misc/main.c]
	Fixed GetEnvironment() return value for lpEnv == NULL case.

Mon Aug 19 22:48:36 1996  Jukka Iivonen <iivonen@cc.helsinki.fi>

	* [misc/crtdll.c] [if1632/crtdll.spec]
	Added some is* functions, strlen and tolower.
	
Mon Aug 19 13:33:13 1996  Stephen Simmons  <ssimmons@vitsemi.com>

	* [tools/wineconf]
	New perl script to generate the wine.conf file.

Fri Aug 16 15:31:44 1996   John Harvey <john@division.co.uk>

	* [if1632/gdi.spec]
        Lots of printer functions.
	
	* [include/callback.h]
        New functions for printer driver support.

	* [include/gdi.h]
        New/changed structures to support printer driver.

	* [misc/escape.c]
        New version that uses function table in DC structure.

	* [objects/dc.c]
        CreateDC copes with things other than Display.
	X code for CreateDC moved to graphics/x11drv directory.
	CreateCompatibleDC copies func table from original DC.

	* [objects/font.c]
        GetTextExtentPoint32A,GetTextMetrics16 use function table in
        DC and code moved to drivers directory.

	* [misc/printdrv.c] [graphics/*/*] [include/win16drv.h]
        New files for printer support. 

Fri Aug 16 12:33:00 1996  Bruce Milner <Bruce.Milner@genetics.utah.edu>

	* [controls/scroll.c]
	Added SetScrollInfo32 and GetScrollInfo32.  These just call existing
	code. There are a few options in which I'm probably the wrong person
	for the job (page size and disable bar). There are comments in the
	code as to what they should do.

	* [objects/gdiobj.c] [objects/font.c] [include/font.h]
	Added 32 bit version of FONT_GetObject.
1996-08-24 18:26:35 +00:00

215 lines
5.1 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
/* 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
{
char szDriver[9]; /* 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 */
HGLOBAL16 hThunk; /* Thunking buffer */
SEGPTR ThunkBufSegPtr;
SEGPTR ThunkBufLimit;
} LOADED_PRINTER_DRIVER;
typedef struct PDEVICE_HEADER
{
LOADED_PRINTER_DRIVER *pLPD; /* Associated printer driver */
} PDEVICE_HEADER;
typedef short SHORT;
#pragma pack(1)
typedef struct TEXTXFORM
{
SHORT txfHeight;
SHORT txfWidth;
SHORT txfEscapement;
SHORT txfOrientation;
SHORT txfWeight;
CHAR txfItalic;
CHAR txfUnderline;
CHAR txfStrikeOut;
CHAR txfOutPrecision;
CHAR txfClipPrecision;
SHORT txfAccelerator WINE_PACKED;
SHORT txfOverhang WINE_PACKED;
} TEXTXFORM, *LPTEXTXFORM;
#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;
typedef struct FONTINFO
{
SHORT dfType;
SHORT dfPoints;
SHORT dfVertRes;
SHORT dfHorizRes;
SHORT dfAscent;
SHORT dfInternalLeading;
SHORT dfExternalLeading;
CHAR dfItalic;
CHAR dfUnderline;
CHAR dfStrikeOut;
SHORT dfWeight;
CHAR dfCHARSet;
SHORT dfPixWidth;
SHORT dfPixHeight;
CHAR dfPitchAndFamily;
SHORT dfAvgWidth;
SHORT dfMaxWidth;
CHAR dfFirstCHAR;
CHAR dfLastCHAR;
CHAR dfDefaultCHAR;
CHAR dfBreakCHAR;
SHORT dfWidthBytes;
LONG dfDevice;
LONG dfFace;
LONG dfBitsPointer;
LONG dfBitsOffset;
CHAR dfReserved;
LONG dfFlags;
SHORT dfAspace;
SHORT dfBspace;
SHORT dfCspace;
LONG dfColorPointer;
LONG dfReserved1[4];
} FONTINFO, *LPFONTINFO;
#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 OBJ_PEN 1
#define OBJ_BRUSH 2
#define OBJ_FONT 3
#define OBJ_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 */
} WIN16DRV_PDEVICE;
/* Wine driver functions */
extern BOOL32 WIN16DRV_GetTextExtentPoint( DC *dc, LPCSTR str, INT32 count,
LPSIZE32 size );
extern BOOL32 WIN16DRV_GetTextMetrics( DC *dc, TEXTMETRIC32A *metrics );
#endif /* __WINE_WIN16DRV_H */