/* Output an item to the screen and/or printer */ static void hb_conOutDev( const char * szStr, HB_SIZE nLen ) { HB_FHANDLE hFile; HB_TRACE( HB_TR_DEBUG, ( "hb_conOutDev(%s, %" HB_PFS "u)", szStr, nLen ) ); if( ( hFile = hb_setGetPrinterHandle( HB_SET_PRN_DEV ) ) != FS_ERROR ) { /* Display to printer if SET DEVICE TO PRINTER and valid printer file */ hb_fsWriteLarge( hFile, szStr, nLen ); hb_prnPos()->col += ( int ) nLen; } else /* Otherwise, display to console */ hb_gtWrite( szStr, nLen ); }
int main( void ) { const char * test = "Testing GT API Functions"; const char * test2 = "This message wraps!"; void * scr; HB_SIZE size; /* NOTE: always have to initialze video subsystem */ hb_gtInit( 0, 0, 0 ); /* save screen */ hb_gtRectSize( 1, 1, hb_gtMaxRow(), hb_gtMaxCol(), &size ); scr = hb_xgrab( size ); hb_gtSave( 1, 1, hb_gtMaxRow() - 1, hb_gtMaxCol() - 1, scr ); /* writing text */ hb_gtSetPos( 3, 3 ); hb_gtWrite( test, strlen( test ) ); hb_gtSetPos( 12, 42 ); hb_gtWrite( test, strlen( test ) ); /* wrapping text */ hb_gtSetPos( 7, 70 ); hb_gtWrite( test2, strlen( test2 ) ); /* writing color text */ hb_gtSetColorStr( "W+/B, B/W" ); hb_gtColorSelect( HB_CLR_STANDARD ); hb_gtWrite( "Enhanced color (B/W)", 20 ); hb_gtSetPos( 22, 62 ); hb_gtColorSelect( HB_CLR_ENHANCED ); hb_gtWrite( "Standard Color (W+/B)", 21 ); /* boxes */ hb_gtBoxS( 10, 10, 20, 20 ); hb_gtBoxD( 10, 40, 15, 45 ); /* cursor functions */ hb_gtSetPos( 12, 1 ); /* none */ hb_gtSetCursor( SC_NONE ); hb_inkey( HB_TRUE, 0.0, INKEY_ALL ); /* underline */ hb_gtSetCursor( SC_NORMAL ); hb_inkey( HB_TRUE, 0.0, INKEY_ALL ); /* lower half block */ hb_gtSetCursor( SC_INSERT ); hb_inkey( HB_TRUE, 0.0, INKEY_ALL ); /* full block */ hb_gtSetCursor( SC_SPECIAL1 ); hb_inkey( HB_TRUE, 0.0, INKEY_ALL ); /* upper half block */ hb_gtSetCursor( SC_SPECIAL2 ); hb_inkey( HB_TRUE, 0.0, INKEY_ALL ); /* restore screen */ hb_gtRest( 1, 1, hb_gtMaxRow() - 1, hb_gtMaxCol() - 1, scr ); hb_xfree( scr ); return 0; }