mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-10-31 08:31:49 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			2166 lines
		
	
	
		
			108 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
			
		
		
	
	
			2166 lines
		
	
	
		
			108 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
| {****************************************************************************
 | |
| 
 | |
| 
 | |
|                             PMGPI interface unit
 | |
|                      FPC Pascal Runtime Library for OS/2
 | |
|                    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.
 | |
| 
 | |
|  ****************************************************************************}
 | |
| 
 | |
| {Warning: This code is alfa. Future versions of this unit will propably
 | |
|  not be compatible.}
 | |
| 
 | |
| unit pmgpi;
 | |
| 
 | |
| interface
 | |
| 
 | |
| {$MACRO ON}
 | |
| 
 | |
| uses    os2def,pmbitmap;
 | |
| 
 | |
| const   GPI_ERROR                           =       0;
 | |
|         GPI_OK                              =       1;
 | |
|         GPI_ALTERROR                        =    (-1);
 | |
| 
 | |
|         CLR_NOINDEX                         =  (-254);
 | |
| 
 | |
|         PU_ARBITRARY                        =  $0004;
 | |
|         PU_PELS                             =  $0008;
 | |
|         PU_LOMETRIC                         =  $000C;
 | |
|         PU_HIMETRIC                         =  $0010;
 | |
|         PU_LOENGLISH                        =  $0014;
 | |
|         PU_HIENGLISH                        =  $0018;
 | |
|         PU_TWIPS                            =  $001C;
 | |
|         GPIF_DEFAULT                        =      0;
 | |
|         GPIF_SHORT                          =  $0100;
 | |
|         GPIF_LONG                           =  $0200;
 | |
|         GPIT_NORMAL                         =      0;
 | |
|         GPIT_MICRO                          =  $1000;
 | |
|         GPIA_NOASSOC                        =      0;
 | |
|         GPIA_ASSOC                          =  $4000;
 | |
|         HDC_ERROR                           =     -1;
 | |
| 
 | |
|         GRES_ATTRS                          =  $0001;
 | |
|         GRES_SEGMENTS                       =  $0002;
 | |
|         GRES_ALL                            =  $0004;
 | |
|         PS_UNITS                            =  $00FC;
 | |
|         PS_FORMAT                           =  $0F00;
 | |
|         PS_TYPE                             =  $1000;
 | |
|         PS_MODE                             =  $2000;
 | |
|         PS_ASSOCIATE                        =  $4000;
 | |
|         PS_NORESET                          =  $8000;
 | |
|         GPIE_SEGMENT                        =      0;
 | |
|         GPIE_ELEMENT                        =      1;
 | |
|         GPIE_DATA                           =      2;
 | |
|         DCTL_ERASE                          =      1;
 | |
|         DCTL_DISPLAY                        =      2;
 | |
|         DCTL_BOUNDARY                       =      3;
 | |
|         DCTL_DYNAMIC                        =      4;
 | |
|         DCTL_CORRELATE                      =      5;
 | |
|         DCTL_ERROR                          =     -1;
 | |
|         DCTL_OFF                            =      0;
 | |
|         DCTL_ON                             =      1;
 | |
|         SDW_ERROR                           =     -1;
 | |
|         SDW_OFF                             =      0;
 | |
|         SDW_ON                              =      1;
 | |
|         DM_ERROR                            =      0;
 | |
|         DM_DRAW                             =      1;
 | |
|         DM_RETAIN                           =      2;
 | |
|         DM_DRAWANDRETAIN                    =      3;
 | |
| 
 | |
|         PICKAP_DEFAULT                      =      0;
 | |
|         PICKAP_REC                          =      2;
 | |
|         PICKSEL_VISIBLE                     =      0;
 | |
|         PICKSEL_ALL                         =      1;
 | |
|         GPI_HITS                            =      2;
 | |
| 
 | |
|         DFORM_NOCONV                        =      0;
 | |
|         DFORM_S370SHORT                     =      1;
 | |
|         DFORM_PCSHORT                       =      2;
 | |
|         DFORM_PCLONG                        =      4;
 | |
|         ATTR_ERROR                          =   (-1);
 | |
|         ATTR_DETECTABLE                     =      1;
 | |
|         ATTR_VISIBLE                        =      2;
 | |
|         ATTR_CHAINED                        =      6;
 | |
|         ATTR_DYNAMIC                        =      8;
 | |
|         ATTR_FASTCHAIN                      =      9;
 | |
|         ATTR_PROP_DETECTABLE                =     10;
 | |
|         ATTR_PROP_VISIBLE                   =     11;
 | |
|         ATTR_OFF                            =      0;
 | |
|         ATTR_ON                             =      1;
 | |
|         LOWER_PRI                           =   (-1);
 | |
|         HIGHER_PRI                          =      1;
 | |
| 
 | |
|         SEGEM_ERROR                         =      0;
 | |
|         SEGEM_INSERT                        =      1;
 | |
|         SEGEM_REPLACE                       =      2;
 | |
| 
 | |
|         CVTC_WORLD                          =      1;
 | |
|         CVTC_MODEL                          =      2;
 | |
|         CVTC_DEFAULTPAGE                    =      3;
 | |
|         CVTC_PAGE                           =      4;
 | |
|         CVTC_DEVICE                         =      5;
 | |
|         TRANSFORM_REPLACE                   =      0;
 | |
|         TRANSFORM_ADD                       =      1;
 | |
|         TRANSFORM_PREEMPT                   =      2;
 | |
| 
 | |
|         MPATH_STROKE                        =      6;
 | |
|         FPATH_ALTERNATE                     =      0;
 | |
|         FPATH_WINDING                       =      2;
 | |
|         FPATH_EXCL                          =      0;
 | |
|         FPATH_INCL                          =      8;
 | |
|         SCP_ALTERNATE                       =      0;
 | |
|         SCP_WINDING                         =      2;
 | |
|         SCP_AND                             =      4;
 | |
|         SCP_RESET                           =      0;
 | |
|         SCP_EXCL                            =      0;
 | |
|         SCP_INCL                            =      8;
 | |
| 
 | |
|         LCOL_RESET                          =  $0001;
 | |
|         LCOL_REALIZABLE                     =  $0002;
 | |
|         LCOL_PURECOLOR                      =  $0004;
 | |
|         LCOL_OVERRIDE_DEFAULT_COLORS        =  $0008;
 | |
|         LCOL_REALIZED                       =  $0010;
 | |
|         LCOLF_DEFAULT                       =      0;
 | |
|         LCOLF_INDRGB                        =      1;
 | |
|         LCOLF_CONSECRGB                     =      2;
 | |
|         LCOLF_RGB                           =      3;
 | |
|         LCOLF_PALETTE                       =      4;
 | |
|         LCOLOPT_REALIZED                    =  $0001;
 | |
|         LCOLOPT_INDEX                       =  $0002;
 | |
|         QLCT_ERROR                          =   (-1);
 | |
|         QLCT_RGB                            =   (-2);
 | |
|         QLCT_NOTLOADED                      =   (-1);
 | |
|         QCD_LCT_FORMAT                      =      0;
 | |
|         QCD_LCT_LOINDEX                     =      1;
 | |
|         QCD_LCT_HIINDEX                     =      2;
 | |
|         QCD_LCT_OPTIONS                     =      3;
 | |
|         PAL_ERROR                           =   (-1);
 | |
|         PC_RESERVED                         =    $01;
 | |
|         PC_EXPLICIT                         =    $02;
 | |
|         PC_NOCOLLAPSE                       =    $04;
 | |
| 
 | |
|         CLR_false                           =   (-5);
 | |
|         CLR_true                            =   (-4);
 | |
|         CLR_error                           = (-255);
 | |
|         CLR_default                         =   (-3);
 | |
|         CLR_white                           =   (-2);
 | |
|         CLR_black                           =   (-1);
 | |
|         CLR_background                      =      0;
 | |
|         CLR_blue                            =      1;
 | |
|         CLR_red                             =      2;
 | |
|         CLR_pink                            =      3;
 | |
|         CLR_green                           =      4;
 | |
|         CLR_cyan                            =      5;
 | |
|         CLR_yellow                          =      6;
 | |
|         CLR_neutral                         =      7;
 | |
|         CLR_darkgray                        =      8;
 | |
|         CLR_darkblue                        =      9;
 | |
|         CLR_darkred                         =     10;
 | |
|         CLR_darkpink                        =     11;
 | |
|         CLR_darkgreen                       =     12;
 | |
|         CLR_darkcyan                        =     13;
 | |
|         CLR_brown                           =     14;
 | |
|         CLR_palegray                        =     15;
 | |
| 
 | |
|         RGB_error                        =    (-255);
 | |
|         RGB_black                        = $00000000;
 | |
|         RGB_blue                         = $000000FF;
 | |
|         RGB_green                        = $0000FF00;
 | |
|         RGB_cyan                         = $0000FFFF;
 | |
|         RGB_red                          = $00FF0000;
 | |
|         RGB_pink                         = $00FF00FF;
 | |
|         RGB_yellow                       = $00FFFF00;
 | |
|         RGB_white                        = $00FFFFFF;
 | |
| 
 | |
|         BA_NOBOUNDARY                       =      0;
 | |
|         BA_BOUNDARY                         =  $0001;
 | |
|         BA_ALTERNATE                        =      0;
 | |
|         BA_WINDING                          =  $0002;
 | |
|         BA_EXCL                             =      0;
 | |
|         BA_INCL                             =      8;
 | |
|         DRO_FILL                            =      1;
 | |
|         DRO_OUTLINE                         =      2;
 | |
|         DRO_OUTLINEFILL                     =      3;
 | |
|         PATSYM_ERROR                        =   (-1);
 | |
|         PATSYM_DEFAULT                      =      0;
 | |
|         PATSYM_DENSE1                       =      1;
 | |
|         PATSYM_DENSE2                       =      2;
 | |
|         PATSYM_DENSE3                       =      3;
 | |
|         PATSYM_DENSE4                       =      4;
 | |
|         PATSYM_DENSE5                       =      5;
 | |
|         PATSYM_DENSE6                       =      6;
 | |
|         PATSYM_DENSE7                       =      7;
 | |
|         PATSYM_DENSE8                       =      8;
 | |
|         PATSYM_VERT                         =      9;
 | |
|         PATSYM_HORIZ                        =     10;
 | |
|         PATSYM_DIAG1                        =     11;
 | |
|         PATSYM_DIAG2                        =     12;
 | |
|         PATSYM_DIAG3                        =     13;
 | |
|         PATSYM_DIAG4                        =     14;
 | |
|         PATSYM_NOSHADE                      =     15;
 | |
|         PATSYM_SOLID                        =     16;
 | |
|         PATSYM_HALFTONE                     =     17;
 | |
|         PATSYM_HATCH                        =     18;
 | |
|         PATSYM_DIAGHATCH                    =     19;
 | |
|         PATSYM_BLANK                        =     64;
 | |
|         LCID_ERROR                          =   (-1);
 | |
|         LCID_DEFAULT                        =      0;
 | |
| 
 | |
|         AM_ERROR                            =   (-1);
 | |
|         AM_PRESERVE                         =      0;
 | |
|         AM_NOPRESERVE                       =      1;
 | |
|         FM_ERROR                            =   (-1);
 | |
|         FM_DEFAULT                          =      0;
 | |
|         FM_OR                               =      1;
 | |
|         FM_OVERPAINT                        =      2;
 | |
|         FM_LEAVEALONE                       =      5;
 | |
|         FM_XOR                              =      4;
 | |
|         FM_AND                              =      6;
 | |
|         FM_SUBTRACT                         =      7;
 | |
|         FM_MASKSRCNOT                       =      8;
 | |
|         FM_ZERO                             =      9;
 | |
|         FM_NOTMERGESRC                      =     10;
 | |
|         FM_NOTXORSRC                        =     11;
 | |
|         FM_INVERT                           =     12;
 | |
|         FM_MERGESRCNOT                      =     13;
 | |
|         FM_NOTCOPYSRC                       =     14;
 | |
|         FM_MERGENOTSRC                      =     15;
 | |
|         FM_NOTMASKSRC                       =     16;
 | |
|         FM_ONE                              =     17;
 | |
|         BM_ERROR                            =   (-1);
 | |
|         BM_DEFAULT                          =      0;
 | |
|         BM_OR                               =      1;
 | |
|         BM_OVERPAINT                        =      2;
 | |
|         BM_LEAVEALONE                       =      5;
 | |
|         BM_XOR                              =      4;
 | |
|         BM_AND                              =      6;
 | |
|         BM_SUBTRACT                         =      7;
 | |
|         BM_MASKSRCNOT                       =      8;
 | |
|         BM_ZERO                             =      9;
 | |
|         BM_NOTMERGESRC                      =     10;
 | |
|         BM_NOTXORSRC                        =     11;
 | |
|         BM_INVERT                           =     12;
 | |
|         BM_MERGESRCNOT                      =     13;
 | |
|         BM_NOTCOPYSRC                       =     14;
 | |
|         BM_MERGENOTSRC                      =     15;
 | |
|         BM_NOTMASKSRC                       =     16;
 | |
|         BM_ONE                              =     17;
 | |
|         BM_SRCTRANSPARENT                   =     18;
 | |
|         BM_DESTTRANSPARENT                  =     19;
 | |
|         LINETYPE_ERROR                      =   (-1);
 | |
|         LINETYPE_DEFAULT                    =      0;
 | |
|         LINETYPE_DOT                        =      1;
 | |
|         LINETYPE_SHORTDASH                  =      2;
 | |
|         LINETYPE_DASHDOT                    =      3;
 | |
|         LINETYPE_DOUBLEDOT                  =      4;
 | |
|         LINETYPE_LONGDASH                   =      5;
 | |
|         LINETYPE_DASHDOUBLEDOT              =      6;
 | |
|         LINETYPE_SOLID                      =      7;
 | |
