From 0e00371868a2e11f1a827f914e431d24ff9d74c9 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Sat, 29 Oct 2011 12:09:09 +0200 Subject: Fix minutes, support any color --- cgi/index.pl | 11 +++++++++-- lib/App/VRR/Fakedisplay.pm | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/cgi/index.pl b/cgi/index.pl index 2c64482..63f2442 100644 --- a/cgi/index.pl +++ b/cgi/index.pl @@ -54,11 +54,13 @@ sub render_image { my $dt_now = DateTime->now(time_zone => 'Europe/Berlin'); + my $color = $self->param('color') // '255,0,0'; + $self->res->headers->content_type('image/png'); my ($results, $errstr) = get_results_for($city, $stop); - my $png = App::VRR::Fakedisplay->new(width => 180, height => 50); + my $png = App::VRR::Fakedisplay->new(width => 180, height => 50, color => [split(qr{,}, $color)]); for my $d (@{$results}) { my $line = $d->line; @@ -95,7 +97,7 @@ sub render_image { } elsif ($duration->in_units('hours') == 0) { $etr = sprintf( - ' %2dmin', + ' %2d', $duration->in_units('minutes'), ); } @@ -108,6 +110,11 @@ sub render_image { $png->draw_at(0, $line); $png->draw_at(25, $destination); $png->draw_at(145, $etr); + + if ($etr ne 'sofort') { + $png->draw_at(161, 'min'); + } + $png->new_line(); } diff --git a/lib/App/VRR/Fakedisplay.pm b/lib/App/VRR/Fakedisplay.pm index 782f7ca..b380382 100644 --- a/lib/App/VRR/Fakedisplay.pm +++ b/lib/App/VRR/Fakedisplay.pm @@ -26,7 +26,7 @@ sub new { $self->{image} = GD::Image->new($self->{width} * $self->{scale}, $self->{height} * $self->{scale}); $self->{color}->{bg} = $self->{image}->colorAllocate(0, 0, 0); - $self->{color}->{fg} = $self->{image}->colorAllocate(255, 0, 0); + $self->{color}->{fg} = $self->{image}->colorAllocate(@{$opt{color} // [255, 0, 0]}); $self->{image}->filledRectangle(0, 0, ($self->{width} * $self->{scale}) -1, ($self->{height} * $self->{scale}) - 1, $self->{color}->{bg}); -- cgit v1.2.3