#!/usr/local/bin/perl

# 
# tgifaddcolorinfo.pl: Tgif3 で使われるカラー情報が不足しているときに
#                      それを .obj から抽出し付加する．
# 
#     [1997/11/08] OSHIRO Naoki.
# 
#     $Log:$
#

while (<>) {
    $i++ if /^page\(/;
    $obj[$i].=$_;
    if (/^color_info/) {
	print STDERR "Warning: This file contain color_info\n";
	$already=1;
    }
    $color{$1}++ if (/^\w+\('(#[0-9a-f]+)',/);
}
close(F);

open(F, "$ARGV[0]");
print $obj[0];
&dump_color_info if (!$already);
print;
print $obj[1];

sub dump_color_info {
    local($_, $r, $g, $b, $col, $num);
    foreach (keys(%color)) {
	$num++;
    }
    print "color_info($num,65535,0,[\n";
    foreach (keys(%color)) {
	$col=$_;
	($r,$g,$b)=$col=~/#(..)(..)(..)/;
	($r,$g,$b)=(hex($r)/255*65535,hex($g)/255*65535,hex($b)/255*65535);
	($r,$g,$b)=(int($r),int($g),int($b));
	print "        \"$col\", $r, $g, $b, $r, $g, $b, 1";
	print "," if (--$num>0);
	print "\n";
    }
    print "]).\n";
}
