--- db2gantt.cgi 2002/09/13 16:54:44 1.10 +++ db2gantt.cgi 2002/09/13 19:06:46 1.12 @@ -112,7 +112,7 @@ return "url(-relative=>1)."?from_t=${f}&to_t=${t}\">$ch"; } -print ""; +print "
"; print "\n"; # draw hour grid -print "\n"; } -print color_bar($from_t % 3600,$c[1],$hr % 24); -print "\n"; -my $fix_d = 0; # used to fix graph len +hour_grid(); + +my $fix_d = 0; # used to fix graph len (in pixels) +my $fix_s = 0; # used to collect round errors of size sub bar { my $l = shift @_; @@ -160,8 +165,15 @@ my $col = shift @_ || '240,240,240'; # default color (filler) my $alt = shift @_ || undef; - my $size = int($l / ($len_t / $width)); - if ($size < $min_l) { + my $size = $l / ($len_t / $width); + $fix_s += $size - int($size); + $size=int($size); + if ($fix_s > 1) { + $fix_s -= 1; + $size++; + } + + if ($alt && $size < $min_l) { $fix_d += ($min_l - $size); print STDERR "fix_d: $fix_d\n" if ($debug); $size = $min_l; @@ -276,7 +288,9 @@ undef $sth; $dbh->disconnect; -print "\n
Specification"; print mknav(($from_t-$int_t),$to_t,'<<'),$from; print mknav(($from_t+$int_t),$to_t,'>>') if ($from_t+$int_t < $to_t); @@ -121,18 +121,23 @@ print $to,mknav($from_t,($to_t+$int_t),'>>'),"
hour grid"; -my @c = ("255,255,128","255,192,128"); -my $hr=strftime("%H",localtime ($from_t)); -print color_bar(3600 - $from_t % 3600,$c[0],$hr++ % 24); -for (my $i=1; $ihour grid"; + my @c = ("255,255,128","255,192,128"); + my $hr=strftime("%H",localtime ($from_t)); + print color_bar(3600 - $from_t % 3600,$c[0],sprintf("%02d",$hr++ % 24)); + for (my $i=1; $i
"; +print "\n"; +hour_grid(); +print ""; # label and usage