⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pmgpi.mh

📁 开放源码的编译器open watcom 1.6.0版的源代码
💻 MH
📖 第 1 页 / 共 2 页
字号:
#define CHDIRN_TOPBOTTOM   2L
#define CHDIRN_RIGHTLEFT   3L
#define CHDIRN_BOTTOMTOP   4L

#define CM_ERROR   (-1L)
#define CM_DEFAULT   0L
#define CM_MODE1     1L
#define CM_MODE2     2L
#define CM_MODE3     3L

#define MARKSYM_ERROR          (-1L)
#define MARKSYM_DEFAULT          0L
#define MARKSYM_CROSS            1L
#define MARKSYM_PLUS             2L
#define MARKSYM_DIAMOND          3L
#define MARKSYM_SQUARE           4L
#define MARKSYM_SIXPOINTSTAR     5L
#define MARKSYM_EIGHTPOINTSTAR   6L
#define MARKSYM_SOLIDDIAMOND     7L
#define MARKSYM_SOLIDSQUARE      8L
#define MARKSYM_DOT              9L
#define MARKSYM_SMALLCIRCLE     10L
#define MARKSYM_BLANK           64L

#define CHS_OPAQUE   0x0001L
#define CHS_VECTOR   0x0002L
#define CHS_LEAVEPOS 0x0008L
#define CHS_CLIP     0x0010L

#define PRIM_LINE   1L
#define PRIM_CHAR   2L
#define PRIM_MARKER 3L
#define PRIM_AREA   4L
#define PRIM_IMAGE  5L

#define ABB_COLOR         0x0001L
#define ABB_BACK_COLOR    0x0002L
#define ABB_MIX_MODE      0x0004L
#define ABB_BACK_MIX_MODE 0x0008L
#define ABB_SET           0x0010L
#define ABB_SYMBOL        0x0020L
#define ABB_REF_POINT     0x0040L

#define CBB_COLOR         0x0001L
#define CBB_BACK_COLOR    0x0002L
#define CBB_MIX_MODE      0x0004L
#define CBB_BACK_MIX_MODE 0x0008L
#define CBB_SET           0x0010L
#define CBB_MODE          0x0020L
#define CBB_BOX           0x0040L
#define CBB_ANGLE         0x0080L
#define CBB_SHEAR         0x0100L
#define CBB_DIRECTION     0x0200L

#define IBB_COLOR         0x0001L
#define IBB_BACK_COLOR    0x0002L
#define IBB_MIX_MODE      0x0004L
#define IBB_BACK_MIX_MODE 0x0008L

#define LBB_COLOR      0x0001L
#define LBB_MIX_MODE   0x0004L
#define LBB_WIDTH      0x0010L
#define LBB_GEOM_WIDTH 0x0020L
#define LBB_TYPE       0x0040L
#define LBB_END        0x0080L
#define LBB_JOIN       0x0100L

#define MBB_COLOR         0x0001L
#define MBB_BACK_COLOR    0x0002L
#define MBB_MIX_MODE      0x0004L
#define MBB_BACK_MIX_MODE 0x0008L
#define MBB_SET           0x0010L
#define MBB_SYMBOL        0x0020L
#define MBB_BOX           0x0040L

#define TXTBOX_TOPLEFT     0L
#define TXTBOX_BOTTOMLEFT  1L
#define TXTBOX_TOPRIGHT    2L
#define TXTBOX_BOTTOMRIGHT 3L
#define TXTBOX_CONCAT      4L
#define TXTBOX_COUNT       5L

#define PVIS_ERROR     0L
#define PVIS_INVISIBLE 1L
#define PVIS_VISIBLE   2L

#define RVIS_ERROR     0L
#define RVIS_INVISIBLE 1L
#define RVIS_PARTIAL   2L
#define RVIS_VISIBLE   3L

typedef PVOID PBUNDLE;

typedef struct _ARCPARAMS {
    LONG lP;
    LONG lQ;
    LONG lR;
    LONG lS;
} ARCPARAMS, FAR *PARCPARAMS;

typedef struct _SIZEF {
    FIXED cx;
    FIXED cy;
} SIZEF, FAR *PSIZEF;

typedef struct _GRADIENTL {
    LONG x;
    LONG y;
} GRADIENTL, FAR *PGRADIENTL;

typedef struct _LINEBUNDLE {
    LONG   lColor;
    LONG   lReserved;
    USHORT usMixMode;
    USHORT usReserved;
    FIXED  fxWidth;
    LONG   lGeomWidth;
    USHORT usType;
    USHORT usEnd;
    USHORT usJoin;
} LINEBUNDLE;

