summaryrefslogtreecommitdiffstats
path: root/private/os2/client/thunk/include/graph.h
diff options
context:
space:
mode:
authorAdam <you@example.com>2020-05-17 05:51:50 +0200
committerAdam <you@example.com>2020-05-17 05:51:50 +0200
commite611b132f9b8abe35b362e5870b74bce94a1e58e (patch)
treea5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/os2/client/thunk/include/graph.h
downloadNT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.gz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.bz2
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.lz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.xz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.zst
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.zip
Diffstat (limited to 'private/os2/client/thunk/include/graph.h')
-rw-r--r--private/os2/client/thunk/include/graph.h427
1 files changed, 427 insertions, 0 deletions
diff --git a/private/os2/client/thunk/include/graph.h b/private/os2/client/thunk/include/graph.h
new file mode 100644
index 000000000..6469809bf
--- /dev/null
+++ b/private/os2/client/thunk/include/graph.h
@@ -0,0 +1,427 @@
+/***
+*graph.h - declare constants, functions, and macros for graphics library
+*
+* Copyright (c) 1987 - 1990, Microsoft Corporation. All rights reserved.
+*
+*Purpose:
+* This file declares the graphics library functions and the
+* structures and manifest constants that are used with them.
+*
+***************************************************************************/
+
+
+/* force word packing to avoid possible -Zp override */
+#pragma pack(2)
+
+/* user-visible declarations for Quick-C Graphics Library */
+
+#ifndef _VIDEOCONFIG_DEFINED
+/* structure for _getvideoconfig() as visible to user */
+struct videoconfig {
+ short numxpixels; /* number of pixels on X axis */
+ short numypixels; /* number of pixels on Y axis */
+ short numtextcols; /* number of text columns available */
+ short numtextrows; /* number of text rows available */
+ short numcolors; /* number of actual colors */
+ short bitsperpixel; /* number of bits per pixel */
+ short numvideopages; /* number of available video pages */
+ short mode; /* current video mode */
+ short adapter; /* active display adapter */
+ short monitor; /* active display monitor */
+ short memory; /* adapter video memory in K bytes */
+};
+#define _VIDEOCONFIG_DEFINED
+#endif
+
+
+#ifndef _XYCOORD_DEFINED
+/* return value of _setvieworg(), etc. */
+struct xycoord {
+ short xcoord;
+ short ycoord;
+};
+#define _XYCOORD_DEFINED
+#endif
+
+
+/* structure for text position */
+#ifndef _RCCOORD_DEFINED
+struct rccoord {
+ short row;
+ short col;
+};
+#define _RCCOORD_DEFINED
+#endif
+
+
+
+/* ERROR HANDLING */
+short _far _cdecl _grstatus(void);
+
+/* Error Status Information returned by _grstatus() */
+
+/* successful */
+#define _GROK 0
+
+/* errors */
+#define _GRERROR (-1)
+#define _GRMODENOTSUPPORTED (-2)
+#define _GRNOTINPROPERMODE (-3)
+#define _GRINVALIDPARAMETER (-4)
+#define _GRFONTFILENOTFOUND (-5)
+#define _GRINVALIDFONTFILE (-6)
+#define _GRCORRUPTEDFONTFILE (-7)
+#define _GRINSUFFICIENTMEMORY (-8)
+#define _GRINVALIDIMAGEBUFFER (-9)
+
+/* warnings */
+#define _GRNOOUTPUT 1
+#define _GRCLIPPED 2
+#define _GRPARAMETERALTERED 3
+
+
+/* SETUP AND CONFIGURATION */
+
+short _far _cdecl _setvideomode(short);
+short _far _cdecl _setvideomoderows(short,short); /* return rows; 0 if error */
+
+/* arguments to _setvideomode() */
+#define _MAXRESMODE (-3) /* graphics mode with highest resolution */
+#define _MAXCOLORMODE (-2) /* graphics mode with most colors */
+#define _DEFAULTMODE (-1) /* restore screen to original mode */
+#define _TEXTBW40 0 /* 40-column text, 16 grey */
+#define _TEXTC40 1 /* 40-column text, 16/8 color */
+#define _TEXTBW80 2 /* 80-column text, 16 grey */
+#define _TEXTC80 3 /* 80-column text, 16/8 color */
+#define _MRES4COLOR 4 /* 320 x 200, 4 color */
+#define _MRESNOCOLOR 5 /* 320 x 200, 4 grey */
+#define _HRESBW 6 /* 640 x 200, BW */
+#define _TEXTMONO 7 /* 80-column text, BW */
+#define _HERCMONO 8 /* 720 x 348, BW for HGC */
+#define _MRES16COLOR 13 /* 320 x 200, 16 color */
+#define _HRES16COLOR 14 /* 640 x 200, 16 color */
+#define _ERESNOCOLOR 15 /* 640 x 350, BW */
+#define _ERESCOLOR 16 /* 640 x 350, 4 or 16 color */
+#define _VRES2COLOR 17 /* 640 x 480, BW */
+#define _VRES16COLOR 18 /* 640 x 480, 16 color */
+#define _MRES256COLOR 19 /* 320 x 200, 256 color */
+#define _ORESCOLOR 64 /* 640 x 400, 1 of 16 colors (Olivetti) */
+
+short _far _cdecl _setactivepage(short);
+short _far _cdecl _setvisualpage(short);
+short _far _cdecl _getactivepage(void);
+short _far _cdecl _getvisualpage(void);
+
+/* videoconfig adapter values */
+/* these manifest constants can be used to determine the type of the active */
+/* adapter, using either simple comparisons or the bitwise-AND operator (&) */
+#define _MDPA 0x0001 /* Monochrome Display Adapter (MDPA) */
+#define _CGA 0x0002 /* Color Graphics Adapter (CGA) */
+#define _EGA 0x0004 /* Enhanced Graphics Adapter (EGA) */
+#define _VGA 0x0008 /* Video Graphics Array (VGA) */
+#define _MCGA 0x0010 /* MultiColor Graphics Array (MCGA) */
+#define _HGC 0x0020 /* Hercules Graphics Card (HGC) */
+#define _OCGA 0x0042 /* Olivetti Color Graphics Adapter (OCGA) */
+#define _OEGA 0x0044 /* Olivetti Enhanced Graphics Adapter (OEGA) */
+#define _OVGA 0x0048 /* Olivetti Video Graphics Array (OVGA) */
+
+/* videoconfig monitor values */
+/* these manifest constants can be used to determine the type of monitor in */
+/* use, using either simple comparisons or the bitwise-AND operator (&) */
+#define _MONO 0x0001 /* Monochrome */
+#define _COLOR 0x0002 /* Color (or Enhanced emulating color) */
+#define _ENHCOLOR 0x0004 /* Enhanced Color */
+#define _ANALOGMONO 0x0008 /* Analog Monochrome only */
+#define _ANALOGCOLOR 0x0010 /* Analog Color only */
+#define _ANALOG 0x0018 /* Analog Monochrome and Color modes */
+
+struct videoconfig _far * _far _cdecl _getvideoconfig(struct videoconfig _far *);
+
+
+
+/* COORDINATE SYSTEMS */
+
+struct xycoord _far _cdecl _setvieworg(short, short);
+#define _setlogorg _setvieworg /* obsolescent */
+
+struct xycoord _far _cdecl _getviewcoord(short, short);
+#define _getlogcoord _getviewcoord /* obsolescent */
+
+struct xycoord _far _cdecl _getphyscoord(short, short);
+
+void _far _cdecl _setcliprgn(short, short, short, short);
+void _far _cdecl _setviewport(short, short, short, short);
+
+
+/* OUTPUT ROUTINES */
+
+/* control parameters for _ellipse, _rectangle, _pie and _polygon */
+#define _GBORDER 2 /* draw outline only */
+#define _GFILLINTERIOR 3 /* fill using current fill mask */
+
+/* parameters for _clearscreen */
+#define _GCLEARSCREEN 0
+#define _GVIEWPORT 1
+#define _GWINDOW 2
+
+void _far _cdecl _clearscreen(short);
+
+struct xycoord _far _cdecl _moveto(short, short);
+struct xycoord _far _cdecl _getcurrentposition(void);
+
+short _far _cdecl _lineto(short, short);
+short _far _cdecl _rectangle(short, short, short, short, short);
+short _far _cdecl _polygon(short, const struct xycoord _far *, short);
+short _far _cdecl _arc(short, short, short, short, short, short, short, short);
+short _far _cdecl _ellipse(short, short, short, short, short);
+short _far _cdecl _pie(short, short, short, short, short, short, short, short, short);
+
+short _far _cdecl _getarcinfo(struct xycoord _far *, struct xycoord _far *, struct xycoord _far *);
+
+short _far _cdecl _setpixel(short, short);
+short _far _cdecl _getpixel(short, short);
+short _far _cdecl _floodfill(short, short, short);
+
+
+/* PEN COLOR, LINE STYLE, WRITE MODE, FILL PATTERN */
+
+short _far _cdecl _setcolor(short);
+short _far _cdecl _getcolor(void);
+
+void _far _cdecl _setlinestyle(unsigned short);
+unsigned short _far _cdecl _getlinestyle(void);
+
+short _far _cdecl _setwritemode(short);
+short _far _cdecl _getwritemode(void);
+
+void _far _cdecl _setfillmask(const unsigned char _far *);
+unsigned char _far * _far _cdecl _getfillmask(unsigned char _far *);
+
+/* COLOR SELECTION */
+
+long _far _cdecl _setbkcolor(long);
+long _far _cdecl _getbkcolor(void);
+
+long _far _cdecl _remappalette(short, long);
+short _far _cdecl _remapallpalette(const long _far *);
+short _far _cdecl _selectpalette(short);
+
+
+/* TEXT */
+/* parameters for _displaycursor */
+#define _GCURSOROFF 0
+#define _GCURSORON 1
+
+/* parameters for _wrapon */
+#define _GWRAPOFF 0
+#define _GWRAPON 1
+
+
+/* direction parameters for _scrolltextwindow */
+#define _GSCROLLUP 1
+#define _GSCROLLDOWN (-1)
+
+/* request maximum number of rows in _settextrows and _setvideomoderows */
+#define _MAXTEXTROWS (-1)
+
+short _far _cdecl _settextrows(short); /* returns # rows set; 0 if error */
+void _far _cdecl _settextwindow(short, short, short, short);
+void _far _cdecl _gettextwindow(short _far *, short _far *, short _far *, short _far *);
+void _far _cdecl _scrolltextwindow(short);
+void _far _cdecl _outmem(const unsigned char _far *, short);
+void _far _cdecl _outtext(const unsigned char _far *);
+short _far _cdecl _wrapon(short);
+
+short _far _cdecl _displaycursor(short);
+short _far _cdecl _settextcursor(short);
+short _far _cdecl _gettextcursor(void);
+
+struct rccoord _far _cdecl _settextposition(short, short);
+struct rccoord _far _cdecl _gettextposition(void);
+
+short _far _cdecl _settextcolor(short);
+short _far _cdecl _gettextcolor(void);
+
+
+/* SCREEN IMAGES */
+
+void _far _cdecl _getimage(short, short, short, short, char _huge *);
+void _far _cdecl _putimage(short, short, char _huge *, short);
+long _far _cdecl _imagesize(short, short, short, short);
+
+/* "action verbs" for _putimage() and _setwritemode() */
+#define _GPSET 3
+#define _GPRESET 2
+#define _GAND 1
+#define _GOR 0
+#define _GXOR 4
+
+
+/* Color values are used with _setbkcolor in graphics modes and also by
+ _remappalette and _remapallpalette. Also known as palette colors.
+ Not to be confused with color indices (aka. color attributes). */
+
+/* universal color values (all color modes): */
+#define _BLACK 0x000000L
+#define _BLUE 0x2a0000L
+#define _GREEN 0x002a00L
+#define _CYAN 0x2a2a00L
+#define _RED 0x00002aL
+#define _MAGENTA 0x2a002aL
+#define _BROWN 0x00152aL
+#define _WHITE 0x2a2a2aL
+#define _GRAY 0x151515L
+#define _LIGHTBLUE 0x3F1515L
+#define _LIGHTGREEN 0x153f15L
+#define _LIGHTCYAN 0x3f3f15L
+#define _LIGHTRED 0x15153fL
+#define _LIGHTMAGENTA 0x3f153fL
+#define _YELLOW 0x153f3fL
+#define _BRIGHTWHITE 0x3f3f3fL
+
+/* the following is obsolescent and defined only for backward compatibility */
+#define _LIGHTYELLOW _YELLOW
+
+/* mono mode F (_ERESNOCOLOR) color values: */
+#define _MODEFOFF 0L
+#define _MODEFOFFTOON 1L
+#define _MODEFOFFTOHI 2L
+#define _MODEFONTOOFF 3L
+#define _MODEFON 4L
+#define _MODEFONTOHI 5L
+#define _MODEFHITOOFF 6L
+#define _MODEFHITOON 7L
+#define _MODEFHI 8L
+
+/* mono mode 7 (_TEXTMONO) color values: */
+#define _MODE7OFF 0L
+#define _MODE7ON 1L
+#define _MODE7HI 2L
+
+
+/* Warning: these '_xy' entrypoints are undocumented.
+ They may or may not be supported in future versions. */
+struct xycoord _far _cdecl _moveto_xy(struct xycoord);
+short _far _cdecl _lineto_xy(struct xycoord);
+short _far _cdecl _rectangle_xy(short,struct xycoord,struct xycoord);
+short _far _cdecl _arc_xy(struct xycoord, struct xycoord, struct xycoord, struct xycoord);
+short _far _cdecl _ellipse_xy(short, struct xycoord, struct xycoord);
+short _far _cdecl _pie_xy(short, struct xycoord, struct xycoord, struct xycoord, struct xycoord);
+short _far _cdecl _getpixel_xy(struct xycoord);
+short _far _cdecl _setpixel_xy(struct xycoord);
+short _far _cdecl _floodfill_xy(struct xycoord, short);
+void _far _cdecl _getimage_xy(struct xycoord,struct xycoord, char _huge *);
+long _far _cdecl _imagesize_xy(struct xycoord,struct xycoord);
+void _far _cdecl _putimage_xy(struct xycoord, char _huge *, short);
+
+
+/* WINDOW COORDINATE SYSTEM */
+
+#ifndef _WXYCOORD_DEFINED
+/* structure for window coordinate pair */
+struct _wxycoord {
+ double wx; /* window x coordinate */
+ double wy; /* window y coordinate */
+ };
+#define _WXYCOORD_DEFINED
+#endif
+
+
+/* define real coordinate window - returns non-zero if successful */
+short _far _cdecl _setwindow(short,double,double,double,double);
+
+/* convert from view to window coordinates */
+struct _wxycoord _far _cdecl _getwindowcoord(short,short);
+struct _wxycoord _far _cdecl _getwindowcoord_xy(struct xycoord);
+
+/* convert from window to view coordinates */
+struct xycoord _far _cdecl _getviewcoord_w(double,double);
+struct xycoord _far _cdecl _getviewcoord_wxy(const struct _wxycoord _far *);
+
+/* return the window coordinates of the current graphics output
+ position as an _wxycoord structure. no error return. */
+struct _wxycoord _far _cdecl _getcurrentposition_w(void);
+
+
+/* window coordinate entry points for graphics output routines */
+
+/* returns nonzero if successful; otherwise 0 */
+short _far _cdecl _arc_w(double, double, double, double, double, double, double, double);
+short _far _cdecl _arc_wxy(const struct _wxycoord _far *, const struct _wxycoord _far *, const struct _wxycoord _far *, const struct _wxycoord _far *);
+
+/* returns nonzero if successful; otherwise 0 */
+short _far _cdecl _ellipse_w(short, double, double, double, double);
+short _far _cdecl _ellipse_wxy(short, const struct _wxycoord _far *, const struct _wxycoord _far *);
+
+/* returns nonzero if successful; otherwise 0 */
+short _far _cdecl _floodfill_w(double, double, short);
+
+/* returns pixel value at given point; -1 if unsuccessful. */
+short _far _cdecl _getpixel_w(double, double);
+
+/* returns nonzero if successful; otherwise 0 */
+short _far _cdecl _lineto_w(double, double);
+
+/* returns the view coordinates of the previous output
+ position as an _xycoord structure. no error return */
+struct _wxycoord _far _cdecl _moveto_w(double, double);
+
+/* returns nonzero if successful; otherwise 0 */
+short _far _cdecl _pie_w(short, double, double, double, double, double, double, double, double);
+short _far _cdecl _pie_wxy(short, const struct _wxycoord _far *, const struct _wxycoord _far *, const struct _wxycoord _far *, const struct _wxycoord _far *);
+
+/* returns nonzero if successful; otherwise 0 */
+short _far _cdecl _rectangle_w(short, double, double, double, double);
+short _far _cdecl _rectangle_wxy(short, const struct _wxycoord _far *, const struct _wxycoord _far *);
+
+/* returns nonzero if successful; otherwise 0 */
+short _far _cdecl _polygon_w(short, const double _far *, short);
+short _far _cdecl _polygon_wxy(short, const struct _wxycoord _far *, short);
+
+/* returns previous color; -1 if unsuccessful */
+short _far _cdecl _setpixel_w(double, double);
+
+
+/* window coordinate image routines */
+
+/* no return value */
+void _far _cdecl _getimage_w(double, double, double, double, char _huge *);
+void _far _cdecl _getimage_wxy(const struct _wxycoord _far *, const struct _wxycoord _far *, char _huge *);
+
+/* returns the image's storage size in bytes */
+long _far _cdecl _imagesize_w(double, double, double, double);
+long _far _cdecl _imagesize_wxy(const struct _wxycoord _far *, const struct _wxycoord _far *);
+
+/* no return value */
+void _far _cdecl _putimage_w(double, double ,char _huge * ,short);
+
+
+/* FONTS */
+
+#ifndef _FONTINFO_DEFINED
+/* structure for _getfontinfo() */
+struct _fontinfo {
+ int type; /* b0 set = vector,clear = bit map */
+ int ascent; /* pix dist from top to baseline */
+ int pixwidth; /* character width in pixels, 0=prop */
+ int pixheight; /* character height in pixels */
+ int avgwidth; /* average character width in pixels */
+ char filename[81]; /* file name including path */
+ char facename[32]; /* font name */
+};
+#define _FONTINFO_DEFINED
+#endif
+
+
+/* font function prototypes */
+short _far _cdecl _registerfonts( const unsigned char _far *);
+void _far _cdecl _unregisterfonts( void );
+short _far _cdecl _setfont( const unsigned char _far * );
+short _far _cdecl _getfontinfo( struct _fontinfo _far * );
+void _far _cdecl _outgtext( const unsigned char _far * );
+short _far _cdecl _getgtextextent( const unsigned char _far * );
+struct xycoord _far _cdecl _setgtextvector( short, short );
+struct xycoord _far _cdecl _getgtextvector(void);
+
+/* restore default packing */
+#pragma pack()