static void hb_gt_std_Scroll( PHB_GT pGT, int iTop, int iLeft, int iBottom, int iRight, BYTE bColor, BYTE bChar, int iRows, int iCols ) { int iHeight, iWidth; HB_TRACE( HB_TR_DEBUG, ( "hb_gt_std_Scroll(%p,%d,%d,%d,%d,%d,%d,%d,%d)", pGT, iTop, iLeft, iBottom, iRight, bColor, bChar, iRows, iCols ) ); /* Provide some basic scroll support for full screen */ HB_GTSELF_GETSIZE( pGT, &iHeight, &iWidth ); if( iCols == 0 && iRows > 0 && iTop == 0 && iLeft == 0 && iBottom >= iHeight - 1 && iRight >= iWidth - 1 ) { PHB_GTSTD pGTSTD; /* scroll up the internal screen buffer */ HB_GTSELF_SCROLLUP( pGT, iRows, bColor, bChar ); /* update our internal row position */ pGTSTD = HB_GTSTD_GET( pGT ); pGTSTD->iRow -= iRows; if( pGTSTD->iRow < 0 ) pGTSTD->iRow = 0; } else HB_GTSUPER_SCROLL( pGT, iTop, iLeft, iBottom, iRight, bColor, bChar, iRows, iCols ); }
HB_ERRCODE hb_gtScrollUp( int iRows ) { HB_TRACE( HB_TR_DEBUG, ( "hb_gtScrollUp(%d)", iRows ) ); if( iRows != 0 ) { PHB_GT pGT = hb_gt_Base(); if( pGT ) { HB_GTSELF_SCROLLUP( pGT, iRows, HB_GTSELF_GETCOLOR( pGT ), ' ' ); HB_GTSELF_FLUSH( pGT ); hb_gt_BaseFree( pGT ); return HB_SUCCESS; } } return HB_FAILURE; }