2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-04-20 19:36:02 +00:00

98_SVG.pm: create .gplot from template if not present, fix optimization for the last value (Forum #31859)

git-svn-id: https://svn.fhem.de/fhem/trunk@7817 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig 2015-02-01 13:54:02 +00:00
parent d8c7353528
commit 2d52e733f3

View File

@ -647,8 +647,10 @@ SVG_readgplotfile($$$)
$ld = $wl; $ld = $wl;
} }
my ($err, @svgplotfile) = FileRead($gplot_pgm); my ($err1, $err2, @svgplotfile);
return ("$err", undef) if($err); ($err1, @svgplotfile) = FileRead($gplot_pgm);
($err2, @svgplotfile) = FileRead("$FW_gplotdir/template.gplot") if($err1);
return ($err1, undef) if($err2);
my ($plotfnCnt, $srcNum) = (0,0); my ($plotfnCnt, $srcNum) = (0,0);
my @empty; my @empty;
$srcDesc{all} = ""; $srcDesc{all} = "";
@ -1801,7 +1803,8 @@ SVG_render($$$$$$$$$$)
my ($x1, $y1); my ($x1, $y1);
my $lt = ($lt{$lType} ? $lt{$lType} : "L"); # defaults to line my $lt = ($lt{$lType} ? $lt{$lType} : "L"); # defaults to line
foreach my $i (0..int(@{$dxp})-1) { my $maxIdx = int(@{$dxp})-1;
foreach my $i (0..$maxIdx) {
if( !defined($dxp->[$i]) ) { # specials if( !defined($dxp->[$i]) ) { # specials
if( $dyp->[$i] =~ m/^;$/ ) { # new line segment after newline if( $dyp->[$i] =~ m/^;$/ ) { # new line segment after newline
@ -1869,7 +1872,7 @@ SVG_render($$$$$$$$$$)
# calc ymin/ymax for points with the same x coordinates # calc ymin/ymax for points with the same x coordinates
if($x1 == $lx) { if($x1 == $lx && $i < $maxIdx) {
$ymin = $y1 if($y1 < $ymin); $ymin = $y1 if($y1 < $ymin);
$ymax = $y1 if($y1 > $ymax); $ymax = $y1 if($y1 > $ymax);
$ly = $y1; $ly = $y1;
@ -1910,7 +1913,7 @@ SVG_render($$$$$$$$$$)
if($ret =~ m/^ (\d+),(\d+)/) { # just points, no M/L if($ret =~ m/^ (\d+),(\d+)/) { # just points, no M/L
$ret = sprintf("M %d,%d $lt ", $1, $2).$ret; $ret = sprintf("M %d,%d $lt ", $1, $2).$ret;
} }
$ret = "" if(@{$dxp} == 1); $ret = "" if($maxIdx == 0);
SVG_pO "<path $attributes $lStyle d=\"$ret\"/>"; SVG_pO "<path $attributes $lStyle d=\"$ret\"/>";
} }