2004-02-14 05:33 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu>

* include/hbapigt.h
   * source/rtl/gt_tpl/gt_tpl.c
   * source/rtl/gtwin/gtwin.c
   * source/rtl/gtcgi/gtcgi.c
   * source/rtl/gtcrs/gtcrs.c
   * source/rtl/gtdos/gtdos.c
   * source/rtl/gtos2/gtos2.c
   * source/rtl/gtpca/gtpca.c
   * source/rtl/gtsln/gtsln.c
   * source/rtl/gtstd/gtstd.c
     + Following low-level GT API functions added (for completeness):
       hb_gt_GetCharAttr( SHORT uiRow, SHORT uiCol, BYTE * pbyChar, BYTE * pbyAttr );
       "static hb_gt_xGetXY()" functionality copied where available.
     * Parameter of previously added functions changed from USHORT to SHORT
       (to support moving windows out of screen)
     + "static hb_gt_xPutch()" code copied to hb_gt_PutCharAttr() where available.
     ! Added bounds checking to GTWIN new functions.
This commit is contained in:
Viktor Szakats
2004-02-14 04:29:48 +00:00
parent 1e6e598d7f
commit eb08c726c0
11 changed files with 503 additions and 292 deletions

View File

@@ -8,6 +8,26 @@
2002-12-01 23:12 UTC+0100 Foo Bar <foo.bar@foobar.org>
*/
2004-02-14 05:33 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu>
* include/hbapigt.h
* source/rtl/gt_tpl/gt_tpl.c
* source/rtl/gtwin/gtwin.c
* source/rtl/gtcgi/gtcgi.c
* source/rtl/gtcrs/gtcrs.c
* source/rtl/gtdos/gtdos.c
* source/rtl/gtos2/gtos2.c
* source/rtl/gtpca/gtpca.c
* source/rtl/gtsln/gtsln.c
* source/rtl/gtstd/gtstd.c
+ Following low-level GT API functions added (for completeness):
hb_gt_GetCharAttr( SHORT uiRow, SHORT uiCol, BYTE * pbyChar, BYTE * pbyAttr );
"static hb_gt_xGetXY()" functionality copied where available.
* Parameter of previously added functions changed from USHORT to SHORT
(to support moving windows out of screen)
+ "static hb_gt_xPutch()" code copied to hb_gt_PutCharAttr() where available.
! Added bounds checking to GTWIN new functions.
2004-02-14 04:28 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu>
* include/hbapigt.h

View File

@@ -243,11 +243,12 @@ extern BOOL hb_gt_PreExt( void );
extern BOOL hb_gt_PostExt( void );
extern BOOL hb_gt_Suspend( void ); /* suspend the terminal before the shell call */
extern BOOL hb_gt_Resume( void ); /* resume the terminal after the shell call */
extern void hb_gt_PutCharAttr( USHORT uiRow, USHORT uiCol, BYTE byChar, BYTE byAttr );
extern void hb_gt_PutChar( USHORT uiRow, USHORT uiCol, BYTE byChar );
extern void hb_gt_PutAttr( USHORT uiRow, USHORT uiCol, BYTE byAttr );
extern void hb_gt_GetChar( USHORT uiRow, USHORT uiCol, BYTE * pbyChar );
extern void hb_gt_GetAttr( USHORT uiRow, USHORT uiCol, BYTE * pbyAttr );
extern void hb_gt_PutCharAttr( SHORT uiRow, SHORT uiCol, BYTE byChar, BYTE byAttr );
extern void hb_gt_PutChar( SHORT uiRow, SHORT uiCol, BYTE byChar );
extern void hb_gt_PutAttr( SHORT uiRow, SHORT uiCol, BYTE byAttr );
extern void hb_gt_GetCharAttr( SHORT uiRow, SHORT uiCol, BYTE * pbyChar, BYTE * pbyAttr );
extern void hb_gt_GetChar( SHORT uiRow, SHORT uiCol, BYTE * pbyChar );
extern void hb_gt_GetAttr( SHORT uiRow, SHORT uiCol, BYTE * pbyAttr );
extern void hb_gt_Puts( USHORT uiRow, USHORT uiCol, BYTE byAttr, BYTE * pbyStr, ULONG ulLen );
extern void hb_gt_PutText( USHORT uiTop, USHORT uiLeft, USHORT uiBottom, USHORT uiRight, BYTE * pbySrc );
extern int hb_gt_ExtendedKeySupport( void );

View File

