home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / harbb30g.zip / INCLUDE / gtapi.h < prev    next >
C/C++ Source or Header  |  1999-09-23  |  5KB  |  109 lines

  1. /*
  2.  * $Id: gtapi.h,v 1.31 1999/09/23 09:13:26 vszel Exp $
  3.  */
  4.  
  5. /*
  6.  * Harbour Project source code:
  7.  * Header file for the Terminal API
  8.  *
  9.  * Copyright 1999 {list of individual authors and e-mail addresses}
  10.  * www - http://www.harbour-project.org
  11.  *
  12.  * This program is free software; you can redistribute it and/or modify
  13.  * it under the terms of the GNU General Public License as published by
  14.  * the Free Software Foundation; either version 2 of the License, or
  15.  * (at your option) any later version, with one exception:
  16.  *
  17.  * The exception is that if you link the Harbour Runtime Library (HRL)
  18.  * and/or the Harbour Virtual Machine (HVM) with other files to produce
  19.  * an executable, this does not by itself cause the resulting executable
  20.  * to be covered by the GNU General Public License. Your use of that
  21.  * executable is in no way restricted on account of linking the HRL
  22.  * and/or HVM code into it.
  23.  *
  24.  * This program is distributed in the hope that it will be useful,
  25.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  26.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  27.  * GNU General Public License for more details.
  28.  *
  29.  * You should have received a copy of the GNU General Public License
  30.  * along with this program; if not, write to the Free Software
  31.  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA (or visit
  32.  * their web site at http://www.gnu.org/).
  33.  *
  34.  */
  35.  
  36. #ifndef HB_GTAPI_H_
  37. #define HB_GTAPI_H_
  38.  
  39. #include "extend.h"
  40. #include "color.ch"
  41. #include "setcurs.h"
  42. #include "box.h"
  43.  
  44. /* maximum length of color string */
  45. #define CLR_STRLEN      64
  46.  
  47. /* Public interface. These should never change, only be added to. */
  48.  
  49. extern void   hb_gtInit( void );
  50. extern void   hb_gtExit( void );
  51. extern int    hb_gtBox( USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight, BYTE * pbyBoxString );
  52. extern int    hb_gtBoxD( USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight );
  53. extern int    hb_gtBoxS( USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight );
  54. extern int    hb_gtColorSelect( USHORT uiColorIndex );
  55. extern int    hb_gtDispBegin( void );
  56. extern USHORT hb_gtDispCount( void );
  57. extern int    hb_gtDispEnd( void );
  58. extern int    hb_gtGetBlink( BOOL * pbBlink );
  59. extern int    hb_gtGetColorStr( char * pszColorString );
  60. extern int    hb_gtGetCursor( USHORT * puiCursorShape );
  61. extern int    hb_gtGetPos( USHORT * puiRow, USHORT * puiCol );
  62. extern BOOL   hb_gtIsColor( void );
  63. extern USHORT hb_gtMaxCol( void );
  64. extern USHORT hb_gtMaxRow( void );
  65. extern int    hb_gtPostExt( void );
  66. extern int    hb_gtPreExt( void );
  67. extern int    hb_gtRectSize( USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight, USHORT * puiBuffSize );
  68. extern int    hb_gtRepChar( USHORT uiRow, USHORT uiCol, BYTE byChar, USHORT uiCount );
  69. extern int    hb_gtRest( USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight, void * pScrBuff );
  70. extern int    hb_gtSave( USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight, void * pScrBuff );
  71. extern int    hb_gtScrDim( USHORT * puiHeight, USHORT * puiWidth );
  72. extern int    hb_gtScroll( USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight, SHORT iRows, SHORT iCols );
  73. extern int    hb_gtSetBlink( BOOL bBlink );
  74. extern int    hb_gtSetColorStr( char * pszColorString );
  75. extern int    hb_gtSetCursor( USHORT uiCursorShape );
  76. extern int    hb_gtSetMode( USHORT uiRows, USHORT uiCols );
  77. extern int    hb_gtSetPos( USHORT uiRow, USHORT uiCol );
  78. extern int    hb_gtSetSnowFlag( BOOL bNoSnow );
  79. extern int    hb_gtWrite( BYTE * pbyStr, ULONG ulLen );
  80. extern int    hb_gtWriteAt( USHORT uiRow, USHORT uiCol, BYTE * pbyStr, ULONG ulLen );
  81. extern int    hb_gtWriteCon( BYTE * pbyStr, ULONG ulLen );
  82.  
  83. /* Private interface listed below. these are common to all platforms */
  84.  
  85. extern void   hb_gt_Init( void );
  86. extern BOOL   hb_gt_IsColor( void );
  87. extern void   hb_gt_Done( void );
  88. extern USHORT hb_gt_GetScreenWidth( void );
  89. extern USHORT hb_gt_GetScreenHeight( void );
  90. extern void   hb_gt_SetPos( USHORT uiRow, USHORT uiCol );
  91. extern USHORT hb_gt_Col( void );
  92. extern USHORT hb_gt_Row( void );
  93. extern void   hb_gt_Scroll( USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight, BYTE byAttr, SHORT iRows, SHORT iCols );
  94. extern void   hb_gt_SetCursorStyle( USHORT uiCursorShape );
  95. extern USHORT hb_gt_GetCursorStyle( void );
  96. extern void   hb_gt_Puts( USHORT uiRow, USHORT uiCol, BYTE byAttr, BYTE * pbyStr, ULONG ulLen );
  97. extern void   hb_gt_GetText( USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight, BYTE * pbyDst );
  98. extern void   hb_gt_PutText( USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight, BYTE * pbySrc );
  99. extern void   hb_gt_SetAttribute( USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight, BYTE byAttr );
  100. extern void   hb_gt_DrawShadow( USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight, BYTE byAttr );
  101. extern void   hb_gt_DispBegin( void );
  102. extern void   hb_gt_DispEnd( void );
  103. extern BOOL   hb_gt_SetMode( USHORT uiRows, USHORT uiCols );
  104. extern BOOL   hb_gt_GetBlink( void );
  105. extern void   hb_gt_SetBlink( BOOL bBlink );
  106. extern void   hb_gt_Replicate( BYTE byChar, ULONG ulLen );
  107.  
  108. #endif /* HB_GTAPI_H_ */
  109.