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:
@@ -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
|
||||
|
||||
@@ -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 );
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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 )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user