mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 05:59:37 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			726 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
			
		
		
	
	
			726 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
{****************************************************************************
 | 
						|
 | 
						|
                   Copyright (c) 1993,94 by Florian Kl„mpfl
 | 
						|
                  
 | 
						|
 ****************************************************************************}
 | 
						|
unit pmord;
 | 
						|
 | 
						|
  interface
 | 
						|
  
 | 
						|
    uses
 | 
						|
       os2def,pmgpi;
 | 
						|
 | 
						|
{$PACKRECORDS 1}
 | 
						|
 | 
						|
    type
 | 
						|
       RECT1S = record
 | 
						|
          xLeft : SHORT;
 | 
						|
          yBottom : SHORT;
 | 
						|
          xRight : SHORT;
 | 
						|
          yTop : SHORT;
 | 
						|
       end;
 | 
						|
 | 
						|
       ODPOINT = record
 | 
						|
          dx : CHAR;
 | 
						|
          dy : CHAR;
 | 
						|
       end;
 | 
						|
 | 
						|
       SIZES = record
 | 
						|
          cx : SHORT;
 | 
						|
          cy : SHORT;
 | 
						|
       end;
 | 
						|
 | 
						|
       SWPUSHORT = record
 | 
						|
          HiByte : UCHAR;
 | 
						|
          LoByte : UCHAR;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       OCODE_GNOP1 = $00;
 | 
						|
       OCODE_GESD = $FF;
 | 
						|
       OCODE2_1 = $80;
 | 
						|
       OCODE2_2 = $88;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDER = record
 | 
						|
          idCode : UCHAR;
 | 
						|
          uchData : UCHAR;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       OCODE_GBAR = $68;
 | 
						|
       OCODE_GCFIG = $7D;
 | 
						|
       OCODE_GEEL = $49;
 | 
						|
       OCODE_GEPTH = $7F;
 | 
						|
       OCODE_GEPROL = $3E;
 | 
						|
       OCODE_GPOP = $3F;
 | 
						|
       OCODE_GSBMX = $0D;
 | 
						|
       OCODE_GPSBMX = $4D;
 | 
						|
       OCODE_GSCD = $3A;
 | 
						|
       OCODE_GPSCD = $7A;
 | 
						|
       OCODE_GSCR = $39;
 | 
						|
       OCODE_GPSCR = $79;
 | 
						|
       OCODE_GSCS = $38;
 | 
						|
       OCODE_GPSCS = $78;
 | 
						|
       OCODE_GSCOL = $0A;
 | 
						|
       OCODE_GPSCOL = $4A;
 | 
						|
       OCODE_GSLE = $1A;
 | 
						|
       OCODE_GPSLE = $5A;
 | 
						|
       OCODE_GSLJ = $1B;
 | 
						|
       OCODE_GPSLJ = $5B;
 | 
						|
       OCODE_GSLT = $18;
 | 
						|
       OCODE_GPSLT = $58;
 | 
						|
       OCODE_GSLW = $19;
 | 
						|
       OCODE_GPSLW = $59;
 | 
						|
       OCODE_GSMP = $3B;
 | 
						|
       OCODE_GPSMP = $7B;
 | 
						|
       OCODE_GSMS = $3C;
 | 
						|
       OCODE_GPSMS = $7C;
 | 
						|
       OCODE_GSMT = $29;
 | 
						|
       OCODE_GPSMT = $69;
 | 
						|
       OCODE_GSMX = $0C;
 | 
						|
       OCODE_GPSMX = $4C;
 | 
						|
       OCODE_GSPS = $08;
 | 
						|
       OCODE_GPSPS = $48;
 | 
						|
       OCODE_GSPT = $28;
 | 
						|
       OCODE_GPSPT = $09;
 | 
						|
       GBAR_RESERVED = $80;
 | 
						|
       GBAR_BOUNDARY = $C0;
 | 
						|
       GBAR_NOBOUNDARY = $80;
 | 
						|
       GBAR_WINDING = $A0;
 | 
						|
       GBAR_ALTERNATE = $80;
 | 
						|
       GSCR_PRECISION = $0F;
 | 
						|
       OCODE_VLONG = $FE;
 | 
						|
       LORDER_ML = 253;
 | 
						|
 | 
						|
    type
 | 
						|
       LORDER = record
 | 
						|
          idCode : UCHAR;
 | 
						|
          uchLength : UCHAR;
 | 
						|
          uchData : array[0..LORDER_ML-1] of UCHAR;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       OCODE_GEAR = $60;
 | 
						|
       OCODE_GEIMG = $93;
 | 
						|
       OCODE_GCCHST = $83;
 | 
						|
       GCCHST_MC = 255;
 | 
						|
       OCODE_GCHST = $C3;
 | 
						|
       GCHST_SMC = 251;
 | 
						|
       GCHST_LMC = 247;
 | 
						|
       OCODE_GCCHSTM = $B1;
 | 
						|
       GCCHSTM_MC = 255;
 | 
						|
       OCODE_GCHSTM = $F1;
 | 
						|
       GCHSTM_SMC = 251;
 | 
						|
       GCHSTM_LMC = 247;
 | 
						|
       OCODE_GCOMT = $01;
 | 
						|
       GCOMT_ML = 255;
 | 
						|
       OCODE_GIMD = $92;
 | 
						|
       GIMD_ML = 255;
 | 
						|
       OCODE_GCFARC = $87;
 | 
						|
       OCODE_GFARC = $C7;
 | 
						|
       OCODE_GLABL = $D3;
 | 
						|
       OCODE_GSCP = $21;
 | 
						|
       OCODE_GPSCP = $61;
 | 
						|
       OCODE_GCBEZ = $A5;
 | 
						|
       GCBEZ_SMB = 21;
 | 
						|
       GCBEZ_LMB = 10;
 | 
						|
       OCODE_GBEZ = $E5;
 | 
						|
       GBEZ_SMB = 20;
 | 
						|
       GBEZ_LMB = 10;
 | 
						|
       OCODE_GCFLT = $85;
 | 
						|
       GCFLT_SMP = 63;
 | 
						|
       GCFLT_LMP = 31;
 | 
						|
       OCODE_GFLT = $C5;
 | 
						|
       GFLT_SMP = 62;
 | 
						|
       GFLT_LMP = 30;
 | 
						|
       OCODE_GCLINE = $81;
 | 
						|
       GCLINE_SMP = 63;
 | 
						|
       GCLINE_LMP = 31;
 | 
						|
       OCODE_GLINE = $C1;
 | 
						|
       GLINE_SMP = 62;
 | 
						|
       GLINE_LMP = 30;
 | 
						|
       OCODE_GCMRK = $82;
 | 
						|
       GCMRK_SMP = 63;
 | 
						|
       GCMRK_LMP = 31;
 | 
						|
       OCODE_GMRK = $C2;
 | 
						|
       GMRK_SMP = 62;
 | 
						|
       GMRK_LMP = 30;
 | 
						|
       OCODE_GCRLINE = $A1;
 | 
						|
       GCRLINE_MP = 127;
 | 
						|
       OCODE_GRLINE = $E1;
 | 
						|
       GRLINE_SMP = 125;
 | 
						|
       GRLINE_LMP = 123;
 | 
						|
       OCODE_GSBCOL = $25;
 | 
						|
       OCODE_GPSBCOL = $65;
 | 
						|
       OCODE_GSECOL = $26;
 | 
						|
       OCODE_GPSECOL = $66;
 | 
						|
       SECOL_DEFAULT0 = $0000;
 | 
						|
       SECOL_DEFAULT1 = $FF00;
 | 
						|
       SECOL_NEUTRAL = $FF07;
 | 
						|
       SECOL_RESET = $FF08;
 | 
						|
       OCODE_GSCA = $34;
 | 
						|
       OCODE_GPSCA = $74;
 | 
						|
       OCODE_GSCH = $35;
 | 
						|
       OCODE_GPSCH = $75;
 | 
						|
       OCODE_GSFLW = $11;
 | 
						|
       OCODE_GPSFLW = $51;
 | 
						|
       OCODE_GSPIK = $43;
 | 
						|
       OCODE_GPSPIK = $23;
 | 
						|
       OCODE_GCARC = $86;
 | 
						|
       OCODE_GARC = $C6;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDERS_GCARC = record
 | 
						|
          ptInter : POINTS;
 | 
						|
          ptEnd : POINTS;
 | 
						|
       end;
 | 
						|
 | 
						|
       ORDERL_GCARC = record
 | 
						|
          ptInter : POINTL;
 | 
						|
          ptEnd : POINTL;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       OCODE_GBEL = $D2;
 | 
						|
       GBEL_DL = 251;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDER_GBEL = record
 | 
						|
          lElementType : LONG;
 | 
						|
          achDesc : array[0..GBEL_DL-1] of CHAR;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       OCODE_GCBIMG = $91;
 | 
						|
       OCODE_GBIMG = $D1;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDER_GCBIMG = record
 | 
						|
          uchFormat : UCHAR;
 | 
						|
          uchReserved : UCHAR;
 | 
						|
          cx : SWPUSHORT;
 | 
						|
          cy : SWPUSHORT;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       OCODE_GBPTH = $D0;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDER_GBPTH = record
 | 
						|
          usReserved : USHORT;
 | 
						|
          idPath : LONG;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       OCODE_GCBOX = $80;
 | 
						|
       OCODE_GBOX = $C0;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDERS_GCBOX = record
 | 
						|
          fbFlags : UCHAR;
 | 
						|
          uchReserved : UCHAR;
 | 
						|
          ptCorner : POINTS;
 | 
						|
          hAxis : SHORT;
 | 
						|
          vAxis : SHORT;
 | 
						|
       end;
 | 
						|
 | 
						|
       ORDERL_GCBOX = record
 | 
						|
          fbFlags : UCHAR;
 | 
						|
          uchReserved : UCHAR;
 | 
						|
          ptCorner : POINTL;
 | 
						|
          hAxis : LONG;
 | 
						|
          vAxis : LONG;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       GCBOX_FILL = $40;
 | 
						|
       GCBOX_BOUNDARY = $20;
 | 
						|
       OCODE_GCALLS = $07;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDER_GCALLS = record
 | 
						|
          sReserved : USHORT;
 | 
						|
          idSegment : LONG;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       OCODE_GFPTH = $D7;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDER_GFPTH = record
 | 
						|
          fbFlags : UCHAR;
 | 
						|
          uchReserved : UCHAR;
 | 
						|
          idPath : LONG;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       GFPTH_ALTERNATE = $00;
 | 
						|
       GFPTH_WINDING = $40;
 | 
						|
       GFPTH_MODIFY = $20;
 | 
						|
       OCODE_GOPTH = $D4;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDER_GOPTH = record
 | 
						|
          fbFlags : UCHAR;
 | 
						|
          uchReserved : UCHAR;
 | 
						|
          idPath : LONG;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       OCODE_GMPTH = $D8;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDER_GMPTH = record
 | 
						|
          uchMode : UCHAR;
 | 
						|
          uchReserved : UCHAR;
 | 
						|
          idPath : LONG;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       GMPTH_STROKE = $06;
 | 
						|
       OCODE_GCPARC = $A3;
 | 
						|
       OCODE_GPARC = $E3;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDERS_GCPARC = record
 | 
						|
          ptCenter : POINTS;
 | 
						|
          ufx88Multiplier : FIXED88;
 | 
						|
          usStartAngle : LONG;
 | 
						|
          usSweepAngle : LONG;
 | 
						|
       end;
 | 
						|
 | 
						|
       ORDERL_GCPARC = record
 | 
						|
          ptCenter : POINTL;
 | 
						|
          ufxMultiplier : FIXED;
 | 
						|
          usStartAngle : LONG;
 | 
						|
          usSweepAngle : LONG;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       OCODE_GSCPTH = $B4;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDER_GSCPTH = record
 | 
						|
          fbFlags : UCHAR;
 | 
						|
          uchReserved : UCHAR;
 | 
						|
          idPath : LONG;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       GSCPTH_ALTERNATE = $00;
 | 
						|
       GSCPTH_WINDING = $40;
 | 
						|
       GSCPTH_RESET = $00;
 | 
						|
       GSCPTH_INTERSECT = $20;
 | 
						|
       OCODE_GSAP = $22;
 | 
						|
       OCODE_GPSAP = $62;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDERS_GSAP = record
 | 
						|
          p : SHORT;
 | 
						|
          q : SHORT;
 | 
						|
          r : SHORT;
 | 
						|
          s : SHORT;
 | 
						|
       end;
 | 
						|
 | 
						|
       ORDERL_GSAP = record
 | 
						|
          p : LONG;
 | 
						|
          q : LONG;
 | 
						|
          r : LONG;
 | 
						|
          s : LONG;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       OCODE_GSBICOL = $A7;
 | 
						|
       OCODE_GPSBICOL = $E7;
 | 
						|
       OCODE_GSICOL = $A6;
 | 
						|
       OCODE_GPSICOL = $E6;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDER_GSBICOL = record
 | 
						|
          fbFlags : UCHAR;
 | 
						|
          auchColor : array[0..3-1] of UCHAR;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       SICOL_SPECIFY = $00;
 | 
						|
       SICOL_SPECIAL = $40;
 | 
						|
       SICOL_DEFAULT = $80;
 | 
						|
       SICOL_BLACK = 1;
 | 
						|
       SICOL_WHITE = 2;
 | 
						|
       SICOL_ONES = 4;
 | 
						|
       SICOL_ZEROES = 5;
 | 
						|
       OCODE_GSCC = $33;
 | 
						|
       OCODE_GPSCC = $03;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDERS_GSCC = record
 | 
						|
          cxInt : SHORT;
 | 
						|
          cyInt : SHORT;
 | 
						|
          cxFract : USHORT;
 | 
						|
          cyFract : USHORT;
 | 
						|
          fbFlags : UCHAR;
 | 
						|
          uchReserved : UCHAR;
 | 
						|
       end;
 | 
						|
 | 
						|
       ORDERL_GSCC = record
 | 
						|
          cxInt : LONG;
 | 
						|
          cyInt : LONG;
 | 
						|
          cxFract : USHORT;
 | 
						|
          cyFract : USHORT;
 | 
						|
          fbFlags : UCHAR;
 | 
						|
          uchReserved : UCHAR;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       GSCC_ZERODEF = $00;
 | 
						|
       GSCC_ZEROZERO = $80;
 | 
						|
       OCODE_GSMC = $37;
 | 
						|
       OCODE_GPSMC = $77;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDERS_GSMC = record
 | 
						|
          cx : SHORT;
 | 
						|
          cy : SHORT;
 | 
						|
          fbFlags : UCHAR;
 | 
						|
          uchReserved : UCHAR;
 | 
						|
       end;
 | 
						|
 | 
						|
       ORDERL_GSMC = record
 | 
						|
          cx : LONG;
 | 
						|
          cy : LONG;
 | 
						|
          fbFlags : UCHAR;
 | 
						|
          uchReserved : UCHAR;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       GSMC_ZERODEF = $00;
 | 
						|
       GSMC_ZEROZERO = $80;
 | 
						|
       OCODE_GSPRP = $A0;
 | 
						|
       OCODE_GPSPRP = $E0;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDERS_GSPRP = record
 | 
						|
          fbFlags : UCHAR;
 | 
						|
          uchReserved : UCHAR;
 | 
						|
          ptPos : POINTS;
 | 
						|
       end;
 | 
						|
 | 
						|
       ORDERL_GSPRP = record
 | 
						|
          fbFlags : UCHAR;
 | 
						|
          uchReserved : UCHAR;
 | 
						|
          ptPos : POINTL;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       GSPRP_DEFAULT = $80;
 | 
						|
       GSPRP_SPECIFY = $00;
 | 
						|
       OCODE_GSIA = $14;
 | 
						|
       OCODE_GPSIA = $54;
 | 
						|
       GSIA_VL = 3;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDER_GSIA = record
 | 
						|
          uchAttrType : UCHAR;
 | 
						|
          uchPrimType : UCHAR;
 | 
						|
          fbFlags : UCHAR;
 | 
						|
          auchValue : array[0..GSIA_VL-1] of UCHAR;
 | 
						|
       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;
 | 
						|
       OCODE_GSTM = $24;
 | 
						|
       OCODE_GPSTM = $64;
 | 
						|
       OCODE_GSTV = $31;
 | 
						|
       GSTM_ML = 16;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDERS_GSTM = record
 | 
						|
          uchReserved : UCHAR;
 | 
						|
          fbFlags : UCHAR;
 | 
						|
          fsMask : USHORT;
 | 
						|
          asMatrix : array[0..GSTM_ML-1] of SHORT;
 | 
						|
       end;
 | 
						|
 | 
						|
       ORDERL_GSTM = record
 | 
						|
          uchReserved : UCHAR;
 | 
						|
          fbFlags : UCHAR;
 | 
						|
          fsMask : USHORT;
 | 
						|
          alMatrix : array[0..GSTM_ML-1] of LONG;
 | 
						|
       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;
 | 
						|
       OCODE_GSSB = $32;
 | 
						|
       OCODE_GSVW = $27;
 | 
						|
       OCODE_GPSVW = $67;
 | 
						|
       GSSB_ML = 4;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDERS_GSSB = record
 | 
						|
          fbFlags : UCHAR;
 | 
						|
          fbMask : UCHAR;
 | 
						|
          alMatrix : array[0..GSSB_ML-1] of SHORT;
 | 
						|
       end;
 | 
						|
 | 
						|
       ORDERL_GSSB = record
 | 
						|
          fbFLags : UCHAR;
 | 
						|
          fbMask : UCHAR;
 | 
						|
          alMatrix : array[0..GSSB_ML-1] of LONG;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       GSSB_XLEFT = $20;
 | 
						|
       GSSB_XRIGHT = $10;
 | 
						|
       GSSB_YBOTTOM = $08;
 | 
						|
       GSSB_YTOP = $04;
 | 
						|
       GSVW_INTERSECT = $00;
 | 
						|
       GSVW_REPLACE = $80;
 | 
						|
       OCODE_GSGCH = $04;
 | 
						|
       GSGCH_ML = 254;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDER_GSGCH = record
 | 
						|
          uchIdent : UCHAR;
 | 
						|
          auchData : array[0..GSGCH_ML-1] of UCHAR;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       OCODE_GSSLW = $15;
 | 
						|
       OCODE_GPSSLW = $55;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDERS_GSSLW = record
 | 
						|
          fbFlags : UCHAR;
 | 
						|
          uchReserved : UCHAR;
 | 
						|
          LineWidth : SHORT;
 | 
						|
       end;
 | 
						|
 | 
						|
       ORDERL_GSSLW = record
 | 
						|
          fbFlags : UCHAR;
 | 
						|
          uchReserved : UCHAR;
 | 
						|
          LineWidth : LONG;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       GSSLW_DEFAULT = $80;
 | 
						|
       GSSLW_SPECIFY = $00;
 | 
						|
       OCODE_GCSFLT = $A4;
 | 
						|
       OCODE_GSFLT = $E4;
 | 
						|
       GCSFLT_SMF = 21;
 | 
						|
       GSFLT_SMF = 20;
 | 
						|
       GCSFLT_SMF2 = GCSFLT_SMF*2;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDERS_GCSFLT = record
 | 
						|
          apt : array[0..GCSFLT_SMF2-1] of POINTS;
 | 
						|
          afxSharpness : array[0..GCSFLT_SMF-1] of FIXED;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       GCSFLT_LMF = 12;
 | 
						|
       GSFLT_LMF = 12;
 | 
						|
       GCSFLT_LMF2 = GCSFLT_LMF*2;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDERL_GCSFLT = record
 | 
						|
          apt : array[0..GCSFLT_LMF2-1] of POINTL;
 | 
						|
          afxSharpness : array[0..GCSFLT_LMF-1] of FIXED;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       OCODE_GBBLT = $D6;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDERS_GBBLT = record
 | 
						|
          fsFlags : USHORT;
 | 
						|
          usMix : USHORT;
 | 
						|
          hbmSrc : HBITMAP;
 | 
						|
          lOptions : LONG;
 | 
						|
          rcsTargetRect : RECT1S;
 | 
						|
          rclSourceRect : RECTL;
 | 
						|
       end;
 | 
						|
 | 
						|
       ORDERL_GBBLT = record
 | 
						|
          fsFlags : USHORT;
 | 
						|
          usMix : USHORT;
 | 
						|
          hbmSrc : HBITMAP;
 | 
						|
          lOptions : LONG;
 | 
						|
          rclTargetRect : RECTL;
 | 
						|
          rclSourceRect : RECTL;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       OCODE_GSCE = $17;
 | 
						|
       OCODE_GPSCE = $57;
 | 
						|
       OCODE_GSCBE = $05;
 | 
						|
       OCODE_GPSCBE = $45;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDER_GSCBE = record
 | 
						|
          fbFlags : UCHAR;
 | 
						|
          uchReserved : UCHAR;
 | 
						|
          ufxextra : FIXED;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       OCODE_GESCP = $D5;
 | 
						|
       GESCP_ML = 253;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDER_GESCP = record
 | 
						|
          uchType : UCHAR;
 | 
						|
          uchIdent : UCHAR;
 | 
						|
          auchData : array[0..GESCP_ML-1] of UCHAR;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       GESCP_REG = $80;
 | 
						|
       GEBB_REGID = $02;
 | 
						|
       ETYPE_GEBB = $800200D5;
 | 
						|
       GEBB_LMP = 29;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDERL_GEBB = record
 | 
						|
          fbFlags : UCHAR;
 | 
						|
          usMix : USHORT;
 | 
						|
          cPoints : UCHAR;
 | 
						|
          hbmSrc : HBITMAP;
 | 
						|
          lReserved : LONG;
 | 
						|
          lOptions : LONG;
 | 
						|
          aptPoints : array[0..GEBB_LMP-1] of POINTL;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       GEPEL_REGID = $01;
 | 
						|
       ETYPE_GEPEL = $800100D5;
 | 
						|
       GEDB_REGID = $04;
 | 
						|
       ETYPE_GEDB = $800400D5;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDERL_GEDB = record
 | 
						|
          fsFlags : USHORT;
 | 
						|
          usMix : USHORT;
 | 
						|
          pBits : PVOID;
 | 
						|
          pbmi : PBITMAPINFO2;
 | 
						|
          lOptions : LONG;
 | 
						|
          rclTargetRect : RECTL;
 | 
						|
          rclSourceRect : RECTL;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       GEFF_REGID = $03;
 | 
						|
       ETYPE_GEFF = $800300D5;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDERL_GEFF = record
 | 
						|
          fsFlags : UCHAR;
 | 
						|
          auchColor : array[0..3-1] of UCHAR;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       ETYPE_LINEBUNDLE = $0000FD01;
 | 
						|
       ETYPE_CHARBUNDLE = $0000FD02;
 | 
						|
       ETYPE_MARKERBUNDLE = $0000FD03;
 | 
						|
       ETYPE_AREABUNDLE = $0000FD04;
 | 
						|
       ETYPE_IMAGEBUNDLE = $0000FD05;
 | 
						|
       VORDER_ML = 65531;
 | 
						|
 | 
						|
    type
 | 
						|
       VORDER = record
 | 
						|
          idCode : UCHAR;
 | 
						|
          uchQualifier : UCHAR;
 | 
						|
          uchLength : SWPUSHORT;
 | 
						|
          uchData : array[0..VORDER_ML-1] of UCHAR;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       OCODEQ_GCCHSTE = $B0;
 | 
						|
       OCODEQ_GCHSTE = $F0;
 | 
						|
       ETYPE_GCCHSTE = $0000FEB0;
 | 
						|
       ETYPE_GCHSTE = $0000FEF0;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDERS_GCCHSTE = record
 | 
						|
          fbFlags : UCHAR;
 | 
						|
          uchReserved : UCHAR;
 | 
						|
          ptRect : array[0..2-1] of POINTS;
 | 
						|
          cchString : SWPUSHORT;
 | 
						|
          achString : array[0..1-1] of CHAR;
 | 
						|
          adx : array[0..1-1] of SHORT;
 | 
						|
       end;
 | 
						|
 | 
						|
       ORDERL_GCCHSTE = record
 | 
						|
          fbFlags : UCHAR;
 | 
						|
          uchReserved : UCHAR;
 | 
						|
          ptRect : array[0..2-1] of POINTL;
 | 
						|
          cchString : SWPUSHORT;
 | 
						|
          achString : array[0..1-1] of CHAR;
 | 
						|
          adx : array[0..1-1] of LONG;
 | 
						|
       end;
 | 
						|
 | 
						|
    const
 | 
						|
       GCCHSTE_DRAWRECT = $80;
 | 
						|
       GCCHSTE_NORECT = $00;
 | 
						|
       GCCHSTE_CLIP = $40;
 | 
						|
       GCCHSTE_NOCLIP = $00;
 | 
						|
       GCCHSTE_DEEMPHASIZE = $20;
 | 
						|
       GCCHSTE_NODEEMPHASIZE = $00;
 | 
						|
       GCCHSTE_LEAVEPOS = $10;
 | 
						|
       GCCHSTE_MOVEPOS = $00;
 | 
						|
       GCCHSTE_UNDERSCORE = $08;
 | 
						|
       GCCHSTE_NOUNDERSCORE = $00;
 | 
						|
       GCCHSTE_STRIKEOUT = $04;
 | 
						|
       GCCHSTE_NOSTRIKEOUT = $00;
 | 
						|
       OCODEQ_GEESCP = $D5;
 | 
						|
       GEESCP_ML = 65533;
 | 
						|
 | 
						|
    type
 | 
						|
       ORDER_GEESCP = record
 | 
						|
          uchType : UCHAR;
 | 
						|
          uchIdent : UCHAR;
 | 
						|
          auchData : array[0..GEESCP_ML-1] of UCHAR;
 | 
						|
       end;
 | 
						|
 | 
						|
{$PACKRECORDS NORMAL}
 | 
						|
 | 
						|
  implementation
 | 
						|
 | 
						|
end.
 |