|         LINETYPE_INVISIBLE                  =      8;
 | |
|         LINETYPE_ALTERNATE                  =      9;
 | |
|         LINEWIDTH_ERROR                     =   (-1);
 | |
|         LINEWIDTH_DEFAULT                   =      0;
 | |
|         LINEWIDTH_NORMAL                =  $00010000;
 | |
|         LINEWIDTH_THICK                 =  $00020000;
 | |
|         LINEWIDTHGEOM_ERROR             =       (-1);
 | |
|         LINEEND_ERROR                       =   (-1);
 | |
|         LINEEND_DEFAULT                     =      0;
 | |
|         LINEEND_FLAT                        =      1;
 | |
|         LINEEND_SQUARE                      =      2;
 | |
|         LINEEND_ROUND                       =      3;
 | |
|         LINEJOIN_ERROR                      =   (-1);
 | |
|         LINEJOIN_DEFAULT                    =      0;
 | |
|         LINEJOIN_BEVEL                      =      1;
 | |
|         LINEJOIN_ROUND                      =      2;
 | |
|         LINEJOIN_MITRE                      =      3;
 | |
|         CHDIRN_ERROR                        =   (-1);
 | |
|         CHDIRN_DEFAULT                      =      0;
 | |
|         CHDIRN_LEFTRIGHT                    =      1;
 | |
|         CHDIRN_TOPBOTTOM                    =      2;
 | |
|         CHDIRN_RIGHTLEFT                    =      3;
 | |
|         CHDIRN_BOTTOMTOP                    =      4;
 | |
|         TA_NORMAL_HORIZ                     =  $0001;
 | |
|         TA_LEFT                             =  $0002;
 | |
|         TA_CENTER                           =  $0003;
 | |
|         TA_RIGHT                            =  $0004;
 | |
|         TA_STANDARD_HORIZ                   =  $0005;
 | |
|         TA_NORMAL_VERT                      =  $0100;
 | |
|         TA_TOP                              =  $0200;
 | |
|         TA_HALF                             =  $0300;
 | |
|         TA_BASE                             =  $0400;
 | |
|         TA_BOTTOM                           =  $0500;
 | |
|         TA_STANDARD_VERT                    =  $0600;
 | |
|         CM_ERROR                            =   (-1);
 | |
|         CM_DEFAULT                          =      0;
 | |
|         CM_MODE1                            =      1;
 | |
|         CM_MODE2                            =      2;
 | |
|         CM_MODE3                            =      3;
 | |
|         MARKSYM_ERROR                       =   (-1);
 | |
|         MARKSYM_DEFAULT                     =      0;
 | |
|         MARKSYM_CROSS                       =      1;
 | |
|         MARKSYM_PLUS                        =      2;
 | |
|         MARKSYM_DIAMOND                     =      3;
 | |
|         MARKSYM_SQUARE                      =      4;
 | |
|         MARKSYM_SIXPOINTSTAR                =      5;
 | |
|         MARKSYM_EIGHTPOINTSTAR              =      6;
 | |
|         MARKSYM_SOLIDDIAMOND                =      7;
 | |
|         MARKSYM_SOLIDSQUARE                 =      8;
 | |
|         MARKSYM_DOT                         =      9;
 | |
|         MARKSYM_SMALLCIRCLE                 =     10;
 | |
|         MARKSYM_BLANK                       =     64;
 | |
|         CHS_OPAQUE                          =  $0001;
 | |
|         CHS_VECTOR                          =  $0002;
 | |
|         CHS_LEAVEPOS                        =  $0008;
 | |
|         CHS_CLIP                            =  $0010;
 | |
|         CHS_UNDERSCORE                      =  $0200;
 | |
|         CHS_STRIKEOUT                       =  $0400;
 | |
|         PRIM_LINE                           =      1;
 | |
|         PRIM_CHAR                           =      2;
 | |
|         PRIM_MARKER                         =      3;
 | |
|         PRIM_AREA                           =      4;
 | |
|         PRIM_IMAGE                          =      5;
 | |
|         LBB_COLOR                           =  $0001;
 | |
|         LBB_BACK_COLOR                      =  $0002;
 | |
|         LBB_MIX_MODE                        =  $0004;
 | |
|         LBB_BACK_MIX_MODE                   =  $0008;
 | |
|         LBB_WIDTH                           =  $0010;
 | |
|         LBB_GEOM_WIDTH                      =  $0020;
 | |
|         LBB_TYPE                            =  $0040;
 | |
|         LBB_END                             =  $0080;
 | |
|         LBB_JOIN                            =  $0100;
 | |
|         CBB_COLOR                           =  $0001;
 | |
|         CBB_BACK_COLOR                      =  $0002;
 | |
|         CBB_MIX_MODE                        =  $0004;
 | |
|         CBB_BACK_MIX_MODE                   =  $0008;
 | |
|         CBB_SET                             =  $0010;
 | |
|         CBB_MODE                            =  $0020;
 | |
|         CBB_BOX                             =  $0040;
 | |
|         CBB_ANGLE                           =  $0080;
 | |
|         CBB_SHEAR                           =  $0100;
 | |
|         CBB_DIRECTION                       =  $0200;
 | |
|         CBB_TEXT_ALIGN                      =  $0400;
 | |
|         CBB_EXTRA                           =  $0800;
 | |
|         CBB_BREAK_EXTRA                     =  $1000;
 | |
|         MBB_COLOR                           =  $0001;
 | |
|         MBB_BACK_COLOR                      =  $0002;
 | |
|         MBB_MIX_MODE                        =  $0004;
 | |
|         MBB_BACK_MIX_MODE                   =  $0008;
 | |
|         MBB_SET                             =  $0010;
 | |
|         MBB_SYMBOL                          =  $0020;
 | |
|         MBB_BOX                             =  $0040;
 | |
|         ABB_COLOR                           =  $0001;
 | |
|         ABB_BACK_COLOR                      =  $0002;
 | |
|         ABB_MIX_MODE                        =  $0004;
 | |
|         ABB_BACK_MIX_MODE                   =  $0008;
 | |
|         ABB_SET                             =  $0010;
 | |
|         ABB_SYMBOL                          =  $0020;
 | |
|         ABB_REF_POINT                       =  $0040;
 | |
|         IBB_COLOR                           =  $0001;
 | |
|         IBB_BACK_COLOR                      =  $0002;
 | |
|         IBB_MIX_MODE                        =  $0004;
 | |
|         IBB_BACK_MIX_MODE                   =  $0008;
 | |
| 
 | |
|         TXTBOX_TOPLEFT                      =      0;
 | |
|         TXTBOX_BOTTOMLEFT                   =      1;
 | |
|         TXTBOX_TOPRIGHT                     =      2;
 | |
|         TXTBOX_BOTTOMRIGHT                  =      3;
 | |
|         TXTBOX_CONCAT                       =      4;
 | |
|         TXTBOX_COUNT                        =      5;
 | |
|         PVIS_ERROR                          =      0;
 | |
|         PVIS_INVISIBLE                      =      1;
 | |
|         PVIS_VISIBLE                        =      2;
 | |
|         RVIS_ERROR                          =      0;
 | |
|         RVIS_INVISIBLE                      =      1;
 | |
|         RVIS_PARTIAL                        =      2;
 | |
|         RVIS_VISIBLE                        =      3;
 | |
| 
 | |
|         FONT_DEFAULT                        =      1;
 | |
|         FONT_MATCH                          =      2;
 | |
|         LCIDT_FONT                          =      6;
 | |
|         LCIDT_BITMAP                        =      7;
 | |
|         LCID_ALL                            =   (-1);
 | |
| 
 | |
|         FWEIGHT_DONT_CARE                   =      0;
 | |
|         FWEIGHT_ULTRA_LIGHT                 =      1;
 | |
|         FWEIGHT_EXTRA_LIGHT                 =      2;
 | |
|         FWEIGHT_LIGHT                       =      3;
 | |
|         FWEIGHT_SEMI_LIGHT                  =      4;
 | |
|         FWEIGHT_NORMAL                      =      5;
 | |
|         FWEIGHT_SEMI_BOLD                   =      6;
 | |
|         FWEIGHT_BOLD                        =      7;
 | |
|         FWEIGHT_EXTRA_BOLD                  =      8;
 | |
|         FWEIGHT_ULTRA_BOLD                  =      9;
 | |
|         FWIDTH_DONT_CARE                    =      0;
 | |
|         FWIDTH_ULTRA_CONDENSED              =      1;
 | |
|         FWIDTH_EXTRA_CONDENSED              =      2;
 | |
|         FWIDTH_CONDENSED                    =      3;
 | |
|         FWIDTH_SEMI_CONDENSED               =      4;
 | |
|         FWIDTH_NORMAL                       =      5;
 | |
|         FWIDTH_SEMI_EXPANDED                =      6;
 | |
|         FWIDTH_EXPANDED                     =      7;
 | |
|         FWIDTH_EXTRA_EXPANDED               =      8;
 | |
|         FWIDTH_ULTRA_EXPANDED               =      9;
 | |
|         FTYPE_ITALIC                        =  $0001;
 | |
|         FTYPE_ITALIC_DONT_CARE              =  $0002;
 | |
|         FTYPE_OBLIQUE                       =  $0004;
 | |
|         FTYPE_OBLIQUE_DONT_CARE             =  $0008;
 | |
|         FTYPE_ROUNDED                       =  $0010;
 | |
|         FTYPE_ROUNDED_DONT_CARE             =  $0020;
 | |
|         QFA_PUBLIC                          =      1;
 | |
|         QFA_PRIVATE                         =      2;
 | |
|         QFA_ERROR                      =GPI_ALTERROR;
 | |
|         QF_PUBLIC                           =  $0001;
 | |
|         QF_PRIVATE                          =  $0002;
 | |
|         QF_NO_GENERIC                       =  $0004;
 | |
|         QF_NO_DEVICE                        =  $0008;
 | |
| 
 | |
|         ROP_SRCCOPY                         =  $00CC;
 | |
|         ROP_SRCPAINT                        =  $00EE;
 | |
|         ROP_SRCAND                          =  $0088;
 | |
|         ROP_SRCINVERT                       =  $0066;
 | |
|         ROP_SRCERASE                        =  $0044;
 | |
|         ROP_NOTSRCCOPY                      =  $0033;
 | |
|         ROP_NOTSRCERASE                     =  $0011;
 | |
|         ROP_MERGECOPY                       =  $00C0;
 | |
|         ROP_MERGEPAINT                      =  $00BB;
 | |
|         ROP_PATCOPY                         =  $00F0;
 | |
|         ROP_PATPAINT                        =  $00FB;
 | |
|         ROP_PATINVERT                       =  $005A;
 | |
|         ROP_DSTINVERT                       =  $0055;
 | |
|         ROP_ZERO                            =  $0000;
 | |
|         ROP_ONE                             =  $00FF;
 | |
|         BBO_OR                              =      0;
 | |
|         BBO_AND                             =      1;
 | |
|         BBO_IGNORE                          =      2;
 | |
|         BBO_PAL_COLORS                      =      4;
 | |
|         BBO_NO_COLOR_INFO                   =      8;
 | |
|         FF_BOUNDARY                         =      0;
 | |
|         FF_SURFACE                          =      1;
 | |
|         HBM_ERROR                           =     -1;
 | |
| 
 | |
|         {Bitmaps}
 | |
|         CBM_INIT                            =  $0004;
 | |
|         BMB_ERROR                           =   (-1);
 | |
| 
 | |
|         {Regions}
 | |
|         CRGN_OR                             =      1;
 | |
|         CRGN_COPY                           =      2;
 | |
|         CRGN_XOR                            =      4;
 | |
|         CRGN_AND                            =      6;
 | |
|         CRGN_DIFF                           =      7;
 | |
|         RECTDIR_LFRT_TOPBOT                 =      1;
 | |
|         RECTDIR_RTLF_TOPBOT                 =      2;
 | |
|         RECTDIR_LFRT_BOTTOP                 =      3;
 | |
|         RECTDIR_RTLF_BOTTOP                 =      4;
 | |
|         RGN_ERROR                           =      0;
 | |
|         RGN_NULL                            =      1;
 | |
|         RGN_RECT                            =      2;
 | |
|         RGN_COMPLEX                         =      3;
 | |
|         PRGN_ERROR                          =      0;
 | |
|         PRGN_OUTSIDE                        =      1;
 | |
|         PRGN_INSIDE                         =      2;
 | |
|         RRGN_ERROR                          =      0;
 | |
|         RRGN_OUTSIDE                        =      1;
 | |
|         RRGN_PARTIAL                        =      2;
 | |
|         RRGN_INSIDE                         =      3;
 | |
|         EQRGN_ERROR                         =      0;
 | |
|         EQRGN_NOTEQUAL                      =      1;
 | |
|         EQRGN_EQUAL                         =      2;
 | |
|         HRGN_ERROR                          =     -1;
 | |
| 
 | |
|         {Metafiles}
 | |
|         PMF_SEGBASE                         =      0;
 | |
|         PMF_LOADTYPE                        =      1;
 | |
|         PMF_RESOLVE                         =      2;
 | |
|         PMF_LCIDS                           =      3;
 | |
|         PMF_RESET                           =      4;
 | |
|         PMF_SUPPRESS                        =      5;
 | |
|         PMF_COLORTABLES                     =      6;
 | |
|         PMF_COLORREALIZABLE                 =      7;
 | |
|         PMF_DEFAULTS                        =      8;
 | |
|         PMF_DELETEOBJECTS                   =      9;
 | |
|         RS_DEFAULT                          =      0;
 | |
|         RS_NODISCARD                        =      1;
 | |
|         LC_DEFAULT                          =      0;
 | |
|         LC_NOLOAD                           =      1;
 | |
|         LC_LOADDISC                         =      3;
 | |
|         LT_DEFAULT                          =      0;
 | |
