#!/usr/bin/perl -w
BEGIN
{
$pic_height = 200;
$pics_in_row = 3;
$current_dir = `pwd`;
chomp $current_dir;
}
BEGIN
{
my $indent_space_count = 0;
sub indent
{
$indent_space_count += 2;
}
sub outdent
{
$indent_space_count -= 2;
if ($indent_space_count < 0)
{
warn "indent space count underflowed, resetting to zero";
$indent_space_count = 0;
}
}
sub doindent
{
print " " x $indent_space_count;
}
} # end of BEGIN block
sub write_header
{
&doindent; print '', "\n"; &indent;
&doindent; print '
', "\n"; &indent;
&doindent; print '', "\n"; &indent;
&doindent; print 'Picture Thumbnails', "\n";
&outdent; &doindent; print '', "\n";
&outdent; &doindent; print '', "\n";
&doindent; print '', "\n"; &indent;
&doindent; print '', "\n"; &indent;
}
sub write_footer
{
&outdent; &doindent; print '
', "\n";
&outdent; &doindent; print '', "\n";
&outdent; &doindent; print '', "\n";
}
sub initialize_row
{
&doindent; print '', "\n"; &indent;
}
sub finalize_row
{
# &outdent; &doindent; print '
', "\n";
&outdent; &doindent; print '
', "\n";
}
sub add_picture_to_row
{
my ( $picture_name , @trash ) = @_;
warn "too many parameters to add_picture_to_row" if @trash;
&doindent; print '', "\n"; &indent;
&doindent; print '', "\n"; &indent;
&doindent; print '', "\n"; &indent;
&doindent; print ' ' , "\n";
&outdent; &doindent; print ' | ', "\n";
&outdent; &doindent; print '
', "\n";
&doindent; print '', "\n"; &indent;
&doindent; print '| ', "\n"; &indent;
&doindent; print '', "\n"; &indent;
&doindent; print '', "\n"; &indent;
&doindent; print "$picture_name" , "\n";
&outdent; &doindent; print '', "\n";
&outdent; &doindent; print '', "\n";
&outdent; &doindent; print ' | ', "\n";
&outdent; &doindent; print '
', "\n";
&outdent; &doindent; print '
', "\n";
}
BEGIN
{
my $row_used = 0;
my $max_row_to_use = $pics_in_row;
sub picture_fits_in_row
{
my ($prospective_picture, @trash) = @_;
warn "too many parameters to add_picture_to_row" if @trash;
# FIXME Change to real pixel calculations.
if ($row_used < $max_row_to_use)
{
$row_used++;
return 1;
}
else
{
$row_used = 1;
return 0;
}
}
}
#################
# Main Processing
#################
&write_header;
&initialize_row;
while ( defined($next_picture_id = ))
{
chomp $next_picture_id;
if ( &picture_fits_in_row( $next_picture_id ) )
{
&add_picture_to_row( $next_picture_id );
}
else
{
&finalize_row;
&initialize_row;
&add_picture_to_row( $next_picture_id );
}
}
&finalize_row;
&write_footer;