graphics.h

来自「linux下想使用turboc的人有福了」· C头文件 代码 · 共 672 行 · 第 1/2 页

H
672
字号
#define NORM_WIDTH 1#define THICK_WIDTH 3enum font_names{  DEFAULT_FONT = 0,  TRIPLEX_FONT = 1,  SMALL_FONT = 2,  SANS_SERIF_FONT = 3,  GOTHIC_FONT = 4,  SCRIPT_FONT = 5,  SIMPLEX_FONT = 6,  TRIPLEX_SCR_FONT = 7,  COMPLEX_FONT = 8,  EUROPEAN_FONT = 9,  BOLD_FONT = 10,  MAX_FONT = 11};// Text directions.#define HORIZ_DIR 0#define VERT_DIR 1// Text justification.#define LEFT_TEXT 0#define BOTTOM_TEXT 0#define CENTER_TEXT 1#define RIGHT_TEXT 2#define TOP_TEXT 2// Fill styles.#define EMPTY_FILL 0#define SOLID_FILL 1#define LINE_FILL 2#define LTSLASH_FILL 3#define SLASH_FILL 4#define BKSLASH_FILL 5#define LTBKSLASH_FILL 6#define HATCH_FILL 7#define XHATCH_FILL 8#define INTERLEAVE_FILL 9#define WIDE_DOT_FILL 10#define CLOSE_DOT_FILL 11#define USER_FILL 12//----------------------------------------------------------------------------// Data types.// A little toy of my own.typedef struct{  gint r, g, b;}RgbStruct;// The following are all datatypes defined by true Turbo C.struct arccoordstype{  int x, y;  int xstart, ystart, xend, yend;};struct palettetype{  guchar size;  gschar colors[MAXCOLORS + 1];};struct fillsettingstype{  int pattern;  int color;};struct linesettingstype{  int linestyle;  unsigned upattern;  int thickness;};struct textsettingstype{  int font;  int direction;  int charsize;  int horiz;  int vert;};struct viewporttype{  int left, top, right, bottom;  int clip;};// This is the structure which holds data for the getimage/putimage// functions.  It is not used explicitly (or even defined) by true Turbo C// but it's convenient for us to define it!  We keep a pool of these// in an array (TcImageBuffers). #ifdef WITH_Xstruct TcImageBuffer{  gushort Width;  gushort Height;  Pixmap Handle;};#endif // WITH_X//----------------------------------------------------------------------------// Function prototypes.__BEGIN_DECLS  //extern void arc (int x, int y, int stangle, int endangle, int radius);extern void bar (int left, int top, int right, int bottom);extern void bar3d (int left, int top, int right, int bottom,		   int depth, int topflag);extern void circle (int x, int y, int radius);extern void cleardevice (void);extern void clearviewport (void);extern void closegraph (void);extern void detectgraph (int *graphdriver, int *graphmode);extern void drawpoly (int numpoints, int *polypoints);extern void ellipse (int x, int y, int stangle, int endangle,		     int xradius, int yradius);extern void fillellipse (int x, int y, int xradius, int yradius);extern void fillpoly (int numpoints, int *polypoints);extern void floodfill (int x, int y, int border);extern void getarccoords (struct arccoordstype *arccoords);extern void getaspectratio (int *xasp, int *yasp);extern int getbkcolor (void);extern int getcolor (void);extern const struct palettetype *getdefaultpalette (void);extern const char *getdrivername (void);extern void getfillpattern (char *pattern);extern void getfillsettings (struct fillsettingstype *fillinfo);extern int getgraphmode (void);extern void getimage (int left, int top, int right, int bottom, void *bitmap);//extern void freeimage (void *bitmap);extern void getlinesettings (struct linesettingstype *lineinfo);extern int getmaxcolor (void);extern int getmaxmode (void);#ifdef getmaxx#undef getmaxx#endifextern int getmaxx (void);#ifdef getmaxy#undef getmaxy#endifextern int getmaxy (void);extern char *getmodename (int mode_number);extern void getmoderange (int graphdriver, int *lomode, int *himode);extern unsigned getpixel (int x, int y);extern void getpalette (struct palettetype *palette);extern int getpalettesize (void);extern void gettextsettings (struct textsettingstype *texttypeinfo);extern void getviewsettings (struct viewporttype *viewport);extern int getx (void);extern int gety (void);extern void graphdefaults (void);extern void TcGraphDefaults (void);extern int TcDefaultColors (int Pal);extern char *grapherrormsg (int errorcode);extern void _graphfreemem (void *ptr, unsigned size);extern void *_graphgetmem (unsigned size);extern int graphresult (void);extern unsigned imagesize (int left, int top, int right, int bottom);extern void initgraph (int *graphdriver, int *graphmode, char *pathtodriver);extern int installuserdriver (char *name, int (*detect) (void));extern int installuserfont (char *name);extern void line (int x1, int y1, int x2, int y2);extern void linerel (int dx, int dy);extern void lineto (int x, int y);extern void moverel (int dx, int dy);extern void moveto (int x, int y);extern void outtext (char *textstring);extern void outtextxy (int x, int y, char *textstring);extern void pieslice (int x, int y, int stangle, int endangle, int radius);extern void putimage (int left, int top, void *bitmap, int op);extern void putpixel (int x, int y, int color);extern void rectangle (int left, int top, int right, int bottom);extern int registerbgidriver (void (*driver) (void));extern int registerbgifont (void (*font) (void));extern void restorecrtmode (void);extern void sector (int X, int Y, int StAngle, int EndAngle,		    int XRadius, int YRadius);extern void setactivepage (int page);extern void setallpalette (struct palettetype *palette);extern void setaspectratio (int xasp, int yasp);extern void setbkcolor (int color);extern void setcolor (int color);extern void setfillpattern (char *upattern, int color);extern void setfillstyle (int pattern, int color);extern unsigned setgraphbufsize (unsigned bufsize);extern void setgraphmode (int mode);extern void setlinestyle (int linestyle, unsigned upattern, int thickness);extern void setpalette (int colornum, int color);extern void setrgbpalette (int colornum, int red, int green, int blue);extern void settextjustify (int horiz, int vert);extern void settextstyle (int font, int direction, int charsize);extern void setusercharsize (int multx, int divx, int multy, int divy);extern void setviewport (int left, int top, int right, int bottom, int clip);extern void setvisualpage (int page);extern void setwritemode (int mode);extern int textheight (char *textstring);extern int textwidth (char *textstring);// Non-user-callable functions.  Really, just names for use as function// parameters in the registerbgidriver and registerbgifont functions.extern void CGA_driver (void);extern void EGAVGA_driver (void);extern void IBM8514_driver (void);extern void Herc_driver (void);extern void ATT_driver (void);extern void PC3270_driver (void);extern void triplex_font (void);extern void small_font (void);extern void sansserif_font (void);extern void gothic_font (void);__END_DECLS//--------------------------------------------------------------------------// Variables.#ifdef TURBOC_VARIABLES_Cvolatile int TcGraphicsInitialized = 0;int TcCurrentGraphMode, TcGraphResult = grOk;int TcXresolution, TcYresolution, TcPageCount, TcPaletteNum;int TcDriver, TcVisualPage = 0, TcActivePage = 0;int TcForegroundColor, TcBackgroundColor, TcDriver;int TcViewLeft, TcViewTop, TcViewRight, TcViewBottom, TcViewClip;int Tcx, Tcy, TcViewMaxx, TcViewMaxy;int TcLastArcX = 0, TcLastArcY = 0, TcLastStangle = 0;int TcLastEndangle = 0, TcLastRadius = 0;int TcWritemode = 0, TcTextHoriz = 0, TcTextVert = 0;struct linesettingstype TcLinestyle = { SOLID_LINE, 0xffff, NORM_WIDTH };RgbStruct TcColors[256];const RgbStruct TcColors2[2] = { XBLACK, XWHITE };const RgbStruct TcColorsC0[4] = { XBLACK, XLIGHTGREEN, XLIGHTRED, XYELLOW };const RgbStruct TcColorsC1[4] = { XBLACK, XLIGHTCYAN, XLIGHTMAGENTA, XWHITE };const RgbStruct TcColorsC2[4] = { XBLACK, XGREEN, XRED, XBROWN };const RgbStruct TcColorsC3[4] = { XBLACK, XCYAN, XMAGENTA, XLIGHTGRAY };const RgbStruct TcColors4[4] = { XBLACK, XDARKGRAY, XLIGHTGRAY, XWHITE };const RgbStruct TcColors16[16] = {  XBLACK, XBLUE, XGREEN, XCYAN, XRED, XMAGENTA, XBROWN, XLIGHTGRAY,  XDARKGRAY, XLIGHTBLUE, XLIGHTGREEN, XLIGHTCYAN, XLIGHTRED, XLIGHTMAGENTA,  XYELLOW, XWHITE};const struct palettetype TcDefaultPalette2 = { 2, {BLACK, WHITE} };const struct palettetype TcDefaultPaletteC0 =  { 4, {BLACK, LIGHTGREEN, LIGHTRED, YELLOW} };const struct palettetype TcDefaultPaletteC1 =  { 4, {BLACK, LIGHTCYAN, LIGHTMAGENTA, WHITE} };const struct palettetype TcDefaultPaletteC2 =  { 4, {BLACK, GREEN, RED, BROWN} };const struct palettetype TcDefaultPaletteC3 =  { 4, {BLACK, CYAN, MAGENTA, LIGHTGRAY} };const struct palettetype TcDefaultPalette4 =  { 4, {BLACK, DARKGRAY, LIGHTGRAY, WHITE} };const struct palettetype TcDefaultPalette16 = {  16,  {BLACK, BLUE, GREEN, CYAN, RED, MAGENTA, BROWN, LIGHTGRAY,   DARKGRAY, LIGHTBLUE, LIGHTGREEN, LIGHTCYAN, LIGHTRED, LIGHTMAGENTA,   YELLOW, WHITE}};struct palettetype TcCurrentPalette;int TcTextFont, TcTextDirection, TcTextCharsize;int TcTextMultX, TcTextDivX, TcTextMultY, TcTextDivY;int TcFillStyle = SOLID_FILL, TcFillColor = 1;char TcUserFillPattern[8] = { 255, 255, 255, 255, 255, 255, 255, 255 };#ifdef WITH_X//struct TcPixmapPoolRecord TcPixmapPool[MAX_TCIMAGEBUFS] = { { 0 } };Display *TcDisplay;Window TcWindow;Pixmap TcPixmaps[16];gint TcScreen;GC TcGc;Colormap TcColormap;XColor TcXforeground, TcXbackground;Pixmap TcTile;#endif // WITH_X#else // TURBOC_VARIABLES_Cextern volatile int TcGraphicsInitialized;extern int TcCurrentGraphMode, TcGraphResult;extern int TcXresolution, TcYresolution, TcPageCount, TcPaletteNum;extern int TcDriver, TcVisualPage, TcActivePage;extern int TcForegroundColor, TcBackgroundColor, TcDriver;extern int TcViewLeft, TcViewTop, TcViewRight, TcViewBottom, TcViewClip;extern int Tcx, Tcy, TcViewMaxx, TcViewMaxy;extern int TcLastArcX, TcLastArcY, TcLastStangle;extern int TcLastEndangle, TcLastRadius;extern int TcWritemode, TcTextHoriz, TcTextVert;extern struct linesettingstype TcLinestyle;extern RgbStruct TcColors[256];extern const RgbStruct TcColors2[2];extern const RgbStruct TcColorsC0[4];extern const RgbStruct TcColorsC1[4];extern const RgbStruct TcColorsC2[4];extern const RgbStruct TcColorsC3[4];extern const RgbStruct TcColors4[4];extern const RgbStruct TcColors16[16];extern const struct palettetype TcDefaultPalette2;extern const struct palettetype TcDefaultPaletteC0;extern const struct palettetype TcDefaultPaletteC1;extern const struct palettetype TcDefaultPaletteC2;extern const struct palettetype TcDefaultPaletteC3;extern const struct palettetype TcDefaultPalette4;extern const struct palettetype TcDefaultPalette16;extern struct palettetype TcCurrentPalette;extern int TcTextFont, TcTextDirection, TcTextCharsize;extern int TcTextMultX, TcTextDivX, TcTextMultY, TcTextDivY;extern int TcFillStyle, TcFillColor;extern char TcUserFillPattern[8];#ifdef WITH_X//extern struct TcPixmapPoolRecord TcPixmapPool[MAX_TCIMAGEBUFS];extern Display *TcDisplay;extern Window TcWindow;extern Pixmap TcPixmaps[16];extern gint TcScreen;extern GC TcGc;extern Colormap TcColormap;extern XColor TcXforeground, TcXbackground;extern Pixmap TcTile;#endif // WITH_X#endif // TURBOC_VARIABLES_C#else // WITH_X#include <graphics.h>#endif // WITH_X#endif // _INCLUDED_GRAPHICS_H

⌨️ 快捷键说明

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