From 42afd3841a3c486b6ad5bbb10f6a18028d9912f7 Mon Sep 17 00:00:00 2001 From: Damian <> Date: Wed, 24 Mar 2021 21:37:20 +0000 Subject: [PATCH] 98_DOIF.pm svg functions: lightness improvements git-svn-id: https://svn.fhem.de/fhem/trunk@24080 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/98_DOIF.pm | 63 ++++++++++++++++++++++---------------------- 1 file changed, 32 insertions(+), 31 deletions(-) diff --git a/fhem/FHEM/98_DOIF.pm b/fhem/FHEM/98_DOIF.pm index bb739875f..490dbaeb2 100644 --- a/fhem/FHEM/98_DOIF.pm +++ b/fhem/FHEM/98_DOIF.pm @@ -4414,11 +4414,11 @@ sub bar $out.= sprintf ('',$bwidth,$bheight,$svg_width,$svg_height,$svg_width,$svg_height); $out.= ''; $out.= ''; - $out.= ''; - $out.= ''; + $out.= ''; + $out.= ''; $out.= sprintf('',$currColor,$minColor,(defined $lr ? $lr:-1),color($currColor,$lr),color($minColor,$lr)); $out.= ''; - $out.= sprintf('',$bwidth-3,$bheight); + $out.= sprintf('',$bwidth-3,$bheight); $out.= sprintf('%s',$bwidth/2+10,$header) if (defined $header and $header ne ""); $out.= sprintf('',$trans); my $nullColor; @@ -4440,8 +4440,8 @@ sub bar $out.= sprintf('%s',color($maxColor,$ln),sprintf($format,$max)); $out.= sprintf('%s',$height+9,color($minCol,$ln),sprintf($format,$min)); - $out.= sprintf('',$y,$val1,$currColor,$minColor,(defined $lr ? $lr:-1)); - $out.= sprintf('',$height); + $out.= sprintf('',$y,$val1,$currColor,$minColor,(defined $lr ? $lr:-1)); + $out.= sprintf('',$height); $out.= sprintf('',$null,$null) if ($min < 0 and $max > 0);; if (defined $icon and $icon ne "" and $icon ne " ") { @@ -4724,7 +4724,7 @@ sub icon_temp_temp_ring { sub ring { - my ($val,$min,$max,$minColor,$maxColor,$unit,$size,$func,$decfont,$mode,$lr,$ln,$icon) = @_; + my ($val,$min,$max,$minColor,$maxColor,$unit,$size,$func,$decfont,$mode,$lightness,$lnum,$icon) = @_; my $out; my ($monochrom,$minMax,$innerRing,$pointer); @@ -4739,7 +4739,7 @@ sub ring my ($ic,$iscale,$ix,$iy,$rotate)=(); if (defined ($icon)) { - ($ic,$iscale,$ix,$iy,$rotate)=split(",",$icon); + ($ic,$iscale,$ix,$iy,$rotate)=split(/,/,$icon); if (defined ($ix)) { $ix+=30; } else { @@ -4756,11 +4756,12 @@ sub ring } my ($format,$value); - if (defined $lr) { - if (!defined $ln) { - $ln=$lr; - } - } + my ($lr,$lir,$lmm,$lu,$ln,$li); + + ($lr,$lir,$lmm,$lu,$ln,$li)=split (/,/,$lightness) if (defined $lightness); + + $ln=$lnum if (defined $lnum); + $min=0 if (!defined $min); $max=100 if (!defined $max); @@ -4813,26 +4814,26 @@ sub ring } if (defined $icon and $icon ne "") { - $ic="$ic\@".color($currColor,$ln) if ($ic !~ /@/); + $ic="$ic\@".color($currColor,$li) if ($ic !~ /@/); } my $width=int($size/100*63); my $height=int($size/100*58); $out.= sprintf('',$width,$height,$width,$height); $out.= ''; - $out.= ''; + $out.= ''; if (!defined $pointer) { $out.= sprintf('\ ',$currColor,$minColor,(defined $lr ? $lr:0),$x1,$y1,$x2,$y2,color($currColor,$lr),color($minColor,$lr)); } if (defined $innerRing and $innerRing and ref($func) ne "ARRAY") { $out.= sprintf('\ - ',$minCol,$maxColor,(defined $lr ? $lr:0),100,0,0,0,color($maxColor,$lr),color($minCol,$lr)); + ',$minCol,$maxColor,(defined $lir ? $lir:0),100,0,0,0,color($maxColor,$lir),color($minCol,$lir)); } - $out.= '\ - '; + $out.= '\ + '; $out.=''; - $out.=''; - $out.=''; + $out.=''; + $out.=''; $out.=describeArc(41, 30, 28, 0, 280); $out.=''; if (defined $pointer) { @@ -4852,14 +4853,14 @@ sub ring my $curr=${$func}[$i]; my $color=${$func}[$i+1]; my $to=int(($curr-$min)/$diff*280); - $out.=sprintf('',($innerRing eq "1" ? "":$innerRing),color($color,$lr)); + $out.=sprintf('',($innerRing eq "1" ? "":$innerRing),color($color,$lir)); $out.=describeArc(41, 30, 25.5, $from, $to); $out.=''; $from=$to+2; } } else { $out.=''; - $out.=sprintf('',($innerRing eq "1" ? "":$innerRing),$minCol,$maxColor,(defined $lr ? $lr:0)); + $out.=sprintf('',($innerRing eq "1" ? "":$innerRing),$minCol,$maxColor,(defined $lir ? $lir:0)); $out.=describeArc(41, 30, 25.5, 0, 280); $out.=''; } @@ -4886,11 +4887,11 @@ sub ring ($icflag ? 43.5:34),color($currColor,$ln),(defined ($icon) ? 14:20),$fontformat,$valInt); } $out.= sprintf('%s', - ($icflag ? 53:47),color($currColor,$ln),($icflag ? 9:12),$unitformat,$unit) if (defined $unit); + ($icflag ? 53:47),color($currColor,$lu),($icflag ? 9:12),$unitformat,$unit) if (defined $unit); if (defined $minMax and $minMax) { - $out.= sprintf('%s',color($minCol,$lr),($minMax eq "1" ? "":$minMax),sprintf($format,$min)); - $out.= sprintf('%s',color($maxColor,$lr),($minMax eq "1" ? "":$minMax),sprintf($format,$max)); + $out.= sprintf('%s',color($minCol,$lmm),($minMax eq "1" ? "":$minMax),$min); + $out.= sprintf('%s',color($maxColor,$lmm),($minMax eq "1" ? "":$minMax),$max); } $out.= ''; @@ -5012,19 +5013,19 @@ sub ring2 my $height=int($size/100*58); $out.= sprintf('',$width,$height,$width,$height); $out.= ''; - $out.= ''; + $out.= ''; $out.= sprintf('\ ',$currColor,$minColor,(defined $lr ? $lr:0),$x1,$y1,$x2,$y2,color($currColor,$lr),color($currColor,$lr)); $out.= sprintf('\ ',$currColor2,$minColor2,(defined $lr ? $lr:0),$x12,$y12,$x22,$y22,color($currColor2,$lr),color($currColor2,$lr)); - $out.= '\ - '; + $out.= '\ + '; $out.=''; - $out.=''; - $out.=''; + $out.=''; + $out.=''; $out.=describeArc(41, 30, 28, 0, 280); $out.=''; @@ -5214,8 +5215,8 @@ sub cylinder_mode my $color=$values[$i+1]; $out.= sprintf('',$color,hsl_color($color),hsl_color($color)); } - $out.= ''; - $out.= ''; + $out.= ''; + $out.= ''; $out.= '';