2012-06-27 21:33:44 +02:00
|
|
|
package MyWrapper;
|
|
|
|
use GD;
|
|
|
|
use strict;
|
|
|
|
use warnings;
|
2012-07-25 01:01:40 +02:00
|
|
|
use 5.14.2;
|
2012-06-27 21:33:44 +02:00
|
|
|
use Moo;
|
|
|
|
use MooX::Options;
|
|
|
|
|
|
|
|
has couleurs => ( is => 'ro', builder => '_build_colors' );
|
|
|
|
|
2012-07-25 01:01:40 +02:00
|
|
|
option message => ( is => 'rw',
|
|
|
|
doc => 'message',
|
|
|
|
short => 'm',
|
|
|
|
format => 's', default => sub { 'message à afficher' }
|
|
|
|
);
|
2012-06-27 21:33:44 +02:00
|
|
|
option couleur_externe => ( is => 'rw',
|
2012-07-25 01:01:40 +02:00
|
|
|
doc => 'couleur externe',
|
|
|
|
short => 'ce',
|
|
|
|
format => 's', default => sub { 'bleu' }
|
|
|
|
);
|
2012-06-27 21:33:44 +02:00
|
|
|
option couleur_interne => ( is => 'rw',
|
2012-07-25 01:01:40 +02:00
|
|
|
doc => 'couleur interne',
|
|
|
|
short => 'ci',
|
|
|
|
format => 's', default => sub { 'blanc' }
|
|
|
|
);
|
2012-06-27 21:33:44 +02:00
|
|
|
option couleur_background => ( is => 'rw' ,
|
2012-07-25 01:01:40 +02:00
|
|
|
doc => 'couleur du fond (écriture)',
|
|
|
|
short => 'cb',
|
|
|
|
format => 's', default => sub { 'noir' }
|
|
|
|
);
|
|
|
|
option taille_x => ( is => 'rw',
|
|
|
|
doc => 'taille X', format => 'i',
|
|
|
|
short => 'x',
|
|
|
|
default => sub { 150 }
|
|
|
|
);
|
|
|
|
option taille_y => ( is => 'rw',
|
|
|
|
doc => 'taille Y', format => 'i',
|
|
|
|
short => 'y',
|
|
|
|
default => sub { 50 }
|
|
|
|
);
|
2012-06-27 21:33:44 +02:00
|
|
|
sub _build_colors {
|
|
|
|
{
|
|
|
|
bleu => [0, 0, 255],
|
|
|
|
rouge => [255, 0, 0],
|
|
|
|
vert => [0, 255, 0],
|
|
|
|
noir => [0, 0, 0],
|
|
|
|
blanc => [255, 255, 255],
|
|
|
|
gris => [140, 140, 140]
|
|
|
|
};
|
|
|
|
}
|
2012-07-25 01:01:40 +02:00
|
|
|
sub afficher_couleurs {
|
2012-06-27 21:33:44 +02:00
|
|
|
my ($self) = @_;
|
|
|
|
my %couleurs = %{$self->couleurs};
|
|
|
|
say "couleurs : " . join( ', ' , keys %couleurs) ;
|
|
|
|
while( my ($key , $value) = each %couleurs)
|
|
|
|
{
|
|
|
|
say "La couleur $key est : " . join(', ' , @$value);
|
|
|
|
}
|
2012-07-25 01:01:40 +02:00
|
|
|
}
|
|
|
|
sub afficher_valeurs_actuelles {
|
|
|
|
my ($self) = @_;
|
|
|
|
say "Message : " . $self->message;
|
|
|
|
say "couleur_interne : " . $self->couleur_interne;
|
|
|
|
say "couleur_externe : " . $self->couleur_externe;
|
|
|
|
say "couleur_background : " . $self->couleur_background;
|
|
|
|
say "taille_x : " . $self->taille_x;
|
|
|
|
say "taille_y : " . $self->taille_y;
|
|
|
|
}
|
|
|
|
sub tests {
|
|
|
|
my ($self) = @_;
|
|
|
|
my %couleurs = %{$self->couleurs};
|
|
|
|
|
|
|
|
say "message : " . $self->message;
|
|
|
|
say "couleur_externe : " . $self->couleur_externe;
|
|
|
|
say "Cette couleur n'existe pas !" unless exists $couleurs{$self->couleur_externe};
|
2012-06-27 21:33:44 +02:00
|
|
|
}
|
|
|
|
sub run {
|
|
|
|
my $self = shift;
|
2012-07-25 01:01:40 +02:00
|
|
|
#$self->afficher_couleurs ;
|
|
|
|
$self->afficher_valeurs_actuelles;
|
2012-06-27 21:33:44 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
1;
|