|         LT_NOMODIFY                         =      1;
 | |
|         LT_ORIGINALVIEW                     =      4;
 | |
|         RES_DEFAULT                         =      0;
 | |
|         RES_NORESET                         =      1;
 | |
|         RES_RESET                           =      2;
 | |
|         SUP_DEFAULT                         =      0;
 | |
|         SUP_NOSUPPRESS                      =      1;
 | |
|         SUP_SUPPRESS                        =      2;
 | |
|         CTAB_DEFAULT                        =      0;
 | |
|         CTAB_NOMODIFY                       =      1;
 | |
|         CTAB_REPLACE                        =      3;
 | |
|         CTAB_REPLACEPALETTE                 =      4;
 | |
|         CREA_DEFAULT                        =      0;
 | |
|         CREA_REALIZE                        =      1;
 | |
|         CREA_NOREALIZE                      =      2;
 | |
|         CREA_DOREALIZE                      =      3;
 | |
|         DDEF_DEFAULT                        =      0;
 | |
|         DDEF_IGNORE                         =      1;
 | |
|         DDEF_LOADDISC                       =      3;
 | |
|         DOBJ_DEFAULT                        =      0;
 | |
|         DOBJ_NODELETE                       =      1;
 | |
|         DOBJ_DELETE                         =      2;
 | |
|         RSP_DEFAULT                         =      0;
 | |
|         RSP_NODISCARD                       =      1;
 | |
| 
 | |
|         {Polygons}
 | |
|         POLYGON_NOBOUNDARY                  =      0;
 | |
|         POLYGON_BOUNDARY                    =  $0001;
 | |
|         POLYGON_ALTERNATE                   =      0;
 | |
|         POLYGON_WINDING                     =  $0002;
 | |
|         POLYGON_EXCL                        =      0;
 | |
|         POLYGON_INCL                        =  $0008;
 | |
| 
 | |
| type    SizeL=record
 | |
|             cx,cy:longint;
 | |
|         end;
 | |
|         PSizeL=^SizeL;
 | |
|         TSizeL=SizeL;
 | |
| 
 | |
|         MatrixLF=record
 | |
|             fxm11:longint;
 | |
|             fxm12:longint;
 | |
|             lm13:longint;
 | |
|             fxm21:longint;
 | |
|             fxm22:longint;
 | |
|             lm23:longint;
 | |
|             lm31:longint;
 | |
|             lm32:longint;
 | |
|             lm33:longint;
 | |
|         end;
 | |
|         PMatrixLF=^MatrixLF;
 | |
|         TMatrixLF=MatrixLF;
 | |
| 
 | |
|         ArcParams=record
 | |
|             lp,lq,lr,ls:longint;
 | |
|         end;
 | |
|         PArcParams=^ArcParams;
 | |
|         TArcParams=ArcParams;
 | |
| 
 | |
|         SizeF=record
 | |
|             cx,cy:longint;
 | |
|         end;
 | |
|         PSizeF=^SizeF;
 | |
|         TSizeF=SizeF;
 | |
| 
 | |
|         GradientL=record
 | |
|             x,y:longint;
 | |
|         end;
 | |
|         PGradientL=^GradientL;
 | |
|         TGradientL=GradientL;
 | |
| 
 | |
|         LineBundle=record
 | |
|             lColor:longint;
 | |
|             lBackColor:longint;
 | |
|             usMixMode:word;
 | |
|             usBackMixMode:word;
 | |
|             fxWidth:longint;
 | |
|             lGeomWidth:longint;
 | |
|             usType:word;
 | |
|             usEnd:word;
 | |
|             usJoin:word;
 | |
|             usReserved:word;
 | |
|         end;
 | |
|         PLineBundle=^LineBundle;
 | |
|         TLineBundle=LineBundle;
 | |
| 
 | |
|         CharBundle=record
 | |
|             lColor:longint;
 | |
|             lBackColor:longint;
 | |
|             usMixMode:word;
 | |
|             usBackMixMode:word;
 | |
|             usSet:word;
 | |
|             usPrecision:word;
 | |
|             sizfxCell:sizef;
 | |
|             ptlAngle:pointl;
 | |
|             ptlShear:pointl;
 | |
|             usDirection:word;
 | |
|             usTextAlign:word;
 | |
|             fxExtra:longint;
 | |
|             fxBreakExtra:longint;
 | |
|         end;
 | |
|         PCharBundle=^CharBundle;
 | |
|         TCharBundle=CharBundle;
 | |
| 
 | |
|         MarkerBundle=record
 | |
|             lColor:longint;
 | |
|             lBackColor:longint;
 | |
|             usMixMode:word;
 | |
|             usBackMixMode:word;
 | |
|             usSet:word;
 | |
|             usSymbol:word;
 | |
|             sizFxCell:SizeF;
 | |
|         end;
 | |
|         PMarkerBundle=^MarkerBundle;
 | |
|         TMarkerBundle=MarkerBundle;
 | |
| 
 | |
|         AreaBundle=record
 | |
|             lColor:longint;
 | |
|             lBackColor:longint;
 | |
|             usMixMode:word;
 | |
|             usBackMixMode:word;
 | |
|             usSet:word;
 | |
|             usSymbol:word;
 | |
|             ptlRefPoint:pointl;
 | |
|         end;
 | |
|         PAreaBundle=^AreaBundle;
 | |
|         TAreaBundle=AreaBundle;
 | |
| 
 | |
|         ImageBundle=record
 | |
|             lColor:longint;
 | |
|             lBackColor:longint;
 | |
|             usMixMode:word;
 | |
|             usBackMixMode:word;
 | |
|         end;
 | |
|         PImageBundle=^ImageBundle;
 | |
|         TImageBundle=ImageBundle;
 | |
| 
 | |
|         KerningPairs=record
 | |
|             sFirstChar:integer;
 | |
|             sSecondChar:integer;
 | |
|             lKerningAmount:longint;
 | |
|         end;
 | |
|         PKerningPairs=^KerningPairs;
 | |
|         TKerningPairs=KerningPairs;
 | |
| 
 | |
|         FaceNameDesc=record
 | |
|             usSize:word;
 | |
|             usWeightClass:word;
 | |
|             usWidthClass:word;
 | |
|             usReserved:word;
 | |
|             flOptions:cardinal;
 | |
|         end;
 | |
|         PFaceNameDesc=^FaceNameDesc;
 | |
|         TFaceNameDesc=FaceNameDesc;
 | |
| 
 | |
|         FFDescs=array[0..1,0..FaceSize-1] of char;
 | |
|         PFFDescs=^FFDescs;
 | |
|         TFFDescs = FFDescs;
 | |
| 
 | |
|         FFDescs2=record
 | |
|             cbLength:cardinal;
 | |
|             cbFacenameOffset:cardinal;
 | |
|             abFamilyName:array[0..1-1] of byte;
 | |
|         end;
 | |
|         PFFDescs2=^FFDescs2;
 | |
|         TFFDescs2=FFDescs2;
 | |
| 
 | |
|         RgnRect=record
 | |
|             ircStart:cardinal;
 | |
|             crc:cardinal;
 | |
|             crcReturned:cardinal;
 | |
|             ulDirection:cardinal;
 | |
|         end;
 | |
|         PRgnRect=^RgnRect;
 | |
|         TRgnRect=RgnRect;
 | |
| 
 | |
|         Polygon=record
 | |
|             ulPoints:cardinal;
 | |
|             aPointl:Ppointl;
 | |
|         end;
 | |
|         PPolygon=^Polygon;
 | |
|         TPolygon=Polygon;
 | |
| 
 | |
|         Polyset=record
 | |
|             ulPolys:cardinal;
 | |
|             aPolygon:array[0..1-1] of TPolygon;
 | |
|         end;
 | |
|         PPolyset=^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 GpiDestroyPS(hps : cardinal) : longbool;cdecl;
 | |
| function GpiAssociate(hps,hdc : cardinal) : longbool;cdecl;
 | |
| function GpiRestorePS(hps : cardinal;lPSid : longint) : longbool;cdecl;
 | |
| function GpiSavePS(hps : cardinal) : longint;cdecl;
 | |
| function GpiErase(hps : cardinal) : longbool;cdecl;
 | |
| function GpiQueryDevice(hps : cardinal) : cardinal;cdecl;
 | |
| function GpiResetPS(hps,flOptions : cardinal) : longbool;cdecl;
 | |
| function GpiSetPS(hps : cardinal;var psizlsize : SIZEL;flOptions : cardinal) : longbool;cdecl;
 | |
| function GpiQueryPS(hps : cardinal;var psizlSize : SIZEL) : cardinal;cdecl;
 | |
| function GpiErrorSegmentData(hps : cardinal;var plSegment,plContext : longint) : longint; cdecl;
 | |
| function GpiQueryDrawControl(hps : cardinal;lControl : longint) : longint;cdecl;
 | |
| function GpiSetDrawControl(hps : cardinal;lControl,lValue : longint) : longbool;cdecl;
 | |
| function GpiQueryDrawingMode(hps : cardinal) : longint;cdecl;
 | |
| function GpiSetDrawingMode(hps : cardinal;lMode : longint) : longbool;cdecl;
 | |
| function GpiQueryStopDraw(hps : cardinal) : longint;cdecl;
 | |
| function GpiSetStopDraw(hps : cardinal;lValue : longint) : longbool;cdecl;
 | |
| function GpiCorrelateChain(hps : cardinal;lType : longint;var pptlPick : POINTL;lMaxHits,lMaxDepth : longint;var pl2 : longint) : longint;cdecl;
 | |
| function GpiQueryTag(hps : cardinal;var plTag : longint) : longbool;cdecl;
 | |
| function GpiSetTag(hps : cardinal;lTag : longint) : longbool;cdecl;
 | |
| function GpiQueryPickApertureSize(hps : cardinal;var psizlSize : SIZEL) : longbool; cdecl;
 | |
| function GpiSetPickApertureSize(hps : cardinal;lOptions : longint;var psizlSize : SIZEL) : longbool; cdecl;
 | |
| function GpiQueryPickAperturePosition(hps : cardinal;var pptlPoint : POINTL) : longbool; cdecl;
 | |
| function GpiSetPickAperturePosition(hps : cardinal;var pptlPick : POINTL) : longbool; cdecl;
 | |
| function GpiQueryBoundaryData(hps : cardinal;var prclBoundary : RECTL) : longbool; cdecl;
 | |
| function GpiResetBoundaryData(hps : cardinal) : longbool; cdecl;
 | |
| function GpiCorrelateFrom(hps : cardinal;lFirstSegment,lLastSegment,lType : longint;var pptlPick : POINTL;lMaxHits,lMaxDepth : longint;var plSegTag : longint) : longint; cdecl;
 | |
| function GpiCorrelateSegment(hps : cardinal;lSegment,lType : longint;var pptlPick : POINTL;lMaxHits,lMaxDepth : longint;var alSegTag : longint) : longint; cdecl;
 | |
| function GpiOpenSegment(hps : cardinal;lSegment : longint) : longbool; cdecl;
 | |
| function GpiCloseSegment(hps : cardinal) : longbool; cdecl;
 | |
| function GpiDeleteSegment(hps : cardinal;lSegid : longint) : longbool; cdecl;
 | |
| function GpiQueryInitialSegmentAttrs(hps : cardinal;lAttribute : longint) : longint; cdecl;
 | |
| function GpiSetInitialSegmentAttrs(hps : cardinal;lAttribute,lValue : longint) : longbool; cdecl;
 | |
| function GpiQuerySegmentAttrs(hps : cardinal;lSegid,lAttribute : longint) : longint; cdecl;
 | |
| function GpiSetSegmentAttrs(hps : cardinal;lSegid,lAttribute,lValue : longint) : longbool; cdecl;
 | |
| function GpiQuerySegmentPriority(hps : cardinal;lRefSegid,lOrder : longint) : longint; cdecl;
 | |
| function GpiSetSegmentPriority(hps : cardinal;lSegid,lRefSegid,lOrder : longint) : longbool; cdecl;
 | |
| function GpiDeleteSegments(hps : cardinal;lFirstSegment,lLastSegment : longint) : longbool; cdecl;
 | |
| function GpiQuerySegmentNames(hps : cardinal;lFirstSegid,lLastSegid,lMax : longint;var alSegids : longint) : longint; cdecl;
 | |
| function GpiGetData(hps : cardinal;lSegid : longint;var plOffset : longint;lFormat,lLength : longint;var pbData : BYTE) : longint; cdecl;
 | |
| function GpiPutData(hps : cardinal;lFormat : longint;var plCount : longint;var pbData : BYTE) : longint; cdecl;
 | |
| function GpiDrawChain(hps : cardinal) : longbool; cdecl;
 | |
| function GpiDrawFrom(hps : cardinal;lFirstSegment,lLastSegment : longint) : longbool; cdecl;
 | |
| function GpiDrawSegment(hps : cardinal;lSegment : longint) : longbool; cdecl;
 | |
| function GpiDrawDynamics(hps : cardinal) : longbool; cdecl;
 | |
| function GpiRemoveDynamics(hps : cardinal;lFirstSegid,lLastSegid : longint) : longbool; cdecl;
 | |
| function GpiBeginElement(hps : cardinal;lType : longint;pszDesc : pchar) : longbool; cdecl;
 | |
| function GpiEndElement(hps : cardinal) : longbool; cdecl;
 | |
| function GpiLabel(hps : cardinal;lLabel : longint) : longbool; cdecl;
 | |
| function GpiElement(hps : cardinal;lType : longint;pszDesc : pchar;lLength : longint;var pbData : BYTE) : longint; cdecl;
 | |
| function GpiQueryElement(hps : cardinal;lOff,lMaxLength : longint;var pbData : BYTE) : longint; cdecl;
 | |
| function GpiDeleteElement(hps : cardinal) : longbool; cdecl;
 | |
