mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-17 14:39:28 +02:00
299 lines
7.5 KiB
ObjectPascal
299 lines
7.5 KiB
ObjectPascal
{****************************************************************************
|
||
|
||
$Id$
|
||
|
||
Copyright (c) 1999-2000 by Florian Klaempfl
|
||
Copyright (c) 1999-2000 by Ramon Bosque
|
||
|
||
The Free Pascal runtime library is distributed under the Library GNU Public
|
||
License v2. So is this unit. The Library GNU Public License requires you to
|
||
distribute the source code of this unit with any product that uses it.
|
||
Because the EMX library isn't under the LGPL, we grant you an exception to
|
||
this, and that is, when you compile a program with the Free Pascal compiler,
|
||
you do not need to ship source code with that program, AS LONG AS YOU ARE
|
||
USING UNMODIFIED CODE! If you modify this code, you MUST change the next
|
||
line:
|
||
|
||
<This an official, unmodified Free Pascal source code file.>
|
||
|
||
Send us your modified files, we can work together if you want!
|
||
|
||
Free Pascal is distributed in the hope that it will be useful,
|
||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
Library GNU General Public License for more details.
|
||
|
||
You should have received a copy of the Library GNU General Public License
|
||
along with Free Pascal; see the file COPYING.LIB. If not, write to
|
||
the Free Software Foundation, 59 Temple Place - Suite 330,
|
||
Boston, MA 02111-1307, USA.
|
||
|
||
****************************************************************************}
|
||
unit os2def;
|
||
|
||
{Warning: This code is alfa. Future versions of this unit will propably
|
||
not be compatible.}
|
||
|
||
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;
|
||
|
||
DEVOPENSTRUC = record
|
||
pszLogAddress : pchar;
|
||
pszDriverName : pchar;
|
||
pdriv : PDRIVDATA;
|
||
pszDataType : pchar;
|
||
pszComment : pchar;
|
||
pszQueueProcName : pchar;
|
||
pszQueueProcParams : pchar;
|
||
pszSpoolerParams : pchar;
|
||
pszNetworkParams : pchar;
|
||
end;
|
||
|
||
PDEVOPENSTRUC = ^DEVOPENSTRUC;
|
||
|
||
PDEVOPENDATA = PDevOpenStruc;
|
||
|
||
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 Free Pascal-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;
|
||
|
||
{Names beginning with T for compatibility}
|
||
TPOINTL = POINTL;
|
||
TPOINTS = POINTS;
|
||
TRECTL = RECTL;
|
||
TSTR8 = STR8;
|
||
TDRIVDATA = DRIVDATA;
|
||
TDEVOPENSTRUC = DEVOPENSTRUC;
|
||
TPRINTDEST = PRINTDEST;
|
||
TFATTRS = FATTRS;
|
||
TPANOSE = PANOSE;
|
||
TFONTMETRICS = FONTMETRICS;
|
||
TCHARARRAY = CHARARRAY;
|
||
|
||
{Another bunch of compatibility things}
|
||
HWND = cardinal;
|
||
HAB = cardinal;
|
||
HMQ = cardinal;
|
||
HPS = cardinal;
|
||
HRGN = cardinal;
|
||
ULONG = cardinal;
|
||
MParam = pointer;
|
||
MResult = pointer;
|
||
|
||
implementation
|
||
|
||
end.
|
||
{
|
||
$Log$
|
||
Revision 1.2 2000-07-14 10:33:11 michael
|
||
+ Conditionals fixed
|
||
|
||
Revision 1.1 2000/07/13 06:31:06 michael
|
||
+ Initial import
|
||
|
||
}
|