@@ -263,60 +263,72 @@ static void hb_gt_xPutch( USHORT uiRow, USHORT uiCol, BYTE byAttr, BYTE byChar )
HB_SYMBOL_UNUSED( ulLen );
}
void hb_gt_PutCharAttr( USHORT uiRow, USHORT uiCol, BYTE byChar, BYTE byAttr )
void hb_gt_PutCharAttr( SHORT uiRow, SHORT uiCol, BYTE byChar, BYTE byAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutCharAttr(%hu, %hu, %i, %d)", uiRow, uiCol, byChar, (int) byAttr));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutCharAttr(%hu, %hu, %i, %d)", uiRow, uiCol, byChar, (int) byAttr));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byChar );
HB_SYMBOL_UNUSED( byAttr );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byChar );
HB_SYMBOL_UNUSED( byAttr );
}
void hb_gt_PutChar( USHORT uiRow, USHORT uiCol, BYTE byChar )
void hb_gt_PutChar( SHORT uiRow, SHORT uiCol, BYTE byChar )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutChar(%hu, %hu, %i)", uiRow, uiCol, byChar));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutChar(%hu, %hu, %i)", uiRow, uiCol, byChar));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byChar );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byChar );
}
void hb_gt_PutAttr( USHORT uiRow, USHORT uiCol, BYTE byAttr )
void hb_gt_PutAttr( SHORT uiRow, SHORT uiCol, BYTE byAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutAttr(%hu, %hu, %d)", uiRow, uiCol, (int) byAttr));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutAttr(%hu, %hu, %d)", uiRow, uiCol, (int) byAttr));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byAttr );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byAttr );
}
void hb_gt_GetChar( USHORT uiRow, USHORT uiCol, BYTE * pbyChar )
void hb_gt_GetCharAttr( SHORT uiRow, SHORT uiCol, BYTE * pbyChar, BYTE * pbyAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetChar(%hu, %hu, %p)", uiRow, uiCol, pbyChar));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetCharAttr(%hu, %hu, %p, %p)", uiRow, uiCol, pbyChar, pbyAttr));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyChar );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyChar );
HB_SYMBOL_UNUSED( pbyAttr );
}
void hb_gt_GetAttr( USHORT uiRow, USHORT uiCol, BYTE * pbyAttr )
void hb_gt_GetChar( SHORT uiRow, SHORT uiCol, BYTE * pbyChar )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetAttr(%hu, %hu, %p)", uiRow, uiCol, pbyAttr));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetChar(%hu, %hu, %p)", uiRow, uiCol, pbyChar));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyAttr );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyChar );
}
void hb_gt_GetAttr( SHORT uiRow, SHORT uiCol, BYTE * pbyAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetAttr(%hu, %hu, %p)", uiRow, uiCol, pbyAttr));
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyAttr );
}
void hb_gt_Puts( USHORT uiRow, USHORT uiCol, BYTE byAttr, BYTE * pbyStr, ULONG ulLen )

View File

@@ -261,60 +261,77 @@ static void hb_gt_xPutch( USHORT uiRow, USHORT uiCol, BYTE byAttr, BYTE byChar )
hb_gt_AdjustPos( ( BYTE * ) szBuffer, 1 );
}
void hb_gt_PutCharAttr( USHORT uiRow, USHORT uiCol, BYTE byChar, BYTE byAttr )
void hb_gt_PutCharAttr( SHORT uiRow, SHORT uiCol, BYTE byChar, BYTE byAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutCharAttr(%hu, %hu, %i, %d)", uiRow, uiCol, byChar, (int) byAttr));
char szBuffer[ 2 ];
/* TODO */
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutCharAttr(%hu, %hu, %i, %d)", uiRow, uiCol, byChar, (int) byAttr));
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byChar );
HB_SYMBOL_UNUSED( byAttr );
HB_SYMBOL_UNUSED( byAttr );
hb_gt_SetPos( uiRow, uiCol, HB_GT_SET_POS_BEFORE );
szBuffer[ 0 ] = byChar;
szBuffer[ 1 ] = '\0';
out_stdout( szBuffer, 1 );
hb_gt_AdjustPos( ( BYTE * ) szBuffer, 1 );
}
void hb_gt_PutChar( USHORT uiRow, USHORT uiCol, BYTE byChar )
void hb_gt_PutChar( SHORT uiRow, SHORT uiCol, BYTE byChar )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutChar(%hu, %hu, %i)", uiRow, uiCol, byChar));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutChar(%hu, %hu, %i)", uiRow, uiCol, byChar));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byChar );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byChar );
}
void hb_gt_PutAttr( USHORT uiRow, USHORT uiCol, BYTE byAttr )
void hb_gt_PutAttr( SHORT uiRow, SHORT uiCol, BYTE byAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutAttr(%hu, %hu, %d)", uiRow, uiCol, (int) byAttr));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutAttr(%hu, %hu, %d)", uiRow, uiCol, (int) byAttr));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byAttr );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byAttr );
}
void hb_gt_GetChar( USHORT uiRow, USHORT uiCol, BYTE * pbyChar )
void hb_gt_GetCharAttr( SHORT uiRow, SHORT uiCol, BYTE * pbyChar, BYTE * pbyAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetChar(%hu, %hu, %p)", uiRow, uiCol, pbyChar));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetCharAttr(%hu, %hu, %p, %p)", uiRow, uiCol, pbyChar, pbyAttr));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyChar );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyChar );
HB_SYMBOL_UNUSED( pbyAttr );
}
void hb_gt_GetAttr( USHORT uiRow, USHORT uiCol, BYTE * pbyAttr )
void hb_gt_GetChar( SHORT uiRow, SHORT uiCol, BYTE * pbyChar )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetAttr(%hu, %hu, %p)", uiRow, uiCol, pbyAttr));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetChar(%hu, %hu, %p)", uiRow, uiCol, pbyChar));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyAttr );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyChar );
}
void hb_gt_GetAttr( SHORT uiRow, SHORT uiCol, BYTE * pbyAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetAttr(%hu, %hu, %p)", uiRow, uiCol, pbyAttr));
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyAttr );
}
void hb_gt_Puts( USHORT uiRow, USHORT uiCol, BYTE byAttr, BYTE * pbyStr, ULONG ulLen )

