/* * $Id$ */ /* GTAPI.H; Screen drawing, cursor and keyboard routines for text mode 16-bit and 32-bit MS-DOS, 16-bit and 32-bit OS/2, and 32-bit Windows 95/NT applications. This module is based on VIDMGR by Andrew Clarke and modified for the Harbour project GTAPI has been compiled and tested with the following C compilers: - Turbo C++ (16-bit) for DOS 3.0 - Borland C++ (16-bit) for DOS 3.1 - Borland C++ (16-bit) for DOS 4.5 - Borland C++ (32-bit) for OS/2 1.0 - Cygnus GNU C (32-bit) for Windows 95/NT b14.0 - DJGPP GNU C (32-bit) for DOS 2.0 - EMX GNU C (32-bit) for OS/2 & DOS 0.9b - IBM VisualAge C/C++ 3.0 (32-bit) for OS/2 - Microsoft C/C++ (16-bit) for OS/2 6.00a - Microsoft C/C++ (16-bit) for DOS 8.00c - Microsoft Quick C (16-bit) for DOS 2.50 - Microsoft Visual C/C++ (16-bit) for DOS 1.52 - Microsoft Visual C/C++ (32-bit) for Windows 95/NT 5.0 and 6.0 - WATCOM C/C++ (16-bit & 32-bit) for DOS 9.5 - WATCOM C/C++ (16-bit & 32-bit) for DOS 10.0 - WATCOM C/C++ (32-bit) for OS/2 10.0 - WATCOM C/C++ (32-bit) for Windows 95/NT 10.0 - HI-TECH Pacific C (16-bit) for DOS 7.51 - Symantec C/C++ (16-bit) for DOS 7.0 - Zortech C/C++ (16-bit) for DOS 3.0r4 */ #ifndef HB_GTAPI_H_ #define HB_GTAPI_H_ #include "extend.h" #include "color.ch" #include "setcurs.ch" #include "box.h" /* maximum length of color string */ #define CLR_STRLEN 64 /* Public interface. These should never change, only be added to. */ extern void hb_gtInit(void); extern void hb_gtExit(void); extern int hb_gtBox(USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight, char * fpBoxString); extern int hb_gtBoxD(USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight); extern int hb_gtBoxS(USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight); extern int hb_gtColorSelect(USHORT uiColorIndex); extern int hb_gtDispBegin(void); extern USHORT hb_gtDispCount(void); extern int hb_gtDispEnd(void); extern int hb_gtGetBlink(BOOL * bBlink); extern int hb_gtGetColorStr(char * fpColorString); extern int hb_gtGetCursor(USHORT * uipCursorShape); extern int hb_gtGetPos(USHORT * uipRow, USHORT * uipCol); extern BOOL hb_gtIsColor(void); extern USHORT hb_gtMaxCol(void); extern USHORT hb_gtMaxRow(void); extern int hb_gtPostExt(void); extern int hb_gtPreExt(void); extern int hb_gtRectSize(USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight, USHORT * uipBuffSize); extern int hb_gtRepChar(USHORT uiRow, USHORT uiCol, USHORT uiChar, USHORT uiCount); extern int hb_gtRest(USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight, char * vlpScrBuff); extern int hb_gtSave(USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight, char * vlpScrBuff); extern int hb_gtScrDim(USHORT * uipHeight, USHORT * uipWidth); extern int hb_gtScroll(USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight, SHORT iRows, SHORT iCols); extern int hb_gtSetBlink(BOOL bBlink); extern int hb_gtSetColorStr(char * fpColorString); extern int hb_gtSetCursor(USHORT uiCursorShape); extern int hb_gtSetMode(USHORT uiRows, USHORT uiCols); extern int hb_gtSetPos(USHORT uiRow, USHORT uiCol); extern int hb_gtSetSnowFlag(BOOL bNoSnow); extern int hb_gtWrite(char * fpStr, ULONG length); extern int hb_gtWriteAt(USHORT uiRow, USHORT uiCol, char * fpStr, ULONG length); extern int hb_gtWriteCon(char * fpStr, ULONG length); /* private interface listed below. these are common to all platforms */ extern void hb_gt_Init(void); extern int hb_gt_IsColor(void); extern void hb_gt_Done(void); extern char hb_gt_GetScreenWidth(void); extern char hb_gt_GetScreenHeight(void); extern void hb_gt_SetPos(char cRow, char cCol); extern char hb_gt_Col(void); extern char hb_gt_Row(void); extern void hb_gt_Scroll(char cTop, char cLeft, char cBottom, char cRight, char attribute, char vert, char horiz); extern void hb_gt_SetCursorStyle(int style); extern int hb_gt_GetCursorStyle(void); extern void hb_gt_Puts(char cRow, char cCol, char attr, char *str, int len); extern void hb_gt_GetText(char cTop, char cLeft, char cBottom, char cRight, char *dest); extern void hb_gt_PutText(char cTop, char cLeft, char cBottom, char cRight, char *srce); extern void hb_gt_SetAttribute( char cTop, char cLeft, char cBottom, char cRight, char attribute ); extern void hb_gt_DrawShadow( char cTop, char cLeft, char cBottom, char cRight, char attribute ); extern void hb_gt_DispBegin(void); extern void hb_gt_DispEnd(void); extern ULONG hb_gt_ScreenBuffer( ULONG buffer ); extern void hb_gt_SetMode( USHORT uiRows, USHORT uiCols ); #endif /* HB_GTAPI_H_ */