The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NOM

Acme::IRC::Art -

SYNOPSIS

 use Acme::IRC::Art;
 use NET::IRC;
 ...
 définition d'un connexion avec Net::IRC (voir la documentation de NET::IRC)
 ...
 my $art = Art->new(5,5);
 $art->rectangle(0,0,4,4,2);
 for ($art->result)  {
   $connection_irc->privmsg("#channel",$_);
   select(undef,undef,undef,0.5);
 }

DESCRIPTION

Acme::IRC::Art est un module qui vous permet de faire des jolis dessins sur l'irc comme si vous utilisiez une librairie graphique très basique, il n'a pas était conçut pour faire de l'ascii art ( faire automatiquement des dessins avec les caractères acsii), il se contente de manipuler des couleurs et du texte. Vous pouvez l'utiliser avec n'importe quel module qui fournis un client irc (eg Net::IRC) ou dans des script perl pour des client IRC.

UTILISATION

new

D'abord il vous faut en premier lieu appeler le constructeur qui se nome new, il se contente de creer un canevas vide sur lequel vous allez travailler, vous pouvez spécifier sa hauteur et sa largeur, le canevas est remplis d'espace par défaut.

my $art->new($largeur,$hauteur);

Une règle à ne pas oublier c'est de définir votre dessin dans l'ordre auquel les éléments doivent apparaître si par exemple vous definissez un texte puis que vous dessinez un rectangle dessus le texte sera effacé

result

Quand vous avez finis de définir votre dessin avec les méthodes qui sont décrite par la suite, appeler la methode result qui ne prend aucun arguments et qui retourne un tableau qui contient chaque ligne de messages à envoyer pour afficher votre dessin.

Methodes

Voici la liste des méthodes avec lesquelles vous allez pouvoir dessiner

    La méthode 'pixel' pour afficher ou non un pixel , vous devez spécifier sa position et sa couleur

     $art->pixel($x,$y,$couleur,$on);

    $on est une valeur bouléenn pour dire d'afficher ou d'effacer le pixel (-1 pour effacer). $on est vraie par défaut vous pouvez utiliser la synthaxe suivante

     $art->pixel($x,$y,$couleur);

    Une dernière chose : le $x et $y peuvent être des références vers un tableau, mais attention les coordonnées en x et en y doivent correspondent une à une, exemple pour remplir la diagional d'un carré de 3 sur 3

     $art->pixel([0,1,2],[0,1,2],5);

    text

    La méthode 'text' permet d'afficher du texte à partir d'une position donnée, la syntaxe est :

     $art->text($texte,$position_x, $position_y,[$mise_en_forme],[$couleur_fond]);

    plusieurs mise en forme de texte sont disponible

     -"b" : met le texte en gras
     -un nombre met le texte à la couleur correspondante
     -"b".un nombre met le texte en gras avec une couleur

    exemple:

     $art->text("Bonjour !",2,0,"b5",2);

    Celà mettra le "B" au pixel de coordonnée 2,0 , les autres lettres seront placées à la suite, par exemple le premier "o" aura comme coordonnée 3,0. Le texte sera en rouge foncé avec du gras ("b5") sur fond bleu.

    Expérimentale :

        $art->text($text,$x,$y,\@mise_en_forme,[\@fond]);

    Soyez prudent car aucun vérification n'est faite le la validité des arguments dans ce cas là

    rectangle

    La méthode rectangle permet de faire facilement des rectangles mais aussi des lignes

    La syntaxe est la suivante :

     $art->rectangle($position_x1,$position_y1,$position_x2,$position_y2,$couleur,[$on]);

    x1 et y1 représentent les coordonnées du pixel au coin en haut à gauche, et x2 et y2 celle du coin en bas à droite

save

La méthode save permet de sauvegarder dans un fichier l'image obtenus pour la recharger par la suite avec la méthode load par exemple. C'est un simple fichier avec le texte ascii nécessaire pour l'irc.

La syntaxe est la suivante :

 $art->save($path_to_file);

path_to_file est évidement le chemin vers le fichier

load

La méthode load permet de charger des fichiers d'image au format utilisé par la méthode save.

La syntaxe est la suivante :

 $art->load($path_to_file)

path_to_file est toujours le chemin vers le fichier

Annexe

couleurs :

 0 : Gris clair (ou blanc)
 1 : Noir
 2 : Bleu foncé
 3 : Vert foncé
 4 : Rouge 
 5 : Rouge foncé
 6 : Violet
 7 : Orange
 8 : Jaune
 9 : Vert clair
 10 : Bleu ciel foncé
 11 : Bleu ciel clair
 12 : Bleu
 13 : Rose
 14 : Gris foncé
 15 : Gris

BUGS

Il n'y a pas de bugs connus, le problème de rendu peut venir d'un choix de police dont les caractère ne sont pas tous de la même taille, ce qui pose un problème aussi pour les dessins ascii.

SUPPORT

AUTHOR

        Colinet Sylvain
        skarsnikum@free.fr
        http://skarsnik.homelinux.org/~skarsnik

COPYRIGHT

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

The full text of the license can be found in the LICENSE file included with this module.

SEE ALSO

perl(1). Net::IRC, POE::Component::IRC

5 POD Errors

The following errors were encountered while parsing the POD:

Around line 28:

Non-ASCII character seen before =encoding in 'définition'. Assuming CP1252

Around line 115:

You forgot a '=back' before '=head1'

Around line 120:

=over should be: '=over' or '=over positive_number'

You can't have =items (as at line 178) unless the first thing after the =over is an =item

Around line 299:

'=item' outside of any '=over'

Around line 355:

You forgot a '=back' before '=head1'