fpc/rtl/os2/os2def.pas
1999-05-06 08:15:39 +00:00

240 lines
5.8 KiB
ObjectPascal

{****************************************************************************
Copyright (c) 1993,94 by Florian Kl„mpfl
****************************************************************************}
unit os2def;
interface
const
SEVERITY_NOERROR = $0;
SEVERITY_WARNING = $4;
SEVERITY_ERROR = $8;
SEVERITY_SEVERE = $c;
SEVERITY_UNRECOVERABLE = $10;
WINERR_BASE = $1000;
GPIERR_BASE = $2000;
DEVERR_BASE = $3000;
SPLERR_BASE = $4000;
ADDRESS = 0;
DRIVER_NAME = 1;
DRIVER_DATA = 2;
DATA_TYPE = 3;
COMMENT = 4;
PROC_NAME = 5;
PROC_PARAMS = 6;
SPL_PARAMS = 7;
NETWORK_PARAMS = 8;
PD_JOB_PROPERTY = $0001;
FATTR_SEL_ITALIC = $0001;
FATTR_SEL_UNDERSCORE = $0002;
FATTR_SEL_OUTLINE = $0008;
FATTR_SEL_STRIKEOUT = $0010;
FATTR_SEL_BOLD = $0020;
FATTR_TYPE_KERNING = $0004;
FATTR_TYPE_MBCS = $0008;
FATTR_TYPE_DBCS = $0010;
FATTR_TYPE_ANTIALIASED = $0020;
FATTR_FONTUSE_NOMIX = $0002;
FATTR_FONTUSE_OUTLINE = $0004;
FATTR_FONTUSE_TRANSFORMABLE = $0008;
FACESIZE = 32;
FM_TYPE_FIXED = $0001;
FM_TYPE_LICENSED = $0002;
FM_TYPE_KERNING = $0004;
FM_TYPE_DBCS = $0010;
FM_TYPE_MBCS = $0018;
FM_TYPE_64K = $8000;
FM_TYPE_ATOMS = $4000;
FM_TYPE_FAMTRUNC = $2000;
FM_TYPE_FACETRUNC = $1000;
FM_DEFN_OUTLINE = $0001;
FM_DEFN_IFI = $0002;
FM_DEFN_WIN = $0004;
FM_DEFN_GENERIC = $8000;
FM_SEL_ITALIC = $0001;
FM_SEL_UNDERSCORE = $0002;
FM_SEL_NEGATIVE = $0004;
FM_SEL_OUTLINE = $0008;
FM_SEL_STRIKEOUT = $0010;
FM_SEL_BOLD = $0020;
FM_CAP_NOMIX = $0001;
type
pcardinal = ^cardinal;
plongint = ^longint;
pinteger = ^integer;
pshortint = ^shortint;
ppointer = ^pointer;
pbyte = ^byte;
POINTL = record
x : cardinal;
y : cardinal;
end;
PPOINTL = ^POINTL;
POINTS = record
x : integer;
y : integer;
end;
PPOINTS = ^POINTS;
RECTL = record
xLeft : longint;
yBottom : longint;
xRight : longint;
yTop : longint;
end;
PRECTL = ^RECTL;
NPRECTL = ^RECTL;
STR8 = array[0..7] of CHAR;
PSTR8 = ^STR8;
DRIVDATA = record
cb : longint;
lVersion : longint;
szDeviceName : array[0..32-1] of CHAR;
abGeneralData : array[0..1-1] of CHAR;
end;
PDRIVDATA = ^DRIVDATA;
PDEVOPENDATA = pshortint; {Initially, ^PSZ}
DEVOPENSTRUC = record
pszLogAddress : pchar;
pszDriverName : pchar;
pdriv : PDRIVDATA;
pszDataType : pchar;
pszComment : pchar;
pszQueueProcName : pchar;
pszQueueProcParams : pchar;
pszSpoolerParams : pchar;
pszNetworkParams : pchar;
end;
PDEVOPENSTRUC = ^DEVOPENSTRUC;
PRINTDEST = record
cb : cardinal;
lType : longint;
pszToken : pchar;
lCount : longint;
pdopData : PDEVOPENDATA;
fl : cardinal;
pszPrinter : pchar;
end;
PPRINTDEST = ^PRINTDEST;
FATTRS = record
usRecordLength : word;
fsSelection : word;
lMatch : longint;
szFacename : array[0..FACESIZE-1] of CHAR;
idRegistry : word;
usCodePage : word;
lMaxBaselineExt : longint;
lAveCharWidth : longint;
fsType : word;
fsFontUse : word;
end;
PFATTRS = ^FATTRS;
PANOSE = record
bFamilyType : BYTE;
bSerifStyle : BYTE;
bWeight : BYTE;
bProportion : BYTE;
bContrast : BYTE;
bStrokeVariation : BYTE;
bArmStyle : BYTE;
bLetterform : BYTE;
bMidline : BYTE;
bXHeight : BYTE;
abReserved : array[0..2-1] of BYTE;
end;
FONTMETRICS = record
szFamilyname : array[0..FACESIZE-1] of CHAR;
szFacename : array[0..FACESIZE-1] of CHAR;
idRegistry : word;
usCodePage : word;
lEmHeight : longint;
lXHeight : longint;
lMaxAscender : longint;
lMaxDescender : longint;
lLowerCaseAscent : longint;
lLowerCaseDescent : longint;
lInternalLeading : longint;
lExternalLeading : longint;
lAveCharWidth : longint;
lMaxCharInc : longint;
lEmInc : longint;
lMaxBaselineExt : longint;
sCharSlope : integer;
sInlineDir : integer;
sCharRot : integer;
usWeightClass : word;
usWidthClass : word;
sXDeviceRes : integer;
sYDeviceRes : integer;
sFirstChar : integer;
sLastChar : integer;
sDefaultChar : integer;
sBreakChar : integer;
sNominalPointSize : integer;
sMinimumPointSize : integer;
sMaximumPointSize : integer;
fsType : word;
fsDefn : word;
fsSelection : word;
fsCapabilities : word;
lSubscriptXSize : longint;
lSubscriptYSize : longint;
lSubscriptXOffset : longint;
lSubscriptYOffset : longint;
lSuperscriptXSize : longint;
lSuperscriptYSize : longint;
lSuperscriptXOffset : longint;
lSuperscriptYOffset : longint;
lUnderscoreSize : longint;
lUnderscorePosition : longint;
lStrikeoutSize : longint;
lStrikeoutPosition : longint;
sKerningPairs : integer;
sFamilyClass : integer;
lMatch : longint;
FamilyNameAtom : longint;
FaceNameAtom : longint;
panose : PANOSE;
end;
PFONTMETRICS = ^FONTMETRICS;
{ Nun folgen einige FPKPascal-spezifische Typen: }
{ null. term. Strings sind in den Header Dateien oft als }
{ array[0..0] of byte deklariert, der folgende Typ er- }
{ m”glich eine Typkonvertierung }
CHARARRAY = array[0..0] of char;
implementation
end.