mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-10-29 17:45:04 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			726 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
			
		
		
	
	
			726 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
| {****************************************************************************
 | |
| 
 | |
|                    Copyright (c) 1999-2000 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.
 | 
