From 435e6ba74d46b8de3534321a3babb0effd42b1fc Mon Sep 17 00:00:00 2001 From: epyon Date: Tue, 20 Aug 2024 16:19:50 +0200 Subject: [PATCH] VTIG_FreeChar properly supports defaults --- src/vtig.pas | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/vtig.pas b/src/vtig.pas index cb45126..cad0c00 100644 --- a/src/vtig.pas +++ b/src/vtig.pas @@ -41,7 +41,9 @@ procedure VTIG_FreeLabel( aText : Ansistring; aPos : TIOPoint; aColor : TIOColor procedure VTIG_FreeLabel( aText : Ansistring; aArea : TIORect; aColor : TIOColor = 0 ); overload; procedure VTIG_FreeLabel( aText : Ansistring; aPos : TIOPoint; aParams : array of const; aColor : TIOColor = 0 ); overload; procedure VTIG_FreeLabel( aText : Ansistring; aArea : TIORect; aParams : array of const; aColor : TIOColor = 0 ); overload; -procedure VTIG_FreeChar( aChar : Char; aPos : TIOPoint; aColor : TIOColor = 0; aBGColor : TIOColor = 0 ); +procedure VTIG_FreeChar( aChar : Char; aPos : TIOPoint; aColor : TIOColor; aBGColor : TIOColor ); +procedure VTIG_FreeChar( aChar : Char; aPos : TIOPoint; aColor : TIOColor ); +procedure VTIG_FreeChar( aChar : Char; aPos : TIOPoint ); procedure VTIG_Text( aText : Ansistring; aColor : TIOColor = 0; aBGColor : TIOColor = 0 ); procedure VTIG_Text( aText : Ansistring; aParams : array of const; aColor : TIOColor = 0; aBGColor : TIOColor = 0 ); function VTIG_Length( const aText: AnsiString ) : Integer; @@ -956,15 +958,27 @@ procedure VTIG_FreeLabel( aText : Ansistring; aArea : TIORect; aParams : array o VTIG_RenderText( aText, iStart, iClip, aParams ); end; -procedure VTIG_FreeChar( aChar : Char; aPos : TIOPoint; aColor : TIOColor = 0; aBGColor : TIOColor = 0 ); +procedure VTIG_FreeChar( aChar : Char; aPos : TIOPoint; aColor : TIOColor; aBGColor : TIOColor ); begin - if aColor = 0 then aColor := GCtx.Style^.Color[ VTIG_TEXT_COLOR ]; - if aBGColor = 0 then aBGColor := GCtx.Style^.Color[ VTIG_BACKGROUND_COLOR ]; GCtx.Color := aColor; GCtx.BGColor := aBGColor; VTIG_RenderChar( aChar, aPos ); end; +procedure VTIG_FreeChar( aChar : Char; aPos : TIOPoint; aColor : TIOColor ); +begin + GCtx.Color := aColor; + GCtx.BGColor := GCtx.Style^.Color[ VTIG_BACKGROUND_COLOR ]; + VTIG_RenderChar( aChar, aPos ); +end; + +procedure VTIG_FreeChar( aChar : Char; aPos : TIOPoint ); +begin + GCtx.Color := GCtx.Style^.Color[ VTIG_TEXT_COLOR ]; + GCtx.BGColor := GCtx.Style^.Color[ VTIG_BACKGROUND_COLOR ]; + VTIG_RenderChar( aChar, aPos ); +end; + procedure VTIG_Text( aText : Ansistring; aParams : array of const; aColor : TIOColor = 0; aBGColor : TIOColor = 0 ); var iClip : TIORect; iStart : TIOPoint;