graph.h
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C头文件 代码 · 共 406 行 · 第 1/2 页
H
406 行
/****************************************************************************
*
* Open Watcom Project
*
* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved.
*
* ========================================================================
*
* This file contains Original Code and/or Modifications of Original
* Code as defined in and that are subject to the Sybase Open Watcom
* Public License version 1.0 (the 'License'). You may not use this file
* except in compliance with the License. BY USING THIS FILE YOU AGREE TO
* ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is
* provided with the Original Code and Modifications, and is also
* available at www.sybase.com/developer/opensource.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM
* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR
* NON-INFRINGEMENT. Please see the License for the specific language
* governing rights and limitations under the License.
*
* ========================================================================
*
* Description: WHEN YOU FIGURE OUT WHAT THIS FILE DOES, PLEASE
* DESCRIBE IT HERE!
*
****************************************************************************/
#ifndef _GRAPH_H_INCLUDED
#define _GRAPH_H_INCLUDED
#ifdef __cplusplus
extern "C" {
#endif
#ifndef _COMDEF_H_INCLUDED
#include <_comdef.h>
#endif
#pragma pack(__push,1);
#if defined(__QNX__) && defined(__386__)
#ifdef __SW_3R
#pragma library (graph3r)
#else
#pragma library (graph3s)
#endif
#else
#pragma library (graph);
#endif
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 */
short _WCI86FAR _CGRAPH _setvideomode( short );
short _WCI86FAR _CGRAPH _setvideomoderows( short, short );
struct videoconfig _WCI86FAR * _WCI86FAR _CGRAPH
_getvideoconfig( struct videoconfig _WCI86FAR * );
short _WCI86FAR _CGRAPH _grstatus( void );
short _WCI86FAR _CGRAPH _setactivepage( short );
short _WCI86FAR _CGRAPH _getactivepage( void );
short _WCI86FAR _CGRAPH _setvisualpage( short );
short _WCI86FAR _CGRAPH _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 */
#if 0
// This mode is untested
#define _VRES32KCOLOR 0x110 /* 640 x 480, 32768 color */
#endif
#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 */
short _WCI86FAR _CGRAPH _setcolor( short );
short _WCI86FAR _CGRAPH _getcolor( void );
long _WCI86FAR _CGRAPH _setbkcolor( long );
long _WCI86FAR _CGRAPH _getbkcolor( void );
long _WCI86FAR _CGRAPH _remappalette( short, long );
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?