typedef struct _CHARBUNDLE {
    LONG   lColor;
    LONG   lBackColor;
    USHORT usMixMode;
    USHORT usBackMixMode;
    USHORT usSet;
    USHORT usPrecision;
    SIZEF  sizfxCell;
    POINTL ptlAngle;
    POINTL ptlShear;
    USHORT usDirection;
} CHARBUNDLE;

typedef struct _MARKERBUNDLE {
    LONG   lColor;
    LONG   lBackColor;
    USHORT usMixMode;
    USHORT usBackMixMode;
    USHORT usSet;
    USHORT usSymbol;
    SIZEF  sizfxCell;
} MARKERBUNDLE;

typedef struct _AREABUNDLE {
    LONG   lColor;
    LONG   lBackColor;
    USHORT usMixMode;
    USHORT usBackMixMode;
    USHORT usSet;
    USHORT usSymbol;
    POINTL ptlRefPoint ;
} AREABUNDLE;

typedef struct _IMAGEBUNDLE {
    LONG   lColor;
    LONG   lBackColor;
    USHORT usMixMode;
    USHORT usBackMixMode;
} IMAGEBUNDLE;

LONG  APIENTRY GpiCharStringPos(HPS,PRECTL,ULONG,LONG,PCH,PLONG);
LONG  APIENTRY GpiCharStringPosAt(HPS,PPOINTL,PRECTL,ULONG,LONG,PCH,PLONG);
BOOL  APIENTRY GpiComment(HPS,LONG,PBYTE);
LONG  APIENTRY GpiFullArc(HPS,LONG,FIXED);
LONG  APIENTRY GpiImage(HPS,LONG,PSIZEL,LONG,PBYTE);
LONG  APIENTRY GpiMarker(HPS,PPOINTL);
LONG  APIENTRY GpiPartialArc(HPS,PPOINTL,FIXED,FIXED,FIXED);
LONG  APIENTRY GpiPointArc(HPS,PPOINTL);
LONG  APIENTRY GpiPolyFillet(HPS,LONG,PPOINTL);
LONG  APIENTRY GpiPolyFilletSharp(HPS,LONG,PPOINTL,PFIXED);
LONG  APIENTRY GpiPolyMarker(HPS,LONG,PPOINTL);
LONG  APIENTRY GpiPolySpline(HPS,LONG,PPOINTL);
BOOL  APIENTRY GpiPop(HPS,LONG);
LONG  APIENTRY GpiPtVisible(HPS,PPOINTL);
BOOL  APIENTRY GpiQueryArcParams(HPS,PARCPARAMS);
LONG  APIENTRY GpiQueryAttrMode(HPS);
LONG  APIENTRY GpiQueryAttrs(HPS,LONG,ULONG,PBUNDLE);
LONG  APIENTRY GpiQueryBackColor(HPS);
LONG  APIENTRY GpiQueryBackMix(HPS);
BOOL  APIENTRY GpiQueryCharAngle(HPS,PGRADIENTL);
BOOL  APIENTRY GpiQueryCharBox(HPS,PSIZEF);
LONG  APIENTRY GpiQueryCharDirection(HPS);
LONG  APIENTRY GpiQueryCharMode(HPS);
LONG  APIENTRY GpiQueryCharSet(HPS);
BOOL  APIENTRY GpiQueryCharShear(HPS,PPOINTL);
BOOL  APIENTRY GpiQueryCharStringPos(HPS,ULONG,LONG,PCH,PLONG,PPOINTL);
BOOL  APIENTRY GpiQueryCharStringPosAt(HPS,PPOINTL,ULONG,LONG,PCH,PLONG,PPOINTL);
BOOL  APIENTRY GpiQueryCurrentPosition(HPS,PPOINTL);
BOOL  APIENTRY GpiQueryDefCharBox(HPS,PSIZEL);
LONG  APIENTRY GpiQueryLineEnd(HPS);
LONG  APIENTRY GpiQueryLineJoin(HPS);
LONG  APIENTRY GpiQueryLineType(HPS);
FIXED APIENTRY GpiQueryLineWidth(HPS);
LONG  APIENTRY GpiQueryLineWidthGeom(HPS);
LONG  APIENTRY GpiQueryMarker(HPS);
BOOL  APIENTRY GpiQueryMarkerBox(HPS,PSIZEF);
LONG  APIENTRY GpiQueryMarkerSet(HPS);
LONG  APIENTRY GpiQueryMix(HPS);
BOOL  APIENTRY GpiQueryPatternRefPoint(HPS,PPOINTL);
LONG  APIENTRY GpiQueryPatternSet(HPS);
BOOL  APIENTRY GpiQueryTextBox(HPS,LONG,PCH,LONG,PPOINTL);
LONG  APIENTRY GpiRectVisible(HPS,PRECTL);
BOOL  APIENTRY GpiSetArcParams(HPS,PARCPARAMS);
BOOL  APIENTRY GpiSetAttrMode(HPS,LONG);
BOOL  APIENTRY GpiSetAttrs(HPS,LONG,ULONG,ULONG,PBUNDLE);
BOOL  APIENTRY GpiSetBackColor(HPS,LONG);
BOOL  APIENTRY GpiSetBackMix(HPS,LONG);
BOOL  APIENTRY GpiSetCharAngle(HPS,PGRADIENTL);
BOOL  APIENTRY GpiSetCharBox(HPS,PSIZEF);
BOOL  APIENTRY GpiSetCharDirection(HPS,LONG);
BOOL  APIENTRY GpiSetCharMode(HPS,LONG);
BOOL  APIENTRY GpiSetCharSet(HPS,LONG);
BOOL  APIENTRY GpiSetCharShear(HPS,PPOINTL);
BOOL  APIENTRY GpiSetCurrentPosition(HPS,PPOINTL);
BOOL  APIENTRY GpiSetLineEnd(HPS,LONG);
BOOL  APIENTRY GpiSetLineJoin(HPS,LONG);
BOOL  APIENTRY GpiSetLineType(HPS,LONG);
BOOL  APIENTRY GpiSetLineWidth(HPS,FIXED);
BOOL  APIENTRY GpiSetLineWidthGeom(HPS,LONG);
BOOL  APIENTRY GpiSetMarker(HPS,LONG);
BOOL  APIENTRY GpiSetMarkerBox(HPS,PSIZEF);
BOOL  APIENTRY GpiSetMarkerSet(HPS,LONG);
BOOL  APIENTRY GpiSetMix(HPS,LONG);
BOOL  APIENTRY GpiSetPatternRefPoint(HPS,PPOINTL);
BOOL  APIENTRY GpiSetPatternSet(HPS,LONG);