View File

@@ -57,12 +57,6 @@
#include "hbinit.h"
#include "hbapiitm.h"
/*
#define hb_gt_xPutch( uiRow, uiCol, byAttr, byChar ) \
move( (uiRow), (uiCol) ); \
addch( s_charmap_table[ (byChar) ] | s_alternate_char_set | s_color_table[ (byAttr) ] );
*/
/* static data
*/
static USHORT s_uiDispCount;
@@ -325,60 +319,68 @@ static void hb_gt_xPutch( USHORT uiRow, USHORT uiCol, BYTE byAttr, BYTE byChar )
addch( s_charmap_table[ byChar ] | s_alternate_char_set | s_color_table[ byAttr ] );
}
void hb_gt_PutCharAttr( USHORT uiRow, USHORT uiCol, BYTE byChar, BYTE byAttr )
void hb_gt_PutCharAttr( SHORT uiRow, SHORT uiCol, BYTE byChar, BYTE byAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutCharAttr(%hu, %hu, %i, %d)", uiRow, uiCol, byChar, (int) byAttr));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutCharAttr(%hu, %hu, %i, %d)", uiRow, uiCol, byChar, (int) byAttr));
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byChar );
HB_SYMBOL_UNUSED( byAttr );
move( uiRow, uiCol );
addch( s_charmap_table[ byChar ] | s_alternate_char_set | s_color_table[ byAttr ] );
}
void hb_gt_PutChar( USHORT uiRow, USHORT uiCol, BYTE byChar )
void hb_gt_PutChar( SHORT uiRow, SHORT uiCol, BYTE byChar )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutChar(%hu, %hu, %i)", uiRow, uiCol, byChar));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutChar(%hu, %hu, %i)", uiRow, uiCol, byChar));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byChar );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byChar );
}
void hb_gt_PutAttr( USHORT uiRow, USHORT uiCol, BYTE byAttr )
void hb_gt_PutAttr( SHORT uiRow, SHORT uiCol, BYTE byAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutAttr(%hu, %hu, %d)", uiRow, uiCol, (int) byAttr));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutAttr(%hu, %hu, %d)", uiRow, uiCol, (int) byAttr));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byAttr );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byAttr );
}
void hb_gt_GetChar( USHORT uiRow, USHORT uiCol, BYTE * pbyChar )
void hb_gt_GetCharAttr( SHORT uiRow, SHORT uiCol, BYTE * pbyChar, BYTE * pbyAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetChar(%hu, %hu, %p)", uiRow, uiCol, pbyChar));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetCharAttr(%hu, %hu, %p, %p)", uiRow, uiCol, pbyChar, pbyAttr));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyChar );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyChar );
HB_SYMBOL_UNUSED( pbyAttr );
}
void hb_gt_GetAttr( USHORT uiRow, USHORT uiCol, BYTE * pbyAttr )
void hb_gt_GetChar( SHORT uiRow, SHORT uiCol, BYTE * pbyChar )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetAttr(%hu, %hu, %p)", uiRow, uiCol, pbyAttr));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetChar(%hu, %hu, %p)", uiRow, uiCol, pbyChar));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyAttr );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyChar );
}
void hb_gt_GetAttr( SHORT uiRow, SHORT uiCol, BYTE * pbyAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetAttr(%hu, %hu, %p)", uiRow, uiCol, pbyAttr));
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyAttr );
}
void hb_gt_Puts( USHORT uiRow,

View File

@@ -668,60 +668,93 @@ static void hb_gt_xPutch( USHORT cRow, USHORT cCol, BYTE attr, BYTE ch )
#endif
}
void hb_gt_PutCharAttr( USHORT uiRow, USHORT uiCol, BYTE byChar, BYTE byAttr )
void hb_gt_PutCharAttr( SHORT uiRow, SHORT uiCol, BYTE byChar, BYTE byAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutCharAttr(%hu, %hu, %i, %d)", uiRow, uiCol, byChar, (int) byAttr));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutCharAttr(%hu, %hu, %i, %d)", uiRow, uiCol, byChar, (int) byAttr));
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byChar );
HB_SYMBOL_UNUSED( byAttr );
#if defined(__DJGPP__TEXT)
{
long ch_attr = ( byChar << 8 ) | byAttr;
puttext( uiCol + 1, uiRow + 1, uiCol + 1, uiRow + 1, &ch_attr );
}
#elif defined(__DJGPP__)
{
ScreenPutChar( byChar, byAttr, uiCol, uiRow );
}
#else
{
USHORT FAR * p = (USHORT FAR *) hb_gt_ScreenPtr( uiRow, uiCol );
*p = (byAttr << 8) + byChar;
}
#endif
}
void hb_gt_PutChar( USHORT uiRow, USHORT uiCol, BYTE byChar )
void hb_gt_PutChar( SHORT uiRow, SHORT uiCol, BYTE byChar )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutChar(%hu, %hu, %i)", uiRow, uiCol, byChar));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutChar(%hu, %hu, %i)", uiRow, uiCol, byChar));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byChar );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byChar );
}
void hb_gt_PutAttr( USHORT uiRow, USHORT uiCol, BYTE byAttr )
void hb_gt_PutAttr( SHORT uiRow, SHORT uiCol, BYTE byAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutAttr(%hu, %hu, %d)", uiRow, uiCol, (int) byAttr));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutAttr(%hu, %hu, %d)", uiRow, uiCol, (int) byAttr));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byAttr );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byAttr );
}
void hb_gt_GetChar( USHORT uiRow, USHORT uiCol, BYTE * pbyChar )
void hb_gt_GetCharAttr( SHORT uiRow, SHORT uiCol, BYTE * pbyChar, BYTE * pbyAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetChar(%hu, %hu, %p)", uiRow, uiCol, pbyChar));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetCharAttr(%hu, %hu, %p, %p)", uiRow, uiCol, pbyChar, pbyAttr));
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyChar );
#if defined(__DJGPP__TEXT)
{
short ch_attr;
gettext( uiCol + 1, uiRow + 1, uiCol + 1, uiRow + 1, &ch_attr );
*pbyChar = ch_attr >> 8;
*pbyAttr = ch_attr & 0xFF;
}
#elif defined(__DJGPP__)
{
ScreenGetChar( (int *) pbyChar, (int *) pbyAttr, uiCol, uiRow );
}
#else
{
char FAR *p = hb_gt_ScreenPtr( uiRow, uiCol );
*pbyChar = *p;
*pbyAttr = *( p + 1 );
}
#endif
}
void hb_gt_GetAttr( USHORT uiRow, USHORT uiCol, BYTE * pbyAttr )
void hb_gt_GetChar( SHORT uiRow, SHORT uiCol, BYTE * pbyChar )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetAttr(%hu, %hu, %p)", uiRow, uiCol, pbyAttr));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetChar(%hu, %hu, %p)", uiRow, uiCol, pbyChar));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyAttr );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyChar );
}
void hb_gt_GetAttr( SHORT uiRow, SHORT uiCol, BYTE * pbyAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetAttr(%hu, %hu, %p)", uiRow, uiCol, pbyAttr));
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyAttr );
}
void hb_gt_Puts( USHORT cRow, USHORT cCol, BYTE attr, BYTE *str, ULONG len )

