home *** CD-ROM | disk | FTP | other *** search
- /* graph.h -- extra-ANSI
- * Graphics utility functions for Microsoft compatibility.
- * Copyright (c) 1990,1991 MetaWare Incorporated
- */
- #ifndef _GRAPH_H
- #define _GRAPH_H
- #pragma push_align_members(64);
-
- #ifdef __CPLUSPLUS__
- extern "C" {
- #endif
-
- #ifndef _GRAPH_T_DEFINED
- /* structures used in the library */
-
- /* The structures xycoord, rccoord, and videoconfig have been changed to
- _xycoord, _rccoord, and _videoconfig for ANSI conformance. If you are
- compiling in ANSI mode you will not be able to use the Microsoft names
- which do not include a prepended _. When compiling in Non-ANSI mode the
- defines above will allow for complete Microsoft name compatiblity. */
-
- struct _xycoord {
- short xcoord; /* x coordinate */
- short ycoord; /* y coordinate */
- } ;
- struct _wxycoord {
- double wx; /* x coordinate */
- double wy; /* y coordinate */
- } ;
- struct _rccoord {
- short row; /* x coordinate */
- short col; /* y coordinate */
- } ;
-
- struct _videoconfig {
- short numxpixels; /* pixels in the x direction */
- short numypixels; /* pixels in the y direction */
- short numtextcols; /* text columns available */
- short numtextrows; /* text rows available */
- short numcolors; /* actual colors available */
- short bitsperpixel; /* bits per pixel */
- short numvideopages; /* available video pages */
- short mode; /* videomode */
- short adapter;
- short monitor;
- short memory; /* graphic board memory */
- } ;
-
- /* Define Non-ANSI structure names if no compiling in ANSI mode */
- #if __HIGHC__
- #define xycoord _xycoord
- #define wxycoord _wxycoord
- #define rccoord _rccoord
- #define videoconfig _videoconfig
- #endif
-
- #define _GRAPH_T_DEFINED
- #endif
-
- /* function prototypes */
- extern short _arc(short, short, short, short, short, short, short, short);
- extern short _arc_w(double, double, double, double,
- double, double, double, double);
- extern short _arc_wxy(struct _wxycoord *, struct _wxycoord *,
- struct _wxycoord *, struct _wxycoord *);
- extern void _clearscreen(short);
- extern short _ellipse(short, short, short, short, short);
- extern short _ellipse_w(short, double, double, double, double);
- extern short _ellipse_wxy(short, struct _wxycoord *, struct _wxycoord *);
- extern short _displaycursor(short toggle);
- extern short _floodfill(short x, short y, short boundary);
- extern short _getbkcolor(void);
- extern short _getcolor(void);
- extern struct _xycoord _getcurrentposition(void);
- extern char *_getfillmask(char *);
- extern void _getimage(short, short, short, short, char *);
- extern void _getimage_w(double, double, double, double, char *);
- extern void _getimage_wxy(struct _wxycoord *, struct _wxycoord *, char *);
- extern unsigned short _getlinestyle(void);
- extern struct _xycoord _getlogcoord(short, short);
- extern struct _xycoord _getphyscoord(short, short);
- extern short _getpixel(short, short);
- extern short _getpixel_w(double, double);
- extern short _gettextcolor(void);
- extern short _gettextcursor(void);
- extern short _getvisualpage(void);
- extern short _getwritemode(void);
- extern struct _rccoord _gettextposition(void);
- extern struct _videoconfig *_getvideoconfig(struct _videoconfig *buffer);
- extern struct _xycoord _getviewcoord(short,short);
- extern struct _wxycoord _getwindowcoord(short,short);
- extern long _imagesize(short, short, short, short);
- extern long _imagesize_w(double, double, double, double);
- extern short _lineto(short, short);
- extern short _lineto_w(double, double);
- extern struct _xycoord _moveto(short, short);
- extern struct _wxycoord _moveto_w(double, double);
- extern void _outtext(char *text);
- extern short _pie(short,short,short,short, short, short, short, short, short);
- extern short _pie_w(short, double, double, double, double,
- double, double, double, double);
- extern short _pie_wxy(short, struct _wxycoord *, struct _wxycoord *,
- struct _wxycoord *, struct _wxycoord *);
- extern short _polygon(short, struct xycoord[], short);
- extern short _polygon_w(short, double[] , short);
- extern void _putimage(short, short, char *, short);
- extern void _putimage_w(double, double, char *, short);
- extern void _putimage_wxy(struct _wxycoord *, char *, short);
- extern short _rectangle(short, short, short, short, short);
- extern short _rectangle_w(short, double, double, double, double);
- extern short _rectangle_wxy(short, struct _wxycoord *, struct _wxycoord *);
- extern short _setactivepage(short);
- extern short _setbkcolor(short);
- extern short _setcolor(short);
- extern void _setcliprgn(short, short, short, short);
- extern void _setfillmask(char *);
- extern void _setlinestyle(unsigned short linestyle);
- extern short _settextcursor(short);
- extern struct _xycoord _setlogorg(short, short);
- extern short _setpixel(short x, short y);
- extern short _setpixel_w(double x, double y);
- extern short _settextcolor(short color);
- extern short _settextcursor(short attr);
- extern short _setvideomoderows(short, short);
- extern struct _rccoord _settextposition(short, short);
- extern void _settextwindow(short xt, short yt, short xb, short yb);
- extern short _setvideomode(short);
- extern struct _xycoord _setvieworg(short, short);
- extern void _setviewport(short, short, short, short);
- extern short _setvisualpage(short);
- extern short _setwindow(short,double,double,double,double);
- extern short _setwritemode(short);
- extern short _wrapon(short wrap);
- extern short _selectpalette(short number);
- extern short _remapallpalette(long *color);
- extern long _remappalette(short pixel, long color);
- extern short _settextrows(short rows);
-
- /* font function prototypes */
- extern void _outgtext( const unsigned char * );
- extern short _registerfonts( const char *);
- extern void _unregisterfonts( void );
-
- /* Borland functions */
- extern void _line(int, int, int, int);
-
- /*arguments to _clearscreen() */
- #define _GCLEARSCREEN 0
- #define _GVIEWPORT 1
- #define _GWINDOW 2
-
- /* arguments for _displaycursor() */
- #define _GCURSOROFF 0
- #define _GCURSORON 1
-
- /* arguments to _ellipse, _pie(), and _rectangle() */
- #define _GBORDER 2
- #define _GFILLINTERIOR 3
-
- /* videoconfig adapter constants */
- #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 _MONO 0x0001 /* Monochrome */
- #define _COLOR 0x0002 /* Color */
- #define _ENHCOLOR 0x0004 /* Enhanced Color */
- #define _ANALOG 0x0018 /* Analog */
-
- /* mode argument to _setvideomode() */
- #define _DEFAULTMODE -1
- #define _TEXTBW40 0
- #define _TEXTC40 1
- #define _TEXTBW80 2
- #define _TEXTC80 3
- #define _MRES4COLOR 4
- #define _MRESNOCOLOR 5
- #define _HRESBW 6
- #define _TEXTMONO 7
- #define _HERCMONO 8
- #define _MRES16COLOR 13
- #define _HRES16COLOR 14
- #define _ERESNOCOLOR 15
- #define _ERESCOLOR 16
- #define _VRES2COLOR 17
- #define _VRES16COLOR 18
- #define _MRES256COLOR 19
-
- /* argument for _putimage(), _setwritemode and _getwritemode */
- #define _GOR 0
- #define _GAND 1
- #define _GPRESET 2
- #define _GPSET 3
- #define _GXOR 4
- /* Extra functionality for _writemode */
- /* Note: These are not true logical NAND and NORS, but the complement of */
- /* the color ANDed or ORed */
- #define _GNOR 8
- #define _GNAND 9
- #define _GNXOR 12
-
- /* arguments for _wrapon() */
- #define _GWRAPOFF 0
- #define _GWRAPON 1
-
- /* color constants setcolor, setbkcolor */
- #define _BLACK 0
- #define _BLUE 1
- #define _GREEN 2
- #define _CYAN 3
- #define _RED 4
- #define _MAGENTA 5
- #define _BROWN 6
- #define _WHITE 7
- #define _GRAY 8
- #define _LIGHTBLUE 9
- #define _LIGHTGREEN 10
- #define _LIGHTCYAN 11
- #define _LIGHTRED 12
- #define _LIGHTMAGENTA 13
- #define _LIGHTYELLOW 14
- #define _BRIGHTWHITE 15
-
- #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
-
- /* _settextrows row default value */
- #define _MAXTEXTROWS -1
- #ifdef __CPLUSPLUS__
- }
- #endif
- #pragma pop_align_members();
- #endif /* _GRAPH_H */
-