home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-08-10 | 97.7 KB | 2,350 lines |
-
- -- ╔═══════════════════════════════════════════════════════════════════╗
- -- ║ D E S I G N E N G I N E R I N G ║D║S║ ║
- -- ║ S O F T W A R E ╚═╩═╝ ║
- -- ║ ║
- -- ║ Package Os2.Gpi ║
- -- ║ ║
- -- ║ Author : Leonid Dulman 1995 , 1996 ║
- -- ║ ║
- -- ║ GNU ADA RUNTIME LIBRARY (GNARL) COMPONENTS ║
- -- ║ ║
- -- ║ PM GPI Interface ║
- -- ║ ║
- -- ╚═══════════════════════════════════════════════════════════════════╝
-
- package Os2.Gpi is
- pragma Preelaborate (Gpi);
-
- -- General GPI return values
- GPI_ERROR :constant long:= 0;
- GPI_OK :constant long:= 1;
- GPI_ALTERROR :constant long:= -1;
- --
- -- long point number - implicit binary point between 2 and 3 hex digits
- -- long point number - implicit binary point between 1st and 2nd hex digits
- subtype FIXED88 is USHORT ; -- fx88
-
- -- fixed point signed number - implicit binary point between bits 14 and 13.
- -- Bit 15 is the sign bit.
- -- Thus 1.0 is represented by 16384 (0x4000)
- -- and -1.0 is represented by -16384 (0xc000)
-
- subtype FIXED114 is USHORT ; -- fx114
- --
- -- -- make LONG number from SHORT integer part and USHORT fractional part
- -- #define MAKEFIXED(intpart,fractpart) MAKELONG(fractpart,intpart)
- -- -- extract fractional part from a fixed quantity
- -- #define FIXEDFRAC(fx) (LOUSHORT(fx))
- -- -- extract integer part from a fixed quantity
- -- #define FIXEDINT(fx) ((SHORT)HIUSHORT(fx))
-
- -- -- structure for size parameters e.g. for GpiCreatePS
- type SIZEL is record -- sizl
- cx :LONG ;
- cy :LONG ;
- end record; -- SIZEL;
- type PSIZEL is access all SIZEL;
-
- -- -- return code on GpiQueryLogColorTable,GpiQueryRealColors and GpiQueryPel
- CLR_NOINDEX :constant Long:=-254;
-
- -- -- units for GpiCreatePS and others
-
- PU_ARBITRARY :constant Long:= 16#0004#;
- PU_PELS :constant Long:= 16#0008#;
- PU_LOMETRIC :constant Long:= 16#000C#;
- PU_HIMETRIC :constant Long:= 16#0010#;
- PU_LOENGLISH :constant Long:= 16#0014#;
- PU_HIENGLISH :constant Long:= 16#0018#;
- PU_TWIPS :constant Long:= 16#001C#;
-
- -- format for GpiCreatePS
- GPIF_DEFAULT :constant Long:= 0 ;
- GPIF_SHORT :constant Long:= 16#0100#;
- GPIF_LONG :constant Long:= 16#0200#;
-
- -- PS type for GpiCreatePS
- GPIT_NORMAL :constant Long:= 0 ;
- GPIT_MICRO :constant Long:= 16#1000#;
-
- -- implicit associate flag for GpiCreatePS
- GPIA_NOASSOC :constant Long:= 0 ;
- GPIA_ASSOC :constant Long:= 16#4000#;
-
- -- PS Fill type for GpiCreatePS defect: 61035 RickT Add exclusive fill
- GPIM_AREAEXCL :constant Long:= 16#8000#;
-
- -- return error for GpiQueryDevice
- -- HDC_ERROR ((HDC)-1L )
-
- -- common GPICONTROL functions
-
- function GpiCreatePS(ha :HAB ;
- dc :HDC ;
- psizlSize:PSIZEL ;
- flOptions:ULONG ) return HPS ;
- pragma Import(c,GpiCreatePs, Link_name=>"_GpiCreatePs");
-
- function GpiDestroyPS(ps:HPS ) return BOOL;
- pragma Import(c,GpiDestroyPS, Link_name=>"_GpiDestroyPS");
-
- function GpiAssociate(ps:HPS ;
- dc:HDC ) return BOOL;
- pragma Import(c,GpiAssociate, Link_name=>"_GpiAssociate");
-
- function GpiRestorePS(ps :HPS ;
- lPSid:LONG ) return BOOL;
- pragma Import(c,GpiRestorePs, Link_name=>"_GpiRestorePs");
-
- function GpiSavePS(ps:HPS ) return LONG;
- pragma Import(c,GpiSavePs, Link_name=>"_GpiSavePs");
-
- function GpiErase(ps:HPS ) return BOOL;
- pragma Import(c,GpiErase, Link_name=>"_GpiErase");
-
- function GpiQueryDevice(pc:HPS) return HDC;
- pragma Import(c,GpiQueryDevice, Link_name=>"_GpiQueryDevice");
-
- -- options for GpiResetPS
- GRES_ATTRS :constant Long:= 16#0001#;
- GRES_SEGMENTS :constant Long:= 16#0002#;
- GRES_ALL :constant Long:= 16#0004#;
-
- -- option masks for PS options used by GpiQueryPs
- PS_UNITS :constant Long:= 16#00FC#;
- PS_FORMAT :constant Long:= 16#0F00#;
- PS_TYPE :constant Long:= 16#1000#;
- PS_MODE :constant Long:= 16#2000#;
- PS_ASSOCIATE :constant Long:= 16#4000#;
- PS_NORESET :constant Long:= 16#8000#;
-
-
- -- error context returned by GpiErrorSegmentData
- GPIE_SEGMENT :constant Long:= 0 ;
- GPIE_ELEMENT :constant Long:= 1 ;
- GPIE_DATA :constant Long:= 2 ;
-
- -- control parameter for GpiSetDrawControl
- DCTL_ERASE :constant Long:= 1 ;
- DCTL_DISPLAY :constant Long:= 2 ;
- DCTL_BOUNDARY :constant Long:= 3 ;
- DCTL_DYNAMIC :constant Long:= 4 ;
- DCTL_CORRELATE:constant Long:= 5 ;
-
- -- constants for GpiSet/QueryDrawControl
- DCTL_ERROR :constant Long:= -1 ;
- DCTL_OFF :constant Long:= 0 ;
- DCTL_ON :constant Long:= 1 ;
-
- -- constants for GpiSet/QueryStopDraw
- SDW_ERROR :constant Long:= -1 ;
- SDW_OFF :constant Long:= 0 ;
- SDW_ON :constant Long:= 1 ;
-
- -- drawing for GpiSet/QueryDrawingMode
- DM_ERROR :constant Long:= 0 ;
- DM_DRAW :constant Long:= 1 ;
- DM_RETAIN :constant Long:= 2 ;
- DM_DRAWANDRETAIN :constant Long:= 3 ;
-
- -- other GPICONTROL functions
-
- function GpiResetPS(ps :HPS ;
- flOptions:ULONG ) return BOOL;
- pragma Import(c,GpiResetPs, Link_name=>"_GpiResetPs");
-
- function GpiSetPS(ps :HPS ;
- psizlsize:PSIZEL ;
- flOptions:ULONG ) return BOOL;
- pragma Import(c,GpiSetPs, Link_name=>"_GpiSetPs");
-
- function GpiQueryPS(ps :HPS ;
- psizlSize:PSIZEL ) return ULONG;
- pragma Import(c,GpiQueryPs, Link_name=>"_GpiQueryPs");
-
- function GpiErrorSegmentData(ps :HPS ;
- plSegment:PLONG ;
- plContext:PLONG ) return LONG ;
- pragma Import(c,GpiErrorSegmentData, Link_name=>"_GpiErrorSegmentData");
-
- function GpiQueryDrawControl(ps :HPS ;
- lControl:LONG ) return LONG;
- pragma Import(c,GpiQueryDrawControl, Link_name=>"_GpiQueryDrawControl");
-
- function GpiSetDrawControl(ps :HPS ;
- lControl:LONG ;
- lValue :LONG ) return BOOL;
- pragma Import(c,GpiSetDrawControl, Link_name=>"_GpiSetDrawControl");
-
- function GpiQueryDrawingMode(ps :HPS ) return LONG;
- pragma Import(c,GpiQueryDrawingMode, Link_name=>"_GpiQueryDrawingMode");
-
- function GpiSetDrawingMode(ps :HPS ;
- lMode:LONG ) return BOOL;
- pragma Import(c,GpiSetDrawingMode, Link_name=>"_GpiSetDrawingMode");
-
- function GpiQueryStopDraw( ps :HPS) return LONG;
- pragma Import(c,GpiQueryStopDraw, Link_name=>"_GpiQueryStopDraw");
-
- function GpiSetStopDraw(ps :HPS ;
- lValue:LONG ) return BOOL;
- pragma Import(c,GpiSetStopDraw, Link_name=>"_GpiSetStopDraw");
-
- -- options for GpiSetPickApertureSize
- PICKAP_DEFAULT :constant Long:= 0 ;
- PICKAP_REC :constant Long:= 2 ;
-
- -- type of correlation for GpiCorrelateChain
- PICKSEL_VISIBLE :constant Long:= 0 ;
- PICKSEL_ALL :constant Long:= 1 ;
-
- -- return code to indicate correlate hit(s)
- GPI_HITS :constant Long:= 2 ;
-
- -- picking; correlation and boundary functions
-
- function GpiCorrelateChain(ps :HPS ;
- lType :LONG ;
- pptlPick :PPOINTL ;
- lMaxHits :LONG ;
- lMaxDepth:LONG ;
- pl2 :PLONG ) return LONG;
- pragma Import(c,GpiCorrelateChain, Link_name=>"_GpiCorrelateChain");
-
- function GpiQueryTag(ps :HPS ;
- plTag:PLONG ) return BOOL;
- pragma Import(c,GpiQueryTag, Link_name=>"_GpiQueryTag");
-
- function GpiSetTag(ps :HPS ;
- lTag:LONG ) return BOOL;
- pragma Import(c,GpiSetTag, Link_name=>"_GpiSetTag");
-
- function GpiQueryPickApertureSize(ps :HPS ;
- psizlSize:PSIZEL ) return BOOL;
- pragma Import(c,GpiQueryPickApertureSize, Link_name=>"_GpiQueryPickApertureSize");
-
- function GpiSetPickApertureSize(ps :HPS ;
- lOptions :LONG ;
- psizlSize:PSIZEL ) return BOOL;
- pragma Import(c,GpiSetPickApertureSize, Link_name=>"_GpiSetPickApertureSize");
-
- function GpiQueryPickAperturePosition(ps :HPS ;
- pptlPoint:PPOINTL ) return BOOL;
- pragma Import(c,GpiQueryPickAperturePosition, Link_name=>"_GpiQueryPickAperturePosition");
-
- function GpiSetPickAperturePosition(ps :HPS ;
- pptlPick:PPOINTL ) return BOOL;
- pragma Import(c,GpiSetPickAperturePosition, Link_name=>"_GpiSetPickAperturePosition");
-
- function GpiQueryBoundaryData(ps :HPS ;
- prclBoundary:PRECTL ) return BOOL;
- pragma Import(c,GpiQueryBoundaryData, Link_name=>"_GpiQueryBoundaryData");
-
- function GpiResetBoundaryData(ps :HPS ) return BOOL;
- pragma Import(c,GpiResetBoundaryData, Link_name=>"_GpiResetBoundaryData");
-
- function GpiCorrelateFrom(ps :HPS ;
- lFirstSegment:LONG ;
- lLastSegment :LONG ;
- lType :LONG ;
- pptlPick :PPOINTL ;
- lMaxHits :LONG ;
- lMaxDepth :LONG ;
- plSegTag :PLONG ) return LONG;
- pragma Import(c,GpiCorrelateFrom, Link_name=>"_GpiCorrelateFrom");
-
- function GpiCorrelateSegment(ps :HPS ;
- lSegment :LONG ;
- lType :LONG ;
- pptlPick :PPOINTL ;
- lMaxHits :LONG ;
- lMaxDepth:LONG ;
- alSegTag :PLONG ) return LONG;
- pragma Import(c,GpiCorrelateSegment, Link_name=>"_GpiCorrelateSegment");
-
- -- data formats for GpiPutData and GpiGetData
- DFORM_NOCONV :constant Long:= 0 ;
- DFORM_S370SHORT :constant Long:= 1 ;
- DFORM_PCSHORT :constant Long:= 2 ;
- DFORM_PCLONG :constant Long:= 4 ;
-
- -- segment attributes used by GpiSet/QuerySegmentAttrs and others
- ATTR_ERROR :constant Long:= -1 ;
- ATTR_DETECTABLE :constant Long:= 1 ;
- ATTR_VISIBLE :constant Long:= 2 ;
- ATTR_CHAINED :constant Long:= 6 ;
- ATTR_DYNAMIC :constant Long:= 8 ;
- ATTR_FASTCHAIN :constant Long:= 9 ;
- ATTR_PROP_DETECTABLE :constant Long:= 10 ;
- ATTR_PROP_VISIBLE :constant Long:= 11 ;
-
- -- attribute on/off values
- ATTR_OFF :constant Long:= 0 ;
- ATTR_ON :constant Long:= 1 ;
-
- -- segment priority used by GpiSetSegmentPriority and others
- LOWER_PRI :constant Long:= -1;
- HIGHER_PRI :constant Long:= 1 ;
-
- --** segment control functions
-
- function GpiOpenSegment(ps :HPS ;
- lSegment:LONG ) return BOOL;
- pragma Import(c,GpiOpenSegment, Link_name=>"_GpiOpenSegment");
-
- function GpiCloseSegment(ps :HPS ) return BOOL;
- pragma Import(c,GpiCloseSegment, Link_name=>"_GpiCloseSegment");
-
- function GpiDeleteSegment(ps :HPS ;
- lSegid:LONG ) return BOOL;
- pragma Import(c,GpiDeleteSegment, Link_name=>"_GpiDeleteSegment");
-
- function GpiQueryInitialSegmentAttrs(ps :HPS ;
- lAttribute:LONG ) return LONG;
- pragma Import(c,GpiQueryInitialSegmentAttrs, Link_name=>"_GpiQueryInitialSegmentAttrs");
-
- function GpiSetInitialSegmentAttrs(ps :HPS ;
- lAttribute:LONG ;
- lValue :LONG ) return BOOL;
- pragma Import(c,GpiSetInitialSegmentAttrs, Link_name=>"_GpiSetInitialSegmentAttrs");
-
- function GpiQuerySegmentAttrs(ps :HPS ;
- lSegid :LONG ;
- lAttribute:LONG ) return LONG;
- pragma Import(c,GpiQuerySegmentAttrs, Link_name=>"_GpiQuerySegmentAttrs");
-
- function GpiSetSegmentAttrs(ps :HPS ;
- lSegid :LONG ;
- lAttribute:LONG ;
- lValue :LONG ) return BOOL;
- pragma Import(c,GpiSetSegmentAttrs, Link_name=>"_GpiSetSegmentAttrs");
-
- function GpiQuerySegmentPriority(ps :HPS ;
- lRefSegid:LONG ;
- lOrder :LONG ) return LONG;
- pragma Import(c,GpiQuerySegmentPriority, Link_name=>"_GpiQuerySegmentPriority");
-
- function GpiSetSegmentPriority(ps :HPS ;
- lSegid :LONG ;
- lRefSegid:LONG ;
- lOrder :LONG ) return BOOL;
- pragma Import(c,GpiSetSegmentPriority, Link_name=>"_GpiSetSegmentPriority");
-
- function GpiDeleteSegments(ps :HPS ;
- lFirstSegment:LONG ;
- lLastSegment :LONG ) return BOOL;
- pragma Import(c,GpiDeleteSegments, Link_name=>"_GpiDeleteSegments");
-
- function GpiQuerySegmentNames(ps :HPS ;
- lFirstSegid:LONG ;
- lLastSegid :LONG ;
- lMax :LONG ;
- alSegids :PLONG) return LONG;
- pragma Import(c,GpiQuerySegmentNames, Link_name=>"_GpiQuerySegmentNames");
-
- -- --** draw functions for segments
-
- function GpiGetData(ps :HPS ;
- lSegid :LONG ;
- plOffset:PLONG ;
- lFormat :LONG ;
- lLength :LONG ;
- pbData :PBYTE ) return LONG;
- pragma Import(c,GpiGetData, Link_name=>"_GpiGetData");
-
- function GpiPutData(ps :HPS ;
- lFormat:LONG ;
- plCount:PLONG ;
- pbData :PBYTE ) return BOOL;
- pragma Import(c,GpiPutData, Link_name=>"_GpiPutData");
-
- function GpiDrawChain( ps:HPS ) return BOOL;
- pragma Import(c,GpiDrawChain, Link_name=>"_GpiDrawChain");
-
- function GpiDrawFrom(ps :HPS ;
- lFirstSegment:LONG ;
- lLastSegment :LONG ) return BOOL;
- pragma Import(c,GpiDrawFrom, Link_name=>"_GpiDrawFrom");
-
- function GpiDrawSegment(ps :HPS ;
- lSegment:LONG ) return BOOL;
- pragma Import(c,GpiDrawSegment, Link_name=>"_GpiDrawSegment");
-
- function GpiDrawDynamics(ps:HPS ) return BOOL;
- pragma Import(c,GpiDrawDynamics, Link_name=>"_GpiDrawDynamics");
-
- function GpiRemoveDynamics(ps :HPS ;
- lFirstSegid:LONG ;
- lLastSegid :LONG ) return BOOL;
- pragma Import(c,GpiRemoveDynamics, Link_name=>"_GpiRemoveDynamics");
-
- -- edit modes used by GpiSet/QueryEditMode
- SEGEM_ERROR :constant Long:= 0 ;
- SEGEM_INSERT :constant Long:= 1 ;
- SEGEM_REPLACE :constant Long:= 2 ;
-
- -- segment editing by element functions
-
- function GpiBeginElement(ps :HPS ;
- lType :LONG ;
- pszDesc:PSZ ) return BOOL;
- pragma Import(c,GpiBeginElement, Link_name=>"_GpiBeginElement");
-
- function GpiEndElement( ps:HPS ) return BOOL;
- pragma Import(c,GpiEndElement, Link_name=>"_GpiEndElement");
-
- function GpiLabel(ps :HPS ;
- lLabel:LONG ) return BOOL;
- pragma Import(c,GpiLabel, Link_name=>"_GpiLabel");
-
- function GpiElement(ps :HPS ;
- lType :LONG ;
- pszDesc:PSZ ;
- lLength:LONG ;
- pbData :PBYTE ) return LONG;
- pragma Import(c,GpiElement, Link_name=>"_GpiElement");
-
- function GpiQueryElement(ps :HPS ;
- lOff :LONG ;
- lMaxLength:LONG ;
- pbData :PBYTE ) return LONG;
- pragma Import(c,GpiQueryElement, Link_name=>"_GpiQueryElement");
-
- function GpiDeleteElement( ps:HPS ) return BOOL;
- pragma Import(c,GpiDeleteElement, Link_name=>"_GpiDeleteElement");
-
- function GpiDeleteElementRange(ps :HPS ;
- lFirstElement:LONG ;
- lLastElement :LONG ) return BOOL;
- pragma Import(c,GpiDeleteElementRange, Link_name=>"_GpiDeleteElementRange");
-
- function GpiDeleteElementsBetweenLabels(ps :HPS ;
- lFirstLabel:LONG ;
- lLastLabel :LONG ) return BOOL;
- pragma Import(c,GpiDeleteElementsBetweenLabels, Link_name=>"_GpiDeleteElementsBetweenLabels");
-
- function GpiQueryEditMode(ps:HPS ) return LONG;
- pragma Import(c,GpiQueryEditMode, Link_name=>"_GpiQueryEditMode");
-
- function GpiSetEditMode(ps :HPS ;
- lMode:LONG ) return BOOL;
- pragma Import(c,GpiSetEditMode, Link_name=>"_GpiSetEditMode");
-
- function GpiQueryElementPointer( ps :HPS) return LONG;
- pragma Import(c,GpiQueryElementPointer, Link_name=>"_GpiQueryElementPointer");
-
- function GpiSetElementPointer(ps :HPS ;
- lElement:LONG ) return BOOL;
- pragma Import(c,GpiSetElementPointer, Link_name=>"_GpiSetElementPointer");
-
- function GpiOffsetElementPointer(ps :HPS ;
- loffset:LONG ) return BOOL;
- pragma Import(c,GpiOffsetElementPointer, Link_name=>"_GpiOffsetElementPointer");
-
- function GpiQueryElementType(ps :HPS ;
- plType :PLONG ;
- lLength:LONG ;
- pszData:PSZ ) return LONG;
- pragma Import(c,GpiQueryElementType, Link_name=>"_GpiQueryElementType");
-
- function GpiSetElementPointerAtLabel(ps :HPS ;
- lLabel:LONG ) return BOOL;
- pragma Import(c,GpiSetElementPointerAtLabel, Link_name=>"_GpiSetElementPointerAtLabel");
-
- -- co-ordinates space for GpiConvert
- CVTC_WORLD :constant Long:= 1 ;
- CVTC_MODEL :constant Long:= 2 ;
- CVTC_DEFAULTPAGE :constant Long:= 3 ;
- CVTC_PAGE :constant Long:= 4 ;
- CVTC_DEVICE :constant Long:= 5 ;
-
- -- type of transformation for GpiSetSegmentTransformMatrix
- TRANSFORM_REPLACE :constant Long:= 0 ;
- TRANSFORM_ADD :constant Long:= 1 ;
- TRANSFORM_PREEMPT :constant Long:= 2 ;
-
- -- transform matrix
-
- type MATRIXLF is record -- matlf
- fxM11 :LONG;
- fxM12 :LONG;
- lM13 :LONG;
- fxM21 :LONG;
- fxM22 :LONG;
- lM23 :LONG;
- lM31 :LONG;
- lM32 :LONG;
- lM33 :LONG;
- end record; -- MATRIXLF;
- type PMATRIXLF is access all MATRIXLF;
-
- -- --** transform and transform conversion functions
-
- function GpiQuerySegmentTransformMatrix(ps :HPS ;
- lSegid :LONG ;
- lCount :LONG ;
- pmatlfArray:PMATRIXLF ) return BOOL;
- pragma Import(c,GpiQuerySegmentTransformMatrix, Link_name=>"_GpiQuerySegmentTransformMatrix");
-
- function GpiSetSegmentTransformMatrix(ps :HPS ;
- lSegid :LONG ;
- lCount :LONG ;
- pmatlfarray:PMATRIXLF ;
- lOptions :LONG ) return BOOL;
- pragma Import(c,GpiSetSegmentTransformMatrix, Link_name=>"_GpiSetSegmentTransformMatrix");
-
- function GpiConvert(ps :HPS ;
- lSrc :LONG ;
- lTarg :LONG ;
- lCount :LONG ;
- aptlPoints:PPOINTL ) return BOOL;
- pragma Import(c,GpiConvert, Link_name=>"_GpiConvert");
-
- function GpiConvertWithMatrix(ps :HPS ;
- lCountp :LONG ;
- aptlPoints :PPOINTL ;
- lCount :LONG ;
- pmatlfArray:PMATRIXLF ) return BOOL;
- pragma Import(c,GpiConvertWithMatrix, Link_name=>"_GpiConvertWithMatrix");
-
- function GpiQueryModelTransformMatrix(ps :HPS ;
- lCount :LONG ;
- pmatlfArray:PMATRIXLF ) return BOOL;
- pragma Import(c,GpiQueryModelTransformMatrix, Link_name=>"_GpiQueryModelTransformMatrix");
-
- function GpiSetModelTransformMatrix(ps :HPS ;
- lCount :LONG ;
- pmatlfArray:PMATRIXLF ;
- lOptions :LONG ) return BOOL;
- pragma Import(c,GpiSetModelTransformMatrix, Link_name=>"_GpiSetModelTransformMatrix");
-
- function GpiCallSegmentMatrix(ps :HPS ;
- lSegment :LONG ;
- lCount :LONG ;
- pmatlfArray:PMATRIXLF ;
- lOptions :LONG ) return LONG;
- pragma Import(c,GpiCallSegmentMatrix, Link_name=>"_GpiCallSegmentMatrix");
-
- function GpiQueryDefaultViewMatrix(ps :HPS ;
- lCount :LONG ;
- pmatlfArray:PMATRIXLF ) return BOOL;
- pragma Import(c,GpiQueryDefaultViewMatrix, Link_name=>"_GpiQueryDefaultViewMatrix");
-
- function GpiSetDefaultViewMatrix(ps :HPS ;
- lCount :LONG ;
- pmatlfarray:PMATRIXLF ;
- lOptions :LONG ) return BOOL;
- pragma Import(c,GpiSetDefaultViewMatrix, Link_name=>"_GpiSetDefaultViewMatrix");
-
- function GpiQueryPageViewport(ps :HPS ;
- prclViewport:PRECTL ) return BOOL;
- pragma Import(c,GpiQueryPageViewport, Link_name=>"_GpiQueryPageViewport");
-
- function GpiSetPageViewport(ps :HPS ;
- prclViewport:PRECTL ) return BOOL;
- pragma Import(c,GpiSetPageViewport, Link_name=>"_GpiSetPageViewport");
-
- function GpiQueryViewingTransformMatrix(ps :HPS ;
- lCount :LONG ;
- pmatlfArray:PMATRIXLF ) return BOOL;
- pragma Import(c,GpiQueryViewingTransformMatrix, Link_name=>"_GpiQueryViewingTransformMatrix");
-
- function GpiSetViewingTransformMatrix(ps :HPS ;
- lCount :LONG ;
- pmatlfArray:PMATRIXLF ;
- lOptions :LONG ) return BOOL;
- pragma Import(c,GpiSetViewingTransformMatrix, Link_name=>"_GpiSetViewingTransformMatrix");
-
- -- --** transform helper routines
-
- function GpiTranslate(p1 :HPS;
- p2 :PMATRIXLF;
- p3 :LONG;
- p4 :PPOINTL) return BOOL;
- pragma Import(c,GpiTranslate, Link_name=>"_GpiTranslate");
-
- function GpiScale(p1:HPS;
- p2:PMATRIXLF;
- p3:LONG;
- p4:PLONG;
- p5:PPOINTL) return BOOL;
- pragma Import(c,GpiScale, Link_name=>"_GpiScale");
-
- function GpiRotate(p1:HPS;
- p2:PMATRIXLF;
- p3:LONG;
- p4:LONG;
- p5:PPOINTL) return BOOL;
- pragma Import(c,GpiRotate, Link_name=>"_GpiRotate");
-
- -- --** general clipping functions
-
- function GpiSetGraphicsField(ps :HPS ;
- prclField:PRECTL ) return BOOL;
- pragma Import(c,GpiSetGraphicsField, Link_name=>"_GpiSetGraphicsField");
-
- function GpiQueryGraphicsField(ps :HPS ;
- prclField:PRECTL ) return BOOL;
- pragma Import(c,GpiQueryGraphicsField, Link_name=>"_GpiQueryGraphicsField");
-
- function GpiSetViewingLimits(ps :HPS ;
- prclLimits:PRECTL ) return BOOL;
- pragma Import(c,GpiSetViewingLimits, Link_name=>"_GpiSetViewingLimits");
-
- function GpiQueryViewingLimits(ps :HPS ;
- prclLimits:PRECTL ) return BOOL;
- pragma Import(c,GpiQueryViewingLimits, Link_name=>"_GpiQueryViewingLimits");
-
- -- modes for GpiModifyPath
- MPATH_STROKE :constant Long:= 6 ;
-
- -- modes for GpiFillPath
- FPATH_ALTERNATE :constant Long:= 0 ;
- FPATH_WINDING :constant Long:= 2 ;
- FPATH_INCL :constant Long:= 0 ;
- FPATH_EXCL :constant Long:= 8 ;
-
- -- modes for GpiSetClipPath
- SCP_ALTERNATE :constant Long:= 0 ;
- SCP_WINDING :constant Long:= 2 ;
- SCP_AND :constant Long:= 4 ;
- SCP_RESET :constant Long:= 0 ;
- SCP_INCL :constant Long:= 0 ;
- SCP_EXCL :constant Long:= 8 ;
-
- --** Path and Clip Path functions
-
- function GpiBeginPath(ps :HPS ;
- lPath:LONG ) return BOOL;
- pragma Import(c,GpiBeginPath, Link_name=>"_GpiBeginPath");
-
- function GpiEndPath( ps:HPS ) return BOOL;
- pragma Import(c,GpiEndPath, Link_name=>"_GpiEndPath");
-
- function GpiCloseFigure(ps:HPS ) return BOOL;
- pragma Import(c,GpiCloseFigure, Link_name=>"_GpiCloseFigure");
-
- function GpiModifyPath( ps :HPS;
- lPath:LONG ;
- lMode:LONG ) return BOOL;
- pragma Import(c,GpiModifyPath, Link_name=>"_GpiModifyPath");
-
- function GpiFillPath(ps :HPS ;
- lPath :LONG ;
- lOptions:LONG ) return LONG;
- pragma Import(c,GpiFillPath, Link_name=>"_GpiFillPath");
-
- function GpiSetClipPath(ps :HPS ;
- lPath :LONG ;
- lOptions:LONG ) return BOOL;
- pragma Import(c,GpiSetClipPath, Link_name=>"_GpiSetClipPath");
-
- function GpiOutlinePath(ps :HPS ;
- lPath :LONG ;
- lOptions:LONG ) return LONG;
- pragma Import(c,GpiOutlinePath, Link_name=>"_GpiOutlinePath");
-
- function GpiPathToRegion(GpiH :HPS ;
- lPath :LONG ;
- lOptions:LONG ) return HRGN;
- pragma Import(c,GpiPathToRegion, Link_name=>"_GpiPathToRegion");
-
- function GpiStrokePath(ps :HPS ;
- lPath :LONG ;
- flOptions:ULONG ) return LONG;
- pragma Import(c,GpiStrokePath, Link_name=>"_GpiStrokePath");
-
- -- options for GpiCreateLogColorTable and others
- LCOL_RESET :constant Long:= 16#0001#;
- LCOL_REALIZABLE :constant Long:= 16#0002#;
- LCOL_PURECOLOR :constant Long:= 16#0004#;
- LCOL_OVERRIDE_DEFAULT_COLORS :constant Long:=16#0008#;
- LCOL_REALIZED :constant Long:=16#0010#;
-
- -- format of logical lColor table for GpiCreateLogColorTable and others
- LCOLF_DEFAULT :constant Long:= 0 ;
- LCOLF_INDRGB :constant Long:= 1 ;
- LCOLF_CONSECRGB :constant Long:= 2 ;
- LCOLF_RGB :constant Long:= 3 ;
- LCOLF_PALETTE :constant Long:= 4 ;
-
- -- options for GpiQueryRealColors and others
- LCOLOPT_REALIZED :constant Long:= 16#0001#;
- LCOLOPT_INDEX :constant Long:= 16#0002#;
-
- -- return codes from GpiQueryLogColorTable to indicate it is in RGB mode
- QLCT_ERROR :constant Long:= -1;
- QLCT_RGB :constant Long:= -2;
-
- -- GpiQueryLogColorTable index returned for colors not explicitly loaded
- QLCT_NOTLOADED :constant Long:= -1;
-
- -- return codes for GpiQueryColorData
- QCD_LCT_FORMAT :constant Long:= 0 ;
- QCD_LCT_LOINDEX :constant Long:= 1 ;
- QCD_LCT_HIINDEX :constant Long:= 2 ;
- QCD_LCT_OPTIONS :constant Long:= 3 ;
-
- -- Palette manager return values
- PAL_ERROR :constant Long:= -1;
-
- -- color flags for GpiCreatePalette and others
- PC_RESERVED :constant Long:= 01;
- PC_EXPLICIT :constant Long:= 02 ;
- PC_NOCOLLAPSE :constant Long:= 04 ;
-
- -- logical lColor table functions
-
- function GpiCreateLogColorTable(ps :HPS ;
- flOptions:ULONG ;
- lFormat :LONG ;
- lStart :LONG ;
- lCount :LONG ;
- alTable :PLONG ) return BOOL;
- pragma Import(c,GpiCreateLogColorTable, Link_name=>"_GpiCreateLogColorTable");
-
- function GpiQueryColorData(ps :HPS ;
- lCount :LONG ;
- alArray:PLONG) return BOOL;
- pragma Import(c,GpiQueryColorData, Link_name=>"_GpiQueryColorData");
-
- function GpiQueryLogColorTable(ps :HPS ;
- flOptions:ULONG ;
- lStart :LONG ;
- lCount :LONG ;
- alArray :PLONG ) return LONG;
- pragma Import(c,GpiQueryLogColorTable, Link_name=>"_GpiQueryLogColorTable");
-
- function GpiQueryRealColors(ps :HPS ;
- flOptions:ULONG ;
- lStart :LONG ;
- lCount :LONG ;
- alColors :PLONG ) return LONG;
- pragma Import(c,GpiQueryRealColors, Link_name=>"_GpiQueryRealColors");
-
- function GpiQueryNearestColor(ps :HPS ;
- flOptions:ULONG ;
- lRgbIn :LONG ) return LONG;
- pragma Import(c,GpiQueryNearestColor, Link_name=>"_GpiQueryNearestColor");
-
- function GpiQueryColorIndex(ps :HPS ;
- flOptions:ULONG ;
- lRgbColor:LONG ) return LONG;
- pragma Import(c,GpiQueryColorIndex, Link_name=>"_GpiQueryColorIndex");
-
- function GpiQueryRGBColor(ps :HPS ;
- flOptions :ULONG ;
- lColorIndex:LONG ) return LONG;
- pragma Import(c,GpiQueryRGBColor, Link_name=>"_GpiQueryRGBColor");
-
- -- --Palette manager functions
-
- function GpiCreatePalette(ha :HAB ;
- flOptions:ULONG ;
- ulFormat :ULONG ;
- ulCount :ULONG ;
- aulTable :PULONG ) return HPAL;
- pragma Import(c,GpiCreatePalette, Link_name=>"_GpiCreatePalette");
-
- function GpiDeletePalette( pal:HPAL) return BOOL;
- pragma Import(c,GpiDeletePalette, Link_name=>"_GpiDeletePalette");
-
- function GpiSelectPalette(ps :HPS ;
- pal:HPAL ) return HPAL;
- pragma Import(c,GpiSelectPalette, Link_name=>"_GpiSelectPalette");
-
- function GpiAnimatePalette(pal :HPAL ;
- ulFormat:ULONG ;
- ulStart :ULONG ;
- ulCount :ULONG ;
- aulTable:PULONG ) return LONG;
- pragma Import(c,GpiAnimatePalette, Link_name=>"_GpiAnimatePalette");
-
- function GpiSetPaletteEntries(pal :HPAL ;
- ulFormat:ULONG ;
- ulStart :ULONG ;
- ulCount :ULONG ;
- aulTable:PULONG ) return BOOL;
- pragma Import(c,GpiSetPaletteEntries, Link_name=>"_GpiSetPaletteEntries");
-
- function GpiQueryPalette(ps:HPS ) return HPAL;
- pragma Import(c,GpiQueryPalette, Link_name=>"_GpiQueryPalette");
-
- function GpiQueryPaletteInfo(pal :HPAL ;
- ps :HPS ;
- flOptions:ULONG ;
- ulStart :ULONG ;
- ulCount :ULONG ;
- aulArray :PULONG ) return LONG;
- pragma Import(c,GpiQueryPaletteInfo, Link_name=>"_GpiQueryPaletteInfo");
-
- -- -- default color table indices
- --
- CLR_FALSE :constant Long:=-5 ;
- CLR_TRUE :constant Long:=-4 ;
-
- CLR_ERROR :constant Long:=-255 ;
- CLR_DEFAULT :constant Long:=-3 ;
- CLR_WHITE :constant Long:=-2 ;
- CLR_BLACK :constant Long:=-1 ;
- CLR_BACKGROUND:constant Long:= 0;
- CLR_BLUE :constant Long:= 1;
- CLR_RED :constant Long:= 2;
- CLR_PINK :constant Long:= 3;
- CLR_GREEN :constant Long:= 4;
- CLR_CYAN :constant Long:= 5;
- CLR_YELLOW :constant Long:= 6;
- CLR_NEUTRAL :constant Long:= 7;
-
- CLR_DARKGRAY :constant Long:= 8;
- CLR_DARKBLUE :constant Long:= 9;
- CLR_DARKRED :constant Long:= 10;
- CLR_DARKPINK :constant Long:= 11;
- CLR_DARKGREEN :constant Long:= 12;
- CLR_DARKCYAN :constant Long:= 13;
- CLR_BROWN :constant Long:= 14;
- CLR_PALEGRAY :constant Long:= 15;
-
- -- rgb colors
- RGB_ERROR :constant Long:= (-255);
- RGB_BLACK :constant Long:= 16#00000000#;
- RGB_BLUE :constant Long:= 16#000000FF#;
- RGB_GREEN :constant Long:= 16#0000FF00#;
- RGB_CYAN :constant Long:= 16#0000FFFF#;
- RGB_RED :constant Long:= 16#00FF0000#;
- RGB_PINK :constant Long:= 16#00FF00FF#;
- RGB_YELLOW :constant Long:= 16#00FFFF00#;
- RGB_WHITE :constant Long:= 16#00FFFFF#;
-
- -- control flags used by GpiBeginArea
- BA_NOBOUNDARY :constant Long:= 0 ;
- BA_BOUNDARY :constant Long:= 16#0001#;
-
-
- BA_ALTERNATE :constant Long:= 0 ;
- BA_WINDING :constant Long:= 16#0002#;
-
- BA_INCL :constant Long:= 0 ;
- BA_EXCL :constant Long:= 8 ;
-
-
- -- fill options for GpiBox/GpiFullArc
- DRO_FILL :constant Long:= 1 ;
- DRO_OUTLINE :constant Long:= 2 ;
- DRO_OUTLINEFILL :constant Long:= 3 ;
-
- -- basic pattern symbols
- PATSYM_ERROR :constant Long:= (-1);
- PATSYM_DEFAULT :constant Long:= 0 ;
- PATSYM_DENSE1 :constant Long:= 1 ;
- PATSYM_DENSE2 :constant Long:= 2 ;
- PATSYM_DENSE3 :constant Long:= 3 ;
- PATSYM_DENSE4 :constant Long:= 4 ;
- PATSYM_DENSE5 :constant Long:= 5 ;
- PATSYM_DENSE6 :constant Long:= 6 ;
- PATSYM_DENSE7 :constant Long:= 7 ;
- PATSYM_DENSE8 :constant Long:= 8 ;
- PATSYM_VERT :constant Long:= 9 ;
- PATSYM_HORIZ :constant Long:= 10 ;
- PATSYM_DIAG1 :constant Long:= 11 ;
- PATSYM_DIAG2 :constant Long:= 12 ;
- PATSYM_DIAG3 :constant Long:= 13 ;
- PATSYM_DIAG4 :constant Long:= 14 ;
- PATSYM_NOSHADE :constant Long:= 15 ;
- PATSYM_SOLID :constant Long:= 16 ;
- -- #ifndef INCL_SAADEFS
- PATSYM_HALFTONE :constant Long:= 17 ;
- -- #endif -- no INCL_SAADEFS
- PATSYM_HATCH :constant Long:= 18 ;
- PATSYM_DIAGHATCH :constant Long:= 19 ;
- PATSYM_BLANK :constant Long:= 64 ;
-
- -- lcid values for GpiSet/QueryPattern and others
- LCID_ERROR :constant Long:= (-1);
- LCID_DEFAULT :constant Long:= 0 ;
-
- -- global primitive functions
-
- function GpiSetColor(ps :HPS ;
- lColor:LONG ) return BOOL;
- pragma Import(c,GpiSetColor, Link_name=>"_GpiSetColor");
-
- function GpiQueryColor( ps:HPS ) return LONG;
- pragma Import(c,GpiQueryColor, Link_name=>"_GpiQueryColor");
-
- -- --** line primitive functions
-
- function GpiBox(ps :HPS ;
- lControl :LONG ;
- pptlPoint:PPOINTL ;
- lHRound :LONG ;
- lVRound :LONG ) return LONG;
- pragma Import(c,GpiBox, Link_name=>"_GpiBox");
-
- function GpiMove(ps :HPS ;
- pptlPoint:PPOINTL ) return BOOL;
- pragma Import(c,GpiMove, Link_name=>"_GpiMove");
-
- function GpiLine(ps :HPS ;
- pptlEndPoint:PPOINTL ) return LONG;
- pragma Import(c,GpiLine, Link_name=>"_GpiLine");
-
- function GpiPolyLine(ps :HPS ;
- lCount :LONG ;
- aptlPoints:PPOINTL ) return LONG;
- pragma Import(c,GpiPolyLine, Link_name=>"_GpiPolyLine");
-
- function GpiPolyLineDisjoint(ps :HPS ;
- lCount :LONG ;
- aptlPoints:PPOINTL ) return LONG;
- pragma Import(c,GpiPolyLineDisjoint, Link_name=>"_GpiPolyLineDisjoint");
-
- -- --** area primitive functions
-
- function GpiSetPattern(ps :HPS ;
- lPatternSymbol:LONG ) return BOOL;
- pragma Import(c,GpiSetPattern, Link_name=>"_GpiSetPattern");
-
- function GpiQueryPattern( ps :HPS) return LONG;
- pragma Import(c,GpiQueryPattern, Link_name=>"_GpiQueryPattern");
-
- function GpiBeginArea(ps :HPS ;
- flOptions:ULONG ) return BOOL;
- pragma Import(c,GpiBeginArea, Link_name=>"_GpiBeginArea");
-
- function GpiEndArea( ps :HPS) return LONG;
- pragma Import(c,GpiEndArea, Link_name=>"_GpiEndArea");
-
- -- --** character primitive functions
-
- function GpiCharString(ps :HPS ;
- lCount :LONG ;
- pchString:PCH ) return LONG;
- pragma Import(c,GpiCharString, Link_name=>"_GpiCharString");
-
- function GpiCharStringAt(ps :HPS ;
- pptlPoint:PPOINTL ;
- lCount :LONG ;
- pchString:PCH ) return LONG;
- pragma Import(c,GpiCharStringAt, Link_name=>"_GpiCharStringAt");
-
- -- mode for GpiSetAttrMode
- AM_ERROR :constant Long:= (-1);
- AM_PRESERVE :constant Long:= 0 ;
- AM_NOPRESERVE :constant Long:= 1 ;
-
- -- foreground mixes
- FM_ERROR :constant Long:= (-1);
- FM_DEFAULT :constant Long:= 0 ;
- FM_OR :constant Long:= 1 ;
- FM_OVERPAINT :constant Long:= 2 ;
- FM_LEAVEALONE :constant Long:= 5 ;
-
- FM_XOR :constant Long:= 4 ;
- FM_AND :constant Long:= 6 ;
- FM_SUBTRACT :constant Long:= 7 ;
- FM_MASKSRCNOT :constant Long:= 8 ;
- FM_ZERO :constant Long:= 9 ;
- FM_NOTMERGESRC :constant Long:= 10 ;
- FM_NOTXORSRC :constant Long:= 11 ;
- FM_INVERT :constant Long:= 12 ;
- FM_MERGESRCNOT :constant Long:= 13 ;
- FM_NOTCOPYSRC :constant Long:= 14 ;
- FM_MERGENOTSRC :constant Long:= 15 ;
- FM_NOTMASKSRC :constant Long:= 16 ;
- FM_ONE :constant Long:= 17 ;
-
- -- background mixes
- BM_ERROR :constant Long:= -1 ;
- BM_DEFAULT :constant Long:= 0 ;
- BM_OR :constant Long:= 1 ;
- BM_OVERPAINT :constant Long:= 2 ;
- BM_LEAVEALONE :constant Long:= 5 ;
-
- BM_XOR :constant Long:= 4 ;
- BM_AND :constant Long:= 6 ;
- BM_SUBTRACT :constant Long:= 7 ;
- BM_MASKSRCNOT :constant Long:= 8 ;
- BM_ZERO :constant Long:= 9 ;
- BM_NOTMERGESRC :constant Long:= 10 ;
- BM_NOTXORSRC :constant Long:= 11 ;
- BM_INVERT :constant Long:= 12 ;
- BM_MERGESRCNOT :constant Long:= 13 ;
- BM_NOTCOPYSRC :constant Long:= 14 ;
- BM_MERGENOTSRC :constant Long:= 15 ;
- BM_NOTMASKSRC :constant Long:= 16 ;
- BM_ONE :constant Long:= 17 ;
- BM_SRCTRANSPARENT :constant Long:= 18 ;
- BM_DESTTRANSPARENT:constant Long:= 19 ;
-
- -- basic line type styles
- LINETYPE_ERROR :constant Long:= -1;
- LINETYPE_DEFAULT :constant Long:= 0 ;
- LINETYPE_DOT :constant Long:= 1 ;
- LINETYPE_SHORTDASH :constant Long:= 2 ;
- LINETYPE_DASHDOT :constant Long:= 3 ;
- LINETYPE_DOUBLEDOT :constant Long:= 4 ;
- LINETYPE_LONGDASH :constant Long:= 5 ;
- LINETYPE_DASHDOUBLEDOT :constant Long:= 6 ;
- LINETYPE_SOLID :constant Long:= 7 ;
- LINETYPE_INVISIBLE :constant Long:= 8 ;
- -- #ifndef INCL_SAADEFS
- LINETYPE_ALTERNATE :constant Long:= 9 ;
- -- #endif -- no INCL_SAADEFS
-
- -- cosmetic line widths
- LINEWIDTH_ERROR :constant Long:= -1 ;
- LINEWIDTH_DEFAULT :constant Long:= 0 ;
- LINEWIDTH_NORMAL :constant Long:= 16#00010000#; -- MAKEFIXED(1;0)
- LINEWIDTH_THICK :constant Long:= 16#00020000#; -- MAKEFIXED(2;0)
-
- -- actual line widths
- LINEWIDTHGEOM_ERROR :constant Long:= -1 ;
-
- -- line end styles
- LINEEND_ERROR :constant Long:= -1 ;
- LINEEND_DEFAULT :constant Long:= 0 ;
- LINEEND_FLAT :constant Long:= 1 ;
- LINEEND_SQUARE :constant Long:= 2 ;
- LINEEND_ROUND :constant Long:= 3 ;
-
- -- line join styles
- LINEJOIN_ERROR :constant Long:= (-1);
- LINEJOIN_DEFAULT :constant Long:= 0 ;
- LINEJOIN_BEVEL :constant Long:= 1 ;
- LINEJOIN_ROUND :constant Long:= 2 ;
- LINEJOIN_MITRE :constant Long:= 3 ;
-
- -- character directions
- CHDIRN_ERROR :constant Long:= (-1);
- CHDIRN_DEFAULT :constant Long:= 0 ;
- CHDIRN_LEFTRIGHT :constant Long:= 1 ;
- CHDIRN_TOPBOTTOM :constant Long:= 2 ;
- CHDIRN_RIGHTLEFT :constant Long:= 3 ;
- CHDIRN_BOTTOMTOP :constant Long:= 4 ;
-
- -- character text alignments
- TA_NORMAL_HORIZ :constant Long:=16#0001#;
- TA_LEFT :constant Long:=16#0002#;
- TA_CENTER :constant Long:=16#0003#;
- TA_RIGHT :constant Long:=16#0004#;
- TA_STANDARD_HORIZ :constant Long:=16#0005#;
- TA_NORMAL_VERT :constant Long:=16#0100#;
- TA_TOP :constant Long:=16#0200#;
- TA_HALF :constant Long:=16#0300#;
- TA_BASE :constant Long:=16#0400#;
- TA_BOTTOM :constant Long:=16#0500#;
- TA_STANDARD_VERT :constant Long:=16#0600#;
-
- -- character modes
- CM_ERROR :constant Long:= (-1);
- CM_DEFAULT :constant Long:= 0 ;
- CM_MODE1 :constant Long:= 1 ;
- CM_MODE2 :constant Long:= 2 ;
- CM_MODE3 :constant Long:= 3 ;
-
- -- basic marker symbols
- MARKSYM_ERROR :constant Long:= (-1);
- MARKSYM_DEFAULT :constant Long:= 0 ;
- MARKSYM_CROSS :constant Long:= 1 ;
- MARKSYM_PLUS :constant Long:= 2 ;
- MARKSYM_DIAMOND :constant Long:= 3 ;
- MARKSYM_SQUARE :constant Long:= 4 ;
- MARKSYM_SIXPOINTSTAR :constant Long:= 5 ;
- MARKSYM_EIGHTPOINTSTAR:constant Long:= 6 ;
- MARKSYM_SOLIDDIAMOND :constant Long:= 7 ;
- MARKSYM_SOLIDSQUARE :constant Long:= 8 ;
- MARKSYM_DOT :constant Long:= 9 ;
- MARKSYM_SMALLCIRCLE :constant Long:= 10 ;
- MARKSYM_BLANK :constant Long:= 64 ;
-
- -- formatting options for GpiCharStringPosAt
- CHS_OPAQUE :constant Long:= 16#0001#;
- CHS_VECTOR :constant Long:= 16#0002#;
- CHS_LEAVEPOS :constant Long:= 16#0008#;
- CHS_CLIP :constant Long:= 16#0010#;
- CHS_UNDERSCORE :constant Long:= 16#0200#;
- CHS_STRIKEOUT :constant Long:= 16#0400#;
-
- -- bundle codes for GpiSetAttributes and GpiQueryAttributes
- PRIM_LINE :constant Long:= 1 ;
- PRIM_CHAR :constant Long:= 2 ;
- PRIM_MARKER :constant Long:= 3 ;
- PRIM_AREA :constant Long:= 4 ;
- PRIM_IMAGE :constant Long:= 5 ;
-
- -- line bundle mask bits
- LBB_COLOR :constant Long:= 16#0001#;
- LBB_BACK_COLOR :constant Long:= 16#0002#;
- LBB_MIX_MODE :constant Long:= 16#0004#;
- LBB_BACK_MIX_MODE :constant Long:= 16#0008#;
- LBB_WIDTH :constant Long:= 16#0010#;
- LBB_GEOM_WIDTH :constant Long:= 16#0020#;
- LBB_TYPE :constant Long:= 16#0040#;
- LBB_END :constant Long:= 16#0080#;
- LBB_JOIN :constant Long:= 16#0100#;
-
- -- character bundle mask bits
- CBB_COLOR :constant Long:= 16#0001#;
- CBB_BACK_COLOR :constant Long:= 16#0002#;
- CBB_MIX_MODE :constant Long:= 16#0004#;
- CBB_BACK_MIX_MODE :constant Long:= 16#0008#;
- CBB_SET :constant Long:= 16#0010#;
- CBB_MODE :constant Long:= 16#0020#;
- CBB_BOX :constant Long:= 16#0040#;
- CBB_ANGLE :constant Long:= 16#0080#;
- CBB_SHEAR :constant Long:= 16#0100#;
- CBB_DIRECTION :constant Long:= 16#0200#;
- CBB_TEXT_ALIGN :constant Long:= 16#0400#;
- CBB_EXTRA :constant Long:= 16#0800#;
- CBB_BREAK_EXTRA :constant Long:= 16#1000#;
-
- -- marker bundle mask bits
- MBB_COLOR :constant Long:= 16#0001#;
- MBB_BACK_COLOR :constant Long:= 16#0002#;
- MBB_MIX_MODE :constant Long:= 16#0004#;
- MBB_BACK_MIX_MODE :constant Long:= 16#0008#;
- MBB_SET :constant Long:= 16#0010#;
- MBB_SYMBOL :constant Long:= 16#0020#;
- MBB_BOX :constant Long:= 16#0040#;
-
- -- pattern bundle mask bits
- ABB_COLOR :constant Long:= 16#0001#;
- ABB_BACK_COLOR :constant Long:= 16#0002#;
- ABB_MIX_MODE :constant Long:= 16#0004#;
- ABB_BACK_MIX_MODE :constant Long:= 16#0008#;
- ABB_SET :constant Long:= 16#0010#;
- ABB_SYMBOL :constant Long:= 16#0020#;
- ABB_REF_POINT :constant Long:= 16#0040#;
-
- -- image bundle mask bits
- IBB_COLOR :constant Long:= 16#0001#;
- IBB_BACK_COLOR :constant Long:= 16#0002#;
- IBB_MIX_MODE :constant Long:= 16#0004#;
- IBB_BACK_MIX_MODE :constant Long:= 16#0008#;
-
- -- structure for GpiSetArcParams and GpiQueryArcParams
-
- type ARCPARAMS is record -- arcp
- lP :LONG ;
- lQ :LONG ;
- lR :LONG ;
- lS :LONG ;
- end record; -- ARCPARAMS;
- type PARCPARAMS is access all ARCPARAMS;
-
- -- variation of SIZE used for:FIXEDs
- type SIZEF is record -- sizfx
- cx :LONG ;
- cy :LONG ;
- end record; -- SIZEF;
- type PSIZEF is access all SIZEF;
-
- -- structure for gradient parameters e.g. for GpiSetCharAngle
- type GRADIENTL is record -- gradl
- x :LONG ;
- y :LONG ;
- end record; -- GRADIENTL;
- type PGRADIENTL is access all GRADIENTL;
-
- -- line bundle for GpiSetAttributes and GpiQueryAttributes
- type LINEBUNDLE is record -- lbnd
- lColor :LONG ;
- lBackColor :LONG ;
- usMixMode :USHORT ;
- usBackMixMode :USHORT ;
- fxWidth :LONG ;
- lGeomWidth :LONG ;
- usType :USHORT ;
- usEnd :USHORT ;
- usJoin :USHORT ;
- usReserved :USHORT ;
- end record; -- LINEBUNDLE;
- type PLINEBUNDLE is access all LINEBUNDLE;
-
- -- character bundle for GpiSetAttributes and GpiQueryAttributes
- type CHARBUNDLE is record -- cbnd
- lColor :LONG ;
- lBackColor :LONG ;
- usMixMode :USHORT ;
- usBackMixMode :USHORT ;
- usSet :USHORT ;
- usPrecision :USHORT ;
- sizfxCell :SIZEF ;
- ptlAngle :POINTL ;
- ptlShear :POINTL ;
- usDirection :USHORT ;
- usTextAlign :USHORT ;
- fxExtra :LONG ;
- fxBreakExtra :LONG ;
- end record; -- CHARBUNDLE ;
- type PCHARBUNDLE is access all CHARBUNDLE;
-
- -- marker bundle for GpiSetAttributes and GpiQueryAttributes
- type MARKERBUNDLE is record -- mbnd
- lColor :LONG ;
- lBackColor :LONG ;
- usMixMode :USHORT ;
- usBackMixMode :USHORT ;
- usSet :USHORT ;
- usSymbol :USHORT ;
- sizfxCell :SIZEF ;
- end record; -- MARKERBUNDLE;
- type PMARKERBUNDLE is access all MARKERBUNDLE;
-
- -- -- pattern bundle for GpiSetAttributes and GpiQueryAttributes
- type AREABUNDLE is record -- pbnd
- lColor :LONG ;
- lBackColor :LONG ;
- usMixMode :USHORT ;
- usBackMixMode :USHORT ;
- usSet :USHORT ;
- usSymbol :USHORT ;
- ptlRefPoint :POINTL ;
- end record; -- AREABUNDLE;
- type PAREABUNDLE is access all AREABUNDLE;
-
- -- image bundle for GpiSetAttributes and GpiQueryAttributes
- type IMAGEBUNDLE is record -- ibmd
- lColor :LONG ;
- lBackColor :LONG ;
- usMixMode :USHORT ;
- usBackMixMode :USHORT ;
- end record; -- IMAGEBUNDLE;
- type PIMAGEBUNDLE is access all IMAGEBUNDLE;
-
- -- pointer to any bundle used by GpiSet/QueryAttrs
- subtype PBUNDLE is PVOID;
-
- -- array indices for GpiQueryTextBox
- TXTBOX_TOPLEFT :constant Long:= 0 ;
- TXTBOX_BOTTOMLEFT :constant Long:= 1 ;
- TXTBOX_TOPRIGHT :constant Long:= 2 ;
- TXTBOX_BOTTOMRIGHT :constant Long:= 3 ;
- TXTBOX_CONCAT :constant Long:= 4 ;
- -- array count for GpiQueryTextBox
- TXTBOX_COUNT :constant Long:= 5 ;
-
- -- return codes for GpiPtVisible
- PVIS_ERROR :constant Long:= 0 ;
- PVIS_INVISIBLE :constant Long:= 1 ;
- PVIS_VISIBLE :constant Long:= 2 ;
-
- -- return codes for GpiRectVisible
- RVIS_ERROR :constant Long:= 0 ;
- RVIS_INVISIBLE :constant Long:= 1 ;
- RVIS_PARTIAL :constant Long:= 2 ;
- RVIS_VISIBLE :constant Long:= 3 ;
-
- -- attribute mode functions
-
- function GpiSetAttrMode(ps :HPS ;
- lMode:LONG ) return BOOL;
- pragma Import(c,GpiSetAttrMode, Link_name=>"_GpiSetAttrMode");
-
- function GpiQueryAttrMode(ps :HPS ) return LONG;
- pragma Import(c,GpiQueryAttrMode, Link_name=>"_GpiQueryAttrMode");
-
- -- bundle primitive functions
-
- function GpiSetAttrs(ps :HPS ;
- lPrimType :LONG ;
- flAttrMask:ULONG ;
- flDefMask :ULONG ;
- ppbunAttrs:PBUNDLE ) return BOOL;
- pragma Import(c,GpiSetAttrs, Link_name=>"_GpiSetAttrs");
-
- function GpiQueryAttrs(ps :HPS ;
- lPrimType :LONG ;
- flAttrMask:ULONG ;
- ppbunAttrs:PBUNDLE ) return LONG;
- pragma Import(c,GpiQueryAttrs, Link_name=>"_GpiQueryAttrs");
-
- -- -- global primitive functions
-
- function GpiSetBackColor(ps :HPS ;
- lColor:LONG ) return BOOL;
- pragma Import(c,GpiSetBackColor, Link_name=>"_GpiSetBackColor");
-
- function GpiQueryBackColor(ps:HPS ) return LONG;
- pragma Import(c,GpiQueryBackColor, Link_name=>"_GpiQueryBackColor");
-
- function GpiSetMix(ps :HPS ;
- lMixMode:LONG ) return BOOL;
- pragma Import(c,GpiSetMix, Link_name=>"_GpiSetMix");
-
- function GpiQueryMix(ps:HPS) return LONG;
- pragma Import(c,GpiQueryMix, Link_name=>"_GpiQueryMix");
-
- function GpiSetBackMix(ps :HPS ;
- lMixMode:LONG ) return BOOL;
- pragma Import(c,GpiSetBackMix, Link_name=>"_GpiSetBackMix");
-
- function GpiQueryBackMix(ps:HPS) return LONG;
- pragma Import(c,GpiQueryBackMix, Link_name=>"_GpiQueryBackMix");
-
- -- line primitive functions
-
- function GpiSetLineType(ps :HPS ;
- lLineType:LONG ) return BOOL;
- pragma Import(c,GpiSetLineType, Link_name=>"_GpiSetLineType");
-
- function GpiQueryLineType(ps:HPS) return LONG;
- pragma Import(c,GpiQueryLineType, Link_name=>"_GpiQueryLineType");
-
- function GpiSetLineWidth(ps :HPS ;
- fxLineWidth:LONG ) return BOOL;
- pragma Import(c,GpiSetLineWidth, Link_name=>"_GpiSetLineWidth");
-
- function GpiQueryLineWidth(ps:HPS) return LONG;
- pragma Import(c,GpiQueryLineWidth, Link_name=>"_GpiQueryLineWidth");
-
- function GpiSetLineWidthGeom(ps :HPS ;
- lLineWidth:LONG ) return BOOL;
- pragma Import(c,GpiSetLineWidthGeom, Link_name=>"_GpiSetLineWidthGeom");
-
- function GpiQueryLineWidthGeom(ps:HPS) return LONG;
- pragma Import(c,GpiQueryLineWidthGeom, Link_name=>"_GpiQueryLineWidthGeom");
-
- function GpiSetLineEnd(ps :HPS ;
- lLineEnd:LONG ) return BOOL;
- pragma Import(c,GpiSetLineEnd, Link_name=>"_GpiSetLineEnd");
-
- function GpiQueryLineEnd(ps:HPS) return LONG;
- pragma Import(c,GpiQueryLineEnd, Link_name=>"_GpiQueryLineEnd");
-
- function GpiSetLineJoin(ps :HPS ;
- lLineJoin:LONG ) return BOOL;
- pragma Import(c,GpiSetLineJoin, Link_name=>"_GpiSetLineJoin");
-
- function GpiQueryLineJoin(ps:HPS) return LONG;
- pragma Import(c,GpiQueryLineJoin, Link_name=>"_GpiQueryLineJoin");
-
- function GpiSetCurrentPosition(ps :HPS ;
- pptlPoint:PPOINTL ) return BOOL;
- pragma Import(c,GpiSetCurrentPosition, Link_name=>"_GpiSetCurrentPosition");
-
- function GpiQueryCurrentPosition(ps :HPS ;
- pptlPoint:PPOINTL ) return BOOL;
- pragma Import(c,GpiQueryCurrentPosition, Link_name=>"_GpiQueryCurrentPosition");
-
- -- arc primitive functions
-
- function GpiSetArcParams(ps :HPS ;
- parcpArcParams:PARCPARAMS ) return BOOL;
- pragma Import(c,GpiSetArcParams, Link_name=>"_GpiSetArcParams");
-
- function GpiQueryArcParams(ps :HPS ;
- parcpArcParams:PARCPARAMS ) return BOOL;
- pragma Import(c,GpiQueryArcParams, Link_name=>"_GpiQueryArcParams");
-
- function GpiPointArc(ps :HPS ;
- pptl2:PPOINTL ) return LONG;
- pragma Import(c,GpiPointArc, Link_name=>"_GpiPointArc");
-
- function GpiFullArc(ps :HPS ;
- lControl :LONG ;
- fxMultiplier:LONG ) return LONG;
- pragma Import(c,GpiFullArc, Link_name=>"_GpiFullArc");
-
- function GpiPartialArc(ps :HPS ;
- pptlCenter :PPOINTL ;
- fxMultiplier:LONG ;
- fxStartAngle:LONG ;
- fxSweepAngle:LONG ) return LONG;
- pragma Import(c,GpiPartialArc, Link_name=>"_GpiPartialArc");
-
- function GpiPolyFillet(ps :HPS ;
- lCount :LONG ;
- aptlPoints:PPOINTL ) return LONG;
- pragma Import(c,GpiPolyFillet, Link_name=>"_GpiPolyFillet");
-
- function GpiPolySpline(ps :HPS ;
- lCount :LONG ;
- aptlPoints:PPOINTL ) return LONG;
- pragma Import(c,GpiPolySpline, Link_name=>"_GpiPolySpline");
-
- function GpiPolyFilletSharp(ps :HPS ;
- lCount :LONG ;
- aptlPoints:PPOINTL ;
- afxPoints :PLONG ) return LONG;
- pragma Import(c,GpiPolyFilletSharp, Link_name=>"_GpiPolyFilletSharp");
-
- -- area primitive functions
-
- function GpiSetPatternSet(ps :HPS ;
- lSet:LONG ) return BOOL;
- pragma Import(c,GpiSetPatternSet, Link_name=>"_GpiSetPatternSet");
-
- function GpiQueryPatternSet(ps:HPS) return LONG;
- pragma Import(c,GpiQueryPatternSet, Link_name=>"_GpiQueryPatternSet");
-
- function GpiSetPatternRefPoint(ps :HPS ;
- pptlRefPoint:PPOINTL ) return BOOL;
- pragma Import(c,GpiSetPatternRefPoint, Link_name=>"_GpiSetPatternRefPoint");
-
- function GpiQueryPatternRefPoint(ps :HPS ;
- pptlRefPoint:PPOINTL ) return BOOL;
- pragma Import(c,GpiQueryPatternRefPoint, Link_name=>"_GpiQueryPatternRefPoint");
-
- -- character primitive functions
-
- function GpiQueryCharStringPos(ps :HPS ;
- flOptions :ULONG ;
- lCount :LONG ;
- pchString :PCH ;
- alXincrements:PLONG ;
- aptlPositions:PPOINTL ) return BOOL;
- pragma Import(c,GpiQueryCharStringPos, Link_name=>"_GpiQueryCharStringPos");
-
- function GpiQueryCharStringPosAt(ps :HPS ;
- pptlStart :PPOINTL ;
- flOptions :ULONG ;
- lCount :LONG ;
- pchString :PCH ;
- alXincrements:PLONG ;
- aptlPositions:PPOINTL ) return BOOL;
- pragma Import(c,GpiQueryCharStringPosAt, Link_name=>"_GpiQueryCharStringPosAt");
-
- function GpiQueryTextBox(ps :HPS ;
- lCount1 :LONG ;
- pchString :PCH ;
- lCount2 :LONG ;
- aptlPoints:PPOINTL ) return BOOL;
- pragma Import(c,GpiQueryTextBox, Link_name=>"_GpiQueryTextBox");
-
- function GpiQueryDefCharBox(ps :HPS ;
- psizlSize:PSIZEL ) return BOOL;
- pragma Import(c,GpiQueryDefCharBox, Link_name=>"_GpiQueryDefCharBox");
-
- function GpiSetCharSet(ps :HPS ;
- llcid:LONG ) return BOOL;
- pragma Import(c,GpiSetCharSet, Link_name=>"_GpiSetCharSet");
-
- function GpiQueryCharSet(ps:HPS) return LONG;
- pragma Import(c,GpiQueryCharSet, Link_name=>"_GpiQueryCharSet");
-
- function GpiSetCharBox(ps :HPS ;
- psizfxBox:PSIZEF ) return BOOL;
- pragma Import(c,GpiSetCharBox, Link_name=>"_GpiSetCharBox");
-
- function GpiQueryCharBox(ps :HPS ;
- psizfxSize:PSIZEF ) return BOOL;
- pragma Import(c,GpiQueryCharBox, Link_name=>"_GpiQueryCharBox");
-
- function GpiSetCharAngle(ps :HPS ;
- pgradlAngle:PGRADIENTL ) return BOOL;
- pragma Import(c,GpiSetCharAngle, Link_name=>"_GpiSetCharAngle");
-
- function GpiQueryCharAngle(ps :HPS ;
- pgradlAngle:PGRADIENTL ) return BOOL;
- pragma Import(c,GpiQueryCharAngle, Link_name=>"_GpiQueryCharAngle");
-
- function GpiSetCharShear(ps :HPS ;
- pptlAngle:PPOINTL ) return BOOL;
- pragma Import(c,GpiSetCharShear, Link_name=>"_GpiSetCharShear");
-
- function GpiQueryCharShear(ps :HPS ;
- pptlShear:PPOINTL ) return BOOL;
- pragma Import(c,GpiQueryCharShear, Link_name=>"_GpiQueryCharShear");
-
- function GpiSetCharDirection(ps :HPS ;
- lDirection:LONG ) return BOOL;
- pragma Import(c,GpiSetCharDirection, Link_name=>"_GpiSetCharDirection");
-
- function GpiQueryCharDirection(ps:HPS) return LONG;
- pragma Import(c,GpiQueryCharDirection, Link_name=>"_GpiQueryCharDirection");
-
- function GpiSetCharMode(ps :HPS ;
- lMode:LONG ) return BOOL;
- pragma Import(c,GpiSetCharMode, Link_name=>"_GpiSetCharMode");
-
- function GpiQueryCharMode(ps:HPS) return LONG;
- pragma Import(c,GpiQueryCharMode, Link_name=>"_GpiQueryCharMode");
-
- function GpiSetTextAlignment(ps :HPS ;
- lHoriz:LONG ;
- lVert :LONG ) return BOOL;
- pragma Import(c,GpiSetTextAlignment, Link_name=>"_GpiSetTextAlignment");
-
- function GpiQueryTextAlignment(ps :HPS ;
- plHoriz:PLONG ;
- plVert :PLONG ) return BOOL;
- pragma Import(c,GpiQueryTextAlignment, Link_name=>"_GpiQueryTextAlignment");
-
- function GpiCharStringPos(ps :HPS ;
- prclRect :PRECTL ;
- flOptions:ULONG ;
- lCount :LONG ;
- pchString:PCH ;
- alAdx :PLONG ) return LONG;
- pragma Import(c,GpiCharStringPos, Link_name=>"_GpiCharStringPos");
-
- function GpiCharStringPosAt(ps :HPS ;
- pptlStart:PPOINTL ;
- prclRect :PRECTL ;
- flOptions:ULONG ;
- lCount :LONG ;
- pchString:PCH ;
- alAdx :PLONG ) return LONG;
- pragma Import(c,GpiCharStringPosAt, Link_name=>"_GpiCharStringPosAt");
-
- function GpiSetCharExtra(ps :HPS ;
- Extra:LONG ) return BOOL;
- pragma Import(c,GpiSetCharExtra, Link_name=>"_GpiSetCharExtra");
-
- function GpiSetCharBreakExtra(ps :HPS ;
- BreakExtra:LONG ) return BOOL;
- pragma Import(c,GpiSetCharBreakExtra, Link_name=>"_GpiSetCharBreakExtra");
-
- function GpiQueryCharExtra(ps :HPS ;
- Extra:PLONG ) return BOOL;
- pragma Import(c,GpiQueryCharExtra, Link_name=>"_GpiQueryCharExtra");
-
- function GpiQueryCharBreakExtra(ps :HPS ;
- BreakExtra:PLONG ) return BOOL;
- pragma Import(c,GpiQueryCharBreakExtra, Link_name=>"_GpiQueryCharBreakExtra");
-
- -- marker primitive functions
-
- function GpiMarker(ps :HPS ;
- pptlPoint:PPOINTL ) return LONG;
- pragma Import(c,GpiMarker, Link_name=>"_GpiMarker");
-
- function GpiPolyMarker(ps :HPS ;
- lCount :LONG ;
- aptlPoints:PPOINTL ) return LONG;
- pragma Import(c,GpiPolyMarker, Link_name=>"_GpiPolyMarker");
-
- function GpiSetMarker(ps :HPS ;
- lSymbol:LONG ) return BOOL;
- pragma Import(c,GpiSetMarker, Link_name=>"_GpiSetMarker");
-
- function GpiSetMarkerBox(ps :HPS ;
- psizfxSize:PSIZEF ) return BOOL;
- pragma Import(c,GpiSetMarkerBox, Link_name=>"_GpiSetMarkerBox");
-
- function GpiSetMarkerSet(ps :HPS ;
- lSet:LONG ) return BOOL;
- pragma Import(c,GpiSetMarkerSet, Link_name=>"_GpiSetMarkerSet");
-
- function GpiQueryMarker(ps:HPS) return LONG;
- pragma Import(c,GpiQueryMarker, Link_name=>"_GpiQueryMarker");
-
- function GpiQueryMarkerBox(ps :HPS ;
- psizfxSize:PSIZEF ) return BOOL;
- pragma Import(c,GpiQueryMarkerBox, Link_name=>"_GpiQueryMarkerBox");
-
- function GpiQueryMarkerSet(ps:HPS) return LONG;
- pragma Import(c,GpiQueryMarkerSet, Link_name=>"_GpiQueryMarkerSet");
-
- -- image primitive functions
-
- function GpiImage(ps :HPS ;
- lFormat :LONG ;
- psizlImageSize:PSIZEL ;
- lLength :LONG ;
- pbData :PBYTE ) return LONG;
- pragma Import(c,GpiImage, Link_name=>"_GpiImage");
-
- -- miscellaneous primitive functions
-
- function GpiPop(ps :HPS ;
- lCount:LONG ) return BOOL;
- pragma Import(c,GpiPop, Link_name=>"_GpiPop");
-
- function GpiPtVisible(ps :HPS ;
- pptlPoint:PPOINTL ) return LONG;
- pragma Import(c,GpiPtVisible, Link_name=>"_GpiPtVisible");
-
- function GpiRectVisible(ps :HPS ;
- prclRectangle:PRECTL ) return LONG;
- pragma Import(c,GpiRectVisible, Link_name=>"_GpiRectVisible");
-
- function GpiComment(ps :HPS ;
- lLength:LONG ;
- pbData :PBYTE ) return BOOL;
- pragma Import(c,GpiComment, Link_name=>"_GpiComment");
-
- -- return codes from GpiCreateLogFont
- FONT_DEFAULT :constant Long:= 1 ;
- FONT_MATCH :constant Long:= 2 ;
-
- -- lcid type for GpiQuerySetIds
- LCIDT_FONT :constant Long:= 6 ;
-
- LCIDT_BITMAP :constant Long:= 7 ;
-
- -- constant used to delete all lcids by GpiDeleteSetId
- LCID_ALL :constant Long:= (-1);
-
- -- kerning data returned by GpiQueryKerningPairs
- type KERNINGPAIRS is record -- krnpr
- sFirstChar :SHORT ;
- sSecondChar :SHORT ;
- lKerningAmount :LONG ;
- end record; -- KERNINGPAIRS;
- type PKERNINGPAIRS is access all KERNINGPAIRS;
-
- -- data required by GpiQueryFaceString
- type FACENAMEDESC is record -- fnd
- usSize :USHORT ;
- usWeightClass :USHORT ;
- usWidthClass :USHORT ;
- usReserved :USHORT ;
- flOptions :ULONG ;
- end record; -- FACENAMEDESC;
- type PFACENAMEDESC is access all FACENAMEDESC;
-
- -- FACENAMEDESC 'WeightClass' options for GpiQueryFaceString
- FWEIGHT_DONT_CARE :constant Long:=0 ;
- FWEIGHT_ULTRA_LIGHT :constant Long:=1 ;
- FWEIGHT_EXTRA_LIGHT :constant Long:=2 ;
- FWEIGHT_LIGHT :constant Long:=3 ;
- FWEIGHT_SEMI_LIGHT :constant Long:= 4 ;
- FWEIGHT_NORMAL :constant Long:= 5 ;
- FWEIGHT_SEMI_BOLD :constant Long:= 6 ;
- FWEIGHT_BOLD :constant Long:=7 ;
- FWEIGHT_EXTRA_BOLD :constant Long:=8 ;
- FWEIGHT_ULTRA_BOLD :constant Long:=9 ;
-
- -- FACENAMEDESC 'WidthClass' options for GpiQueryFaceString
- FWIDTH_DONT_CARE :constant Long:=0 ;
- FWIDTH_ULTRA_CONDENSED:constant Long:=1 ;
- FWIDTH_EXTRA_CONDENSED:constant Long:=2 ;
- FWIDTH_CONDENSED :constant Long:=3 ;
- FWIDTH_SEMI_CONDENSED :constant Long:=4 ;
- FWIDTH_NORMAL :constant Long:=5 ;
- FWIDTH_SEMI_EXPANDED :constant Long:=6 ;
- FWIDTH_EXPANDED :constant Long:=7 ;
- FWIDTH_EXTRA_EXPANDED :constant Long:=8 ;
- FWIDTH_ULTRA_EXPANDED :constant Long:=9 ;
-
- -- FACENAMEDESC 'options' for GpiQueryFaceString
- FTYPE_ITALIC :constant Long:= 16#0001#;
- FTYPE_ITALIC_DONT_CARE:constant Long:= 16#0002#;
- FTYPE_OBLIQUE :constant Long:= 16#0004#;
- FTYPE_OBLIQUE_DONT_CARE:constant Long:= 16#0008#;
- FTYPE_ROUNDED :constant Long:= 16#0010#;
- FTYPE_ROUNDED_DONT_CARE:constant Long:= 16#0020#;
-
- -- actions for GpiQueryFontAction
- QFA_PUBLIC :constant Long:= 1 ;
- QFA_PRIVATE :constant Long:= 2 ;
- QFA_ERROR :constant Long:= GPI_ALTERROR ;
-
- -- options for GpiQueryFonts
- QF_PUBLIC :constant Long:= 16#0001#;
- QF_PRIVATE :constant Long:= 16#0002#;
- QF_NO_GENERIC :constant Long:= 16#0004#;
- QF_NO_DEVICE :constant Long:= 16#0008#;
-
- -- font file descriptions for GpiQueryFontFileDescriptions
- type FFDESCS is array (1..2,1..FACESIZE) of aliased character; -- ffdescs 2*32
- subtype PFFDESCS is PCHAR ;
- type FFDESCS2 is record -- ffdescs2
- cbLength :ULONG ;
- cbFacenameOffset :ULONG ;
- abFamilyName :BYTE ; --[1];
- end record; -- FFDESCS2;
- type PFFDESCS2 is access all FFDESCS2;
-
- -- physical and logical font functions
- --
- function GpiCreateLogFont(ps :HPS ;
- pName :PSZ ;
- lLcid :LONG ;
- pfatAttrs:PFATTRS ) return LONG;
- pragma Import(c,GpiCreateLogFont, Link_name=>"_GpiCreateLogFont");
-
- function GpiDeleteSetId(ps :HPS ;
- lLcid:LONG ) return BOOL;
- pragma Import(c,GpiDeleteSetId, Link_name=>"_GpiDeleteSetId");
-
- function GpiLoadFonts(ha :HAB ;
- pszFilename:PSZ ) return BOOL;
- pragma Import(c,GpiLoadFonts, Link_name=>"_GpiLoadFonts");
-
- function GpiUnloadFonts(ha :HAB ;
- pszFilename:PSZ ) return BOOL;
- pragma Import(c,GpiUnloadFonts, Link_name=>"_GpiUnloadFonts");
-
- function GpiQueryFonts(ps :HPS ;
- flOptions :ULONG ;
- pszFacename :PSZ ;
- plReqFonts :PLONG ;
- lMetricsLength:LONG ;
- afmMetrics :PFONTMETRICS ) return LONG;
- pragma Import(c,GpiQueryFonts, Link_name=>"_GpiQueryFonts");
-
- function GpiQueryFontMetrics(ps :HPS ;
- lMetricsLength:LONG ;
- pfmMetrics :PFONTMETRICS ) return BOOL;
- pragma Import(c,GpiQueryFontMetrics, Link_name=>"_GpiQueryFontMetrics");
-
- function GpiQueryKerningPairs(ps :HPS ;
- lCount :LONG ;
- akrnprData:PKERNINGPAIRS ) return LONG;
- pragma Import(c,GpiQueryKerningPairs, Link_name=>"_GpiQueryKerningPairs");
-
- function GpiQueryWidthTable(ps :HPS ;
- lFirstChar:LONG ;
- lCount :LONG ;
- alData :PLONG) return BOOL;
- pragma Import(c,GpiQueryWidthTable, Link_name=>"_GpiQueryWidthTable");
-
- function GpiQueryNumberSetIds(ps:HPS) return LONG;
- pragma Import(c,GpiQueryNumberSetIds, Link_name=>"_GpiQueryNumberSetIds");
-
- function GpiQuerySetIds(ps :HPS ;
- lCount :LONG ;
- alTypes:PLONG ;
- aNames :PSZ ;
- allcids:PLONG ) return BOOL;
- pragma Import(c,GpiQuerySetIds, Link_name=>"_GpiQuerySetIds");
-
- function GpiQueryFaceString(Ps :HPS ;
- FamilyName :PSZ ;
- attrs :PFACENAMEDESC ;
- length :LONG ;
- CompoundFaceName:PSZ ) return ULONG;
- pragma Import(c,GpiQueryFaceString, Link_name=>"_GpiQueryFaceString");
-
- function GpiQueryLogicalFont(Ps :HPS ;
- lcid :LONG ;
- name :PSZ ;
- attrs :PFATTRS ;
- length:LONG ) return BOOL;
- pragma Import(c,GpiQueryLogicalFont, Link_name=>"_GpiQueryLogicalFont");
-
- function GpiQueryFontAction(anchor :HAB ;
- options:ULONG ) return ULONG;
- pragma Import(c,GpiQueryFontAction, Link_name=>"_GpiQueryFontAction");
-
- function GpiLoadPublicFonts(ha:HAB;
- ps:PSZ) return BOOL;
- pragma Import(c,GpiLoadPublicFonts, Link_name=>"_GpiLoadPublicFonts");
-
- function GpiUnloadPublicFonts(ha:HAB;
- ps:PSZ) return BOOL;
- pragma Import(c,GpiUnloadPublicFonts, Link_name=>"_GpiUnloadPublicFonts");
-
- function GpiSetCp( ps :HPS ;
- ulCodePage:ULONG) return BOOL ;
- pragma Import(c,GpiSetCp, Link_name=>"_GpiSetCp");
-
- function GpiQueryCp(ps:HPS) return ULONG ;
- pragma Import(c,GpiQueryCp, Link_name=>"_GpiQueryCp");
-
- function GpiQueryFullFontFileDescs(ha :HAB ;
- pszFilename :PSZ ;
- plCount :PLONG ;
- pNames :PVOID ;
- plNamesBuffLength:PLONG ) return LONG ;
- pragma Import(c,GpiQueryFullFontFileDescs, Link_name=>"_GpiQueryFullFontFileDescs");
-
- function GpiQueryFontFileDescriptions(ha :HAB ;
- pszFilename :PSZ ;
- plCount :PLONG ;
- affdescsNames:PFFDESCS ) return LONG ;
- pragma Import(c,GpiQueryFontFileDescriptions, Link_name=>"_GpiQueryFontFileDescriptions");
-
- -- raster operations defined for GpiBitBlt
- ROP_SRCCOPY :constant Long:= 16#00CC#;
- ROP_SRCPAINT :constant Long:= 16#00EE#;
- ROP_SRCAND :constant Long:= 16#0088#;
- ROP_SRCINVERT :constant Long:= 16#0066#;
- ROP_SRCERASE :constant Long:= 16#0044#;
- ROP_NOTSRCCOPY:constant Long:= 16#0033#;
- ROP_NOTSRCERASE:constant Long:= 16#0011#;
- ROP_MERGECOPY :constant Long:= 16#00C0#;
- ROP_MERGEPAINT :constant Long:= 16#00BB#;
- ROP_PATCOPY :constant Long:= 16#00F0#;
- ROP_PATPAINT :constant Long:= 16#00FB#;
- ROP_PATINVERT :constant Long:= 16#005A#;
- ROP_DSTINVERT :constant Long:= 16#0055#;
- ROP_ZERO :constant Long:= 16#0000#;
- ROP_ONE :constant Long:= 16#00FF#;
-
- -- Blt options for GpiBitBlt
- BBO_OR :constant Long:= 0 ;
- BBO_AND :constant Long:= 1 ;
- BBO_IGNORE :constant Long:= 2 ;
- BBO_PAL_COLORS :constant Long:= 4 ;
- BBO_NO_COLOR_INFO :constant Long:= 8 ;
-
- -- Fill options for GpiFloodFill
- FF_BOUNDARY :constant Long:= 0 ;
- FF_SURFACE :constant Long:= 1 ;
-
- -- -- error return for GpiSetBitmap
- -- HBM_ERROR ((HBITMAP)-1);
- --
- -- bitmap and pel functions
- --
- function GpiBitBlt(psTarget :HPS ;
- psSource :HPS ;
- lCount :LONG ;
- aptlPoints:PPOINTL ;
- lRop :LONG ;
- flOptions :ULONG ) return LONG ;
- pragma Import(c,GpiBitBlt, Link_name=>"_GpiBitBlt");
-
- function GpiDeleteBitmap( hbm:HBITMAP) return BOOL ;
- pragma Import(c,GpiDeleteBitmap, Link_name=>"_GpiDeleteBitmap");
-
- function GpiLoadBitmap(ps :HPS ;
- Resource:HMODULE ;
- idBitmap:ULONG ;
- lWidth :LONG ;
- lHeight :LONG ) return HBITMAP;
- pragma Import(c,GpiLoadBitmap, Link_name=>"_GpiLoadBitmap");
-
- function GpiSetBitmap(ps :HPS ;
- hbm:HBITMAP ) return HBITMAP;
- pragma Import(c,GpiSetBitmap, Link_name=>"_GpiSetBitmap");
-
- function GpiWCBitBlt(psTarget :HPS ;
- hbmSource :HBITMAP ;
- lCount :LONG ;
- aptlPoints:PPOINTL ;
- lRop :LONG ;
- flOptions :ULONG ) return LONG ;
- pragma Import(c,GpiWCBitBlt, Link_name=>"_GpiWCBitBlt");
- --
- -- --** include bitmap structures and file formats ************************
- -- bitmap parameterization used by GpiCreateBitmap and others
- type BITMAPINFOHEADER is record -- bmp
- cbFix :ULONG ;
- cx :USHORT ;
- cy :USHORT ;
- cPlanes :USHORT ;
- cBitCount :USHORT ;
- end record; -- BITMAPINFOHEADER;
- type PBITMAPINFOHEADER is access all BITMAPINFOHEADER;
-
- -- RGB data for _BITMAPINFO struct
- type RGB is record -- rgb
- bBlue :BYTE ;
- bGreen :BYTE ;
- bRed :BYTE ;
- end record; -- RGB;
-
- -- bitmap data used by GpiSetBitmapBits and others
- type BITMAPINFO is record -- bmi
- cbFix :ULONG ;
- cx :USHORT ;
- cy :USHORT ;
- cPlanes :USHORT ;
- cBitCount :USHORT ;
- argbColor :RGB ; --[1];
- end record; -- BITMAPINFO;
- type PBITMAPINFO is access all BITMAPINFO;
-
- -- Constants for compression/decompression command
-
- CBD_COMPRESSION :constant Long:= 1 ;
- CBD_DECOMPRESSION :constant Long:= 2 ;
- CBD_BITS :constant Long:= 0 ;
-
- -- Flags for compression/decompression option
-
- CBD_COLOR_CONVERSION :constant Long:=16#00000001#;
-
- -- Compression scheme in the ulCompression field of the bitmapinfo structure
-
- BCA_UNCOMP :constant Long:= 0 ;
- BCA_HUFFMAN1D :constant Long:= 3 ;
- BCA_RLE4 :constant Long:= 2 ;
- BCA_RLE8 :constant Long:= 1 ;
- BCA_RLE24 :constant Long:= 4 ;
- BRU_METRIC :constant Long:= 0 ;
- BRA_BOTTOMUP :constant Long:= 0 ;
- BRH_NOTHALFTONED :constant Long:=0 ;
- BRH_ERRORDIFFUSION :constant Long:=1 ;
- BRH_PANDA :constant Long:=2 ;
- BRH_SUPERCIRCLE :constant Long:=3 ;
-
- BCE_PALETTE :constant Long:= -1;
- BCE_RGB :constant Long:=0 ;
-
- type BITMAPINFOHEADER2 is record -- bmp2
- cbFix :ULONG ; -- Length of structure
- cx :ULONG ; -- Bit-map width in pels
- cy :ULONG ; -- Bit-map height in pels
- cPlanes :USHORT ; -- Number of bit planes
- cBitCount :USHORT ; -- Number of bits per pel within a plane
- ulCompression :ULONG ; -- Compression scheme used to store the bitmap
- cbImage :ULONG ; -- Length of bit-map storage data in bytes
- cxResolution :ULONG ; -- x resolution of target device
- cyResolution :ULONG ; -- y resolution of target device
- cclrUsed :ULONG ; -- Number of color indices used
- cclrImportant :ULONG ; -- Number of important color indices
- usUnits :USHORT ; -- Units of measure
- usReserved :USHORT ; -- Reserved
- usRecording :USHORT ; -- Recording algorithm
- usRendering :USHORT ; -- Halftoning algorithm
- cSize1 :ULONG ; -- Size value 1
- cSize2 :ULONG ; -- Size value 2
- ulColorEncoding :ULONG ; -- Color encoding
- ulIdentifier :ULONG ; -- Reserved for application use
- end record; -- BITMAPINFOHEADER2;
- type PBITMAPINFOHEADER2 is access all BITMAPINFOHEADER2;
-
- type RGB2 is record -- rgb2
- bBlue :BYTE ; -- Blue component of the color definition
- bGreen :BYTE ; -- Green component of the color definition
- bRed :BYTE ; -- Red component of the color definition
- fcOptions :BYTE ; -- Reserved, must be zero
- end record; -- RGB2;
- type PRGB2 is access all RGB2;
-
- type BITMAPINFO2 is record -- bmi2
- cbFix :ULONG ; -- Length of fixed portion of structure
- cx :ULONG ; -- Bit-map width in pels
- cy :ULONG ; -- Bit-map height in pels
- cPlanes :USHORT ; -- Number of bit planes
- cBitCount :USHORT ; -- Number of bits per pel within a plane
- ulCompression :ULONG ; -- Compression scheme used to store the bitmap
- cbImage :ULONG ; -- Length of bit-map storage data in bytes
- cxResolution :ULONG ; -- x resolution of target device
- cyResolution :ULONG ; -- y resolution of target device
- cclrUsed :ULONG ; -- Number of color indices used
- cclrImportant :ULONG ; -- Number of important color indices
- usUnits :USHORT ; -- Units of measure
- usReserved :USHORT ; -- Reserved
- usRecording :USHORT ; -- Recording algorithm
- usRendering :USHORT ; -- Halftoning algorithm
- cSize1 :ULONG ; -- Size value 1
- cSize2 :ULONG ; -- Size value 2
- ulColorEncoding :ULONG ; -- Color encoding
- ulIdentifier :ULONG ; -- Reserved for application use
- argbColor :RGB2 ; -- Color definition record [1]
- end record; -- BITMAPINFO2;
- type PBITMAPINFO2 is access all BITMAPINFO2;
-
- type BITMAPFILEHEADER is record -- bfh
- usType :USHORT ;
- cbSize :ULONG ;
- xHotspot :SHORT ;
- yHotspot :SHORT ;
- offBits :ULONG ;
- bmp :BITMAPINFOHEADER ;
- end record; -- BITMAPFILEHEADER;
- type PBITMAPFILEHEADER is access all BITMAPFILEHEADER;
-
- type BITMAPARRAYFILEHEADER is record -- bafh
- usType :USHORT ;
- cbSize :ULONG ;
- offNext :ULONG ;
- cxDisplay :USHORT ;
- cyDisplay :USHORT ;
- bfh :BITMAPFILEHEADER ;
- end record; -- BITMAPARRAYFILEHEADER;
- type PBITMAPARRAYFILEHEADER is access all BITMAPARRAYFILEHEADER;
-
- type BITMAPFILEHEADER2 is record -- bfh2
- usType :USHORT ;
- cbSize :ULONG ;
- xHotspot :SHORT ;
- yHotspot :SHORT ;
- offBits :ULONG ;
- bmp2 :BITMAPINFOHEADER2 ;
- end record; -- BITMAPFILEHEADER2;
- type PBITMAPFILEHEADER2 is access all BITMAPFILEHEADER2;
-
- type BITMAPARRAYFILEHEADER2 is record -- bafh2
- usType :USHORT ;
- cbSize :ULONG ;
- offNext :ULONG ;
- cxDisplay :USHORT ;
- cyDisplay :USHORT ;
- bfh2 :BITMAPFILEHEADER2 ;
- end record; -- BITMAPARRAYFILEHEADER2;
- type PBITMAPARRAYFILEHEADER2 is access all BITMAPARRAYFILEHEADER2;
-
- -- * These are the identifying values that go in the usType field of the
- -- * BITMAPFILEHEADER(2) and BITMAPARRAYFILEHEADER(2).
- -- * (BFT_ => Bit map File Type)
- --
- -- BFT_ICON 16#4349 'IC'
- -- BFT_BMAP 16#4d42 'BM'
- -- BFT_POINTER 16#5450 'PT'
- -- BFT_COLORICON 16#4943 'CI'
- -- BFT_COLORPOINTER 16#5043 'CP'
- -- BFT_BITMAPARRAY 16#4142 'BA'
- --
- -- -- usage flags for GpiCreateBitmap
- -- CBM_INIT 16#0004#;
- --
- -- -- error return code for GpiSet/QueryBitmapBits
- -- BMB_ERROR -1;
-
- -- --** bitmap and pel functions
-
- function GpiCreateBitmap(ps :HPS ;
- pbmpNew :PBITMAPINFOHEADER2 ;
- flOptions :ULONG ;
- pbInitData :PBYTE ;
- pbmiInfoTable:PBITMAPINFO2 ) return HBITMAP;
- pragma Import(c,GpiCreateBitmap, Link_name=>"_GpiCreateBitmap");
-
- function GpiSetBitmapBits(ps :HPS ;
- lScanStart :LONG ;
- lScans :LONG ;
- pbBuffer :PBYTE ;
- pbmiInfoTable:PBITMAPINFO2 ) return LONG ;
- pragma Import(c,GpiSetBitmapBits, Link_name=>"_GpiSetBitmapBits");
-
- function GpiSetBitmapDimension(hbm :HBITMAP ;
- psizlBitmapDimension:PSIZEL ) return BOOL ;
- pragma Import(c,GpiSetBitmapDimension, Link_name=>"_GpiSetBitmapDimension");
-
- function GpiSetBitmapId(ps :HPS ;
- hbm :HBITMAP ;
- lLcid:LONG ) return BOOL ;
- pragma Import(c,GpiSetBitmapId, Link_name=>"_GpiSetBitmapId");
-
- function GpiQueryBitmapBits( ps :HPS ;
- lScanStart :LONG ;
- lScans :LONG ;
- pbBuffer :PBYTE ;
- pbmiInfoTable:PBITMAPINFO2) return LONG ;
- pragma Import(c,GpiQueryBitmapBits, Link_name=>"_GpiQueryBitmapBits");
-
- function GpiQueryBitmapDimension(hbm :HBITMAP ;
- psizlBitmapDimension:PSIZEL ) return BOOL ;
- pragma Import(c,GpiQueryBitmapDimension, Link_name=>"_GpiQueryBitmapDimension");
-
- function GpiQueryBitmapHandle(ps :HPS ;
- lLcid:LONG ) return HBITMAP;
- pragma Import(c,GpiQueryBitmapHandle, Link_name=>"_GpiQueryBitmapHandle");
-
- function GpiQueryBitmapParameters(hbm :HBITMAP ;
- pbmpData:PBITMAPINFOHEADER ) return BOOL ;
- pragma Import(c,GpiQueryBitmapParameters, Link_name=>"_GpiQueryBitmapParameters");
-
- function GpiQueryBitmapInfoHeader(hbm :HBITMAP ;
- pbmpData:PBITMAPINFOHEADER2 ) return BOOL ;
- pragma Import(c,GpiQueryBitmapInfoHeader, Link_name=>"_GpiQueryBitmapInfoHeader");
-
- function GpiQueryDeviceBitmapFormats(ps :HPS ;
- lCount :LONG ;
- alArray:PLONG ) return BOOL ;
- pragma Import(c,GpiQueryDeviceBitmapFormats, Link_name=>"_GpiQueryDeviceBitmapFormats");
-
- function GpiSetPel(ps :HPS ;
- pptlPoint:PPOINTL ) return LONG ;
- pragma Import(c,GpiSetPel, Link_name=>"_GpiSetPel");
-
- function GpiQueryPel(ps :HPS ;
- pptlPoint:PPOINTL ) return LONG ;
- pragma Import(c,GpiQueryPel, Link_name=>"_GpiQueryPel");
-
- function GpiFloodFill(ps :HPS ;
- lOptions:LONG ;
- lColor :LONG ) return LONG ;
- pragma Import(c,GpiFloodFill, Link_name=>"_GpiFloodFill");
-
- function GpiDrawBits(ps :HPS ;
- pBits :PVOID ;
- pbmiInfoTable:PBITMAPINFO2 ;
- lCount :LONG ;
- aptlPoints :PPOINTL ;
- lRop :LONG ;
- flOptions :ULONG ) return LONG ;
- pragma Import(c,GpiDrawBits, Link_name=>"_GpiDrawBits");
-
- -- options for GpiCombineRegion
- CRGN_OR :constant Long:= 1 ;
- CRGN_COPY :constant Long:= 2 ;
- CRGN_XOR :constant Long:= 4 ;
- CRGN_AND :constant Long:= 6 ;
- CRGN_DIFF :constant Long:= 7 ;
-
- -- usDirection of returned region data for GpiQueryRegionRects
- RECTDIR_LFRT_TOPBOT :constant Long:= 1 ;
- RECTDIR_RTLF_TOPBOT :constant Long:= 2 ;
- RECTDIR_LFRT_BOTTOP :constant Long:= 3 ;
- RECTDIR_RTLF_BOTTOP :constant Long:= 4 ;
-
- -- control data for GpiQueryRegionRects
- type RGNRECT is record -- rgnrc
- ircStart :ULONG ;
- crc :ULONG ;
- crcReturned :ULONG ;
- ulDirection :ULONG ;
- end record; -- RGNRECT;
- type PRGNRECT is access all RGNRECT;
-
- -- return code to indicate type of region for GpiCombineRegion and others
- RGN_ERROR :constant Long:= 0 ;
- RGN_NULL :constant Long:= 1 ;
- RGN_RECT :constant Long:= 2 ;
- RGN_COMPLEX :constant Long:= 3 ;
-
- -- return codes for GpiPtInRegion
- PRGN_ERROR :constant Long:= 0 ;
- PRGN_OUTSIDE :constant Long:= 1 ;
- PRGN_INSIDE :constant Long:= 2 ;
-
- -- return codes for GpiRectInRegion
- RRGN_ERROR :constant Long:= 0 ;
- RRGN_OUTSIDE :constant Long:= 1 ;
- RRGN_PARTIAL :constant Long:= 2 ;
- RRGN_INSIDE :constant Long:= 3 ;
-
- -- return codes for GpiEqualRegion
- EQRGN_ERROR :constant Long:= 0 ;
- EQRGN_NOTEQUAL:constant Long:= 1 ;
- EQRGN_EQUAL :constant Long:= 2 ;
-
- -- error return code for GpiSetRegion
- -- HRGN_ERROR ((HRGN)-1);
-
- -- main region functions
-
- function GpiCombineRegion(ps :HPS ;
- hrgnDest:HRGN ;
- hrgnSrc1:HRGN ;
- hrgnSrc2:HRGN ;
- lMode :LONG ) return LONG;
- pragma Import(c,GpiCombineRegion, Link_name=>"_GpiCombineRegion");
-
- function GpiCreateRegion(ps :HPS ;
- lCount :LONG ;
- arclRectangles:PRECTL ) return HRGN;
- pragma Import(c,GpiCreateRegion, Link_name=>"_GpiCreateRegion");
-
- function GpiDestroyRegion(ps :HPS ;
- hrg :HRGN ) return BOOL;
- pragma Import(c,GpiDestroyRegion, Link_name=>"_GpiDestroyRegion");
-
- function GpiEqualRegion(ps :HPS ;
- hrgnSrc1:HRGN ;
- hrgnSrc2:HRGN ) return LONG;
- pragma Import(c,GpiEqualRegion, Link_name=>"_GpiEqualRegion");
-
- function GpiOffsetRegion(ps :HPS ;
- Hrg :HRGN ;
- pptlOffset:PPOINTL ) return BOOL;
- pragma Import(c,GpiOffsetRegion, Link_name=>"_GpiOffsetRegion");
-
- function GpiPaintRegion(ps :HPS ;
- hrg :HRGN ) return LONG;
- pragma Import(c,GpiPaintRegion, Link_name=>"_GpiPaintRegion");
-
- function GpiFrameRegion(ps :HPS ;
- hrg :HRGN ;
- thickness:PSIZEL ) return LONG;
- pragma Import(c,GpiFrameRegion, Link_name=>"_GpiFrameRegion");
-
- function GpiPtInRegion(ps :HPS ;
- hrg :HRGN ;
- pptlPoint:PPOINTL ) return LONG;
- pragma Import(c,GpiPtInRegion, Link_name=>"_GpiPtInRegion");
-
- function GpiQueryRegionBox(ps :HPS ;
- hrg :HRGN ;
- prclBound:PRECTL ) return LONG;
- pragma Import(c,GpiQueryRegionBox, Link_name=>"_GpiQueryRegionBox");
-
- function GpiQueryRegionRects(ps :HPS ;
- hrg :HRGN ;
- prclBound :PRECTL ;
- prgnrcControl:PRGNRECT ;
- prclRect :PRECTL ) return BOOL;
- pragma Import(c,GpiQueryRegionRects, Link_name=>"_GpiQueryRegionRects");
-
- function GpiRectInRegion(ps :HPS ;
- hrg :HRGN ;
- prclRect:PRECTL ) return LONG;
- pragma Import(c,GpiRectInRegion, Link_name=>"_GpiRectInRegion");
-
- function GpiSetRegion(ps :HPS ;
- hrg :HRGN ;
- lcount :LONG ;
- arclRectangles:PRECTL ) return BOOL;
- pragma Import(c,GpiSetRegion, Link_name=>"_GpiSetRegion");
-
- -- clip region functions
-
- function GpiSetClipRegion(ps :HPS ;
- hrg :HRGN ;
- phrgnOld:PHRGN ) return LONG;
- pragma Import(c,GpiSetClipRegion, Link_name=>"_GpiSetClipRegion");
-
- function GpiQueryClipRegion(ps:HPS) return HRGN;
- pragma Import(c,GpiQueryClipRegion, Link_name=>"_GpiQueryClipRegion");
-
- function GpiQueryClipBox(ps :HPS ;
- prclBound:PRECTL ) return LONG;
- pragma Import(c,GpiQueryClipBox, Link_name=>"_GpiQueryClipBox");
-
- function GpiExcludeClipRectangle(ps :HPS ;
- prclRectangle:PRECTL ) return LONG;
- pragma Import(c,GpiExcludeClipRectangle, Link_name=>"_GpiExcludeClipRectangle");
-
- function GpiIntersectClipRectangle(ps :HPS ;
- prclRectangle:PRECTL ) return LONG;
- pragma Import(c,GpiIntersectClipRectangle, Link_name=>"_GpiIntersectClipRectangle");
-
- function GpiOffsetClipRegion(ps :HPS ;
- pptlPoint:PPOINTL ) return LONG;
- pragma Import(c,GpiOffsetClipRegion, Link_name=>"_GpiOffsetClipRegion");
-
- -- constants for index values of options array for GpiPlayMetaFile
- PMF_SEGBASE :constant Long:= 0 ;
- PMF_LOADTYPE :constant Long:= 1 ;
- PMF_RESOLVE :constant Long:= 2 ;
- PMF_LCIDS :constant Long:= 3 ;
- PMF_RESET :constant Long:= 4 ;
- PMF_SUPPRESS :constant Long:= 5 ;
- PMF_COLORTABLES :constant Long:= 6 ;
- PMF_COLORREALIZABLE :constant Long:= 7 ;
- PMF_DEFAULTS :constant Long:= 8 ;
- PMF_DELETEOBJECTS :constant Long:= 9 ;
-
- -- options for GpiPlayMetaFile
- RS_DEFAULT :constant Long:= 0 ;
- RS_NODISCARD :constant Long:= 1 ;
- LC_DEFAULT :constant Long:= 0 ;
- LC_NOLOAD :constant Long:= 1 ;
- LC_LOADDISC :constant Long:= 3 ;
- LT_DEFAULT :constant Long:= 0 ;
- LT_NOMODIFY :constant Long:= 1 ;
- LT_ORIGINALVIEW :constant Long:= 4 ;
- RES_DEFAULT :constant Long:= 0 ;
- RES_NORESET :constant Long:= 1 ;
- RES_RESET :constant Long:= 2 ;
- SUP_DEFAULT :constant Long:= 0 ;
- SUP_NOSUPPRESS :constant Long:= 1 ;
- SUP_SUPPRESS :constant Long:= 2 ;
- CTAB_DEFAULT :constant Long:= 0 ;
- CTAB_NOMODIFY :constant Long:= 1 ;
- CTAB_REPLACE :constant Long:= 3 ;
- CTAB_REPLACEPALETTE:constant Long:= 4 ;
- CREA_DEFAULT :constant Long:= 0 ;
- CREA_REALIZE :constant Long:= 1 ;
- CREA_NOREALIZE :constant Long:= 2 ;
- CREA_DOREALIZE :constant Long:= 3 ;
-
- DDEF_DEFAULT :constant Long:= 0 ;
- DDEF_IGNORE :constant Long:= 1 ;
- DDEF_LOADDISC :constant Long:= 3 ;
- DOBJ_DEFAULT :constant Long:= 0 ;
- DOBJ_NODELETE :constant Long:= 1 ;
- DOBJ_DELETE :constant Long:= 2 ;
- RSP_DEFAULT :constant Long:= 0 ;
- RSP_NODISCARD :constant Long:= 1 ;
-
- -- MetaFile functions
-
- function GpiCopyMetaFile(mf:HMF ) return HMF ;
- pragma Import(c,GpiCopyMetaFile, Link_name=>"_GpiCopyMetaFile");
-
- function GpiDeleteMetaFile( mf :HMF) return BOOL;
- pragma Import(c,GpiDeleteMetaFile, Link_name=>"_GpiDeleteMetaFile");
-
- function GpiLoadMetaFile(ha :HAB ;
- pszFilename:PSZ ) return HMF ;
- pragma Import(c,GpiLoadMetaFile, Link_name=>"_GpiLoadMetaFile");
-
- function GpiPlayMetaFile(ps :HPS ;
- mf :HMF ;
- lCount1 :LONG ;
- alOptarray:PLONG ;
- plSegCount:PLONG ;
- lCount2 :LONG ;
- pszDesc :PSZ ) return LONG;
- pragma Import(c,GpiPlayMetaFile, Link_name=>"_GpiPlayMetaFile");
-
- function GpiQueryMetaFileBits(mf :HMF ;
- lOffset:LONG ;
- lLength:LONG ;
- pbData :PBYTE ) return BOOL;
- pragma Import(c,GpiQueryMetaFileBits, Link_name=>"_GpiQueryMetaFileBits");
-
- function GpiQueryMetaFileLength( mf :HMF) return LONG;
- pragma Import(c,GpiQueryMetaFileLength, Link_name=>"_GpiQueryMetaFileLength");
-
- function GpiSaveMetaFile(mf :HMF ;
- pszFilename:PSZ ) return BOOL;
- pragma Import(c,GpiSaveMetaFile, Link_name=>"_GpiSaveMetaFile");
-
- function GpiSetMetaFileBits(mf :HMF ;
- lOffset :LONG ;
- lLength :LONG ;
- pbBuffer:PBYTE )return BOOL;
- pragma Import(c,GpiSetMetaFileBits, Link_name=>"_GpiSetMetaFileBits");
-
- -- default functions
-
- function GpiQueryDefArcParams(ps :HPS ;
- parcpArcParams:PARCPARAMS ) return BOOL;
- pragma Import(c,GpiQueryDefArcParams, Link_name=>"_GpiQueryDefArcParams");
-
- function GpiQueryDefAttrs(ps :HPS ;
- lPrimType :LONG ;
- flAttrMask:ULONG ;
- ppbunAttrs:PBUNDLE ) return BOOL;
- pragma Import(c,GpiQueryDefAttrs, Link_name=>"_GpiQueryDefAttrs");
-
- function GpiQueryDefTag(ps :HPS ;
- plTag:PLONG ) return BOOL;
- pragma Import(c,GpiQueryDefTag, Link_name=>"_GpiQueryDefTag");
-
- function GpiQueryDefViewingLimits(ps :HPS ;
- prclLimits:PRECTL ) return BOOL;
- pragma Import(c,GpiQueryDefViewingLimits, Link_name=>"_GpiQueryDefViewingLimits");
-
- function GpiSetDefArcParams(ps :HPS ;
- parcpArcParams:PARCPARAMS ) return BOOL;
- pragma Import(c,GpiSetDefArcParams, Link_name=>"_GpiSetDefArcParams");
-
- function GpiSetDefAttrs(ps :HPS ;
- lPrimType :LONG ;
- flAttrMask:ULONG ;
- ppbunAttrs:PBUNDLE ) return BOOL;
- pragma Import(c,GpiSetDefAttrs, Link_name=>"_GpiSetDefAttrs");
-
- function GpiSetDefTag(ps :HPS ;
- lTag:LONG ) return BOOL;
- pragma Import(c,GpiSetDefTag, Link_name=>"_GpiSetDefTag");
-
- function GpiSetDefViewingLimits(ps :HPS ;
- prclLimits:PRECTL ) return BOOL;
- pragma Import(c,GpiSetDefViewingLimits, Link_name=>"_GpiSetDefViewingLimits");
-
- type POLYGON is record -- plygn
- ulPoints :ULONG ;
- aPointl :PPOINTL ;
- end record; -- POLYGON;
- type PPOLYGON is access all POLYGON;
-
- type POLYSET is record -- plyst
- ulPolys :ULONG ;
- aPolygon :POLYGON ; --[1];
- end record; -- POLYSET;
- type PPOLYSET is access all POLYSET;
-
- -- control flags used by GpiPolygons
- POLYGON_NOBOUNDARY :constant Long:= 0 ;
- POLYGON_BOUNDARY :constant Long:= 16#0001#;
-
- POLYGON_ALTERNATE :constant Long:= 0 ;
- POLYGON_WINDING :constant Long:= 16#0002#;
-
- POLYGON_INCL :constant Long:= 0 ;
- POLYGON_EXCL :constant Long:= 16#0008#;
-
- function GpiPolygons(ps :HPS ;
- ulCount :ULONG ;
- paplgn :PPOLYGON ;
- flOptions:ULONG ;
- flModel :ULONG ) return LONG;
- pragma Import(c,GpiPolygons, Link_name=>"_GpiPolygons");
-
- end os2.Gpi;
-