508 lines
18 KiB
C
508 lines
18 KiB
C
/*
|
|
* graph.h Graphics functions
|
|
*
|
|
* =========================================================================
|
|
*
|
|
* Open Watcom Project
|
|
*
|
|
* Copyright (c) 2002-2010 Open Watcom Contributors. All Rights Reserved.
|
|
* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved.
|
|
*
|
|
* This file is automatically generated. Do not edit directly.
|
|
*
|
|
* =========================================================================
|
|
*/
|
|
#ifndef _GRAPH_H_INCLUDED
|
|
#define _GRAPH_H_INCLUDED
|
|
|
|
#ifndef _ENABLE_AUTODEPEND
|
|
#pragma read_only_file;
|
|
#endif
|
|
|
|
#ifndef _COMDEF_H_INCLUDED
|
|
#include <_comdef.h>
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#ifdef _M_IX86
|
|
#pragma pack( __push, 1 )
|
|
#else
|
|
#pragma pack( __push, 8 )
|
|
#endif
|
|
|
|
#pragma library (graph);
|
|
|
|
struct xycoord { /* structure for pixel position */
|
|
short xcoord;
|
|
short ycoord;
|
|
};
|
|
|
|
struct _wxycoord { /* structure for window position*/
|
|
double wx;
|
|
double wy;
|
|
};
|
|
|
|
struct rccoord { /* structure for text position */
|
|
short row;
|
|
short col;
|
|
};
|
|
|
|
struct videoconfig { /* structure for _getvideoconfig */
|
|
short numxpixels;
|
|
short numypixels;
|
|
short numtextcols;
|
|
short numtextrows;
|
|
short numcolors;
|
|
short bitsperpixel;
|
|
short numvideopages;
|
|
short mode;
|
|
short adapter;
|
|
short monitor;
|
|
short memory;
|
|
};
|
|
|
|
struct textsettings { /* structure for _gettextsettings */
|
|
short basevectorx;
|
|
short basevectory;
|
|
short txpath;
|
|
short height;
|
|
short width;
|
|
short spacing;
|
|
short horizalign;
|
|
short vertalign;
|
|
};
|
|
|
|
struct _fontinfo { /* structure for _getfontinfo */
|
|
short type;
|
|
short ascent;
|
|
short pixwidth;
|
|
short pixheight;
|
|
short avgwidth;
|
|
char filename[ 81 ];
|
|
char facename[ 32 ];
|
|
};
|
|
|
|
/* Calling conventions for -fpi(87) are different than for -fpc */
|
|
#if defined( __FPI__ )
|
|
#define _arc_w _arc_w_87
|
|
#define _ellipse_w _ellipse_w_87
|
|
#define _floodfill_w _floodfill_w_87
|
|
#define _getimage_w _getimage_w_87
|
|
#define _getpixel_w _getpixel_w_87
|
|
#define _getviewcoord_w _getviewcoord_w_87
|
|
#define _grtext_w _grtext_w_87
|
|
#define _imagesize_w _imagesize_w_87
|
|
#define _lineto_w _lineto_w_87
|
|
#define _moveto_w _moveto_w_87
|
|
#define _pie_w _pie_w_87
|
|
#define _putimage_w _putimage_w_87
|
|
#define _rectangle_w _rectangle_w_87
|
|
#define _setcharsize_w _setcharsize_w_87
|
|
#define _setcharspacing_w _setcharspacing_w_87
|
|
#define _setpixel_w _setpixel_w_87
|
|
#define _setwindow _setwindow_87
|
|
#endif
|
|
|
|
/* Video Setup and Query Functions */
|
|
|
|
_WCRTLINK short
|
|
_WCI86FAR _setvideomode( short );
|
|
_WCRTLINK short
|
|
_WCI86FAR _setvideomoderows( short, short );
|
|
_WCRTLINK struct videoconfig _WCI86FAR *
|
|
_WCI86FAR _getvideoconfig( struct videoconfig _WCI86FAR * );
|
|
_WCRTLINK short
|
|
_WCI86FAR _grstatus( void );
|
|
_WCRTLINK short
|
|
_WCI86FAR _setactivepage( short );
|
|
_WCRTLINK short
|
|
_WCI86FAR _getactivepage( void );
|
|
_WCRTLINK short
|
|
_WCI86FAR _setvisualpage( short );
|
|
_WCRTLINK short
|
|
_WCI86FAR _getvisualpage( void );
|
|
|
|
#define _MAXRESMODE (-3) /* graphics mode with highest res. */
|
|
#define _MAXCOLORMODE (-2) /* graphics mode with most colours */
|
|
#define _DEFAULTMODE (-1) /* restore screen to original mode */
|
|
#define _TEXTBW40 0 /* 40 x 25 text, 16 grey */
|
|
#define _TEXTC40 1 /* 40 x 25 text, 16/8 color */
|
|
#define _TEXTBW80 2 /* 80 x 25 text, 16 grey */
|
|
#define _TEXTC80 3 /* 80 x 25 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 x 25 text, BW */
|
|
#define _HERCMONO 11 /* 720 x 350, BW */
|
|
#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 _URES256COLOR 0x100 /* 640 x 400, 256 color */
|
|
#define _VRES256COLOR 0x101 /* 640 x 480, 256 color */
|
|
#define _SVRES16COLOR 0x102 /* 800 x 600, 16 color */
|
|
#define _SVRES256COLOR 0x103 /* 800 x 600, 256 color */
|
|
#define _XRES16COLOR 0x104 /* 1024 x 768, 16 color */
|
|
#define _XRES256COLOR 0x105 /* 1024 x 768, 256 color */
|
|
#define _YRES16COLOR 0x106 /* 1280 x 1024, 16 color */
|
|
#define _YRES256COLOR 0x107 /* 1280 x 1024, 256 color */
|
|
#define _SVTEXTC80X60 0x108 /* 80 x 60 text */
|
|
#define _SVTEXTC132X25 0x109 /* 132 x 25 text */
|
|
#define _SVTEXTC132X43 0x10A /* 132 x 43 text */
|
|
#define _SVTEXTC132X50 0x10B /* 132 x 50 text */
|
|
#define _SVTEXTC132X60 0x10C /* 132 x 60 text */
|
|
#define _MRES32KCOLOR 0x10D /* 320 x 200, 32K color */
|
|
#define _MRES64KCOLOR 0x10E /* 320 x 200, 64K color */
|
|
#define _MRESTRUECOLOR 0x10F /* 320 x 200, TRUE color */
|
|
#define _VRES32KCOLOR 0x110 /* 640 x 480, 32K color */
|
|
#define _VRES64KCOLOR 0x111 /* 640 x 480, 64K color */
|
|
#define _VRESTRUECOLOR 0x112 /* 640 x 480, 16.8M color */
|
|
#define _SVRES32KCOLOR 0x113 /* 800 x 600, 32K color */
|
|
#define _SVRES64KCOLOR 0x114 /* 800 x 600, 64K color */
|
|
#define _SVRESTRUECOLOR 0x115 /* 800 x 600, 16.8M color */
|
|
#define _XRES32KCOLOR 0x116 /* 1024 x 768, 32K color */
|
|
#define _XRES64KCOLOR 0x117 /* 1024 x 768, 64K color */
|
|
#define _XRESTRUECOLOR 0x118 /* 1024 x 768, 16.8M color */
|
|
#define _YRES32KCOLOR 0x119 /* 1280 x 1024, 32K color */
|
|
#define _YRES64KCOLOR 0x11A /* 1280 x 1024, 64K color */
|
|
#define _YRESTRUECOLOR 0x11B /* 1280 x 1024, 16.8M color */
|
|
#define _ZRES256COLOR 0x11C /* 1600 x 1200, 256 color */
|
|
#define _ZRES32KCOLOR 0x11D /* 1600 x 1200, 32K color */
|
|
#define _ZRES64KCOLOR 0x11E /* 1600 x 1200, 64K color */
|
|
#define _ZRESTRUECOLOR 0x11F /* 1600 x 1200, 16.8M color */
|
|
|
|
#define _NODISPLAY (-1) /* no display device */
|
|
#define _UNKNOWN 0 /* unknown adapter/monitor type */
|
|
|
|
#define _MDPA 1 /* monochrome display/printer adapter */
|
|
#define _CGA 2 /* colour/graphics monitor adapter */
|
|
#define _HERCULES 3 /* Hercules monochrome adapter card */
|
|
#define _MCGA 4 /* PS/2 Model 30 monitor */
|
|
#define _EGA 5 /* enhanced graphics adapter */
|
|
#define _VGA 6 /* vector graphics array */
|
|
#define _SVGA 7 /* super VGA */
|
|
#define _HGC _HERCULES
|
|
|
|
#define _MONO 1 /* regular monochrome */
|
|
#define _COLOR 2 /* regular color */
|
|
#define _ENHANCED 3 /* enhanced color */
|
|
#define _ANALOGMONO 5 /* analog monochrome */
|
|
#define _ANALOGCOLOR 6 /* analog color */
|
|
|
|
#define _GROK 0 /* no error */
|
|
#define _GRERROR (-1) /* graphics error */
|
|
#define _GRMODENOTSUPPORTED (-2) /* video mode not supported */
|
|
#define _GRNOTINPROPERMODE (-3) /* function n/a in this mode */
|
|
#define _GRINVALIDPARAMETER (-4) /* invalid parameter(s) */
|
|
#define _GRINSUFFICIENTMEMORY (-5) /* out of memory */
|
|
#define _GRFONTFILENOTFOUND (-6) /* can't open font file */
|
|
#define _GRINVALIDFONTFILE (-7) /* font file has invalid format */
|
|
#define _GRNOOUTPUT 1 /* nothing was done */
|
|
#define _GRCLIPPED 2 /* output clipped */
|
|
|
|
/* Colour Setting and Query Functions */
|
|
|
|
_WCRTLINK short
|
|
_WCI86FAR _setcolor( short );
|
|
_WCRTLINK short
|
|
_WCI86FAR _getcolor( void );
|
|
_WCRTLINK long
|
|
_WCI86FAR _setbkcolor( long );
|
|
_WCRTLINK long
|
|
_WCI86FAR _getbkcolor( void );
|
|
_WCRTLINK long
|
|
_WCI86FAR _remappalette( short, long );
|
|
_WCRTLINK short
|
|
_WCI86FAR _remapallpalette( long _WCI86FAR * );
|
|
_WCRTLINK short
|
|
_WCI86FAR _selectpalette( short );
|
|
|
|
#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
|
|
#define _LIGHTYELLOW _YELLOW
|
|
|
|
/* Shape and Curve Drawing Functions */
|
|
|
|
_WCRTLINK short
|
|
_WCI86FAR _lineto( short, short );
|
|
_WCRTLINK short
|
|
_WCI86FAR _lineto_w( double, double );
|
|
_WCRTLINK short
|
|
_WCI86FAR _rectangle( short, short, short, short, short );
|
|
_WCRTLINK short
|
|
_WCI86FAR _rectangle_w( short, double, double, double, double );
|
|
_WCRTLINK short
|
|
_WCI86FAR _rectangle_wxy( short, struct _wxycoord _WCI86FAR *,
|
|
struct _wxycoord _WCI86FAR * );
|
|
_WCRTLINK short
|
|
_WCI86FAR _arc( short, short, short, short, short, short,
|
|
short, short );
|
|
_WCRTLINK short
|
|
_WCI86FAR _arc_w( double, double, double, double, double,
|
|
double, double, double );
|
|
_WCRTLINK short
|
|
_WCI86FAR _arc_wxy( struct _wxycoord _WCI86FAR *,
|
|
struct _wxycoord _WCI86FAR *,
|
|
struct _wxycoord _WCI86FAR *,
|
|
struct _wxycoord _WCI86FAR * );
|
|
_WCRTLINK short
|
|
_WCI86FAR _ellipse( short, short, short, short, short );
|
|
_WCRTLINK short
|
|
_WCI86FAR _ellipse_w( short, double, double, double, double );
|
|
_WCRTLINK short
|
|
_WCI86FAR _ellipse_wxy( short, struct _wxycoord _WCI86FAR *,
|
|
struct _wxycoord _WCI86FAR * );
|
|
_WCRTLINK short
|
|
_WCI86FAR _pie( short, short, short, short, short, short,
|
|
short, short, short );
|
|
_WCRTLINK short
|
|
_WCI86FAR _pie_w( short, double, double, double, double,
|
|
double, double, double, double );
|
|
_WCRTLINK short
|
|
_WCI86FAR _pie_wxy( short, struct _wxycoord _WCI86FAR *,
|
|
struct _wxycoord _WCI86FAR *,
|
|
struct _wxycoord _WCI86FAR *,
|
|
struct _wxycoord _WCI86FAR * );
|
|
_WCRTLINK short
|
|
_WCI86FAR _polygon( short, short, struct xycoord _WCI86FAR * );
|
|
_WCRTLINK short
|
|
_WCI86FAR _polygon_w( short, short, double _WCI86FAR * );
|
|
_WCRTLINK short
|
|
_WCI86FAR _polygon_wxy( short, short, struct _wxycoord _WCI86FAR * );
|
|
_WCRTLINK short
|
|
_WCI86FAR _floodfill( short, short, short );
|
|
_WCRTLINK short
|
|
_WCI86FAR _floodfill_w( double, double, short );
|
|
_WCRTLINK short
|
|
_WCI86FAR _setpixel( short, short );
|
|
_WCRTLINK short
|
|
_WCI86FAR _setpixel_w( double, double );
|
|
_WCRTLINK short
|
|
_WCI86FAR _getpixel( short, short );
|
|
_WCRTLINK short
|
|
_WCI86FAR _getpixel_w( double, double );
|
|
_WCRTLINK short
|
|
_WCI86FAR _getarcinfo( struct xycoord _WCI86FAR *,
|
|
struct xycoord _WCI86FAR *,
|
|
struct xycoord _WCI86FAR * );
|
|
|
|
/* Position Determination Functions */
|
|
|
|
_WCRTLINK struct xycoord
|
|
_WCI86FAR _getcurrentposition( void );
|
|
_WCRTLINK struct _wxycoord
|
|
_WCI86FAR _getcurrentposition_w( void );
|
|
_WCRTLINK struct xycoord
|
|
_WCI86FAR _getviewcoord( short, short );
|
|
_WCRTLINK struct xycoord
|
|
_WCI86FAR _getviewcoord_w( double, double );
|
|
_WCRTLINK struct xycoord
|
|
_WCI86FAR _getviewcoord_wxy( struct _wxycoord _WCI86FAR * );
|
|
_WCRTLINK struct xycoord
|
|
_WCI86FAR _getphyscoord( short, short );
|
|
_WCRTLINK struct _wxycoord
|
|
_WCI86FAR _getwindowcoord( short, short );
|
|
_WCRTLINK struct xycoord
|
|
_WCI86FAR _moveto( short, short );
|
|
_WCRTLINK struct _wxycoord
|
|
_WCI86FAR _moveto_w( double, double );
|
|
_WCRTLINK struct xycoord
|
|
_WCI86FAR _setvieworg( short, short );
|
|
|
|
#define _getlogcoord _getviewcoord /* for compatibility */
|
|
#define _setlogorg _setvieworg
|
|
|
|
/* Output Determination Functions */
|
|
|
|
_WCRTLINK void
|
|
_WCI86FAR _setfillmask( unsigned char _WCI86FAR * );
|
|
_WCRTLINK unsigned char _WCI86FAR *
|
|
_WCI86FAR _getfillmask( unsigned char _WCI86FAR * );
|
|
_WCRTLINK void
|
|
_WCI86FAR _setlinestyle( unsigned short );
|
|
_WCRTLINK unsigned short
|
|
_WCI86FAR _getlinestyle( void );
|
|
_WCRTLINK short
|
|
_WCI86FAR _setplotaction( short );
|
|
_WCRTLINK short
|
|
_WCI86FAR _getplotaction( void );
|
|
|
|
#define _setwritemode _setplotaction /* for compatibility */
|
|
#define _getwritemode _getplotaction
|
|
|
|
enum { /* plotting action */
|
|
_GOR, _GAND, _GPRESET, _GPSET, _GXOR
|
|
};
|
|
|
|
/* Screen Manipulation Functions */
|
|
|
|
_WCRTLINK void
|
|
_WCI86FAR _clearscreen( short );
|
|
_WCRTLINK void
|
|
_WCI86FAR _setviewport( short, short, short, short );
|
|
_WCRTLINK void
|
|
_WCI86FAR _setcliprgn( short, short, short, short );
|
|
_WCRTLINK void
|
|
_WCI86FAR _getcliprgn( short _WCI86FAR *, short _WCI86FAR *,
|
|
short _WCI86FAR *, short _WCI86FAR * );
|
|
_WCRTLINK short
|
|
_WCI86FAR _displaycursor( short );
|
|
_WCRTLINK short
|
|
_WCI86FAR _wrapon( short );
|
|
_WCRTLINK short
|
|
_WCI86FAR _setwindow( short, double, double, double, double );
|
|
|
|
#define _GCLEARSCREEN 0
|
|
#define _GVIEWPORT 1
|
|
#define _GWINDOW 2
|
|
|
|
#define _GBORDER 2
|
|
#define _GFILLINTERIOR 3
|
|
|
|
enum { /* cursor display */
|
|
_GCURSOROFF, _GCURSORON
|
|
};
|
|
|
|
enum { /* text wrapping */
|
|
_GWRAPOFF, _GWRAPON
|
|
};
|
|
|
|
/* Graphics Text Manipulation Functions and Constants */
|
|
|
|
_WCRTLINK struct textsettings _WCI86FAR *
|
|
_WCI86FAR _gettextsettings( struct textsettings _WCI86FAR * );
|
|
_WCRTLINK void
|
|
_WCI86FAR _gettextextent( short, short, char _WCI86FAR *,
|
|
struct xycoord _WCI86FAR *, struct xycoord _WCI86FAR * );
|
|
_WCRTLINK void
|
|
_WCI86FAR _setcharsize( short, short );
|
|
_WCRTLINK void
|
|
_WCI86FAR _setcharsize_w( double, double );
|
|
_WCRTLINK void
|
|
_WCI86FAR _settextalign( short, short );
|
|
_WCRTLINK void
|
|
_WCI86FAR _settextpath( short );
|
|
_WCRTLINK void
|
|
_WCI86FAR _settextorient( short, short );
|
|
_WCRTLINK void
|
|
_WCI86FAR _setcharspacing( short );
|
|
_WCRTLINK void
|
|
_WCI86FAR _setcharspacing_w( double );
|
|
_WCRTLINK short
|
|
_WCI86FAR _grtext( short, short, char _WCI86FAR * );
|
|
_WCRTLINK short
|
|
_WCI86FAR _grtext_w( double, double, char _WCI86FAR * );
|
|
|
|
enum { /* horizontal alignment */
|
|
_NORMAL, _LEFT, _CENTER, _RIGHT
|
|
};
|
|
|
|
enum { /* vertical alignment */
|
|
_TOP=1, _CAP, _HALF, _BASE, _BOTTOM
|
|
};
|
|
|
|
enum { /* text path */
|
|
_PATH_RIGHT, _PATH_LEFT, _PATH_UP, _PATH_DOWN
|
|
};
|
|
|
|
/* Text Manipulation Functions */
|
|
|
|
#define _GSCROLLUP 1
|
|
#define _GSCROLLDOWN (-1)
|
|
#define _MAXTEXTROWS (-1)
|
|
|
|
_WCRTLINK void
|
|
_WCI86FAR _settextwindow( short, short, short, short );
|
|
_WCRTLINK void
|
|
_WCI86FAR _outtext( char _WCI86FAR * );
|
|
_WCRTLINK short
|
|
_WCI86FAR _settextcolor( short );
|
|
_WCRTLINK short
|
|
_WCI86FAR _gettextcolor( void );
|
|
_WCRTLINK struct rccoord
|
|
_WCI86FAR _settextposition( short, short );
|
|
_WCRTLINK struct rccoord
|
|
_WCI86FAR _gettextposition( void );
|
|
_WCRTLINK void
|
|
_WCI86FAR _scrolltextwindow( short );
|
|
_WCRTLINK void
|
|
_WCI86FAR _gettextwindow( short _WCI86FAR *, short _WCI86FAR *,
|
|
short _WCI86FAR *, short _WCI86FAR * );
|
|
_WCRTLINK short
|
|
_WCI86FAR _gettextcursor( void );
|
|
_WCRTLINK short
|
|
_WCI86FAR _settextcursor( short );
|
|
_WCRTLINK void
|
|
_WCI86FAR _outmem( unsigned char _WCI86FAR *, short );
|
|
_WCRTLINK short
|
|
_WCI86FAR _settextrows( short );
|
|
|
|
/* Image Manipulation Functions */
|
|
|
|
_WCRTLINK void
|
|
_WCI86FAR _getimage( short, short, short, short, char _WCI86HUGE * );
|
|
_WCRTLINK void
|
|
_WCI86FAR _getimage_w( double, double, double, double, char _WCI86HUGE * );
|
|
_WCRTLINK void
|
|
_WCI86FAR _getimage_wxy( struct _wxycoord _WCI86FAR *,
|
|
struct _wxycoord _WCI86FAR *,
|
|
char _WCI86HUGE * );
|
|
_WCRTLINK void
|
|
_WCI86FAR _putimage( short, short, char _WCI86HUGE *, short );
|
|
_WCRTLINK void
|
|
_WCI86FAR _putimage_w( double, double, char _WCI86HUGE *, short );
|
|
_WCRTLINK long
|
|
_WCI86FAR _imagesize( short, short, short, short );
|
|
_WCRTLINK long
|
|
_WCI86FAR _imagesize_w( double, double, double, double );
|
|
_WCRTLINK long
|
|
_WCI86FAR _imagesize_wxy( struct _wxycoord _WCI86FAR *,
|
|
struct _wxycoord _WCI86FAR * );
|
|
/* Font Manipulation Functions */
|
|
|
|
_WCRTLINK short
|
|
_WCI86FAR _registerfonts( char _WCI86FAR * );
|
|
_WCRTLINK void
|
|
_WCI86FAR _unregisterfonts( void );
|
|
_WCRTLINK short
|
|
_WCI86FAR _setfont( char _WCI86FAR * );
|
|
_WCRTLINK short
|
|
_WCI86FAR _getfontinfo( struct _fontinfo _WCI86FAR * );
|
|
_WCRTLINK void
|
|
_WCI86FAR _outgtext( char _WCI86FAR * );
|
|
_WCRTLINK short
|
|
_WCI86FAR _getgtextextent( char _WCI86FAR * );
|
|
_WCRTLINK struct xycoord
|
|
_WCI86FAR _setgtextvector( short, short );
|
|
_WCRTLINK struct xycoord
|
|
_WCI86FAR _getgtextvector( void );
|
|
|
|
|
|
#pragma pack( __pop )
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
#endif
|