#endif

#ifdef INCL_GPILCIDS

#define FONT_DEFAULT 1L
#define FONT_MATCH   2L

#define LCIDT_FONT   6L
#define LCIDT_BITMAP 7L

#define LCID_ALL   (-1L)

#define QF_PUBLIC                  0x0001L
#define QF_PRIVATE                 0x0002L

typedef CHAR FFDESCS[2][FACESIZE], FAR *PFFDESCS;

typedef struct _KERNINGPAIRS {
    SHORT sFirstChar;
    SHORT sSecondChar;
    SHORT sKerningAmount;
} KERNINGPAIRS, FAR *PKERNINGPAIRS;

LONG   APIENTRY GpiCreateLogFont(HPS,PSTR8,LONG,PFATTRS);
BOOL   APIENTRY GpiDeleteSetId(HPS,LONG);
BOOL   APIENTRY GpiLoadFonts(HAB,PSZ);
USHORT APIENTRY GpiQueryCp(HPS);
LONG   APIENTRY GpiQueryFontFileDescriptions(HAB,PSZ,PLONG,PFFDESCS);
LONG   APIENTRY GpiQueryFonts(HPS,ULONG,PSZ,PLONG,LONG,PFONTMETRICS);
BOOL   APIENTRY GpiQueryFontMetrics(HPS,LONG,PFONTMETRICS);
LONG   APIENTRY GpiQueryKerningPairs(HPS,LONG,PKERNINGPAIRS);
LONG   APIENTRY GpiQueryNumberSetIds(HPS);
BOOL   APIENTRY GpiQuerySetIds(HPS,LONG,PLONG,PSTR8,PLONG);
BOOL   APIENTRY GpiQueryWidthTable(HPS,LONG,LONG,PLONG);
BOOL   APIENTRY GpiSetCp(HPS,USHORT);
BOOL   APIENTRY GpiUnloadFonts(HAB,PSZ);

#endif

#if defined(INCL_GPIBITMAPS) || !defined(INCL_NOCOMMON)

