#!/usr/bin/perl
#my $DEBUG = 1;

sub getAttribute {
	my $attribute = $_[0];
	my $line = $_[1];

	if ($line =~ m/$attribute="(.*?)"/) {
		return($1);
	}
	return(0);
}

# liste les elements a analyser
my @files = ();
open(FIND, "find . -name \"*.elmt\"|");
while (defined($file = <FIND>)) {
	chomp($file);
	push(@files, $file);
}

# parcourt les fichiers
foreach my $file (@files) {

	# nombre de lignes suspectes
	my $suspect_lines = 0;

	# parcourt les lignes
	my $commande = "grep '<line' ${file}|";
	open(GREP, $commande);
	while (defined($line = <GREP>)) {
		chomp($line);
		# recupere les abscisses et ordonnees de la ligne ainsi que l'antialiasing
		@attributes = ('x1', 'y1', 'x2', 'y2', 'antialias');
		foreach my $attr (@attributes) {
			${$attr} = getAttribute($attr, $line);
			print $attr.'='.${$attr}."\n" if (defined($DEBUG));
		}

		# la ligne est horizontale ou verticale
		if ($y1 == $y2 || $x1 == $x2) {
			print "Ligne horizontale ou verticale : $line\n" if (defined($DEBUG));
			++ $suspect_lines if ($antialias eq 'true');
		}
		print "----\n" if (defined($DEBUG));
	}

	# signale le fichier
	print "${file} : ${suspect_lines}\n" if (defined($DEBUG));
	if ($suspect_lines) {
		print $file." (${suspect_lines})\n";
	}
}