| function GpiDeleteElementRange(hps : cardinal;lFirstElement,lLastElement : longint) : longbool; cdecl;
 | |
| function GpiDeleteElementsBetweenLabels(hps : cardinal;lFirstLabel,lLastLabel : longint) : longbool; cdecl;
 | |
| function GpiQueryEditMode(hps : cardinal) : longint; cdecl;
 | |
| function GpiSetEditMode(hps : cardinal;lMode : longint) : longbool; cdecl;
 | |
| function GpiQueryElementPointer(hps : cardinal) : longint; cdecl;
 | |
| function GpiSetElementPointer(hps : cardinal;lElement : longint) : longbool; cdecl;
 | |
| function GpiOffsetElementPointer(hps : cardinal;loffset : longint) : longbool; cdecl;
 | |
| function GpiQueryElementType(hps : cardinal;var plType : longint;lLength : longint;pszData : pchar) : longint; cdecl;
 | |
| function GpiSetElementPointerAtLabel(hps : cardinal;lLabel : longint) : longbool; cdecl;
 | |
| function GpiQuerySegmentTransformMatrix(hps : cardinal;lSegid,lCount : longint;var pmatlfArray : MATRIXLF) : longbool; cdecl;
 | |
| function GpiSetSegmentTransformMatrix(hps : cardinal;lSegid,lCount : longint;var pmatlfarray : MATRIXLF;lOptions : longint) : longbool; cdecl;
 | |
| function GpiConvert(hps : cardinal;lSrc,lTarg,lCount : longint;var aptlPoints : POINTL) : longbool; cdecl;
 | |
| function GpiConvertWithMatrix(hps : cardinal;lCountp : longint;var aptlPoints : POINTL;lCount : longint;var pmatlfArray : MATRIXLF) : longbool; cdecl;
 | |
| function GpiQueryModelTransformMatrix(hps : cardinal;lCount : longint;var pmatlfArray : MATRIXLF) : longbool; cdecl;
 | |
| function GpiSetModelTransformMatrix(hps : cardinal;lCount : longint;var pmatlfArray : MATRIXLF;lOptions : longint) : longbool; cdecl;
 | |
| function GpiCallSegmentMatrix(hps : cardinal;lSegment,lCount : longint;var pmatlfArray : MATRIXLF;lOptions : longint) : longint; cdecl;
 | |
| function GpiQueryDefaultViewMatrix(hps : cardinal;lCount : longint;var pmatlfArray : MATRIXLF) : longbool; cdecl;
 | |
| function GpiSetDefaultViewMatrix(hps : cardinal;lCount : longint;var pmatlfarray : MATRIXLF;lOptions : longint) : longbool; cdecl;
 | |
| function GpiQueryPageViewport(hps : cardinal;var prclViewport : RECTL) : longbool; cdecl;
 | |
| function GpiSetPageViewport(hps : cardinal;var prclViewport : RECTL) : longbool; cdecl;
 | |
| function GpiQueryViewingTransformMatrix(hps : cardinal;lCount : longint;var pmatlfArray : MATRIXLF) : longbool; cdecl;
 | |
| function GpiSetViewingTransformMatrix(hps : cardinal;lCount : longint;var pmatlfArray : MATRIXLF;lOptions : longint) : longbool; cdecl;
 | |
| function GpiTranslate(hps : cardinal;var pmatrixlf : MATRIXLF;long : longint;var ppointl : POINTL) : longbool; cdecl;
 | |
| function GpiScale(hps : cardinal;var p1 : MATRIXLF;p2 : longint;var p3 : longint;var p4 : POINTL) : longbool; cdecl;
 | |
| function GpiRotate(p1 : cardinal;var p2 : MATRIXLF;p3,p4 : longint;var p5 : POINTL) : longbool; cdecl;
 | |
| function GpiSetGraphicsField(hps : cardinal;var prclField : RECTL) : longbool; cdecl;
 | |
| function GpiQueryGraphicsField(hps : cardinal;var prclField : RECTL) : longbool; cdecl;
 | |
| function GpiSetViewingLimits(hps : cardinal;var prclLimits : RECTL) : longbool; cdecl;
 | |
| function GpiQueryViewingLimits(hps : cardinal;var prclLimits : RECTL) : longbool; cdecl;
 | |
| function GpiBeginPath(hps : cardinal;lPath : longint) : longbool; cdecl;
 | |
| function GpiEndPath(hps : cardinal) : longbool; cdecl;
 | |
| function GpiCloseFigure(hps : cardinal) : longbool; cdecl;
 | |
| function GpiModifyPath(hps : cardinal;lPath,lMode : longint) : longbool; cdecl;
 | |
| function GpiFillPath(hps : cardinal;lPath,lOptions : longint) : longint; cdecl;
 | |
| function GpiSetClipPath(hps : cardinal;lPath,lOptions : longint) : longbool; cdecl;
 | |
| function GpiOutlinePath(hps : cardinal;lPath,lOptions : longint) : longint; cdecl;
 | |
| function GpiPathToRegion(GpiH : cardinal;lPath,lOptions : longint) : cardinal; cdecl;
 | |
| function GpiStrokePath(hps : cardinal;lPath : longint;flOptions : cardinal) : longint; cdecl;
 | |
| function GpiCreateLogColorTable(hps,flOptions : cardinal;lFormat,lStart,lCount : longint;var alTable : longint) : longbool; cdecl;
 | |
| function GpiQueryColorData(hps : cardinal;lCount : longint;var alArray : longint) : longbool; cdecl;
 | |
| function GpiQueryLogColorTable(hps,flOptions : cardinal;lStart,lCount : longint;var alArray : longint) : longint; cdecl;
 | |
| function GpiQueryRealColors(hps,flOptions : cardinal;lStart,lCount : longint;var alColors : longint) : longint; cdecl;
 | |
| function GpiQueryNearestColor(hps,flOptions : cardinal;lRgbIn : longint) : longint; cdecl;
 | |
| function GpiQueryColorIndex(hps,flOptions : cardinal;lRgbColor : longint) : longint; cdecl;
 | |
| function GpiQueryRGBColor(hps,flOptions : cardinal;lColorIndex : longint) : longint; cdecl;
 | |
| function GpiCreatePalette(hab,flOptions,ulFormat,ulCount : cardinal;var aulTable) : cardinal; cdecl;
 | |
| function GpiDeletePalette(hpal : cardinal) : longbool; cdecl;
 | |
| function GpiSelectPalette(hps,hpal : cardinal) : cardinal; cdecl;
 | |
| function GpiAnimatePalette(hpal,ulFormat,ulStart,ulCount : cardinal;var aulTable) : longint; cdecl;
 | |
| function GpiSetPaletteEntries(hpal,ulFormat,ulStart,ulCount : cardinal;var aulTable) : longbool; cdecl;
 | |
| function GpiQueryPalette(hps : cardinal) : cardinal; cdecl;
 | |
| function GpiQueryPaletteInfo(hpal,hps,flOptions,ulStart,ulCount : cardinal;var aulArray) : longint; cdecl;
 | |
| function GpiSetColor(hps : cardinal;lColor : longint) : longbool; cdecl;
 | |
| function GpiQueryColor(hps : cardinal) : longint; cdecl;
 | |
| function GpiBox(hps : cardinal;lControl : longint;var pptlPoint : POINTL;lHRound,lVRound : longint) : longint; cdecl;
 | |
| function GpiMove(hps : cardinal;var pptlPoint : POINTL) : longbool; cdecl;
 | |
| function GpiLine(hps : cardinal;var pptlEndPoint : POINTL) : longint; cdecl;
 | |
| function GpiPolyLine(hps : cardinal;lCount : longint;var aptlPoints : POINTL) : longint; cdecl;
 | |
| function GpiPolyLineDisjoint(hps : cardinal;lCount : longint;var aptlPoints : POINTL) : longint; cdecl;
 | |
| function GpiSetPattern(hps : cardinal;lPatternSymbol : longint) : longbool; cdecl;
 | |
| function GpiQueryPattern(hps : cardinal) : longint;  cdecl;
 | |
| function GpiBeginArea(hps,flOptions : cardinal) : longbool; cdecl;
 | |
| function GpiEndArea(hps : cardinal) : longint; cdecl;
 | |
| function GpiCharString(hps : cardinal;lCount : longint;pchString : pchar) : longint; cdecl;
 | |
| function GpiCharStringAt(hps : cardinal;var pptlPoint : POINTL;lCount : longint;pchString : pchar) : longint; cdecl;
 | |
| function GpiSetAttrMode(hps : cardinal;lMode : longint) : longbool; cdecl;
 | |
| function GpiQueryAttrMode(hps : cardinal) : longint; cdecl;
 | |
| function GpiSetAttrs(hps : cardinal;lPrimType : longint;flAttrMask,flDefMask : cardinal;ppbunAttrs : pointer) : longbool; cdecl;
 | |
| function GpiQueryAttrs(hps : cardinal;lPrimType : longint;flAttrMask : cardinal;ppbunAttrs : pointer) : longint; cdecl;
 | |
| function GpiSetBackColor(hps : cardinal;lColor : longint) : longbool; cdecl;
 | |
| function GpiQueryBackColor(hps : cardinal) : longint; cdecl;
 | |
| function GpiSetMix(hps : cardinal;lMixMode : longint) : longbool; cdecl;
 | |
| function GpiQueryMix(hps : cardinal) : longint; cdecl;
 | |
| function GpiSetBackMix(hps : cardinal;lMixMode : longint) : longbool; cdecl;
 | |
| function GpiQueryBackMix(hps : cardinal) : longint; cdecl;
 | |
| function GpiSetLineType(hps : cardinal;lLineType : longint) : longbool; cdecl;
 | |
| function GpiQueryLineType(hps : cardinal) : longint; cdecl;
 | |
| function GpiSetLineWidth(hps : cardinal;fxLineWidth : longint) : longbool; cdecl;
 | |
| function GpiQueryLineWidth(hps : cardinal) : longint; cdecl;
 | |
| function GpiSetLineWidthGeom(hps : cardinal;lLineWidth : longint) : longbool; cdecl;
 | |
| function GpiQueryLineWidthGeom(hps : cardinal) : longint; cdecl;
 | |
| function GpiSetLineEnd(hps : cardinal;lLineEnd : longint) : longbool; cdecl;
 | |
| function GpiQueryLineEnd(hps : cardinal) : longint; cdecl;
 | |
| function GpiSetLineJoin(hps : cardinal;lLineJoin : longint) : longbool; cdecl;
 | |
| function GpiQueryLineJoin(hps : cardinal) : longint; cdecl;
 | |
| function GpiSetCurrentPosition(hps : cardinal;var pptlPoint : POINTL) : longbool; cdecl;
 | |
| function GpiQueryCurrentPosition(hps : cardinal;var pptlPoint : POINTL) : longbool; cdecl;
 | |
| function GpiSetArcParams(hps : cardinal;var parcpArcParams : ARCPARAMS) : longbool; cdecl;
 | |
| function GpiQueryArcParams(hps : cardinal;var parcpArcParams : ARCPARAMS) : longbool; cdecl;
 | |
| function GpiPointArc(hps : cardinal;var pptl2 : POINTL) : longint; cdecl;
 | |
| function GpiFullArc(hps : cardinal;lControl,fxMultiplier : longint) : longint; cdecl;
 | |
| function GpiPartialArc(hps : cardinal;var pptlCenter : POINTL;fxMultiplier,fxStartAngle,fxSweepAngle : longint) : longint; cdecl;
 | |
| function GpiPolyFillet(hps : cardinal;lCount : longint;var aptlPoints : POINTL) : longint; cdecl;
 | |
| function GpiPolySpline(hps : cardinal;lCount : longint;var aptlPoints : POINTL) : longint; cdecl;
 | |
| function GpiPolyFilletSharp(hps : cardinal;lCount : longint;var aptlPoints : POINTL;var afxPoints : longint) : longint; cdecl;
 | |
| function GpiSetPatternSet(hps : cardinal;lSet : longint) : longbool; cdecl;
 | |
| function GpiQueryPatternSet(hps : cardinal) : longint; cdecl;
 | |
| function GpiSetPatternRefPoint(hps : cardinal;var pptlRefPoint : POINTL) : longbool; cdecl;
 | |
| function GpiQueryPatternRefPoint(hps : cardinal;var pptlRefPoint : POINTL) : longbool; cdecl;
 | |
| function GpiQueryCharStringPos(hps,flOptions : cardinal;lCount : longint;pchString : pchar;var alXincrements : longint;var aptlPositions : POINTL) : longbool; cdecl;
 | |
| function GpiQueryCharStringPosAt(hps : cardinal;var pptlStart : POINTL;flOptions : cardinal;lCount : longint;pchString : pchar;var alXincrements : longint;var aptlPositions : POINTL) : longbool; cdecl;
 | |
| function GpiQueryTextBox(hps : cardinal;lCount1 : longint;pchString : pchar;lCount2 : longint;var aptlPoints : POINTL) : longbool; cdecl;
 | |
| function GpiQueryDefCharBox(hps : cardinal;var psizlSize : SIZEL) : longbool; cdecl;
 | |
| function GpiSetCharSet(hps : cardinal;llcid : longint) : longbool; cdecl;
 | |
| function GpiQueryCharSet(hps : cardinal) : longint; cdecl;
 | |
| function GpiSetCharBox(hps : cardinal;var psizfxBox : SIZEF) : longbool; cdecl;
 | |
| function GpiQueryCharBox(hps : cardinal;var psizfxSize : SIZEF) : longbool; cdecl;
 | |
| function GpiSetCharAngle(hps : cardinal;var pgradlAngle : GRADIENTL) : longbool; cdecl;
 | |
| function GpiQueryCharAngle(hps : cardinal;var pgradlAngle : GRADIENTL) : longbool; cdecl;
 | |
| function GpiSetCharShear(hps : cardinal;var pptlAngle : POINTL) : longbool; cdecl;
 | |
