home *** CD-ROM | disk | FTP | other *** search
- /******************************************************************************
- * MSDOS interaction library low level graphics routines. *
- * *
- * Written by Gershon Elber, Oct. 1990 *
- *******************************************************************************
- * Supported device: *
- * 1. CGA. *
- * 2. EGA/VGA. *
- * 3. Hercules. *
- * 4. Super VGA. *
- *******************************************************************************
- * History: *
- * 15 Oct 90 - Version 1.0 by Gershon Elber. *
- ******************************************************************************/
-
- #ifndef INTR_GR_H
- #define INTR_GR_H
-
- #ifndef __MSDOS__
-
- #define BLACK 0
- #define RED 4
- #define GREEN 2
- #define BLUE 1
- #define YELLOW 14
- #define CYAN 3
- #define MAGENTA 5
- #define WHITE 15
- #define MAX_COLOR 15
-
- #endif /* __MSDOS__ */
-
- #define GR_SOLID_FILL 1
-
- typedef enum { /* Line styles for Get/SetLineStyle. */
- GR_SOLID_LINE = 0,
- GR_DOTTED_LINE = 1,
- GR_DASHED_LINE = 3
- } GRLineStypeType;
-
- typedef enum { /* Line widths for Get/SetLineStyle. */
- GR_NORM_WIDTH = 1,
- GR_THICK_WIDTH = 3
- } GRLineWidthType;
-
- typedef enum {
- GR_HORIZ_DIR = 0, /* Left to right. */
- GR_VERT_DIR = 1 /* Bottom to top. */
- } GRTextDirType;
-
- typedef enum {
- GR_TEXT_HJUSTIFY_LEFT = 0,
- GR_TEXT_HJUSTIFY_CENTER,
- GR_TEXT_HJUSTIFY_RIGHT
- } GRTextHorizJustifyType;
-
- typedef enum {
- GR_TEXT_VJUSTIFY_BOTTOM = 0,
- GR_TEXT_VJUSTIFY_CENTER,
- GR_TEXT_VJUSTIFY_TOP
- } GRTextVertJustifyType;
-
- typedef enum {
- GR_FONT_DEFAULT = 0
- } GRFontType;
-
- typedef enum {
- GR_TEXT_MAG_1 = 1
- } GRTextmagnificationType;
-
- typedef enum {
- GR_COPY_PUT = 0,
- GR_XOR_PUT = 1
- } GRWriteModeType;
-
- extern int GRScreenMaxX, GRScreenMaxY; /* The maximum resolution of screen. */
- extern int GRScreenMaxColors; /* The maximum # of colors available. */
- extern IntrRType GRScreenAspect;/* Screen aspect ratio (pixel width/height). */
- extern int GRFontName, GRFontSize; /* Global information on font used. */
- extern int GRCurrentCursorX, GRCurrentCursorY; /* Cursor current position. */
- extern int GRDrawText; /* If can not zoom down text, force draw. */
- extern int GRGraphMode, GRGraphDriver; /* What driver/mode are we in. */
-
- #if defined(__cplusplus) || defined(c_plusplus)
- extern "C" {
- #endif
-
- #ifdef __MSDOS__
- void GRInstallSVGA(char *NameMode);
- void GRSetBGIPath(char *BGIPath);
- void GRSetDefaultDriver(int GraphDriver);
- unsigned GRGetImageBufferSize(int x1, int y1, int x2, int y2);
- void GRGetImageBuffer(int x1, int y1, int x2, int y2, VoidPtr Buffer);
- void GRPutImageBuffer(int x1, int y1, VoidPtr Buffer);
- #endif /* __MSDOS__ */
-
- #ifdef DJGCC
- void *GRGetImageBuffer(int x1, int y1, int x2, int y2);
- void GRPutImageBuffer(int x1, int y1, void *Buffer);
- #endif /* DJGCC */
-
- void GRInitGraph(void);
- void GRCloseGraph(void);
- void GRPutArrowCursor(int x, int y);
- void GRSetZoomFactor(int ZoomFactor);
- void GRSetPanFactors(int PanFactorX, int PanFactorY);
- void GRSetLineStyle(int LineStyle, unsigned int Pattern, int Thickness);
- void GRSetFillStyle(int Pattern, int Color);
- void GRSetWriteMode(int DrawMode);
- void GRSetTextJustify(int HorizCenter, int VertCenter);
- void GRSetTextStyle(int GRFontName, int Direction, int Size);
- void GRSetSTextStyle(int GRFontName, int Direction, int Size);
- void GRXORRectangle(int x1, int y1, int x2, int y2);
- int GRMapX(int x);
- int GRMapY(int y);
- int GRInvMapX(int x);
- int GRInvMapY(int y);
- void GRLine(int x1, int y1, int x2, int y2);
- void GRSLine(int x1, int y1, int x2, int y2);
- void GRMoveTo(int x, int y);
- void GRSMoveTo(int x, int y);
- void GRLineTo(int x, int y);
- void GRSLineTo(int x, int y);
- void GRMoveRel(int x, int y);
- void GRSMoveRel(int x, int y);
- void GRLineRel(int x, int y);
- void GRSLineRel(int x, int y);
- void GRPoly(int n, int *Points, int Fill);
- void GRBar(int x1, int y1, int x2, int y2);
- void GRSBar(int x1, int y1, int x2, int y2);
- void GRCircle(int x, int y, int r);
- void GRArc(int x, int y, int StAngle, int EndAngle, int r);
- IntrBType GRDrawingText(void);
- void GRText(int x, int y, char *s);
- void GRSText(int x, int y, char *s);
- void GRSTextShadow(int x, int y, int Color, char *s);
- int GRGetTextWidth(char *Str);
- int GRGetTextHeight(char *Str);
- void GRPushTextSetting(void);
- void GRPopTextSetting(void);
- void GRSetColor(int Color);
- int GRGetColor(void);
- void GRSetRGBPalette(int Index, int Red, int Green, int Blue);
- void GRClearViewPort(int x1, int y1, int x2, int y2);
- void GRGetViewPort(int *x1, int *y1, int *x2, int *y2);
- void GRSetViewPort(int x1, int y1, int x2, int y2);
- void GRPopViewPort(void);
- void GRPushViewPort(void);
- void GRClearAllScreen(void);
- void GRGetGraphicLine(int WindowID, int x, int y, char s[], int SLen,
- int WindowLen, int ForeColor, int BackColor);
- void GRSetGetKeyFunc(IntrInt2PtrFunc GetChFunc);
- void GRTone(int Frequency, int Time);
-
- #if defined(__cplusplus) || defined(c_plusplus)
- }
- #endif
-
- #endif /* INTR_GR_H */
-