View File

@@ -688,60 +688,73 @@ static void hb_gt_xPutch( USHORT cRow, USHORT cCol, BYTE attr, BYTE ch )
}
}
void hb_gt_PutCharAttr( USHORT uiRow, USHORT uiCol, BYTE byChar, BYTE byAttr )
void hb_gt_PutCharAttr( SHORT uiRow, SHORT uiCol, BYTE byChar, BYTE byAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutCharAttr(%hu, %hu, %i, %d)", uiRow, uiCol, byChar, (int) byAttr));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutCharAttr(%hu, %hu, %i, %d)", uiRow, uiCol, byChar, (int) byAttr));
/* TODO */
if (s_uiDispCount > 0){
USHORT * p = (USHORT *) hb_gt_ScreenPtr( uiRow, uiCol );
*p = (byAttr << 8) + byChar;
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byChar );
HB_SYMBOL_UNUSED( byAttr );
} else {
USHORT Cell = (byAttr << 8) + byChar;
VioWrtNCell((PBYTE) &Cell, 1, uiRow, uiCol, 0);
}
}
void hb_gt_PutChar( USHORT uiRow, USHORT uiCol, BYTE byChar )
void hb_gt_PutChar( SHORT uiRow, SHORT uiCol, BYTE byChar )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutChar(%hu, %hu, %i)", uiRow, uiCol, byChar));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutChar(%hu, %hu, %i)", uiRow, uiCol, byChar));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byChar );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byChar );
}
void hb_gt_PutAttr( USHORT uiRow, USHORT uiCol, BYTE byAttr )
void hb_gt_PutAttr( SHORT uiRow, SHORT uiCol, BYTE byAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutAttr(%hu, %hu, %d)", uiRow, uiCol, (int) byAttr));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutAttr(%hu, %hu, %d)", uiRow, uiCol, (int) byAttr));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byAttr );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byAttr );
}
void hb_gt_GetChar( USHORT uiRow, USHORT uiCol, BYTE * pbyChar )
void hb_gt_GetCharAttr( SHORT uiRow, SHORT uiCol, BYTE * pbyChar, BYTE * pbyAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetChar(%hu, %hu, %p)", uiRow, uiCol, pbyChar));
char * p;
/* TODO */
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetCharAttr(%hu, %hu, %p, %p)", uiRow, uiCol, pbyChar, pbyAttr));
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyChar );
p = hb_gt_ScreenPtr( uiRow, uiCol );
*pbyChar = *p;
*pbyAttr = *( p + 1 );
}
void hb_gt_GetAttr( USHORT uiRow, USHORT uiCol, BYTE * pbyAttr )
void hb_gt_GetChar( SHORT uiRow, SHORT uiCol, BYTE * pbyChar )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetAttr(%hu, %hu, %p)", uiRow, uiCol, pbyAttr));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetChar(%hu, %hu, %p)", uiRow, uiCol, pbyChar));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyAttr );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyChar );
}
void hb_gt_GetAttr( SHORT uiRow, SHORT uiCol, BYTE * pbyAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetAttr(%hu, %hu, %p)", uiRow, uiCol, pbyAttr));
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyAttr );
}
void hb_gt_Puts( USHORT usRow, USHORT usCol, BYTE attr, BYTE * str, ULONG len )

