mirror of
https://github.com/reactos/wine.git
synced 2025-02-27 08:15:36 +00:00

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.
215 lines
5.1 KiB
C
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 */
|