| function GpiQueryCharShear(hps : cardinal;var pptlShear : POINTL) : longbool; cdecl;
 | |
| function GpiSetCharDirection(hps : cardinal;lDirection : longint) : longbool; cdecl;
 | |
| function GpiQueryCharDirection(hps : cardinal) : longint; cdecl;
 | |
| function GpiSetCharMode(hps : cardinal;lMode : longint) : longbool; cdecl;
 | |
| function GpiQueryCharMode(hps : cardinal) : longint; cdecl;
 | |
| function GpiSetTextAlignment(hps : cardinal;lHoriz,lVert : longint) : longbool; cdecl;
 | |
| function GpiQueryTextAlignment(hps : cardinal;var plHoriz,plVert : longint) : longbool; cdecl;
 | |
| function GpiCharStringPos(hps : cardinal;var prclRect : RECTL;flOptions : cardinal;lCount : longint;pchString : pchar;var alAdx : longint) : longint; cdecl;
 | |
| function GpiCharStringPosAt(hps : cardinal;var pptlStart : POINTL;var prclRect : RECTL;flOptions : cardinal;lCount : longint;pchString : pchar;var alAdx : longint) : longint; cdecl;
 | |
| function GpiSetCharExtra(hps : cardinal;Extra : longint) : longbool;  cdecl;
 | |
| function GpiSetCharBreakExtra(hps : cardinal;BreakExtra : longint) : longbool; cdecl;
 | |
| function GpiQueryCharExtra(hps : cardinal;var Extra : longint) : longbool; cdecl;
 | |
| function GpiQueryCharBreakExtra(hps : cardinal;var BreakExtra : longint) : longbool; cdecl;
 | |
| function GpiMarker(hps : cardinal;var pptlPoint : POINTL) : longint; cdecl;
 | |
| function GpiPolyMarker(hps : cardinal;lCount : longint;var aptlPoints : POINTL) : longint; cdecl;
 | |
| function GpiSetMarker(hps : cardinal;lSymbol : longint) : longbool; cdecl;
 | |
| function GpiSetMarkerBox(hps : cardinal;var psizfxSize : SIZEF) : longbool; cdecl;
 | |
| function GpiSetMarkerSet(hps : cardinal;lSet : longint) : longbool; cdecl;
 | |
| function GpiQueryMarker(hps : cardinal) : longint; cdecl;
 | |
| function GpiQueryMarkerBox(hps : cardinal;var psizfxSize : SIZEF) : longbool; cdecl;
 | |
| function GpiQueryMarkerSet(hps : cardinal) : longint; cdecl;
 | |
| function GpiImage(hps : cardinal;lFormat : longint;var psizlImageSize : SIZEL;lLength : longint;var pbData : BYTE) : longint; cdecl;
 | |
| function GpiPop(hps : cardinal;lCount : longint) : longbool; cdecl;
 | |
| function GpiPtVisible(hps : cardinal;var pptlPoint : POINTL) : longint; cdecl;
 | |
| function GpiRectVisible(hps : cardinal;var prclRectangle : RECTL) : longint; cdecl;
 | |
| function GpiComment(hps : cardinal;lLength : longint;var pbData : BYTE) : longbool; cdecl;
 | |
| function GpiCreateLogFont(hps : cardinal;var pName : STR8;lLcid : longint;var pfatAttrs : FATTRS) : longint; cdecl;
 | |
| function GpiDeleteSetId(hps : cardinal;lLcid : longint) : longbool; cdecl;
 | |
| function GpiLoadFonts(hab : cardinal;pszFilename : pchar) : longbool; cdecl;
 | |
| function GpiUnloadFonts(hab : cardinal;pszFilename : pchar) : longbool; cdecl;
 | |
| function GpiQueryFonts(hps,flOptions : cardinal;pszFacename : pchar;var plReqFonts : longint;lMetricsLength : longint;var afmMetrics : FONTMETRICS) : longint; cdecl;
 | |
| function GpiQueryFontMetrics(hps : cardinal;lMetricsLength : longint;var pfmMetrics : FONTMETRICS) : longbool; cdecl;
 | |
| function GpiQueryKerningPairs(hps : cardinal;lCount : longint;var akrnprData : KERNINGPAIRS) : longint; cdecl;
 | |
| function GpiQueryWidthTable(hps : cardinal;lFirstChar,lCount : longint;var alData : longint) : longbool; cdecl;
 | |
| function GpiQueryNumberSetIds(hps : cardinal) : longint; cdecl;
 | |
| function GpiQuerySetIds(hps : cardinal;lCount : longint;var alTypes : longint;var aNames : STR8;var allcids : longint) : longbool; cdecl;
 | |
| function GpiQueryFaceString(PS : cardinal;FamilyName : pchar;var attrs : FACENAMEDESC;length : longint;CompoundFaceName : pchar) : cardinal; cdecl;
 | |
| function GpiQueryLogicalFont(PS : cardinal;lcid : longint;var name : STR8;var attrs : FATTRS;length : longint) : longbool; cdecl;
 | |
| function GpiQueryFontAction(anchor,options : cardinal) : cardinal; cdecl;
 | |
| function GpiLoadPublicFonts(p1 : cardinal;p2 : pchar):longbool; cdecl;
 | |
| function GpiUnloadPublicFonts(p1 : cardinal;p2 : pchar) : longbool; cdecl;
 | |
| function GpiSetCp(hps,ulCodePage : cardinal) : longbool;  cdecl;
 | |
| function GpiQueryCp(hps : cardinal) : cardinal; cdecl;
 | |
| function GpiQueryFontFileDescriptions(hab : cardinal;pszFilename : pchar;var plCount : longint;var affdescsNames : FFDESCS) : longint;  cdecl;
 | |
| function GpiQueryFullFontFileDescs(hab : cardinal;pszFilename : pchar;var plCount : longint;pNames : pointer;var plNamesBuffLength : longint) : longint; cdecl;
 | |
| function GpiBitBlt(hpsTarget,hpsSource : cardinal;lCount : longint;var aptlPoints : POINTL;lRop : longint;flOptions : cardinal) : longint; cdecl;
 | |
| function GpiDeleteBitmap(hbm : cardinal) : longbool; cdecl;
 | |
| function GpiLoadBitmap(hps,Resource,idBitmap : cardinal;lWidth,lHeight : longint) : cardinal; cdecl;
 | |
| function GpiSetBitmap(hps,hbm : cardinal) : cardinal; cdecl;
 | |
| function GpiWCBitBlt(hpsTarget,hbmSource : cardinal;lCount : longint;var aptlPoints : POINTL;lRop : longint;flOptions : cardinal) : longint; cdecl;
 | |
| function GpiCreateBitmap(hps : cardinal;var pbmpNew : Tbitmapinfoheader2;flOptions : cardinal;var pbInitData : BYTE;var pbmiInfoTable : Tbitmapinfo2) : cardinal; cdecl;
 | |
| function GpiSetBitmapBits(hps : cardinal;lScanStart,lScans : longint;var pbBuffer : BYTE;var pbmiInfoTable : Tbitmapinfo2) : longint; cdecl;
 | |
| function GpiSetBitmapDimension(hbm : cardinal;var psizlBitmapDimension : SIZEL) : longbool; cdecl;
 | |
| function GpiSetBitmapId(hps,hbm : cardinal;lLcid : longint) : longbool; cdecl;
 | |
| function GpiQueryBitmapBits(hps : cardinal;lScanStart,lScans : longint;var pbBuffer : BYTE;var pbmiInfoTable :Tbitmapinfo2) : longint; cdecl;
 | |
| function GpiQueryBitmapDimension(hbm : cardinal;var psizlBitmapDimension : SIZEL) : longbool; cdecl;
 | |
| function GpiQueryBitmapHandle(hps : cardinal;lLcid : longint) : cardinal;  cdecl;
 | |
| function GpiQueryBitmapParameters(hbm : cardinal;var pbmpData : Tbitmapinfoheader) : longbool; cdecl;
 | |
| function GpiQueryBitmapInfoHeader(hbm : cardinal;var pbmpData : Tbitmapinfoheader2) : longbool; cdecl;
 | |
| function GpiQueryDeviceBitmapFormats(hps : cardinal;lCount : longint;var alArray : longint) : longbool; cdecl;
 | |
| function GpiSetPel(hps : cardinal;var pptlPoint : POINTL) : longint; cdecl;
 | |
| function GpiQueryPel(hps : cardinal;var pptlPoint : POINTL) : longint; cdecl;
 | |
| function GpiFloodFill(hps : cardinal;lOptions,lColor : longint) : longint; cdecl;
 | |
| function GpiDrawBits(hps : cardinal;pBits : pointer;var pbmiInfoTable :Tbitmapinfo2;lCount : longint;var aptlPoints : POINTL;lRop : longint;flOptions : cardinal) : longint; cdecl;
 | |
| function GpiCombineRegion(hps,hrgnDest,hrgnSrc1,hrgnSrc2 : cardinal;lMode : longint) : longint;  cdecl;
 | |
| function GpiCreateRegion(hps : cardinal;lCount : longint;var arclRectangles : RECTL) : cardinal;  cdecl;
 | |
| function GpiDestroyRegion(hps,hrgn : cardinal) : longbool;  cdecl;
 | |
| function GpiEqualRegion(hps,hrgnSrc1,hrgnSrc2 : cardinal) : longint; cdecl;
 | |
| function GpiOffsetRegion(hps,Hrgn : cardinal;var pptlOffset : POINTL) : longbool; cdecl;
 | |
| function GpiPaintRegion(hps,hrgn : cardinal) : longint; cdecl;
 | |
| function GpiFrameRegion(hps,hrgn : cardinal;var thickness : SIZEL) : longint; cdecl;
 | |
| function GpiPtInRegion(hps,hrgn : cardinal;var pptlPoint : POINTL) : longint; cdecl;
 | |
| function GpiQueryRegionBox(hps,hrgn : cardinal;var prclBound : RECTL) : longint; cdecl;
 | |
| function GpiQueryRegionRects(hps,hrgn : cardinal;var prclBound : RECTL;var prgnrcControl : RGNRECT;var prclRect : RECTL) : longbool; cdecl;
 | |
| function GpiRectInRegion(hps,hrgn : cardinal;var prclRect : RECTL) : longint; cdecl;
 | |
| function GpiSetRegion(hps,hrgn : cardinal;lcount : longint;var arclRectangles : RECTL) : longbool;cdecl;
 | |
| function GpiSetClipRegion(hps,hrgn : cardinal;var phrgnOld : cardinal) : longint; cdecl;
 | |
| function GpiQueryClipRegion(hps : cardinal) : cardinal;  cdecl;
 | |
| function GpiQueryClipBox(hps : cardinal;var prclBound : RECTL) : longint; cdecl;
 | |
| function GpiExcludeClipRectangle(hps : cardinal;var prclRectangle : RECTL) : longint; cdecl;
 | |
| function GpiIntersectClipRectangle(hps : cardinal;var prclRectangle : RECTL) : longint; cdecl;
 | |
| function GpiOffsetClipRegion(hps : cardinal;var pptlPoint : POINTL) : longint; cdecl;
 | |
| function GpiCopyMetaFile(hmf : cardinal) : cardinal; cdecl;
 | |
| function GpiDeleteMetaFile(hmf : cardinal) : longbool; cdecl;
 | |
| function GpiLoadMetaFile(hab : cardinal;pszFilename : pchar) : cardinal; cdecl;
 | |
| function GpiPlayMetaFile(hps,hmf : cardinal;lCount1 : longint;var alOptarray,plSegCount : longint;lCount2 : longint;pszDesc : pchar) : longint;  cdecl;
 | |
| function GpiQueryMetaFileBits(hmf : cardinal;lOffset,lLength : longint;var pbData : BYTE) : longbool;  cdecl;
 | |
| function GpiQueryMetaFileLength(hmf : cardinal) : longint;  cdecl;
 | |
| function GpiSaveMetaFile(hmf : cardinal;pszFilename : pchar) : longbool; cdecl;
 | |
| function GpiSetMetaFileBits(hmf : cardinal;lOffset,lLength : longint;var pbBuffer : BYTE) : longbool; cdecl;
 | |
| function GpiQueryDefArcParams(hps : cardinal;var parcpArcParams : ARCPARAMS) : longbool; cdecl;
 | |
| function GpiQueryDefAttrs(hps : cardinal;lPrimType : longint;flAttrMask : cardinal;ppbunAttrs : pointer) : longbool; cdecl;
 | |
| function GpiQueryDefTag(hps : cardinal;var plTag : longint) : longbool; cdecl;
 | |
| function GpiQueryDefViewingLimits(hps : cardinal;var prclLimits : RECTL) : longbool; cdecl;
 | |
| function GpiSetDefArcParams(hps : cardinal;var parcpArcParams : ARCPARAMS) : longbool; cdecl;
 | |
| function GpiSetDefAttrs(hps : cardinal;lPrimType : longint;flAttrMask : cardinal;ppbunAttrs : pointer) : longbool;cdecl;
 | |
| function GpiSetDefTag(hps : cardinal;lTag : longint) : longbool; cdecl;
 | |
| function GpiSetDefViewingLimits(hps : cardinal;var prclLimits : RECTL) : longbool; cdecl;
 | |
| function GpiPolygons(hps,ulCount : cardinal;var paplgn : POLYGON;flOptions,flModel : cardinal) : longint; cdecl;
 | |
| 
 | |
| implementation
 | |
| 
 | |
| function GpiCreatePS(hab,hdc : cardinal;var psizlSize : SIZEL;flOptions : cardinal) : cardinal;cdecl;external 'pmgpi' index 369;
 | |
| function GpiDestroyPS(hps : cardinal) : longbool;cdecl;external 'pmgpi' index 379;
 | |
| function GpiAssociate(hps,hdc : cardinal) : longbool;cdecl;external 'pmgpi' index 351;
 | |