View File

@@ -329,6 +329,7 @@ void hb_gt_SetCursorStyle( USHORT style )
static void hb_gt_xPutch( USHORT usRow, USHORT usCol, BYTE attr, BYTE byChar )
{
char tmp[ 2 ];
HB_TRACE(HB_TR_DEBUG, ("hb_gt_xPutch(%hu, %hu, %d, %i)", usRow, usCol, (int) attr, byChar));
/* TOFIX: add correct support for a single byte instead of a string
@@ -348,60 +349,83 @@ static void hb_gt_xPutch( USHORT usRow, USHORT usCol, BYTE attr, BYTE byChar )
if( s_usCol > s_usMaxCol ) s_usCol = s_usMaxCol;
}
void hb_gt_PutCharAttr( USHORT uiRow, USHORT uiCol, BYTE byChar, BYTE byAttr )
void hb_gt_PutCharAttr( SHORT uiRow, SHORT uiCol, BYTE byChar, BYTE byAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutCharAttr(%hu, %hu, %i, %d)", uiRow, uiCol, byChar, (int) byAttr));
char tmp[ 2 ];
/* TODO */
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutCharAttr(%hu, %hu, %i, %d)", uiRow, uiCol, byChar, (int) byAttr));
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byChar );
HB_SYMBOL_UNUSED( byAttr );
/* TOFIX: add correct support for a single byte instead of a string
*/
tmp[ 0 ] = byChar;
tmp[ 1 ] = '\0';
/* Disable line wrap, set the new cursor position, send the string, then
enable line wrap (for OUTSTD() and OUTERR() ) */
hb_gt_AnsiSetAttributes( byAttr );
fprintf( stdout, "\x1B[=7l\x1B[%d;%dH%s\x1B[=7h", uiRow + 1, uiCol + 1, tmp );
/* Restore whatever used to be at the termination position */
/* Update the cursor position */
s_usRow = uiRow;
s_usCol = uiCol + 1;
if( s_usCol > s_usMaxCol ) s_usCol = s_usMaxCol;
}
void hb_gt_PutChar( USHORT uiRow, USHORT uiCol, BYTE byChar )
void hb_gt_PutChar( SHORT uiRow, SHORT uiCol, BYTE byChar )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutChar(%hu, %hu, %i)", uiRow, uiCol, byChar));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutChar(%hu, %hu, %i)", uiRow, uiCol, byChar));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byChar );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byChar );
}
void hb_gt_PutAttr( USHORT uiRow, USHORT uiCol, BYTE byAttr )
void hb_gt_PutAttr( SHORT uiRow, SHORT uiCol, BYTE byAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutAttr(%hu, %hu, %d)", uiRow, uiCol, (int) byAttr));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutAttr(%hu, %hu, %d)", uiRow, uiCol, (int) byAttr));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byAttr );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byAttr );
}
void hb_gt_GetChar( USHORT uiRow, USHORT uiCol, BYTE * pbyChar )
void hb_gt_GetCharAttr( SHORT uiRow, SHORT uiCol, BYTE * pbyChar, BYTE * pbyAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetChar(%hu, %hu, %p)", uiRow, uiCol, pbyChar));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetCharAttr(%hu, %hu, %p, %p)", uiRow, uiCol, pbyChar, pbyAttr));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyChar );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyChar );
HB_SYMBOL_UNUSED( pbyAttr );
}
void hb_gt_GetAttr( USHORT uiRow, USHORT uiCol, BYTE * pbyAttr )
void hb_gt_GetChar( SHORT uiRow, SHORT uiCol, BYTE * pbyChar )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetAttr(%hu, %hu, %p)", uiRow, uiCol, pbyAttr));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetChar(%hu, %hu, %p)", uiRow, uiCol, pbyChar));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyAttr );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyChar );
}
void hb_gt_GetAttr( SHORT uiRow, SHORT uiCol, BYTE * pbyAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetAttr(%hu, %hu, %p)", uiRow, uiCol, pbyAttr));
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyAttr );
}
void hb_gt_Puts( USHORT usRow, USHORT usCol, BYTE attr, BYTE * str, ULONG len )

View File

