|
@@ -4,7 +4,7 @@
|
|
|
|
|
|
PMGPI interface unit
|
|
PMGPI interface unit
|
|
FPC Pascal Runtime Library for OS/2
|
|
FPC Pascal Runtime Library for OS/2
|
|
- Copyright (c) 1999-2000 by Florian Kl„mpfl
|
|
|
|
|
|
+ Copyright (c) 1999-2000 by Florian Klaempfl
|
|
Copyright (c) 1999-2000 by Ramon Bosque
|
|
Copyright (c) 1999-2000 by Ramon Bosque
|
|
|
|
|
|
The Free Pascal runtime library is distributed under the Library GNU Public
|
|
The Free Pascal runtime library is distributed under the Library GNU Public
|
|
@@ -39,6 +39,8 @@ unit pmgpi;
|
|
|
|
|
|
interface
|
|
interface
|
|
|
|
|
|
|
|
+{$MACRO ON}
|
|
|
|
+
|
|
uses os2def,pmbitmap;
|
|
uses os2def,pmbitmap;
|
|
|
|
|
|
const GPI_ERROR = 0;
|
|
const GPI_ERROR = 0;
|
|
@@ -699,6 +701,942 @@ type SizeL=record
|
|
PPolyset=^Polyset;
|
|
PPolyset=^Polyset;
|
|
TPolyset=Polyset;
|
|
TPolyset=Polyset;
|
|
|
|
|
|
|
|
+// ===========================================================================
|
|
|
|
+//*
|
|
|
|
+//* The orders fall into 4 categories :-
|
|
|
|
+//*
|
|
|
|
+//* 1) 1-byte orders
|
|
|
|
+//*
|
|
|
|
+//* 2) 2-byte orders - second byte contains the value
|
|
|
|
+//*
|
|
|
|
+//* 3) Long orders - second byte gives the order length, subsequent bytes
|
|
|
|
+//* contain the values (up to 256 bytes long)
|
|
|
|
+//*
|
|
|
|
+//* 4) Very long orders - third and fourth bytes gives the order length,
|
|
|
|
+//* subsequent bytes contain the values (up to 64K long)
|
|
|
|
+//*
|
|
|
|
+//* ===========================================================================
|
|
|
|
+
|
|
|
|
+//#pragma pack(1) /* pack on byte boundary */
|
|
|
|
+
|
|
|
|
+//***************************************************************************\
|
|
|
|
+//*
|
|
|
|
+//* Miscellaneous structures used in this file
|
|
|
|
+//*
|
|
|
|
+//***************************************************************************/
|
|
|
|
+
|
|
|
|
+// form of RECTL with shorts instead of longs
|
|
|
|
+type
|
|
|
|
+ RECT1S=record // rcs
|
|
|
|
+ xLeft: Integer;
|
|
|
|
+ yBottom: Integer;
|
|
|
|
+ xRight: Integer;
|
|
|
|
+ yTop: Integer;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+// form of POINTL with 1 byte offsets instead of longs
|
|
|
|
+ ODPOINT=record // odpt
|
|
|
|
+ dx: Char;
|
|
|
|
+ dy: Char;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+// form of SIZEL with shorts instead of longs
|
|
|
|
+ SIZES=record // sizs
|
|
|
|
+ cx: Integer;
|
|
|
|
+ cy: Integer;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+// unsigned two-byte swapped integer
|
|
|
|
+ SWPUSHORT=record // swpus
|
|
|
|
+ HiByte: Byte;
|
|
|
|
+ LoByte: Byte;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+//***************************************************************************\
|
|
|
|
+//*
|
|
|
|
+//* 1-byte orders
|
|
|
|
+//*
|
|
|
|
+//***************************************************************************/
|
|
|
|
+
|
|
|
|
+// macro to tell whether this is a 1-byte order
|
|
|
|
+{$define BYTE_ORDER(oc):=((oc)=OCODE_GNOP1 or (oc)=OCODE_GESD)}
|
|
|
|
+
|
|
|
|
+// 1-byte order codes
|
|
|
|
+const
|
|
|
|
+ OCODE_GNOP1 =$00; // No-operation
|
|
|
|
+ OCODE_GESD =$FF; // End symbol definition
|
|
|
|
+
|
|
|
|
+//***************************************************************************\
|
|
|
|
+//
|
|
|
|
+// 2-byte orders
|
|
|
|
+//
|
|
|
|
+//***************************************************************************/
|
|
|
|
+
|
|
|
|
+// definitions to help determine whether an order code is a 2-byte order
|
|
|
|
+const
|
|
|
|
+ OCODE2_1 =$80;
|
|
|
|
+ OCODE2_2 =$88;
|
|
|
|
+
|
|
|
|
+{$define SHORT_ORDER(oc):=((((oc) xor OCODE2_1) and OCODE2_2)=OCODE2_2)}
|
|
|
|
+
|
|
|
|
+// General 2-byte order structure
|
|
|
|
+type
|
|
|
|
+ ORDER=record // ord
|
|
|
|
+ idCode: Byte;
|
|
|
|
+ uchData: Byte;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+// 2-byte order codes
|
|
|
|
+const
|
|
|
|
+ OCODE_GBAR =$68; // Begin area
|
|
|
|
+ OCODE_GCFIG =$7D; // Close figure
|
|
|
|
+ OCODE_GEEL =$49; // End element
|
|
|
|
+ OCODE_GEPTH =$7F; // End path
|
|
|
|
+ OCODE_GEPROL =$3E; // End prologue
|
|
|
|
+ OCODE_GPOP =$3F; // Pop
|
|
|
|
+ OCODE_GSBMX =$0D; // Set background mix
|
|
|
|
+ OCODE_GPSBMX =$4D; // Push & set b/g mix
|
|
|
|
+ OCODE_GSCD =$3A; // Set char direction
|
|
|
|
+ OCODE_GPSCD =$7A; // Push & set char direction
|
|
|
|
+ OCODE_GSCR =$39; // Set char precision
|
|
|
|
+ OCODE_GPSCR =$79; // Push & set char precision
|
|
|
|
+ OCODE_GSCS =$38; // Set char set
|
|
|
|
+ OCODE_GPSCS =$78; // Push & set char set
|
|
|
|
+ OCODE_GSCOL =$0A; // Set color
|
|
|
|
+ OCODE_GPSCOL =$4A; // Push & set color
|
|
|
|
+ OCODE_GSLE =$1A; // Set line end
|
|
|
|
+ OCODE_GPSLE =$5A; // Push & set line end
|
|
|
|
+ OCODE_GSLJ =$1B; // Set line join
|
|
|
|
+ OCODE_GPSLJ =$5B; // Push & set line join
|
|
|
|
+ OCODE_GSLT =$18; // Set line type
|
|
|
|
+ OCODE_GPSLT =$58; // Push & set line type
|
|
|
|
+ OCODE_GSLW =$19; // Set line width
|
|
|
|
+ OCODE_GPSLW =$59; // Push & set line width
|
|
|
|
+ OCODE_GSMP =$3B; // Set marker precision
|
|
|
|
+ OCODE_GPSMP =$7B; // Push & set marker precision
|
|
|
|
+ OCODE_GSMS =$3C; // Set marker set
|
|
|
|
+ OCODE_GPSMS =$7C; // Push & set marker set
|
|
|
|
+ OCODE_GSMT =$29; // Set marker symbol
|
|
|
|
+ OCODE_GPSMT =$69; // Push & set marker symbol
|
|
|
|
+ OCODE_GSMX =$0C; // Set mix
|
|
|
|
+ OCODE_GPSMX =$4C; // Push & set mix
|
|
|
|
+ OCODE_GSPS =$08; // Set pattern set
|
|
|
|
+ OCODE_GPSPS =$48; // Push & set pattern set
|
|
|
|
+ OCODE_GSPT =$28; // Set pattern symbol
|
|
|
|
+ OCODE_GPSPT =$09; // Push & set pattern symbol
|
|
|
|
+
|
|
|
|
+// constants for 2-byte orders
|
|
|
|
+
|
|
|
|
+// Begin area
|
|
|
|
+const
|
|
|
|
+ GBAR_RESERVED =$80;
|
|
|
|
+ GBAR_BOUNDARY =$C0;
|
|
|
|
+ GBAR_NOBOUNDARY =$80;
|
|
|
|
+ GBAR_WINDING =$A0;
|
|
|
|
+ GBAR_ALTERNATE =$80;
|
|
|
|
+
|
|
|
|
+// Set Character Precision
|
|
|
|
+const
|
|
|
|
+ GSCR_PRECISION =$0F;
|
|
|
|
+
|
|
|
|
+//***************************************************************************\
|
|
|
|
+//*
|
|
|
|
+//* Long orders
|
|
|
|
+//*
|
|
|
|
+//***************************************************************************/
|
|
|
|
+
|
|
|
|
+// definitions to help determine whether an order code is a long order
|
|
|
|
+const
|
|
|
|
+ OCODE_VLONG =$FE;
|
|
|
|
+
|
|
|
|
+{$define LONG_ORDER(oc):=(not((oc)=OCODE_VLONG or BYTE_ORDER(oc) or SHORT_ORDER(oc)))}
|
|
|
|
+
|
|
|
|
+// long order structure
|
|
|
|
+const
|
|
|
|
+ LORDER_ML=253;
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ LORDER=record // lord
|
|
|
|
+ idCode: Byte;
|
|
|
|
+ uchLength: Byte;
|
|
|
|
+ uchData: Array[0..LORDER_ML-1] of Byte;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+// Long orders for which the length of data is normally zero
|
|
|
|
+const
|
|
|
|
+ OCODE_GEAR =$60; // End Area
|
|
|
|
+ OCODE_GEIMG =$93; // End Image
|
|
|
|
+
|
|
|
|
+// Long orders for which the data is contained in a type already defined
|
|
|
|
+
|
|
|
|
+// Character String
|
|
|
|
+const
|
|
|
|
+ OCODE_GCCHST = $83; // char string at curr posn
|
|
|
|
+ GCCHST_MC = 255; // Max len of string in bytes
|
|
|
|
+
|
|
|
|
+ OCODE_GCHST = $C3; // char string at given pos
|
|
|
|
+ GCHST_SMC = 251; // Max len of string (S)
|
|
|
|
+ GCHST_LMC = 247; // Max len of string (L)
|
|
|
|
+
|
|
|
|
+// Character String Move
|
|
|
|
+ OCODE_GCCHSTM = $B1; // char string move at c.p.
|
|
|
|
+ GCCHSTM_MC = 255; // Max len of string in byte
|
|
|
|
+
|
|
|
|
+ OCODE_GCHSTM = $F1; // char string move at g.p.
|
|
|
|
+ GCHSTM_SMC = 251; // Max len of string (S)
|
|
|
|
+ GCHSTM_LMC = 247; // Max len of string (L)
|
|
|
|
+
|
|
|
|
+// Comment
|
|
|
|
+ OCODE_GCOMT = $01; // Comment
|
|
|
|
+ GCOMT_ML = 255; // Maximum len of comment data
|
|
|
|
+
|
|
|
|
+// Image
|
|
|
|
+ OCODE_GIMD = $92; // Image data
|
|
|
|
+ GIMD_ML = 255; // Maximum len of image data
|
|
|
|
+
|
|
|
|
+// Full Arc
|
|
|
|
+ OCODE_GCFARC = $87; // full arc at current posn
|
|
|
|
+ OCODE_GFARC = $C7; // full arc at given posn
|
|
|
|
+
|
|
|
|
+// Label
|
|
|
|
+ OCODE_GLABL = $D3; // Label
|
|
|
|
+
|
|
|
|
+// Set Current Position
|
|
|
|
+ OCODE_GSCP = $21; // Set current position
|
|
|
|
+ OCODE_GPSCP = $61; // Push and set curr posn
|
|
|
|
+
|
|
|
|
+// Bezier spline
|
|
|
|
+ OCODE_GCBEZ = $A5; // Bezier spline at curr pos
|
|
|
|
+ GCBEZ_SMB = 21; // Max number of splines (S)
|
|
|
|
+ GCBEZ_LMB = 10; // Max number of splines (L)
|
|
|
|
+
|
|
|
|
+ OCODE_GBEZ = $E5; // Bezier spline at given pos
|
|
|
|
+ GBEZ_SMB = 20; // Max number of splines (S)
|
|
|
|
+ GBEZ_LMB = 10; // Max number of splines (L)
|
|
|
|
+
|
|
|
|
+// Fillet
|
|
|
|
+ OCODE_GCFLT = $85; // fillet at current posn
|
|
|
|
+ GCFLT_SMP = 63; // Max number of points (S)
|
|
|
|
+ GCFLT_LMP = 31; // Max number of points (L)
|
|
|
|
+
|
|
|
|
+ OCODE_GFLT = $C5; // fillet at given position
|
|
|
|
+ GFLT_SMP = 62; // Max number of points (S)
|
|
|
|
+ GFLT_LMP = 30; // Max number of points (L)
|
|
|
|
+
|
|
|
|
+// Polyline
|
|
|
|
+ OCODE_GCLINE = $81; // polyline at current posn
|
|
|
|
+ GCLINE_SMP = 63; // Max number of points (S)
|
|
|
|
+ GCLINE_LMP = 31; // Max number of points (L)
|
|
|
|
+
|
|
|
|
+ OCODE_GLINE = $C1; // polyline at given posn
|
|
|
|
+ GLINE_SMP = 62; // Max number of points (S)
|
|
|
|
+ GLINE_LMP = 30; // Max number of points (L)
|
|
|
|
+
|
|
|
|
+// Polymarker
|
|
|
|
+ OCODE_GCMRK = $82; // marker at current posn
|
|
|
|
+ GCMRK_SMP = 63; // Max number of points (S)
|
|
|
|
+ GCMRK_LMP = 31; // Max number of points (L)
|
|
|
|
+
|
|
|
|
+ OCODE_GMRK = $C2; // marker at given posn
|
|
|
|
+ GMRK_SMP = 62; // Max number of points (S)
|
|
|
|
+ GMRK_LMP = 30; // Max number of points (L)
|
|
|
|
+
|
|
|
|
+// Relative Line
|
|
|
|
+ OCODE_GCRLINE =$A1; // Relative line at curr pos
|
|
|
|
+ GCRLINE_MP =127; // Max number of points
|
|
|
|
+
|
|
|
|
+ OCODE_GRLINE = $E1; // Relative line at givn pos
|
|
|
|
+ GRLINE_SMP = 125; // Max number of points (S)
|
|
|
|
+ GRLINE_LMP = 123; // Max number of points (L)
|
|
|
|
+
|
|
|
|
+// Set Background Color
|
|
|
|
+ OCODE_GSBCOL = $25; // Set background color
|
|
|
|
+ OCODE_GPSBCOL = $65; // Push and set b/g color
|
|
|
|
+
|
|
|
|
+// Set Extended Color
|
|
|
|
+ OCODE_GSECOL = $26; // Set extended color
|
|
|
|
+ OCODE_GPSECOL = $66; // Push and set ext color
|
|
|
|
+
|
|
|
|
+// Extended Color values
|
|
|
|
+ SECOL_DEFAULT0 =$0000;
|
|
|
|
+ SECOL_DEFAULT1 =$FF00;
|
|
|
|
+ SECOL_NEUTRAL =$FF07;
|
|
|
|
+ SECOL_RESET =$FF08;
|
|
|
|
+
|
|
|
|
+// Set Character Angle
|
|
|
|
+ OCODE_GSCA = $34; // Set character angle
|
|
|
|
+ OCODE_GPSCA = $74; // Push and set char angle
|
|
|
|
+
|
|
|
|
+// Set Character Shear
|
|
|
|
+ OCODE_GSCH = $35; // Set character shear
|
|
|
|
+ OCODE_GPSCH = $75; // Push and set char shear
|
|
|
|
+
|
|
|
|
+// Set Fractional Line Width
|
|
|
|
+ OCODE_GSFLW = $11; // Set fractional line width
|
|
|
|
+ OCODE_GPSFLW = $51; // Push and set frac l width
|
|
|
|
+
|
|
|
|
+// Set Pick Identifier
|
|
|
|
+ OCODE_GSPIK = $43; // Set pick identifier
|
|
|
|
+ OCODE_GPSPIK = $23; // Push and set pick id
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+// Long Orders for which a structure can be defined for the data
|
|
|
|
+
|
|
|
|
+// Arc
|
|
|
|
+ OCODE_GCARC = $86; // Arc at Current Position
|
|
|
|
+ OCODE_GARC = $C6; // Arc at Given Position
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDERS_GCARC=record // osgcarc
|
|
|
|
+ ptInter: POINTS;
|
|
|
|
+ ptEnd: POINTS;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+ ORDERL_GCARC=record // olgcarc
|
|
|
|
+ ptInter: POINTL;
|
|
|
|
+ ptEnd: POINTL;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+// Begin Element
|
|
|
|
+const
|
|
|
|
+ OCODE_GBEL = $D2; // Begin Element
|
|
|
|
+
|
|
|
|
+ GBEL_DL = 251;
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDER_GBEL=record // ogbel
|
|
|
|
+ lElementType: Longint;
|
|
|
|
+ achDesc: Array[0..GBEL_DL-1] of Char;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+// Begin Image
|
|
|
|
+const
|
|
|
|
+ OCODE_GCBIMG = $91; // Begin Image at curr posn
|
|
|
|
+ OCODE_GBIMG = $D1; // Begin Image at given posn
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDER_GCBIMG=record // ogbimg
|
|
|
|
+ uchFormat: Byte;
|
|
|
|
+ uchReserved: Byte;
|
|
|
|
+ cx: SWPUSHORT;
|
|
|
|
+ cy: SWPUSHORT;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+// Begin Path
|
|
|
|
+const
|
|
|
|
+ OCODE_GBPTH = $D0; // Begin Path
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDER_GBPTH=record // ogbpth
|
|
|
|
+ usReserved: Word;
|
|
|
|
+ idPath: Longint;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+// Box
|
|
|
|
+const
|
|
|
|
+ OCODE_GCBOX =$80; // Box at current position
|
|
|
|
+ OCODE_GBOX =$C0; // Box at given position
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDERS_GCBOX=record // osgcbox
|
|
|
|
+ fbFlags: Byte;
|
|
|
|
+ uchReserved: Byte;
|
|
|
|
+ ptCorner: POINTS;
|
|
|
|
+ hAxis: Integer;
|
|
|
|
+ vAxis: Integer;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+ ORDERL_GCBOX=record // olgcbox
|
|
|
|
+ fbFlags: Byte;
|
|
|
|
+ uchReserved: Byte;
|
|
|
|
+ ptCorner: POINTL;
|
|
|
|
+ hAxis: Longint;
|
|
|
|
+ vAxis: Longint;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+const
|
|
|
|
+ GCBOX_FILL =$40;
|
|
|
|
+ GCBOX_BOUNDARY =$20;
|
|
|
|
+
|
|
|
|
+// Call Segment
|
|
|
|
+ OCODE_GCALLS =$07; // call segment
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDER_GCALLS=record // ogcalls
|
|
|
|
+ sReserved: Word;
|
|
|
|
+ idSegment: Longint;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+// Fill Path
|
|
|
|
+const
|
|
|
|
+ OCODE_GFPTH =$D7; // Fill path
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDER_GFPTH=record // ogfpth
|
|
|
|
+ fbFlags: Byte;
|
|
|
|
+ uchReserved: Byte;
|
|
|
|
+ idPath: Longint;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+const
|
|
|
|
+ GFPTH_ALTERNATE =$00;
|
|
|
|
+ GFPTH_WINDING =$40;
|
|
|
|
+ GFPTH_MODIFY =$20;
|
|
|
|
+
|
|
|
|
+// Outline Path
|
|
|
|
+ OCODE_GOPTH =$D4; // Outline Path
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDER_GOPTH=record // ogopth
|
|
|
|
+ fbFlags: Byte;
|
|
|
|
+ uchReserved: Byte;
|
|
|
|
+ idPath: Longint;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+// Modify Path
|
|
|
|
+const
|
|
|
|
+ OCODE_GMPTH =$D8; // modify path
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDER_GMPTH=record // ogmpth
|
|
|
|
+ uchMode: Byte;
|
|
|
|
+ uchReserved: Byte;
|
|
|
|
+ idPath: Longint;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+const
|
|
|
|
+ GMPTH_STROKE =$06;
|
|
|
|
+
|
|
|
|
+// Partial Arc
|
|
|
|
+ OCODE_GCPARC =$A3; // Partial arc at curr posn
|
|
|
|
+ OCODE_GPARC =$E3; // Partial arc at given posn
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDERS_GCPARC=record // osgcparc
|
|
|
|
+ ptCenter: POINTS;
|
|
|
|
+ ufx88Multiplier: FIXED88;
|
|
|
|
+ usStartAngle: Longint;
|
|
|
|
+ usSweepAngle: Longint;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+ ORDERL_GCPARC=record // olgcparc
|
|
|
|
+ ptCenter: POINTL;
|
|
|
|
+ ufxMultiplier: FIXED;
|
|
|
|
+ usStartAngle: Longint;
|
|
|
|
+ usSweepAngle: Longint;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+// Set Clip Path
|
|
|
|
+const
|
|
|
|
+ OCODE_GSCPTH =$B4; // Set clip path
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDER_GSCPTH=record // ogscpth
|
|
|
|
+ fbFlags: Byte;
|
|
|
|
+ uchReserved: Byte;
|
|
|
|
+ idPath: Longint;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+const
|
|
|
|
+ GSCPTH_ALTERNATE =$00;
|
|
|
|
+ GSCPTH_WINDING =$40;
|
|
|
|
+ GSCPTH_RESET =$00;
|
|
|
|
+ GSCPTH_INTERSECT =$20;
|
|
|
|
+
|
|
|
|
+// Set Arc Parameters
|
|
|
|
+ OCODE_GSAP =$22; // Set arc parameters
|
|
|
|
+ OCODE_GPSAP =$62; // Push and set arc params
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDERS_GSAP=record // osgsap
|
|
|
|
+ p: Integer;
|
|
|
|
+ q: Integer;
|
|
|
|
+ r: Integer;
|
|
|
|
+ s: Integer;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+ ORDERL_GSAP=record // olgsap
|
|
|
|
+ p: Longint;
|
|
|
|
+ q: Longint;
|
|
|
|
+ r: Longint;
|
|
|
|
+ s: Longint;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+// Set Background Indexed Color
|
|
|
|
+const
|
|
|
|
+ OCODE_GSBICOL =$A7; // Set b/g indexed color
|
|
|
|
+ OCODE_GPSBICOL =$E7; // Push and set b/g ind color
|
|
|
|
+ OCODE_GSICOL =$A6; // Set indexed color
|
|
|
|
+ OCODE_GPSICOL =$E6; // Push and set indexd color
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDER_GSBICOL=record // ogbicol
|
|
|
|
+ fbFlags: Byte;
|
|
|
|
+ auchColor: Array[0..3-1] of Byte;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+const
|
|
|
|
+ SICOL_SPECIFY =$00;
|
|
|
|
+ SICOL_SPECIAL =$40;
|
|
|
|
+ SICOL_DEFAULT =$80;
|
|
|
|
+ SICOL_BLACK =1;
|
|
|
|
+ SICOL_WHITE =2;
|
|
|
|
+ SICOL_ONES =4;
|
|
|
|
+ SICOL_ZEROES =5;
|
|
|
|
+
|
|
|
|
+// Set Character Cell
|
|
|
|
+ OCODE_GSCC =$33; // Set character cell
|
|
|
|
+ OCODE_GPSCC =$03; // Push and set char cell
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDERS_GSCC=record // osgscc
|
|
|
|
+ cxInt: Integer;
|
|
|
|
+ cyInt: Integer;
|
|
|
|
+ cxFract: Word;
|
|
|
|
+ cyFract: Word;
|
|
|
|
+ fbFlags: Byte;
|
|
|
|
+ uchReserved: Byte;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+ ORDERL_GSCC=record // olgscc
|
|
|
|
+ cxInt: Longint;
|
|
|
|
+ cyInt: Longint;
|
|
|
|
+ cxFract: Word;
|
|
|
|
+ cyFract: Word;
|
|
|
|
+ fbFlags: Byte;
|
|
|
|
+ uchReserved: Byte;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+const
|
|
|
|
+ GSCC_ZERODEF =$00;
|
|
|
|
+ GSCC_ZEROZERO =$80;
|
|
|
|
+
|
|
|
|
+// Set Marker Cell
|
|
|
|
+ OCODE_GSMC =$37; // Set marker cell
|
|
|
|
+ OCODE_GPSMC =$77; // Push and set marker cell
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDERS_GSMC=record // osgsmc
|
|
|
|
+ cx: Integer;
|
|
|
|
+ cy: Integer;
|
|
|
|
+ fbFlags: Byte;
|
|
|
|
+ uchReserved: Byte;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+ ORDERL_GSMC=record // olgsmc
|
|
|
|
+ cx: Longint;
|
|
|
|
+ cy: Longint;
|
|
|
|
+ fbFlags: Byte;
|
|
|
|
+ uchReserved: Byte;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+const
|
|
|
|
+ GSMC_ZERODEF =$00;
|
|
|
|
+ GSMC_ZEROZERO =$80;
|
|
|
|
+
|
|
|
|
+// Set Pattern Reference Point
|
|
|
|
+ OCODE_GSPRP =$A0; // Set pattern ref point
|
|
|
|
+ OCODE_GPSPRP =$E0; // Push and set patt ref pt
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDERS_GSPRP=record // osgsprp
|
|
|
|
+ fbFlags: Byte;
|
|
|
|
+ uchReserved: Byte;
|
|
|
|
+ ptPos: POINTS;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+ ORDERL_GSPRP=record // olgsprp
|
|
|
|
+ fbFlags: Byte;
|
|
|
|
+ uchReserved: Byte;
|
|
|
|
+ ptPos: POINTL;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+const
|
|
|
|
+ GSPRP_DEFAULT =$80;
|
|
|
|
+ GSPRP_SPECIFY =$00;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+// Set Individual Attribute
|
|
|
|
+ OCODE_GSIA =$14; // Set individual attribute
|
|
|
|
+ OCODE_GPSIA =$54; // Push and set ind attr
|
|
|
|
+
|
|
|
|
+ GSIA_VL=3;
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDER_GSIA=record // ogsia
|
|
|
|
+ uchAttrType: Byte;
|
|
|
|
+ uchPrimType: Byte;
|
|
|
|
+ fbFlags: Byte;
|
|
|
|
+ auchValue: Array[0..GSIA_VL-1] of Byte;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+const
|
|
|
|
+ GSIA_COLOR =$01;
|
|
|
|
+ GSIA_BCOLOR =$02;
|
|
|
|
+ GSIA_MIX =$03;
|
|
|
|
+ GSIA_BMIX =$04;
|
|
|
|
+ GSIA_LINE =$01;
|
|
|
|
+ GSIA_CHAR =$02;
|
|
|
|
+ GSIA_MARKER =$03;
|
|
|
|
+ GSIA_PATTERN =$04;
|
|
|
|
+ GSIA_IMAGE =$05;
|
|
|
|
+ GSIA_SPECIFY =$00;
|
|
|
|
+ GSIA_SPECIAL =$40;
|
|
|
|
+ GSIA_DEFAULT =$80;
|
|
|
|
+ GSIA_BLACK =1;
|
|
|
|
+ GSIA_WHITE =2;
|
|
|
|
+ GSIA_ONES =4;
|
|
|
|
+ GSIA_ZEROES =5;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+// Set Model /Viewing Transform
|
|
|
|
+ OCODE_GSTM =$24; // Set model transform
|
|
|
|
+ OCODE_GPSTM =$64; // Push and set model tfm
|
|
|
|
+
|
|
|
|
+ OCODE_GSTV =$31; // Set Viewing Transform
|
|
|
|
+
|
|
|
|
+ GSTM_ML =16;
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDERS_GSTM=record // osgstm
|
|
|
|
+ uchReserved: Byte;
|
|
|
|
+ fbFlags: Byte;
|
|
|
|
+ fsMask: Word;
|
|
|
|
+ asMatrix: Array[0..GSTM_ML-1] of Integer;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+ ORDERL_GSTM=record // olgstm
|
|
|
|
+ uchReserved: Byte;
|
|
|
|
+ fbFlags: Byte;
|
|
|
|
+ fsMask: Word;
|
|
|
|
+ alMatrix: Array[0..GSTM_ML-1] of Longint;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+const
|
|
|
|
+ GSTM_M11 =$8000;
|
|
|
|
+ GSTM_M12 =$4000;
|
|
|
|
+ GSTM_M13 =$2000;
|
|
|
|
+ GSTM_M14 =$1000;
|
|
|
|
+ GSTM_M21 =$0800;
|
|
|
|
+ GSTM_M22 =$0400;
|
|
|
|
+ GSTM_M23 =$0200;
|
|
|
|
+ GSTM_M24 =$0100;
|
|
|
|
+ GSTM_M31 =$0080;
|
|
|
|
+ GSTM_M32 =$0040;
|
|
|
|
+ GSTM_M33 =$0020;
|
|
|
|
+ GSTM_M34 =$0010;
|
|
|
|
+ GSTM_M41 =$0008;
|
|
|
|
+ GSTM_M42 =$0004;
|
|
|
|
+ GSTM_M43 =$0002;
|
|
|
|
+ GSTM_M44 =$0001;
|
|
|
|
+
|
|
|
|
+ GSTM_UNITY =$00;
|
|
|
|
+ GSTM_AFTER =$01;
|
|
|
|
+ GSTM_BEFORE =$02;
|
|
|
|
+ GSTM_OVERWRITE =$03;
|
|
|
|
+
|
|
|
|
+ GSTV_OVERWRITE =$00;
|
|
|
|
+ GSTV_AFTER =$04;
|
|
|
|
+
|
|
|
|
+// Set Segment Boundary, Viewing Window
|
|
|
|
+ OCODE_GSSB =$32; // Set segment boundary
|
|
|
|
+ OCODE_GSVW =$27; // Set viewing window
|
|
|
|
+ OCODE_GPSVW =$67; // Push and set view window
|
|
|
|
+
|
|
|
|
+ GSSB_ML =4;
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDERS_GSSB=record // osgssb
|
|
|
|
+ fbFlags: Byte;
|
|
|
|
+ fbMask: Byte;
|
|
|
|
+ alMatrix: Array[0..GSSB_ML-1] of Integer;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+ ORDERL_GSSB=record // olgssb
|
|
|
|
+ fbFLags: Byte;
|
|
|
|
+ fbMask: Byte;
|
|
|
|
+ alMatrix: Array[0..GSSB_ML-1] of Longint;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+const
|
|
|
|
+ GSSB_XLEFT =$20;
|
|
|
|
+ GSSB_XRIGHT =$10;
|
|
|
|
+ GSSB_YBOTTOM =$08;
|
|
|
|
+ GSSB_YTOP =$04;
|
|
|
|
+
|
|
|
|
+ GSVW_INTERSECT =$00;
|
|
|
|
+ GSVW_REPLACE =$80;
|
|
|
|
+
|
|
|
|
+// Set Segment Characteristics
|
|
|
|
+ OCODE_GSGCH =$04; // Set segment characteristics
|
|
|
|
+
|
|
|
|
+ GSGCH_ML =254;
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDER_GSGCH=record // ogsgch
|
|
|
|
+ uchIdent: Byte;
|
|
|
|
+ auchData: Array[0..GSGCH_ML-1] of Byte;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+// Set Stroke Line Width
|
|
|
|
+const
|
|
|
|
+ OCODE_GSSLW =$15; // Set stroke line width
|
|
|
|
+ OCODE_GPSSLW =$55; // Push and set strk l width
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDERS_GSSLW=record // osgsslw
|
|
|
|
+ fbFlags: Byte;
|
|
|
|
+ uchReserved: Byte;
|
|
|
|
+ LineWidth: Integer;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDERL_GSSLW=record // olgsslw
|
|
|
|
+ fbFlags: Byte;
|
|
|
|
+ uchReserved: Byte;
|
|
|
|
+ LineWidth: Longint;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+const
|
|
|
|
+ GSSLW_DEFAULT =$80;
|
|
|
|
+ GSSLW_SPECIFY =$00;
|
|
|
|
+
|
|
|
|
+// Sharp Fillet at Current Position
|
|
|
|
+ OCODE_GCSFLT =$A4; // Sharp fillet at curr pos
|
|
|
|
+ OCODE_GSFLT =$E4; // Sharp fillet at given pos
|
|
|
|
+
|
|
|
|
+ GCSFLT_SMF =21;
|
|
|
|
+ GSFLT_SMF =20;
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDERS_GCSFLT=record // osgcsflt
|
|
|
|
+ apt: Array[0..2*GCSFLT_SMF-1] of POINTS;
|
|
|
|
+ afxSharpness: Array[0..GCSFLT_SMF-1] of FIXED;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+const
|
|
|
|
+ GCSFLT_LMF = 12;
|
|
|
|
+ GSFLT_LMF = 12;
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDERL_GCSFLT=record // olgcsflt
|
|
|
|
+ apt: Array[0..2*GCSFLT_SMF-1] of POINTL;
|
|
|
|
+ afxSharpness: Array[0..GCSFLT_SMF-1] of FIXED;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+// Bitblt
|
|
|
|
+const
|
|
|
|
+ OCODE_GBBLT =$D6; // Bitblt
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDERS_GBBLT=record // osgbblt
|
|
|
|
+ fsFlags: Word;
|
|
|
|
+ usMix: Word;
|
|
|
|
+ hbmSrc: HBITMAP;
|
|
|
|
+ lOptions: Longint;
|
|
|
|
+ rcsTargetRect: RECT1S;
|
|
|
|
+ rclSourceRect: RECTL;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+ ORDERL_GBBLT=record // olgbblt
|
|
|
|
+ fsFlags: Word;
|
|
|
|
+ usMix: Word;
|
|
|
|
+ hbmSrc: HBITMAP;
|
|
|
|
+ lOptions: Longint;
|
|
|
|
+ rclTargetRect: RECTL;
|
|
|
|
+ rclSourceRect: RECTL;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+// Char & break extra
|
|
|
|
+const
|
|
|
|
+ OCODE_GSCE =$17; // Set char extra
|
|
|
|
+ OCODE_GPSCE =$57; // Push and set char extra
|
|
|
|
+ OCODE_GSCBE =$05; // Set char break extra
|
|
|
|
+ OCODE_GPSCBE =$45; // Push and set char break extra
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDER_GSCBE=record // osgsce
|
|
|
|
+ fbFlags: Byte;
|
|
|
|
+ uchReserved: Byte;
|
|
|
|
+ ufxextra: FIXED;
|
|
|
|
+ end;
|
|
|
|
+ ORDER_GSCE=ORDER_GSCBE;
|
|
|
|
+ ORDER_GPSCE=ORDER_GSCBE;
|
|
|
|
+ ORDER_GPSCBE=ORDER_GSCBE;
|
|
|
|
+
|
|
|
|
+// Escape
|
|
|
|
+const
|
|
|
|
+ OCODE_GESCP =$D5; // Escape
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+//* type describes type of escape order, identifier gives the escape
|
|
|
|
+//* order if the type is registered
|
|
|
|
+const
|
|
|
|
+ GESCP_ML = 253;
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDER_GESCP=record // ogescp
|
|
|
|
+ uchType: Byte;
|
|
|
|
+ uchIdent: Byte;
|
|
|
|
+ auchData: Array[0..GESCP_ML-1] of Byte; // Escape data
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+const
|
|
|
|
+ GESCP_REG =$80; // identifier is registered
|
|
|
|
+
|
|
|
|
+// Escape (Bitblt)
|
|
|
|
+const
|
|
|
|
+ GEBB_REGID =$02; // uchIdent - Bitblt
|
|
|
|
+
|
|
|
|
+ ETYPE_GEBB =$800200D5;
|
|
|
|
+
|
|
|
|
+ GEBB_LMP =29;
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDERL_GEBB=record // olgebb
|
|
|
|
+ fbFlags: Byte;
|
|
|
|
+ usMix: Word;
|
|
|
|
+ cPoints: Byte;
|
|
|
|
+ hbmSrc: HBITMAP;
|
|
|
|
+ lReserved: Longint;
|
|
|
|
+ lOptions: Longint;
|
|
|
|
+ aptPoints: Array[0..GEBB_LMP-1] of POINTL;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+// Escape (Set Pel)
|
|
|
|
+const
|
|
|
|
+ GEPEL_REGID =$01; // uchIdent - Set Pel
|
|
|
|
+
|
|
|
|
+ ETYPE_GEPEL =$800100D5;
|
|
|
|
+
|
|
|
|
+// Escape (DrawBits)
|
|
|
|
+ GEDB_REGID =$04; // uchIdent - DrawBits
|
|
|
|
+
|
|
|
|
+ ETYPE_GEDB =$800400D5;
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDERL_GEDB=record // olgedb
|
|
|
|
+ fsFlags: Word;
|
|
|
|
+ usMix: Word;
|
|
|
|
+ pBits: Pointer;
|
|
|
|
+ pbmi: PBITMAPINFO2;
|
|
|
|
+ lOptions: Longint;
|
|
|
|
+ rclTargetRect: RECTL;
|
|
|
|
+ rclSourceRect: RECTL;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+// Escape (FloodFill)
|
|
|
|
+const
|
|
|
|
+ GEFF_REGID =$03; // uchIdent - FloodFill
|
|
|
|
+
|
|
|
|
+ ETYPE_GEFF =$800300D5;
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDERL_GEFF=record // olgeff
|
|
|
|
+ fsFlags: Byte;
|
|
|
|
+ auchColor: Array[0..3-1] of Byte;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+// Element Types for attribute bundles
|
|
|
|
+const
|
|
|
|
+ ETYPE_LINEBUNDLE =$0000FD01;
|
|
|
|
+ ETYPE_CHARBUNDLE =$0000FD02;
|
|
|
|
+ ETYPE_MARKERBUNDLE =$0000FD03;
|
|
|
|
+ ETYPE_AREABUNDLE =$0000FD04;
|
|
|
|
+ ETYPE_IMAGEBUNDLE =$0000FD05;
|
|
|
|
+
|
|
|
|
+//***************************************************************************\
|
|
|
|
+//*
|
|
|
|
+//* Very long orders
|
|
|
|
+//*
|
|
|
|
+//***************************************************************************/
|
|
|
|
+
|
|
|
|
+// macro to tell whether this is a very long order
|
|
|
|
+{$define VLONG_ORDER(oc):=((oc)=OCODE_VLONG)}
|
|
|
|
+
|
|
|
|
+// Very long order structure
|
|
|
|
+const
|
|
|
|
+ VORDER_ML =65531;
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ VORDER=record // vord
|
|
|
|
+ idCode: Byte;
|
|
|
|
+ uchQualifier: Byte;
|
|
|
|
+ uchLength: SWPUSHORT;
|
|
|
|
+ uchData: Array[0..VORDER_ML-1] of Byte;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+// Character String Extended
|
|
|
|
+const
|
|
|
|
+ OCODEQ_GCCHSTE =$B0; // Qualifier - current posn
|
|
|
|
+ OCODEQ_GCHSTE =$F0; // Qualifier - given position
|
|
|
|
+ OCODEQ_GTCHSPA =$F4; // Tabbed Char String At
|
|
|
|
+
|
|
|
|
+ ETYPE_GCCHSTE =$0000FEB0;
|
|
|
|
+ ETYPE_GCHSTE =$0000FEF0;
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDERS_GCCHSTE=record // osgcchste
|
|
|
|
+ fbFlags: Byte;
|
|
|
|
+ uchReserved: Byte;
|
|
|
|
+ ptRect: Array[0..2-1] of POINTS;
|
|
|
|
+ cchString: SWPUSHORT;
|
|
|
|
+ achString: Array[0..1-1] of Char;
|
|
|
|
+ adx: Array[0..1-1] of Integer;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+ ORDERL_GCCHSTE=record // olgcchste
|
|
|
|
+ fbFlags: Byte;
|
|
|
|
+ uchReserved: Byte;
|
|
|
|
+ ptRect: Array[0..2-1] of POINTL;
|
|
|
|
+ cchString: SWPUSHORT;
|
|
|
|
+ achString: Array[0..1-1] of Char;
|
|
|
|
+ adx: Array[0..1-1] of Longint;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+ ORDERL_GTCHSPA=record // olgcchspa
|
|
|
|
+ fbFlags: Byte;
|
|
|
|
+ uchReserved: Byte;
|
|
|
|
+ ptRect: Array[0..2-1] of POINTL;
|
|
|
|
+ cchString: SWPUSHORT;
|
|
|
|
+ achString: Array[0..1-1] of Char;
|
|
|
|
+ adx: Array[0..2-1] of Longint;
|
|
|
|
+ tabs: Array[0..1-1] of Longint;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+const
|
|
|
|
+ GCCHSTE_DRAWRECT =$80;
|
|
|
|
+ GCCHSTE_NORECT =$00;
|
|
|
|
+ GCCHSTE_CLIP =$40;
|
|
|
|
+ GCCHSTE_NOCLIP =$00;
|
|
|
|
+ GCCHSTE_DEEMPHASIZE =$20; // Reserved
|
|
|
|
+ GCCHSTE_NODEEMPHASIZE =$00;
|
|
|
|
+ GCCHSTE_LEAVEPOS =$10;
|
|
|
|
+ GCCHSTE_MOVEPOS =$00;
|
|
|
|
+ GCCHSTE_UNDERSCORE =$08;
|
|
|
|
+ GCCHSTE_NOUNDERSCORE =$00;
|
|
|
|
+ GCCHSTE_STRIKEOUT =$04;
|
|
|
|
+ GCCHSTE_NOSTRIKEOUT =$00;
|
|
|
|
+ GTCHSPA_STARTPOS =$02;
|
|
|
|
+ GTCHSPA_NOSTARTPOS =$00;
|
|
|
|
+
|
|
|
|
+// Extended Escape
|
|
|
|
+ OCODEQ_GEESCP =$D5; // Qualifier - extended escape
|
|
|
|
+
|
|
|
|
+ GEESCP_ML =65533;
|
|
|
|
+
|
|
|
|
+type
|
|
|
|
+ ORDER_GEESCP=record // ogeescp
|
|
|
|
+ uchType: Byte;
|
|
|
|
+ uchIdent: Byte;
|
|
|
|
+ auchData: Array[0..GEESCP_ML-1] of Byte;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+//#pragma pack() /* reset to default packing */
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
function GpiCreatePS(hab,hdc : cardinal;var psizlSize : SIZEL;flOptions : cardinal) : cardinal;cdecl;
|
|
function GpiCreatePS(hab,hdc : cardinal;var psizlSize : SIZEL;flOptions : cardinal) : cardinal;cdecl;
|
|
function GpiDestroyPS(hps : cardinal) : longbool;cdecl;
|
|
function GpiDestroyPS(hps : cardinal) : longbool;cdecl;
|
|
function GpiAssociate(hps,hdc : cardinal) : longbool;cdecl;
|
|
function GpiAssociate(hps,hdc : cardinal) : longbool;cdecl;
|
|
@@ -1226,9 +2164,13 @@ function GpiSetDefViewingLimits(hps : cardinal;var prclLimits : RECTL) : longboo
|
|
function GpiPolygons(hps,ulCount : cardinal;var paplgn : POLYGON;flOptions,flModel : cardinal) : longint; cdecl; external 'pmgpi' index 650;
|
|
function GpiPolygons(hps,ulCount : cardinal;var paplgn : POLYGON;flOptions,flModel : cardinal) : longint; cdecl; external 'pmgpi' index 650;
|
|
|
|
|
|
end.
|
|
end.
|
|
|
|
+
|
|
{
|
|
{
|
|
$Log$
|
|
$Log$
|
|
- Revision 1.4 2002-11-02 13:26:36 hajny
|
|
|
|
|
|
+ Revision 1.5 2003-03-27 18:11:23 yuri
|
|
|
|
+ Orders added
|
|
|
|
+
|
|
|
|
+ Revision 1.4 2002/11/02 13:26:36 hajny
|
|
* Gpi*Palette* parameters corrected
|
|
* Gpi*Palette* parameters corrected
|
|
|
|
|
|
Revision 1.3 2002/09/07 16:01:25 peter
|
|
Revision 1.3 2002/09/07 16:01:25 peter
|