| function GpiRestorePS(hps : cardinal;lPSid : longint) : longbool;cdecl;external 'pmgpi' index 499;
 | |
| function GpiSavePS(hps : cardinal) : longint;cdecl;external 'pmgpi' index 501;
 | |
| function GpiErase(hps : cardinal) : longbool;cdecl;external 'pmgpi' index 389;
 | |
| function GpiQueryDevice(hps : cardinal) : cardinal;cdecl;external 'pmgpi' index 444;
 | |
| function GpiResetPS(hps,flOptions : cardinal) : longbool;cdecl;external 'pmgpi' index 498;
 | |
| function GpiSetPS(hps : cardinal;var psizlsize : SIZEL;flOptions : cardinal) : longbool;cdecl;external 'pmgpi' index 539;
 | |
| function GpiQueryPS(hps : cardinal;var psizlSize : SIZEL) : cardinal;cdecl;external 'pmgpi' index 471;
 | |
| function GpiErrorSegmentData(hps : cardinal;var plSegment,plContext : longint) : longint;cdecl;external 'pmgpi' index 390;
 | |
| function GpiQueryDrawControl(hps : cardinal;lControl : longint) : longint;cdecl;external 'pmgpi' index 446;
 | |
| function GpiSetDrawControl(hps : cardinal;lControl,lValue : longint) : longbool;cdecl;external 'pmgpi' index 521;
 | |
| function GpiQueryDrawingMode(hps : cardinal) : longint;cdecl;external 'pmgpi' index 447;
 | |
| function GpiSetDrawingMode(hps : cardinal;lMode : longint) : longbool;cdecl;external 'pmgpi' index 522;
 | |
| function GpiQueryStopDraw(hps : cardinal) : longint;cdecl; external 'pmgpi' index 487;
 | |
| function GpiSetStopDraw(hps : cardinal;lValue : longint) : longbool; cdecl; external 'pmgpi' index 550;
 | |
| function GpiCorrelateChain(hps : cardinal;lType : longint;var pptlPick : POINTL;lMaxHits : longint;lMaxDepth : longint;var pl2 : longint) : longint; cdecl; external 'pmgpi' index 366;
 | |
| function GpiQueryTag(hps : cardinal;var plTag : longint) : longbool; cdecl; external 'pmgpi' index 488;
 | |
| function GpiSetTag(hps : cardinal;lTag : longint) : longbool; cdecl; external 'pmgpi' index 551;
 | |
| function GpiQueryPickApertureSize(hps : cardinal;var psizlSize : SIZEL) : longbool; cdecl; external 'pmgpi' index 478;
 | |
| function GpiSetPickApertureSize(hps : cardinal;lOptions : longint;var psizlSize : SIZEL) : longbool; cdecl; external 'pmgpi' index 589;
 | |
| function GpiQueryPickAperturePosition(hps : cardinal;var pptlPoint : POINTL) : longbool; cdecl; external 'pmgpi' index 477;
 | |
| function GpiSetPickAperturePosition(hps : cardinal;var pptlPick : POINTL) : longbool; cdecl; external 'pmgpi' index 545;
 | |
| function GpiQueryBoundaryData(hps : cardinal;var prclBoundary : RECTL) : longbool; cdecl; external 'pmgpi' index 428;
 | |
| function GpiResetBoundaryData(hps : cardinal) : longbool; cdecl; external 'pmgpi' index 497;
 | |
| function GpiCorrelateFrom(hps : cardinal;lFirstSegment,lLastSegment,lType : longint;var pptlPick : POINTL;lMaxHits,lMaxDepth : longint;var plSegTag : longint) : longint; cdecl; external 'pmgpi' index 367;
 | |
| function GpiCorrelateSegment(hps : cardinal;lSegment,lType : longint;var pptlPick : POINTL;lMaxHits,lMaxDepth : longint;var alSegTag : longint) : longint; cdecl; external 'pmgpi' index 582;
 | |
| function GpiOpenSegment(hps : cardinal;lSegment : longint) : longbool; cdecl; external 'pmgpi' index 408;
 | |
| function GpiCloseSegment(hps : cardinal) : longbool; cdecl; external 'pmgpi' index 361;
 | |
| function GpiDeleteSegment(hps : cardinal;lSegid : longint) : longbool; cdecl; external 'pmgpi' index 376;
 | |
| function GpiQueryInitialSegmentAttrs(hps : cardinal;lAttribute : longint) : longint; cdecl; external 'pmgpi' index 455;
 | |
| function GpiSetInitialSegmentAttrs(hps : cardinal;lAttribute,lValue : longint) : longbool; cdecl; external 'pmgpi' index 527;
 | |
| function GpiQuerySegmentAttrs(hps : cardinal;lSegid,lAttribute : longint) : longint; cdecl; external 'pmgpi' index 482;
 | |
| function GpiSetSegmentAttrs(hps : cardinal;lSegid,lAttribute,lValue : longint) : longbool; cdecl; external 'pmgpi' index 547;
 | |
| function GpiQuerySegmentPriority(hps : cardinal;lRefSegid,lOrder : longint) : longint; cdecl; external 'pmgpi' index 484;
 | |
| function GpiSetSegmentPriority(hps : cardinal;lSegid,lRefSegid,lOrder : longint) : longbool; cdecl; external 'pmgpi' index 548;
 | |
| function GpiDeleteSegments(hps : cardinal;lFirstSegment,lLastSegment : longint) : longbool; cdecl; external 'pmgpi' index 377;
 | |
| function GpiQuerySegmentNames(hps : cardinal;lFirstSegid,lLastSegid,lMax : longint;var alSegids : longint) : longint; cdecl; external 'pmgpi' index 483;
 | |
| function GpiGetData(hps : cardinal;lSegid : longint;var plOffset : longint;lFormat,lLength : longint;var pbData : BYTE) : longint; cdecl; external 'pmgpi' index 394;
 | |
| function GpiPutData(hps : cardinal;lFormat : longint;var plCount : longint;var pbData : BYTE) : longint; cdecl; external 'pmgpi' index 421;
 | |
| function GpiDrawChain(hps : cardinal) : longbool; cdecl; external 'pmgpi' index 380;
 | |
| function GpiDrawFrom(hps : cardinal;lFirstSegment,lLastSegment : longint) : longbool; cdecl; external 'pmgpi' index 382;
 | |
| function GpiDrawSegment(hps : cardinal;lSegment : longint) : longbool; cdecl; external 'pmgpi' index 383;
 | |
| function GpiDrawDynamics(hps : cardinal) : longbool; cdecl; external 'pmgpi' index 381;
 | |
| function GpiRemoveDynamics(hps : cardinal;lFirstSegid,lLastSegid : longint) : longbool; cdecl; external 'pmgpi' index 496;
 | |
| function GpiBeginElement(hps : cardinal;lType : longint;pszDesc : pchar) : longbool; cdecl; external 'pmgpi' index 353;
 | |
| function GpiEndElement(hps : cardinal) : longbool; cdecl; external 'pmgpi' index 386;
 | |
| function GpiLabel(hps : cardinal;lLabel : longint) : longbool; cdecl; external 'pmgpi' index 397;
 | |
| function GpiElement(hps : cardinal;lType : longint;pszDesc : pchar;lLength : longint;var pbData : BYTE) : longint; cdecl; external 'pmgpi' index 384;
 | |
| function GpiQueryElement(hps : cardinal;lOff,lMaxLength : longint;var pbData : BYTE) : longint; cdecl; external 'pmgpi' index 449;
 | |
| function GpiDeleteElement(hps : cardinal) : longbool; cdecl; external 'pmgpi' index 372;
 | |
| function GpiDeleteElementRange(hps : cardinal;lFirstElement,lLastElement : longint) : longbool; cdecl; external 'pmgpi' index 373;
 | |
| function GpiDeleteElementsBetweenLabels(hps : cardinal;lFirstLabel,lLastLabel : longint) : longbool; cdecl; external 'pmgpi' index 374;
 | |
| function GpiQueryEditMode(hps : cardinal) : longint; cdecl; external 'pmgpi' index 448;
 | |
| function GpiSetEditMode(hps : cardinal;lMode : longint) : longbool; cdecl; external 'pmgpi' index 523;
 | |
| function GpiQueryElementPointer(hps : cardinal) : longint; cdecl; external 'pmgpi' index 450;
 | |
| function GpiSetElementPointer(hps : cardinal;lElement : longint) : longbool; cdecl; external 'pmgpi' index 524;
 | |
| function GpiOffsetElementPointer(hps : cardinal;loffset : longint) : longbool; cdecl; external 'pmgpi' index 406;
 | |
| function GpiQueryElementType(hps : cardinal;var plType : longint;lLength : longint;pszData : pchar) : longint; cdecl; external 'pmgpi' index 451;
 | |
| function GpiSetElementPointerAtLabel(hps : cardinal;lLabel : longint) : longbool; cdecl; external 'pmgpi' index 525;
 | |
| function GpiQuerySegmentTransformMatrix(hps : cardinal;lSegid,lCount : longint;var pmatlfArray : MATRIXLF) : longbool; cdecl; external 'pmgpi' index 485;
 | |
| function GpiSetSegmentTransformMatrix(hps : cardinal;lSegid,lCount : longint;var pmatlfarray : MATRIXLF;lOptions : longint) : longbool; cdecl; external 'pmgpi' index 549;
 | |
| function GpiConvert(hps : cardinal;lSrc,lTarg,lCount : longint;var aptlPoints : POINTL) : longbool; cdecl; external 'pmgpi' index 364;
 | |
| function GpiConvertWithMatrix(hps : cardinal;lCountp : longint;var aptlPoints : POINTL;lCount : longint;var pmatlfArray : MATRIXLF) : longbool; cdecl; external 'pmgpi' index 618;
 | |
| function GpiQueryModelTransformMatrix(hps : cardinal;lCount : longint;var pmatlfArray : MATRIXLF) : longbool; cdecl; external 'pmgpi' index 468;
 | |
| function GpiSetModelTransformMatrix(hps : cardinal;lCount : longint;var pmatlfArray : MATRIXLF;lOptions : longint) : longbool; cdecl; external 'pmgpi' index 538;
 | |
| function GpiCallSegmentMatrix(hps : cardinal;lSegment,lCount : longint;var pmatlfArray : MATRIXLF;lOptions : longint) : longint; cdecl; external 'pmgpi' index 357;
 | |
| function GpiQueryDefaultViewMatrix(hps : cardinal;lCount : longint;var pmatlfArray : MATRIXLF) : longbool; cdecl; external 'pmgpi' index 443;
 | |
| function GpiSetDefaultViewMatrix(hps : cardinal;lCount : longint;var pmatlfarray : MATRIXLF;lOptions : longint) : longbool; cdecl; external 'pmgpi' index 520;
 | |
| function GpiQueryPageViewport(hps : cardinal;var prclViewport : RECTL) : longbool; cdecl; external 'pmgpi' index 472;
 | |
| function GpiSetPageViewport(hps : cardinal;var prclViewport : RECTL) : longbool; cdecl; external 'pmgpi' index 540;
 | |
| function GpiQueryViewingTransformMatrix(hps : cardinal;lCount : longint;var pmatlfArray : MATRIXLF) : longbool; cdecl; external 'pmgpi' index 491;
 | |
| function GpiSetViewingTransformMatrix(hps : cardinal;lCount : longint;var pmatlfArray : MATRIXLF;lOptions : longint) : longbool; cdecl; external 'pmgpi' index 553;
 | |
| function GpiTranslate(hps : cardinal;var pmatrixlf : MATRIXLF;long : longint;var ppointl : POINTL) : longbool; cdecl; external 'pmgpi' index 564;
 | |
| function GpiScale(hps : cardinal;var p1 : MATRIXLF;p2 : longint;var p3 : longint;var p4 : POINTL) : longbool; cdecl; external 'pmgpi' index 565;
 | |
| function GpiRotate(p1 : cardinal;var p2 : MATRIXLF;p3,p4 : longint;var p5 : POINTL) : longbool; cdecl; external 'pmgpi' index 566;
 | |
| function GpiSetGraphicsField(hps : cardinal;var prclField : RECTL) : longbool; cdecl; external 'pmgpi' index 526;
 | |
| function GpiQueryGraphicsField(hps : cardinal;var prclField : RECTL) : longbool; cdecl; external 'pmgpi' index 454;
 | |
| function GpiSetViewingLimits(hps : cardinal;var prclLimits : RECTL) : longbool; cdecl; external 'pmgpi' index 552;
 | |
| function GpiQueryViewingLimits(hps : cardinal;var prclLimits : RECTL) : longbool; cdecl; external 'pmgpi' index 490;
 | |
| function GpiBeginPath(hps : cardinal;lPath : longint) : longbool; cdecl; external 'pmgpi' index 354;
 | |
| function GpiEndPath(hps : cardinal) : longbool; cdecl; external 'pmgpi' index 387;
 | |
| function GpiCloseFigure(hps : cardinal) : longbool; cdecl; external 'pmgpi' index 360;
 | |
| function GpiModifyPath(hps : cardinal;lPath,lMode : longint) : longbool; cdecl; external 'pmgpi' index 403;
 | |
| function GpiFillPath(hps : cardinal;lPath,lOptions : longint) : longint; cdecl; external 'pmgpi' index 392;
 | |
| function GpiSetClipPath(hps : cardinal;lPath,lOptions : longint) : longbool; cdecl; external 'pmgpi' index 515;
 | |
| function GpiOutlinePath(hps : cardinal;lPath,lOptions : longint) : longint; cdecl; external 'pmgpi' index 563;
 | |
| function GpiPathToRegion(GpiH : cardinal;lPath,lOptions : longint) : cardinal; cdecl; external 'pmgpi' index 559;
 | |
| function GpiStrokePath(hps : cardinal;lPath : longint;flOptions : cardinal) : longint; cdecl; external 'pmgpi' index 554;
 | |