@@ -511,60 +511,83 @@ static void hb_gt_xPutch( USHORT uiRow, USHORT uiCol, BYTE byAttr, BYTE byChar )
/* *********************************************************************** */
void hb_gt_PutCharAttr( USHORT uiRow, USHORT uiCol, BYTE byChar, BYTE byAttr )
void hb_gt_PutCharAttr( SHORT uiRow, SHORT uiCol, BYTE byChar, BYTE byAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutCharAttr(%hu, %hu, %i, %d)", uiRow, uiCol, byChar, (int) byAttr));
unsigned char Pos, Msk;
SLsmg_Char_Type SLchar, SLattr;
/* TODO */
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutCharAttr(%hu, %hu, %i, %d)", uiRow, uiCol, byChar, (int) byAttr));
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byChar );
HB_SYMBOL_UNUSED( byAttr );
Pos = ( unsigned char ) ( ( byChar & 0x7F ) >> 3 );
Msk = ( unsigned char ) ( 1 << ( byChar & 0x07 ) );
/* build a Slang converted attribute - note we are clearing a high bit of color */
SLattr = ( SLsmg_Char_Type )( ( ( byAttr - 7 ) & 0x7F ) << 8 );
/* this hack turns on Normal Char Set when we should draw a nation char. */
if( s_bUse_Alt_Char_Hack || !( s_IsNationChar[ Pos ] & Msk ) )
SLchar = s_convHighChars[ byChar ] | SLattr; /* build a Slang char */
else
SLchar = ( SLsmg_Char_Type )byChar | SLattr; /* build a Slang char */
SLsmg_gotorc( uiRow, uiCol );
SLsmg_write_raw( &SLchar, 1 );
}
void hb_gt_PutChar( USHORT uiRow, USHORT uiCol, BYTE byChar )
void hb_gt_PutChar( SHORT uiRow, SHORT uiCol, BYTE byChar )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutChar(%hu, %hu, %i)", uiRow, uiCol, byChar));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutChar(%hu, %hu, %i)", uiRow, uiCol, byChar));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byChar );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byChar );
}
void hb_gt_PutAttr( USHORT uiRow, USHORT uiCol, BYTE byAttr )
void hb_gt_PutAttr( SHORT uiRow, SHORT uiCol, BYTE byAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutAttr(%hu, %hu, %d)", uiRow, uiCol, (int) byAttr));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutAttr(%hu, %hu, %d)", uiRow, uiCol, (int) byAttr));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byAttr );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byAttr );
}
void hb_gt_GetChar( USHORT uiRow, USHORT uiCol, BYTE * pbyChar )
void hb_gt_GetCharAttr( SHORT uiRow, SHORT uiCol, BYTE * pbyChar, BYTE * pbyAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetChar(%hu, %hu, %p)", uiRow, uiCol, pbyChar));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetCharAttr(%hu, %hu, %p, %p)", uiRow, uiCol, pbyChar, pbyAttr));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyChar );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyChar );
HB_SYMBOL_UNUSED( pbyAttr );
}
void hb_gt_GetAttr( USHORT uiRow, USHORT uiCol, BYTE * pbyAttr )
void hb_gt_GetChar( SHORT uiRow, SHORT uiCol, BYTE * pbyChar )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetAttr(%hu, %hu, %p)", uiRow, uiCol, pbyAttr));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetChar(%hu, %hu, %p)", uiRow, uiCol, pbyChar));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyAttr );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyChar );
}
void hb_gt_GetAttr( SHORT uiRow, SHORT uiCol, BYTE * pbyAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetAttr(%hu, %hu, %p)", uiRow, uiCol, pbyAttr));
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyAttr );
}
void hb_gt_Puts( USHORT uiRow, USHORT uiCol, BYTE byAttr, BYTE * pbyStr, ULONG ulLen )

View File

