Raster bars: Difference between revisions

Content added Content deleted
m (→‎{{header|Perl 6}}: twiddle with runtime parameters)
m (→‎{{header|Perl 6}}: Remove some unnecessary boilerplate that is extraneous to this task)
Line 16: Line 16:
use Cairo;
use Cairo;


my $width = 800;
my $width = 800;
my $height = 800;
my $height = 800;


Line 31: Line 31:


my @bars = (^64).map: { gen-bar( rand xx 3 ) };
my @bars = (^64).map: { gen-bar( rand xx 3 ) };

SDL_SetRenderDrawBlendMode($render, 1);


my $event = SDL_Event.new;
my $event = SDL_Event.new;
Line 72: Line 70:
}
}
}
}
#say .scancode; # unknown key pressed
}
}
when *.type == WINDOWEVENT {
when *.type == WINDOWEVENT {
Line 92: Line 89:


SDL_RenderPresent($render);
SDL_RenderPresent($render);

SDL_SetRenderDrawColor($render, 0, 0, 0, 0);


SDL_RenderClear($render);
SDL_RenderClear($render);
Line 104: Line 99:
given Cairo::Context.new($bar) {
given Cairo::Context.new($bar) {
my Cairo::Pattern::Gradient::Linear $lpat .= create(0.0, 0.0, 0.0, 32.0);
my Cairo::Pattern::Gradient::Linear $lpat .= create(0.0, 0.0, 0.0, 32.0);
$lpat.add_color_stop_rgba( 1, |(@color »*» .3), 1);
$lpat.add_color_stop_rgba( 1, |(@color »*» .3), 1 );
$lpat.add_color_stop_rgba( .2, |(@color), 1);
$lpat.add_color_stop_rgba( .2, |(@color), 1 );
$lpat.add_color_stop_rgba(.25, |(@color), 1);
$lpat.add_color_stop_rgba( .8, |(@color), 1 );
$lpat.add_color_stop_rgba(.75, |(@color), 1);
$lpat.add_color_stop_rgba( 0, |(@color »+» .8), 1 );
$lpat.add_color_stop_rgba( .8, |(@color), 1);
$lpat.add_color_stop_rgba( 0, |(@color »+» .8), 1);
.rectangle(0, 0, 32, 32);
.rectangle(0, 0, 32, 32);
.pattern($lpat);
.pattern($lpat);