#define ROP_SRCCOPY     0x00CCL
#define ROP_SRCPAINT    0x00EEL
#define ROP_SRCAND      0x0088L
#define ROP_SRCINVERT   0x0066L
#define ROP_SRCERASE    0x0044L
#define ROP_NOTSRCCOPY  0x0033L
#define ROP_NOTSRCERASE 0x0011L
#define ROP_MERGECOPY   0x00C0L
#define ROP_MERGEPAINT  0x00BBL
#define ROP_PATCOPY     0x00F0L
#define ROP_PATPAINT    0x00FBL
#define ROP_PATINVERT   0x005AL
#define ROP_DSTINVERT   0x0055L
#define ROP_ZERO        0x0000L
#define ROP_ONE         0x00FFL

#define BBO_OR     0L
#define BBO_AND    1L
#define BBO_IGNORE 2L

#define HBM_ERROR ((HBITMAP)-1L)

LONG    APIENTRY GpiBitBlt(HPS,HPS,LONG,PPOINTL,LONG,ULONG);
BOOL    APIENTRY GpiDeleteBitmap(HBITMAP);
HBITMAP APIENTRY GpiLoadBitmap(HPS,HMODULE,USHORT,LONG,LONG);
HBITMAP APIENTRY GpiSetBitmap(HPS,HBITMAP);
LONG    APIENTRY GpiWCBitBlt(HPS,HBITMAP,LONG,PPOINTL,LONG,ULONG);

#endif

#ifdef INCL_GPIBITMAPS

#define CBM_INIT  4L

#define BMB_ERROR (-1L)

typedef struct _BITMAPINFOHEADER {
    ULONG  cbFix;
    USHORT cx;
    USHORT cy;
    USHORT cPlanes;
    USHORT cBitCount;
} BITMAPINFOHEADER, FAR *PBITMAPINFOHEADER;

typedef struct _RGB {
    BYTE bBlue;
    BYTE bGreen;
    BYTE bRed;
} RGB;

typedef struct _BITMAPINFO {
    ULONG  cbFix;
    USHORT cx;
    USHORT cy;
    USHORT cPlanes;
    USHORT cBitCount;
    RGB    argbColor[1];
} BITMAPINFO, FAR *PBITMAPINFO;

HBITMAP APIENTRY GpiCreateBitmap(HPS,PBITMAPINFOHEADER,ULONG,PBYTE,PBITMAPINFO);
LONG    APIENTRY GpiQueryBitmapBits(HPS,LONG,LONG,PBYTE,PBITMAPINFO);
BOOL    APIENTRY GpiQueryBitmapDimension(HBITMAP,PSIZEL);
HBITMAP APIENTRY GpiQueryBitmapHandle(HPS,LONG);
BOOL    APIENTRY GpiQueryBitmapParameters(HBITMAP,PBITMAPINFOHEADER);
BOOL    APIENTRY GpiQueryDeviceBitmapFormats(HPS,LONG,PLONG);
LONG    APIENTRY GpiQueryPel(HPS,PPOINTL);
LONG    APIENTRY GpiSetBitmapBits(HPS,LONG,LONG,PBYTE,PBITMAPINFO);
BOOL    APIENTRY GpiSetBitmapDimension(HBITMAP,PSIZEL);
BOOL    APIENTRY GpiSetBitmapId(HPS,HBITMAP,LONG);
LONG    APIENTRY GpiSetPel(HPS,PPOINTL);

#endif

#ifdef INCL_GPIREGIONS

#define CRGN_OR   1L
#define CRGN_COPY 2L
#define CRGN_XOR  4L
#define CRGN_AND  6L
#define CRGN_DIFF 7L

#define RECTDIR_LFRT_TOPBOT 1L
#define RECTDIR_RTLF_TOPBOT 2L
#define RECTDIR_LFRT_BOTTOP 3L
#define RECTDIR_RTLF_BOTTOP 4L

#define RGN_ERROR   0L
#define RGN_NULL    1L
#define RGN_RECT    2L
#define RGN_COMPLEX 3L

#define PRGN_ERROR   0L
#define PRGN_OUTSIDE 1L
#define PRGN_INSIDE  2L

#define RRGN_ERROR   0L
#define RRGN_OUTSIDE 1L
#define RRGN_PARTIAL 2L
#define RRGN_INSIDE  3L

#define EQRGN_ERROR    0L
#define EQRGN_NOTEQUAL 1L
#define EQRGN_EQUAL    2L

#define HRGN_ERROR ((HRGN)-1L)

typedef struct _RGNRECT {
    USHORT ircStart;
    USHORT crc;
    USHORT crcReturned;
    USHORT usDirection;
} RGNRECT, FAR *PRGNRECT;