@@ -388,60 +388,80 @@ static void hb_gt_xPutch( USHORT uiRow, USHORT uiCol, BYTE byAttr, BYTE byChar )
hb_gt_AdjustPos( szBuffer, 1 );
}
void hb_gt_PutCharAttr( USHORT uiRow, USHORT uiCol, BYTE byChar, BYTE byAttr )
void hb_gt_PutCharAttr( SHORT uiRow, SHORT uiCol, BYTE byChar, BYTE byAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutCharAttr(%hu, %hu, %i, %d)", uiRow, uiCol, byChar, (int) byAttr));
BYTE szBuffer[ 2 ];
/* TODO */
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutCharAttr(%hu, %hu, %i, %d)", uiRow, uiCol, byChar, (int) byAttr));
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byChar );
HB_SYMBOL_UNUSED( byAttr );
HB_SYMBOL_UNUSED( byAttr );
hb_gt_SetPos( uiRow, uiCol, HB_GT_SET_POS_BEFORE );
/* make the char into a string so it can be passed to AdjustPos
as well as being output */
szBuffer[ 0 ] = byChar;
szBuffer[ 1 ] = 0;
out_stdout( szBuffer, 1 );
hb_gt_AdjustPos( szBuffer, 1 );
}
void hb_gt_PutChar( USHORT uiRow, USHORT uiCol, BYTE byChar )
void hb_gt_PutChar( SHORT uiRow, SHORT uiCol, BYTE byChar )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutChar(%hu, %hu, %i)", uiRow, uiCol, byChar));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutChar(%hu, %hu, %i)", uiRow, uiCol, byChar));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byChar );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byChar );
}
void hb_gt_PutAttr( USHORT uiRow, USHORT uiCol, BYTE byAttr )
void hb_gt_PutAttr( SHORT uiRow, SHORT uiCol, BYTE byAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutAttr(%hu, %hu, %d)", uiRow, uiCol, (int) byAttr));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutAttr(%hu, %hu, %d)", uiRow, uiCol, (int) byAttr));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byAttr );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( byAttr );
}
void hb_gt_GetChar( USHORT uiRow, USHORT uiCol, BYTE * pbyChar )
void hb_gt_GetCharAttr( SHORT uiRow, SHORT uiCol, BYTE * pbyChar, BYTE * pbyAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetChar(%hu, %hu, %p)", uiRow, uiCol, pbyChar));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetCharAttr(%hu, %hu, %p, %p)", uiRow, uiCol, pbyChar, pbyAttr));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyChar );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyChar );
HB_SYMBOL_UNUSED( pbyAttr );
}
void hb_gt_GetAttr( USHORT uiRow, USHORT uiCol, BYTE * pbyAttr )
void hb_gt_GetChar( SHORT uiRow, SHORT uiCol, BYTE * pbyChar )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetAttr(%hu, %hu, %p)", uiRow, uiCol, pbyAttr));
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetChar(%hu, %hu, %p)", uiRow, uiCol, pbyChar));
/* TODO */
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyAttr );
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyChar );
}
void hb_gt_GetAttr( SHORT uiRow, SHORT uiCol, BYTE * pbyAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetAttr(%hu, %hu, %p)", uiRow, uiCol, pbyAttr));
/* TODO */
HB_SYMBOL_UNUSED( uiRow );
HB_SYMBOL_UNUSED( uiCol );
HB_SYMBOL_UNUSED( pbyAttr );
}
void hb_gt_Puts( USHORT uiRow, USHORT uiCol, BYTE byAttr, BYTE * pbyStr, ULONG ulLen )

View File

