2008-10-11 11:21 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

* harbour/source/common/expropt2.c
    * formatting and minor cleanup

  * harbour/source/rtl/gtapi.c
    % do not set and restore default color set in hb_gtPutText() and
      hb_gtDrawBox() but decode colors from passed string
This commit is contained in:
Przemyslaw Czerpak
2008-10-11 09:21:52 +00:00
parent cdb27e08d2
commit 4176d85bb7
3 changed files with 32 additions and 20 deletions

View File

@@ -8,6 +8,14 @@
2008-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org)
*/
2008-10-11 11:21 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/common/expropt2.c
* formatting and minor cleanup
* harbour/source/rtl/gtapi.c
% do not set and restore default color set in hb_gtPutText() and
hb_gtDrawBox() but decode colors from passed string
2008-10-11 11:06 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
+ New functions added.

View File

@@ -1607,14 +1607,14 @@ BOOL hb_compExprReduceCHR( HB_EXPR_PTR pSelf, HB_COMP_DECL )
pExpr->value.asString.dealloc = FALSE;
pExpr->ulLength = 1;
}
HB_COMP_EXPR_FREE( pParms );
HB_COMP_EXPR_FREE( pSelf->value.asFunCall.pFunName );
memcpy( pSelf, pExpr, sizeof( HB_EXPR ) );
HB_COMP_EXPR_CLEAR( pExpr );
return TRUE;
}
return FALSE;
}
@@ -1914,7 +1914,7 @@ BOOL hb_compExprReduceMIN( HB_EXPR_PTR pSelf, HB_COMP_DECL )
{
HB_EXPR_PTR pExpr = NULL;
if( pNext->ExprType == HB_ET_NUMERIC )
if( pFirst->ExprType == HB_ET_NUMERIC )
{
BYTE bType = ( pFirst->value.asNum.NumType & pNext->value.asNum.NumType );
@@ -1932,10 +1932,10 @@ BOOL hb_compExprReduceMIN( HB_EXPR_PTR pSelf, HB_COMP_DECL )
default:
if( pFirst->value.asNum.NumType == HB_ET_DOUBLE )
pExpr = pFirst->value.asNum.val.d <= ( double ) pNext->value.asNum.val.l ?
pExpr = ( pFirst->value.asNum.val.d <= ( double ) pNext->value.asNum.val.l ) ?
pFirst : pNext;
else
pExpr = ( double ) pFirst->value.asNum.val.l <= pNext->value.asNum.val.d ?
pExpr = ( ( double ) pFirst->value.asNum.val.l <= pNext->value.asNum.val.d ) ?
pFirst : pNext;
}
}
@@ -1983,7 +1983,7 @@ BOOL hb_compExprReduceMAX( HB_EXPR_PTR pSelf, HB_COMP_DECL )
{
HB_EXPR_PTR pExpr = NULL;
if( pNext->ExprType == HB_ET_NUMERIC )
if( pFirst->ExprType == HB_ET_NUMERIC )
{
BYTE bType = ( pFirst->value.asNum.NumType & pNext->value.asNum.NumType );
@@ -2001,10 +2001,10 @@ BOOL hb_compExprReduceMAX( HB_EXPR_PTR pSelf, HB_COMP_DECL )
default:
if( pFirst->value.asNum.NumType == HB_ET_DOUBLE )
pExpr = pFirst->value.asNum.val.d >= ( double ) pNext->value.asNum.val.l ?
pExpr = ( pFirst->value.asNum.val.d >= ( double ) pNext->value.asNum.val.l ) ?
pFirst : pNext;
else
pExpr = ( double ) pFirst->value.asNum.val.l >= pNext->value.asNum.val.d ?
pExpr = ( ( double ) pFirst->value.asNum.val.l >= pNext->value.asNum.val.d ) ?
pFirst : pNext;
}
}

View File

@@ -252,17 +252,19 @@ HB_EXPORT ERRCODE hb_gtDrawBox( SHORT Top, SHORT Left, SHORT Bottom, SHORT Right
pGT = hb_gt_Base();
if( pGT )
{
char szOldColor[ HB_CLRSTR_LEN ];
int iColor;
if( pszColor )
{
HB_GTSELF_GETCOLORSTR( pGT, szOldColor );
HB_GTSELF_SETCOLORSTR( pGT, pszColor );
iColor = HB_GTSELF_COLORNUM( pGT, pszColor );
if( iColor == -1 )
iColor = HB_GTSELF_COLORNUM( pGT, "W/N" );
}
HB_GTSELF_BOX( pGT, Top, Left, Bottom, Right, pbyFrame, HB_GTSELF_GETCOLOR( pGT ) );
else
iColor = HB_GTSELF_GETCOLOR( pGT );
HB_GTSELF_BOX( pGT, Top, Left, Bottom, Right, pbyFrame, iColor );
HB_GTSELF_FLUSH( pGT );
if( pszColor )
HB_GTSELF_SETCOLORSTR( pGT, szOldColor );
hb_gt_BaseFree( pGT );
return SUCCESS;
}
@@ -788,16 +790,18 @@ HB_EXPORT ERRCODE hb_gtPutText( USHORT uiRow, USHORT uiCol,
pGT = hb_gt_Base();
if( pGT )
{
char szOldColor[ HB_CLRSTR_LEN ];
int iColor;
if( pszColor )
{
HB_GTSELF_GETCOLORSTR( pGT, szOldColor );
HB_GTSELF_SETCOLORSTR( pGT, pszColor );
iColor = HB_GTSELF_COLORNUM( pGT, pszColor );
if( iColor == -1 )
iColor = HB_GTSELF_COLORNUM( pGT, "W/N" );
}
HB_GTSELF_PUTTEXT( pGT, uiRow, uiCol, HB_GTSELF_GETCOLOR( pGT ), pStr, ulLength );
if( pszColor )
HB_GTSELF_SETCOLORSTR( pGT, szOldColor );
else
iColor = HB_GTSELF_GETCOLOR( pGT );
HB_GTSELF_PUTTEXT( pGT, uiRow, uiCol, ( BYTE ) iColor, pStr, ulLength );
HB_GTSELF_FLUSH( pGT );
hb_gt_BaseFree( pGT );