108 lines
4.8 KiB
C
108 lines
4.8 KiB
C
/*
|
|
* $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_ */
|