LONG  APIENTRY GpiCombineRegion(HPS,HRGN,HRGN,HRGN,LONG);
HRGN  APIENTRY GpiCreateRegion(HPS,LONG,PRECTL);
BOOL  APIENTRY GpiDestroyRegion(HPS,HRGN);
LONG  APIENTRY GpiEqualRegion(HPS,HRGN,HRGN);
LONG  APIENTRY GpiExcludeClipRectangle(HPS,PRECTL);
LONG  APIENTRY GpiIntersectClipRectangle(HPS,PRECTL);
LONG  APIENTRY GpiOffsetClipRegion(HPS,PPOINTL);
BOOL  APIENTRY GpiOffsetRegion(HPS,HRGN,PPOINTL);
LONG  APIENTRY GpiPaintRegion(HPS,HRGN);
LONG  APIENTRY GpiPtInRegion(HPS,HRGN,PPOINTL);
LONG  APIENTRY GpiQueryRegionBox(HPS,HRGN,PRECTL);
BOOL  APIENTRY GpiQueryRegionRects(HPS,HRGN,PRECTL,PRGNRECT,PRECTL);
LONG  APIENTRY GpiRectInRegion(HPS,HRGN,PRECTL);
BOOL  APIENTRY GpiSetRegion(HPS,HRGN,LONG,PRECTL);
LONG  APIENTRY GpiSetClipRegion(HPS,HRGN,PHRGN);
HRGN  APIENTRY GpiQueryClipRegion(HPS);
LONG  APIENTRY GpiQueryClipBox(HPS,PRECTL);

#endif

#ifdef INCL_GPIMETAFILES

#define PMF_SEGBASE         0
#define PMF_LOADTYPE        1
#define PMF_RESOLVE         2
#define PMF_LCIDS           3
#define PMF_RESET           4
#define PMF_SUPPRESS        5
#define PMF_COLORTABLES     6
#define PMF_COLORREALIZABLE 7
#define PMF_DEFAULTS        8

#define RS_DEFAULT      0L
#define RS_NODISCARD    1L
#define LC_DEFAULT      0L
#define LC_NOLOAD       1L
#define LC_LOADDISC     3L
#define LT_DEFAULT      0L
#define LT_NOMODIFY     1L
#define LT_ORIGINALVIEW 4L
#define RES_DEFAULT     0L
#define RES_NORESET     1L
#define RES_RESET       2L
#define SUP_DEFAULT     0L
#define SUP_NOSUPPRESS  1L
#define SUP_SUPPRESS    2L
#define CTAB_DEFAULT    0L
#define CTAB_NOMODIFY   1L
#define CTAB_REPLACE    3L
#define CREA_DEFAULT    0L
#define CREA_REALIZE    1L
#define CREA_NOREALIZE  2L
#define DDEF_DEFAULT    0L
#define DDEF_IGNORE     1L
#define DDEF_LOADDISC   3L
#define RSP_DEFAULT     0L
#define RSP_NODISCARD   1L

HMF   APIENTRY GpiCopyMetaFile(HMF);
BOOL  APIENTRY GpiDeleteMetaFile(HMF);
HMF   APIENTRY GpiLoadMetaFile(HAB,PSZ);
LONG  APIENTRY GpiPlayMetaFile(HPS,HMF,LONG,PLONG,PLONG,LONG,PSZ);
BOOL  APIENTRY GpiQueryMetaFileBits(HMF,LONG,LONG,PBYTE);
LONG  APIENTRY GpiQueryMetaFileLength(HMF);
BOOL  APIENTRY GpiSaveMetaFile(HMF,PSZ);
BOOL  APIENTRY GpiSetMetaFileBits(HMF,LONG,LONG,PBYTE);

#endif

#ifdef INCL_GPIDEFAULTS

BOOL  APIENTRY GpiQueryDefArcParams(HPS,PARCPARAMS);
BOOL  APIENTRY GpiQueryDefAttrs(HPS,LONG,ULONG,PBUNDLE);
BOOL  APIENTRY GpiQueryDefTag(HPS,PLONG);
BOOL  APIENTRY GpiQueryDefViewingLimits(HPS,PRECTL);
BOOL  APIENTRY GpiSetDefArcParams(HPS,PARCPARAMS);
BOOL  APIENTRY GpiSetDefAttrs(HPS,LONG,ULONG,PBUNDLE);
BOOL  APIENTRY GpiSetDefTag(HPS,LONG);
BOOL  APIENTRY GpiSetDefViewingLimits(HPS,PRECTL);

#endif

:include cplusepi.sp

#ifdef INCL_GPIERRORS
#include <pmerr.h>
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -