From a1f50d44478b3e68ca1dba1c7e1c67cf8d800d86 Mon Sep 17 00:00:00 2001 From: Przemyslaw Czerpak Date: Tue, 20 May 2008 18:31:54 +0000 Subject: [PATCH] 2008-05-20 20:31 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh * added HB_USR_LIBS set during build time to list of predefined libs in hb* scripts * harbour/source/rtl/hbgtcore.c ! fixed horizontal scrolling. Warning CTIII does not support horizontal scrolling and ignores 6-th scroll parameters. This behavior is intentionally not replicated in CTWIN though it can be easy added if someone will need it but covered with some macro to not change default builds. It will be enough to overload SCROLL() method and set iCol = 0 before calling SUPER_SCROLL(). --- harbour/ChangeLog | 14 ++++++++++++++ harbour/bin/hb-func.sh | 2 +- harbour/source/rtl/hbgtcore.c | 18 ++++++++++-------- 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 39db80e7b8..c574d42c07 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,20 @@ 2008-12-31 13:59 UTC+0100 Foo Bar */ +2008-05-20 20:31 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + * harbour/bin/hb-func.sh + * added HB_USR_LIBS set during build time to list of predefined libs + in hb* scripts + + * harbour/source/rtl/hbgtcore.c + ! fixed horizontal scrolling. Warning CTIII does not support + horizontal scrolling and ignores 6-th scroll parameters. + This behavior is intentionally not replicated in CTWIN + though it can be easy added if someone will need it but + covered with some macro to not change default builds. + It will be enough to overload SCROLL() method and set + iCol = 0 before calling SUPER_SCROLL(). + 2008-05-20 17:15 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbvpdf/hbvpdft.prg ! Fixed include filename to be in lower case. diff --git a/harbour/bin/hb-func.sh b/harbour/bin/hb-func.sh index dcd1c6fa2b..d19328a33c 100755 --- a/harbour/bin/hb-func.sh +++ b/harbour/bin/hb-func.sh @@ -88,7 +88,7 @@ mk_hbgetlibsctb() then libs="$libs gtwin" fi - echo -n "$libs rddads hbct hbnf hbzlib hbtip xhb hbgd hbodbc hbpg hbmysql rddado hbw32 gtwvg" + echo -n "$libs rddads hbct hbnf hbzlib hbtip xhb hbgd hbodbc hbpg hbmysql rddado hbw32 gtwvg $HB_USR_LIBS" else echo -n "$@" fi diff --git a/harbour/source/rtl/hbgtcore.c b/harbour/source/rtl/hbgtcore.c index eb86aacfc2..d287cc2684 100644 --- a/harbour/source/rtl/hbgtcore.c +++ b/harbour/source/rtl/hbgtcore.c @@ -1067,11 +1067,11 @@ static void hb_gt_def_Scroll( PHB_GT pGT, int iTop, int iLeft, int iBottom, int iColSize = iRight - iLeft; iLength = iColSize + 1; iColOld = iColNew = iLeft; - if ( iCols >= 0 ) + if( iCols >= 0 ) { iColOld += iCols; iColSize -= iCols; - iColClear = iColOld + iColSize + 1; + iColClear = iColOld + iColSize - 1; iClrs = iCols; } else @@ -1103,7 +1103,8 @@ static void hb_gt_def_Scroll( PHB_GT pGT, int iTop, int iLeft, int iBottom, int else iRowPos = iBottom--; - if( pBuffer && iRowPos + iRows >= iTop && iRowPos + iRows <= iBottom ) + if( pBuffer && ( iRows == 0 || + ( iRowPos + iRows >= iTop && iRowPos + iRows <= iBottom ) ) ) { HB_GTSELF_SAVE( pGT, iRowPos + iRows, iColOld, iRowPos + iRows, iColOld + iColSize, pBuffer ); HB_GTSELF_REST( pGT, iRowPos, iColNew, iRowPos, iColNew + iColSize, pBuffer ); @@ -1140,11 +1141,11 @@ static void hb_gt_def_ScrollArea( PHB_GT pGT, int iTop, int iLeft, int iBottom, iLength = iColSize + 1; iColOld = iColNew = iLeft; - if ( iCols >= 0 ) + if( iCols >= 0 ) { iColOld += iCols; iColSize -= iCols; - iColClear = iColOld + iColSize + 1; + iColClear = iColOld + iColSize - 1; iClrs = iCols; } else @@ -1170,7 +1171,8 @@ static void hb_gt_def_ScrollArea( PHB_GT pGT, int iTop, int iLeft, int iBottom, else iRowPos = iBottom--; - if( fMove && iRowPos + iRows >= iTop && iRowPos + iRows <= iBottom ) + if( fMove && ( iRows == 0 || + ( iRowPos + iRows >= iTop && iRowPos + iRows <= iBottom ) ) ) { lIndex = ( long ) iRowPos * iWidth + iColNew; if( lOffset < 0 ) @@ -1422,7 +1424,7 @@ static BOOL hb_gt_def_SetKeyCP( PHB_GT pGT, char * pszTermCDP, char * pszHostCDP static BOOL hb_gt_def_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo ) { - switch ( iType ) + switch( iType ) { case HB_GTI_ISGRAPHIC: case HB_GTI_FULLSCREEN: @@ -1882,7 +1884,7 @@ static int hb_gt_def_SetFlag( PHB_GT pGT, int iType, int iNewValue ) { int iPrevValue = 0; - switch ( iType ) + switch( iType ) { case HB_GTI_COMPATBUFFER: iPrevValue = pGT->fVgaCell;