| function GpiCreateLogColorTable(hps,flOptions : cardinal;lFormat,lStart,lCount : longint;var alTable : longint) : longbool; cdecl; external 'pmgpi' index 592;
 | |
| function GpiQueryColorData(hps : cardinal;lCount : longint;var alArray : longint) : longbool; cdecl; external 'pmgpi' index 438;
 | |
| function GpiQueryLogColorTable(hps,flOptions : cardinal;lStart,lCount : longint;var alArray : longint) : longint; cdecl; external 'pmgpi' index 593;
 | |
| function GpiQueryRealColors(hps,flOptions : cardinal;lStart,lCount : longint;var alColors : longint) : longint; cdecl; external 'pmgpi' index 480;
 | |
| function GpiQueryNearestColor(hps,flOptions : cardinal;lRgbIn : longint) : longint; cdecl; external 'pmgpi' index 469;
 | |
| function GpiQueryColorIndex(hps,flOptions : cardinal;lRgbColor : longint) : longint; cdecl; external 'pmgpi' index 439;
 | |
| function GpiQueryRGBColor(hps,flOptions : cardinal;lColorIndex : longint) : longint; cdecl; external 'pmgpi' index 479;
 | |
| function GpiCreatePalette(hab,flOptions,ulFormat,ulCount : cardinal;var aulTable) : cardinal; cdecl; external 'pmgpi' index 594;
 | |
| function GpiDeletePalette(hpal : cardinal) : longbool; cdecl; external 'pmgpi' index 577;
 | |
| function GpiSelectPalette(hps,hpal : cardinal) : cardinal; cdecl; external 'pmgpi' index 578;
 | |
| function GpiAnimatePalette(hpal,ulFormat,ulStart,ulCount : cardinal;var aulTable) : longint; cdecl; external 'pmgpi' index 595;
 | |
| function GpiSetPaletteEntries(hpal,ulFormat,ulStart,ulCount : cardinal;var aulTable) : longbool; cdecl; external 'pmgpi' index 596;
 | |
| function GpiQueryPalette(hps : cardinal) : cardinal; cdecl; external 'pmgpi' index 579;
 | |
| function GpiQueryPaletteInfo(hpal,hps,flOptions,ulStart,ulCount : cardinal;var aulArray) : longint; cdecl; external 'pmgpi' index 597;
 | |
| function GpiSetColor(hps : cardinal;lColor : longint) : longbool; cdecl; external 'pmgpi' index 517;
 | |
| function GpiQueryColor(hps : cardinal) : longint; cdecl; external 'pmgpi' index 437;
 | |
| function GpiBox(hps : cardinal;lControl : longint;var pptlPoint : POINTL;lHRound,lVRound : longint) : longint; cdecl; external 'pmgpi' index 356;
 | |
| function GpiMove(hps : cardinal;var pptlPoint : POINTL) : longbool; cdecl; external 'pmgpi' index 404;
 | |
| function GpiLine(hps : cardinal;var pptlEndPoint : POINTL) : longint; cdecl; external 'pmgpi' index 398;
 | |
| function GpiPolyLine(hps : cardinal;lCount : longint;var aptlPoints : POINTL) : longint; cdecl; external 'pmgpi' index 415;
 | |
| function GpiPolyLineDisjoint(hps : cardinal;lCount : longint;var aptlPoints : POINTL) : longint; cdecl; external 'pmgpi' index 558;
 | |
| function GpiSetPattern(hps : cardinal;lPatternSymbol : longint) : longbool; cdecl; external 'pmgpi' index 541;
 | |
| function GpiQueryPattern(hps : cardinal) : longint; cdecl; external 'pmgpi' index 473;
 | |
| function GpiBeginArea(hps,flOptions : cardinal) : longbool; cdecl; external 'pmgpi' index 352;
 | |
| function GpiEndArea(hps : cardinal) : longint; cdecl; external 'pmgpi' index 385;
 | |
| function GpiCharString(hps : cardinal;lCount : longint;pchString : pchar) : longint; cdecl; external 'pmgpi' index 358;
 | |
| function GpiCharStringAt(hps : cardinal;var pptlPoint : POINTL;lCount : longint;pchString : pchar) : longint; cdecl; external 'pmgpi' index 359;
 | |
| function GpiSetAttrMode(hps : cardinal;lMode : longint) : longbool; cdecl; external 'pmgpi' index 503;
 | |
| function GpiQueryAttrMode(hps : cardinal) : longint; cdecl; external 'pmgpi' index 423;
 | |
| function GpiSetAttrs(hps : cardinal;lPrimType : longint;flAttrMask,flDefMask : cardinal;ppbunAttrs : pointer) : longbool; cdecl; external 'pmgpi' index 588;
 | |
| function GpiQueryAttrs(hps : cardinal;lPrimType : longint;flAttrMask : cardinal;ppbunAttrs : pointer) : longint; cdecl; external 'pmgpi' index 583;
 | |
| function GpiSetBackColor(hps : cardinal;lColor : longint) : longbool; cdecl; external 'pmgpi' index 504;
 | |
| function GpiQueryBackColor(hps : cardinal) : longint; cdecl; external 'pmgpi' index 424;
 | |
| function GpiSetMix(hps : cardinal;lMixMode : longint) : longbool; cdecl; external 'pmgpi' index 537;
 | |
| function GpiQueryMix(hps : cardinal) : longint; cdecl; external 'pmgpi' index 467;
 | |
| function GpiSetBackMix(hps : cardinal;lMixMode : longint) : longbool; cdecl; external 'pmgpi' index 505;
 | |
| function GpiQueryBackMix(hps : cardinal) : longint; cdecl; external 'pmgpi' index 425;
 | |
| function GpiSetLineType(hps : cardinal;lLineType : longint) : longbool; cdecl; external 'pmgpi' index 530;
 | |
| function GpiQueryLineType(hps : cardinal) : longint; cdecl; external 'pmgpi' index 459;
 | |
| function GpiSetLineWidth(hps : cardinal;fxLineWidth : longint) : longbool; cdecl; external 'pmgpi' index 531;
 | |
| function GpiQueryLineWidth(hps : cardinal) : longint; cdecl; external 'pmgpi' index 460;
 | |
| function GpiSetLineWidthGeom(hps : cardinal;lLineWidth : longint) : longbool; cdecl; external 'pmgpi' index 532;
 | |
| function GpiQueryLineWidthGeom(hps : cardinal) : longint; cdecl; external 'pmgpi' index 461;
 | |
| function GpiSetLineEnd(hps : cardinal;lLineEnd : longint) : longbool; cdecl; external 'pmgpi' index 528;
 | |
| function GpiQueryLineEnd(hps : cardinal) : longint; cdecl; external 'pmgpi' index 457;
 | |
| function GpiSetLineJoin(hps : cardinal;lLineJoin : longint) : longbool; cdecl; external 'pmgpi' index 529;
 | |
| function GpiQueryLineJoin(hps : cardinal) : longint; cdecl; external 'pmgpi' index 458;
 | |
| function GpiSetCurrentPosition(hps : cardinal;var pptlPoint : POINTL) : longbool; cdecl; external 'pmgpi' index 519;
 | |
| function GpiQueryCurrentPosition(hps : cardinal;var pptlPoint : POINTL) : longbool; cdecl; external 'pmgpi' index 441;
 | |
| function GpiSetArcParams(hps : cardinal;var parcpArcParams : ARCPARAMS) : longbool; cdecl; external 'pmgpi' index 502;
 | |
| function GpiQueryArcParams(hps : cardinal;var parcpArcParams : ARCPARAMS) : longbool; cdecl; external 'pmgpi' index 422;
 | |
| function GpiPointArc(hps : cardinal;var pptl2 : POINTL) : longint; cdecl; external 'pmgpi' index 412;
 | |
| function GpiFullArc(hps : cardinal;lControl,fxMultiplier : longint) : longint; cdecl; external 'pmgpi' index 393;
 | |
| function GpiPartialArc(hps : cardinal;var pptlCenter : POINTL;fxMultiplier,fxStartAngle,fxSweepAngle : longint) : longint; cdecl; external 'pmgpi' index 612;
 | |
| function GpiPolyFillet(hps : cardinal;lCount : longint;var aptlPoints : POINTL) : longint; cdecl; external 'pmgpi' index 413;
 | |
| function GpiPolySpline(hps : cardinal;lCount : longint;var aptlPoints : POINTL) : longint; cdecl; external 'pmgpi' index 417;
 | |
| function GpiPolyFilletSharp(hps : cardinal;lCount : longint;var aptlPoints : POINTL;var afxPoints : longint) : longint; cdecl; external 'pmgpi' index 414;
 | |
| function GpiSetPatternSet(hps : cardinal;lSet : longint) : longbool; cdecl; external 'pmgpi' index 543;
 | |
| function GpiQueryPatternSet(hps : cardinal) : longint; cdecl; external 'pmgpi' index 475;
 | |
| function GpiSetPatternRefPoint(hps : cardinal;var pptlRefPoint : POINTL) : longbool; cdecl; external 'pmgpi' index 542;
 | |
| function GpiQueryPatternRefPoint(hps : cardinal;var pptlRefPoint : POINTL) : longbool; cdecl; external 'pmgpi' index 474;
 | |
| function GpiQueryCharStringPos(hps,flOptions : cardinal;lCount : longint;pchString : pchar;var alXincrements : longint;var aptlPositions : POINTL) : longbool; cdecl; external 'pmgpi' index 584;
 | |
| function GpiQueryCharStringPosAt(hps : cardinal;var pptlStart : POINTL;flOptions : cardinal;lCount : longint;pchString : pchar;var alXincrements : longint;var aptlPositions : POINTL) : longbool; cdecl; external 'pmgpi' index 585;
 | |
| function GpiQueryTextBox(hps : cardinal;lCount1 : longint;pchString : pchar;lCount2 : longint;var aptlPoints : POINTL) : longbool; cdecl; external 'pmgpi' index 489;
 | |
| function GpiQueryDefCharBox(hps : cardinal;var psizlSize : SIZEL) : longbool; cdecl; external 'pmgpi' index 442;
 | |
| function GpiSetCharSet(hps : cardinal;llcid : longint) : longbool; cdecl; external 'pmgpi' index 513;
 | |
| function GpiQueryCharSet(hps : cardinal) : longint; cdecl; external 'pmgpi' index 433;
 | |
| function GpiSetCharBox(hps : cardinal;var psizfxBox : SIZEF) : longbool; cdecl; external 'pmgpi' index 510;
 | |
| function GpiQueryCharBox(hps : cardinal;var psizfxSize : SIZEF) : longbool; cdecl; external 'pmgpi' index 430;
 | |
| function GpiSetCharAngle(hps : cardinal;var pgradlAngle : GRADIENTL) : longbool; cdecl; external 'pmgpi' index 509;
 | |
| function GpiQueryCharAngle(hps : cardinal;var pgradlAngle : GRADIENTL) : longbool; cdecl; external 'pmgpi' index 429;
 | |
| function GpiSetCharShear(hps : cardinal;var pptlAngle : POINTL) : longbool; cdecl; external 'pmgpi' index 514;
 | |
| function GpiQueryCharShear(hps : cardinal;var pptlShear : POINTL) : longbool; cdecl; external 'pmgpi' index 434;
 | |
| function GpiSetCharDirection(hps : cardinal;lDirection : longint) : longbool; cdecl; external 'pmgpi' index 511;
 | |
| function GpiQueryCharDirection(hps : cardinal) : longint; cdecl; external 'pmgpi' index 431;
 | |
| function GpiSetCharMode(hps : cardinal;lMode : longint) : longbool; cdecl; external 'pmgpi' index 512;
 | |
| function GpiQueryCharMode(hps : cardinal) : longint; cdecl; external 'pmgpi' index 432;
 | |
| function GpiSetTextAlignment(hps : cardinal;lHoriz,lVert : longint) : longbool; cdecl; external 'pmgpi' index 649;
 | |
| function GpiQueryTextAlignment(hps : cardinal;var plHoriz,plVert : longint) : longbool; cdecl; external 'pmgpi' index 648;
 | |
| function GpiCharStringPos(hps : cardinal;var prclRect : RECTL;flOptions : cardinal;lCount : longint;pchString : pchar;var alAdx : longint) : longint; cdecl; external 'pmgpi' index 580;
 | |
| function GpiCharStringPosAt(hps : cardinal;var pptlStart : POINTL;var prclRect : RECTL;flOptions : cardinal;lCount : longint;pchString : pchar;var alAdx : longint) : longint; cdecl; external 'pmgpi' index 581;
 | |
| function GpiSetCharExtra(hps : cardinal;Extra : longint) : longbool; cdecl; external 'pmgpi' index 614;
 | |
| function GpiSetCharBreakExtra(hps : cardinal;BreakExtra : longint) : longbool; cdecl; external 'pmgpi' index 616;
 | |
| function GpiQueryCharExtra(hps : cardinal;var Extra : longint) : longbool; cdecl; external 'pmgpi' index 613;
 | |
| function GpiQueryCharBreakExtra(hps : cardinal;var BreakExtra : longint) : longbool; cdecl; external 'pmgpi' index 615;
 | |
| function GpiMarker(hps : cardinal;var pptlPoint : POINTL) : longint; cdecl; external 'pmgpi' index 402;
 | |
| function GpiPolyMarker(hps : cardinal;lCount : longint;var aptlPoints : POINTL) : longint; cdecl; external 'pmgpi' index 416;
 | |
| function GpiSetMarker(hps : cardinal;lSymbol : longint) : longbool; cdecl; external 'pmgpi' index 533;
 | |
| function GpiSetMarkerBox(hps : cardinal;var psizfxSize : SIZEF) : longbool; cdecl; external 'pmgpi' index 534;
 | |