@@ -571,15 +571,35 @@ USHORT hb_gt_DispCount()
/* *********************************************************************** */
void hb_gt_PutCharAttr( USHORT uiRow, USHORT uiCol, BYTE byChar, BYTE byAttr )
static void hb_gt_xPutch( USHORT usRow, USHORT usCol, BYTE byAttr, BYTE byChar )
{
ULONG i;
HB_TRACE(HB_TR_DEBUG, ("hb_gt_xPutch(%hu, %hu, %d, %i)", usRow, usCol, (int) byAttr, byChar));
if ( s_pCharInfoScreen != NULL &&
usRow < s_csbi.dwSize.Y && usCol < s_csbi.dwSize.X )
{
int i = ( int ) ( usRow * s_csbi.dwSize.X + usCol );
s_pCharInfoScreen[i].Char.AsciiChar = ( CHAR ) byChar;
s_pCharInfoScreen[i].Attributes = ( WORD )( byAttr & 0xFF );
hb_gt_xUpdtSet( usRow, usCol, usRow, usCol );
}
}
/* *********************************************************************** */
void hb_gt_PutCharAttr( SHORT uiRow, SHORT uiCol, BYTE byChar, BYTE byAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutCharAttr(%hu, %hu, %i, %d)", uiRow, uiCol, byChar, (int) byAttr));
if ( s_pCharInfoScreen != NULL )
if ( s_pCharInfoScreen != NULL &&
uiRow >= 0 &&
uiCol >= 0 &&
uiRow < s_csbi.dwSize.Y &&
uiCol < s_csbi.dwSize.X )
{
i = (uiRow * s_csbi.dwSize.X) + uiCol;
ULONG i = (uiRow * s_csbi.dwSize.X) + uiCol;
s_pCharInfoScreen[i].Char.AsciiChar = ( CHAR ) byChar;
s_pCharInfoScreen[i].Attributes = ( WORD ) byAttr;
hb_gt_xUpdtSet( uiRow, uiCol, uiRow, uiCol );
@@ -587,11 +607,15 @@ void hb_gt_PutCharAttr( USHORT uiRow, USHORT uiCol, BYTE byChar, BYTE byAttr )
}
}
void hb_gt_PutChar( USHORT uiRow, USHORT uiCol, BYTE byChar )
void hb_gt_PutChar( SHORT uiRow, SHORT uiCol, BYTE byChar )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutChar(%hu, %hu, %i)", uiRow, uiCol, byChar));
if ( s_pCharInfoScreen != NULL )
if ( s_pCharInfoScreen != NULL &&
uiRow >= 0 &&
uiCol >= 0 &&
uiRow < s_csbi.dwSize.Y &&
uiCol < s_csbi.dwSize.X )
{
s_pCharInfoScreen[(uiRow * s_csbi.dwSize.X) + uiCol].Char.AsciiChar = ( CHAR ) byChar;
hb_gt_xUpdtSet( uiRow, uiCol, uiRow, uiCol );
@@ -599,11 +623,15 @@ void hb_gt_PutChar( USHORT uiRow, USHORT uiCol, BYTE byChar )
}
}
void hb_gt_PutAttr( USHORT uiRow, USHORT uiCol, BYTE byAttr )
void hb_gt_PutAttr( SHORT uiRow, SHORT uiCol, BYTE byAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_PutAttr(%hu, %hu, %d)", uiRow, uiCol, (int) byAttr));
if ( s_pCharInfoScreen != NULL )
if ( s_pCharInfoScreen != NULL &&
uiRow >= 0 &&
uiCol >= 0 &&
uiRow < s_csbi.dwSize.Y &&
uiCol < s_csbi.dwSize.X )
{
s_pCharInfoScreen[(uiRow * s_csbi.dwSize.X) + uiCol].Attributes = ( WORD ) byAttr;
hb_gt_xUpdtSet( uiRow, uiCol, uiRow, uiCol );
@@ -611,18 +639,54 @@ void hb_gt_PutAttr( USHORT uiRow, USHORT uiCol, BYTE byAttr )
}
}
void hb_gt_GetChar( USHORT uiRow, USHORT uiCol, BYTE * pbyChar )
void hb_gt_GetCharAttr( SHORT uiRow, SHORT uiCol, BYTE * pbyChar, BYTE * pbyAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetCharAttr(%hu, %hu, %p, %p)", uiRow, uiCol, pbyChar, pbyAttr));
if ( s_pCharInfoScreen != NULL &&
uiRow >= 0 &&
uiCol >= 0 &&
uiRow < s_csbi.dwSize.Y &&
uiCol < s_csbi.dwSize.X )
{
ULONG i = (uiRow * s_csbi.dwSize.X) + uiCol;
*pbyAttr = ( BYTE ) ( s_pCharInfoScreen[i].Attributes & 0xFF );
*pbyChar = ( BYTE ) s_pCharInfoScreen[i].Char.AsciiChar;
}
else
{
*pbyChar = 0;
*pbyAttr = 0;
}
}
void hb_gt_GetChar( SHORT uiRow, SHORT uiCol, BYTE * pbyChar )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetChar(%hu, %hu, %p)", uiRow, uiCol, pbyChar));
*pbyChar = ( BYTE ) s_pCharInfoScreen[(uiRow * s_csbi.dwSize.X) + uiCol].Char.AsciiChar;
if ( s_pCharInfoScreen != NULL &&
uiRow >= 0 &&
uiCol >= 0 &&
uiRow < s_csbi.dwSize.Y &&
uiCol < s_csbi.dwSize.X )
*pbyChar = ( BYTE ) s_pCharInfoScreen[(uiRow * s_csbi.dwSize.X) + uiCol].Char.AsciiChar;
else
*pbyChar = 0;
}
void hb_gt_GetAttr( USHORT uiRow, USHORT uiCol, BYTE * pbyAttr )
void hb_gt_GetAttr( SHORT uiRow, SHORT uiCol, BYTE * pbyAttr )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_GetAttr(%hu, %hu, %p)", uiRow, uiCol, pbyAttr));
*pbyAttr = ( BYTE ) ( s_pCharInfoScreen[(uiRow * s_csbi.dwSize.X) + uiCol].Attributes & 0xFF );
if ( s_pCharInfoScreen != NULL &&
uiRow >= 0 &&
uiCol >= 0 &&
uiRow < s_csbi.dwSize.Y &&
uiCol < s_csbi.dwSize.X )
*pbyAttr = ( BYTE ) ( s_pCharInfoScreen[(uiRow * s_csbi.dwSize.X) + uiCol].Attributes & 0xFF );
else
*pbyAttr = 0;
}
void hb_gt_Puts( USHORT usRow, USHORT usCol, BYTE byAttr, BYTE *pbyStr, ULONG ulLen )
@@ -962,24 +1026,6 @@ char * hb_gt_Version( void )
/* *********************************************************************** */
static void hb_gt_xPutch( USHORT usRow, USHORT usCol, BYTE byAttr, BYTE byChar )
{
HB_TRACE(HB_TR_DEBUG, ("hb_gt_xPutch(%hu, %hu, %d, %i)", usRow, usCol, (int) byAttr, byChar));
if ( s_pCharInfoScreen != NULL &&
usRow < s_csbi.dwSize.Y && usCol < s_csbi.dwSize.X )
{
int i = ( int ) ( usRow * s_csbi.dwSize.X + usCol );
s_pCharInfoScreen[i].Char.AsciiChar = ( CHAR ) byChar;
s_pCharInfoScreen[i].Attributes = ( WORD )( byAttr & 0xFF );
hb_gt_xUpdtSet( usRow, usCol, usRow, usCol );
}
}
/* *********************************************************************** */
USHORT hb_gt_Box( SHORT Top, SHORT Left, SHORT Bottom, SHORT Right,
BYTE * szBox, BYTE byAttr )
{