| function GpiSetMarkerSet(hps : cardinal;lSet : longint) : longbool; cdecl; external 'pmgpi' index 535;
 | |
| function GpiQueryMarker(hps : cardinal) : longint; cdecl; external 'pmgpi' index 462;
 | |
| function GpiQueryMarkerBox(hps : cardinal;var psizfxSize : SIZEF) : longbool; cdecl; external 'pmgpi' index 463;
 | |
| function GpiQueryMarkerSet(hps : cardinal) : longint; cdecl; external 'pmgpi' index 464;
 | |
| function GpiImage(hps : cardinal;lFormat : longint;var psizlImageSize : SIZEL;lLength : longint;var pbData : BYTE) : longint; cdecl; external 'pmgpi' index 395;
 | |
| function GpiPop(hps : cardinal;lCount : longint) : longbool; cdecl; external 'pmgpi' index 418;
 | |
| function GpiPtVisible(hps : cardinal;var pptlPoint : POINTL) : longint; cdecl; external 'pmgpi' index 420;
 | |
| function GpiRectVisible(hps : cardinal;var prclRectangle : RECTL) : longint; cdecl; external 'pmgpi' index 495;
 | |
| function GpiComment(hps : cardinal;lLength : longint;var pbData : BYTE) : longbool; cdecl; external 'pmgpi' index 363;
 | |
| function GpiCreateLogFont(hps : cardinal;var pName : STR8;lLcid : longint;var pfatAttrs : FATTRS) : longint; cdecl; external 'pmgpi' index 368;
 | |
| function GpiDeleteSetId(hps : cardinal;lLcid : longint) : longbool; cdecl; external 'pmgpi' index 378;
 | |
| function GpiLoadFonts(hab : cardinal;pszFilename : pchar) : longbool; cdecl; external 'pmgpi' index 400;
 | |
| function GpiUnloadFonts(hab : cardinal;pszFilename : pchar) : longbool; cdecl; external 'pmgpi' index 555;
 | |
| function GpiQueryFonts(hps,flOptions : cardinal;pszFacename : pchar;var plReqFonts : longint;lMetricsLength : longint;var afmMetrics : FONTMETRICS) : longint; cdecl; external 'pmgpi' index 586;
 | |
| function GpiQueryFontMetrics(hps : cardinal;lMetricsLength : longint;var pfmMetrics : FONTMETRICS) : longbool; cdecl; external 'pmgpi' index 453;
 | |
| function GpiQueryKerningPairs(hps : cardinal;lCount : longint;var akrnprData : KERNINGPAIRS) : longint; cdecl; external 'pmgpi' index 456;
 | |
| function GpiQueryWidthTable(hps : cardinal;lFirstChar,lCount : longint;var alData : longint) : longbool; cdecl; external 'pmgpi' index 492;
 | |
| function GpiQueryNumberSetIds(hps : cardinal) : longint; cdecl; external 'pmgpi' index 470;
 | |
| function GpiQuerySetIds(hps : cardinal;lCount : longint;var alTypes : longint;var aNames : STR8;var allcids : longint) : longbool; cdecl; external 'pmgpi' index 486;
 | |
| function GpiQueryFaceString(PS : cardinal;FamilyName : pchar;var attrs : FACENAMEDESC;length : longint;CompoundFaceName : pchar) : cardinal; cdecl; external 'pmgpi' index 575;
 | |
| function GpiQueryLogicalFont(PS : cardinal;lcid : longint;var name : STR8;var attrs : FATTRS;length : longint) : longbool; cdecl; external 'pmgpi' index 574;
 | |
| function GpiQueryFontAction(anchor,options : cardinal) : cardinal; cdecl; external 'pmgpi' index 576;
 | |
| function GpiLoadPublicFonts(p1 : cardinal;p2 : pchar) : longbool; cdecl; external 'pmgpi' index 622;
 | |
| function GpiUnloadPublicFonts(p1 : cardinal;p2 : pchar) : longbool; cdecl; external 'pmgpi' index 623;
 | |
| function GpiSetCp(hps,ulCodePage : cardinal) : longbool; cdecl; external 'pmgpi' index 518;
 | |
| function GpiQueryCp(hps : cardinal) : cardinal; cdecl; external 'pmgpi' index 440;
 | |
| function GpiQueryFontFileDescriptions(hab : cardinal;pszFilename : pchar;var plCount : longint;var affdescsNames : FFDESCS) : longint; cdecl; external 'pmgpi' index 452;
 | |
| function GpiQueryFullFontFileDescs(hab : cardinal;pszFilename : pchar;var plCount : longint;pNames : pointer;var plNamesBuffLength : longint) : longint; cdecl; external 'pmgpi' index 657;
 | |
| function GpiBitBlt(hpsTarget,hpsSource : cardinal;lCount : longint;var aptlPoints : POINTL;lRop : longint;flOptions : cardinal) : longint; cdecl; external 'pmgpi' index 355;
 | |
| function GpiDeleteBitmap(hbm : cardinal) : longbool; cdecl; external 'pmgpi' index 371;
 | |
| function GpiLoadBitmap(hps,Resource,idBitmap:cardinal;lWidth,lHeight : longint) : cardinal; cdecl; external 'pmgpi' index 399;
 | |
| function GpiSetBitmap(hps,hbm : cardinal) : cardinal; cdecl; external 'pmgpi' index 506;
 | |
| function GpiWCBitBlt(hpsTarget,hbmSource : cardinal;lCount : longint;var aptlPoints : POINTL;lRop : longint;flOptions : cardinal) : longint; cdecl; external 'pmgpi' index 557;
 | |
| function GpiCreateBitmap(hps : cardinal;var pbmpNew :Tbitmapinfoheader2;flOptions : cardinal;var pbInitData : BYTE;var pbmiInfoTable :Tbitmapinfo2) : cardinal; cdecl; external 'pmgpi' index 598;
 | |
| function GpiSetBitmapBits(hps : cardinal;lScanStart,lScans : longint;var pbBuffer : BYTE;var pbmiInfoTable :Tbitmapinfo2) : longint; cdecl; external 'pmgpi' index 602;
 | |
| function GpiSetBitmapDimension(hbm : cardinal;var psizlBitmapDimension : SIZEL) : longbool; cdecl; external 'pmgpi' index 507;
 | |
| function GpiSetBitmapId(hps,hbm : cardinal;lLcid : longint) : longbool; cdecl; external 'pmgpi' index 508;
 | |
| function GpiQueryBitmapBits(hps : cardinal;lScanStart,lScans : longint;var pbBuffer : BYTE;var pbmiInfoTable :Tbitmapinfo2) : longint; cdecl; external 'pmgpi' index 599;
 | |
| function GpiQueryBitmapDimension(hbm : cardinal;var psizlBitmapDimension : SIZEL) : longbool; cdecl; external 'pmgpi' index 426;
 | |
| function GpiQueryBitmapHandle(hps : cardinal;lLcid : longint) : cardinal; cdecl; external 'pmgpi' index 427;
 | |
| function GpiQueryBitmapParameters(hbm : cardinal;var pbmpData :Tbitmapinfoheader) : longbool; cdecl; external 'pmgpi' index 573;
 | |
| function GpiQueryBitmapInfoHeader(hbm : cardinal;var pbmpData :Tbitmapinfoheader2) : longbool; cdecl; external 'pmgpi' index 601;
 | |
| function GpiQueryDeviceBitmapFormats(hps : cardinal;lCount : longint;var alArray : longint) : longbool; cdecl; external 'pmgpi' index 445;
 | |
| function GpiSetPel(hps : cardinal;var pptlPoint : POINTL) : longint; cdecl; external 'pmgpi' index 544;
 | |
| function GpiQueryPel(hps : cardinal;var pptlPoint : POINTL) : longint; cdecl; external 'pmgpi' index 476;
 | |
| function GpiFloodFill(hps : cardinal;lOptions,lColor : longint) : longint; cdecl; external 'pmgpi' index 560;
 | |
| function GpiDrawBits(hps : cardinal;pBits : pointer;var pbmiInfoTable :Tbitmapinfo2;lCount : longint;var aptlPoints : POINTL;lRop : longint;flOptions : cardinal) : longint; cdecl; external 'pmgpi' index 603;
 | |
| function GpiCombineRegion(hps,hrgnDest,hrgnSrc1,hrgnSrc2 : cardinal;lMode : longint) : longint; cdecl; external 'pmgpi' index 362;
 | |
| function GpiCreateRegion(hps : cardinal;lCount : longint;var arclRectangles : RECTL) : cardinal; cdecl; external 'pmgpi' index 370;
 | |
| function GpiDestroyRegion(hps,hrgn : cardinal) : longbool; cdecl; external 'pmgpi' index 611;
 | |
| function GpiEqualRegion(hps,hrgnSrc1,hrgnSrc2 : cardinal) : longint; cdecl; external 'pmgpi' index 388;
 | |
| function GpiOffsetRegion(hps,Hrgn : cardinal;var pptlOffset : POINTL) : longbool; cdecl; external 'pmgpi' index 407;
 | |
| function GpiPaintRegion(hps,hrgn : cardinal) : longint; cdecl; external 'pmgpi' index 409;
 | |
| function GpiFrameRegion(hps,hrgn : cardinal;var thickness : SIZEL) : longint; cdecl; external 'pmgpi' index 617;
 | |
| function GpiPtInRegion(hps,hrgn : cardinal;var pptlPoint : POINTL) : longint; cdecl; external 'pmgpi' index 419;
 | |
| function GpiQueryRegionBox(hps,hrgn : cardinal;var prclBound : RECTL) : longint; cdecl; external 'pmgpi' index 481;
 | |
| function GpiQueryRegionRects(hps,hrgn : cardinal;var prclBound : RECTL;var prgnrcControl : RGNRECT;var prclRect : RECTL) : longbool; cdecl; external 'pmgpi' index 587;
 | |
| function GpiRectInRegion(hps,hrgn : cardinal;var prclRect : RECTL) : longint; cdecl; external 'pmgpi' index 494;
 | |
| function GpiSetRegion(hps,hrgn : cardinal;lcount : longint;var arclRectangles : RECTL) : longbool; cdecl; external 'pmgpi' index 546;
 | |
| function GpiSetClipRegion(hps,hrgn : cardinal;var phrgnOld : cardinal) : longint; cdecl; external 'pmgpi' index 516;
 | |
| function GpiQueryClipRegion(hps : cardinal) : cardinal; cdecl; external 'pmgpi' index 436;
 | |
| function GpiQueryClipBox(hps : cardinal;var prclBound : RECTL) : longint; cdecl; external 'pmgpi' index 435;
 | |
| function GpiExcludeClipRectangle(hps : cardinal;var prclRectangle : RECTL) : longint; cdecl; external 'pmgpi' index 391;
 | |
| function GpiIntersectClipRectangle(hps : cardinal;var prclRectangle : RECTL) : longint; cdecl; external 'pmgpi' index 396;
 | |
| function GpiOffsetClipRegion(hps : cardinal;var pptlPoint : POINTL) : longint; cdecl; external 'pmgpi' index 405;
 | |
| function GpiCopyMetaFile(hmf : cardinal) : cardinal; cdecl; external 'pmgpi' index 365;
 | |
| function GpiDeleteMetaFile(hmf : cardinal) : longbool; cdecl; external 'pmgpi' index 375;
 | |
| function GpiLoadMetaFile(hab : cardinal;pszFilename : pchar) : cardinal; cdecl; external 'pmgpi' index 401;
 | |
| function GpiPlayMetaFile(hps,hmf : cardinal;lCount1 : longint;var alOptarray,plSegCount : longint;lCount2 : longint;pszDesc : pchar) : longint; cdecl; external 'pmgpi' index 411;
 | |
| function GpiQueryMetaFileBits(hmf : cardinal;lOffset,lLength : longint;var pbData : BYTE) : longbool; cdecl; external 'pmgpi' index 465;
 | |
| function GpiQueryMetaFileLength(hmf : cardinal) : longint; cdecl; external 'pmgpi' index 466;
 | |
| function GpiSaveMetaFile(hmf : cardinal;pszFilename : pchar) : longbool; cdecl; external 'pmgpi' index 500;
 | |
| function GpiSetMetaFileBits(hmf : cardinal;lOffset,lLength : longint;var pbBuffer : BYTE) : longbool; cdecl; external 'pmgpi' index 536;
 | |
| function GpiQueryDefArcParams(hps : cardinal;var parcpArcParams : ARCPARAMS) : longbool; cdecl; external 'pmgpi' index 567;
 | |
| function GpiQueryDefAttrs(hps : cardinal;lPrimType : longint;flAttrMask : cardinal;ppbunAttrs : pointer) : longbool; cdecl; external 'pmgpi' index 590;
 | |
| function GpiQueryDefTag(hps : cardinal;var plTag : longint) : longbool; cdecl; external 'pmgpi' index 568;
 | |
| function GpiQueryDefViewingLimits(hps : cardinal;var prclLimits : RECTL) : longbool; cdecl; external 'pmgpi' index 569;
 | |
| function GpiSetDefArcParams(hps : cardinal;var parcpArcParams : ARCPARAMS) : longbool; cdecl; external 'pmgpi' index 570;
 | |
| function GpiSetDefAttrs(hps : cardinal;lPrimType : longint;flAttrMask : cardinal;ppbunAttrs : pointer) : longbool; cdecl; external 'pmgpi' index 591;
 | |
| function GpiSetDefTag(hps : cardinal;lTag : longint) : longbool; cdecl; external 'pmgpi' index 571;
 | |
| function GpiSetDefViewingLimits(hps : cardinal;var prclLimits : RECTL) : longbool; cdecl; external 'pmgpi' index 572;
 | |
| function GpiPolygons(hps,ulCount : cardinal;var paplgn : POLYGON;flOptions,flModel : cardinal) : longint; cdecl; external 'pmgpi' index 650;
 | |
| 
 | |
| end.
 | 
