Ignore:
Timestamp:
2000-07-13T10:21:53+12:00 (24 years ago)
Author:
sjboddie
Message:

merged changes to trunk into New_Config_Format branch

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/New_Config_Format-branch/gsdl/bin/script/gimp/title_icon.pl

    r1037 r1279  
    4646
    4747
    48 my ($cfg_file, $imagefile, $width, $height, $imageheight, $stripecolor, $stripewidth,
    49     $stripe_alignment, $i_transparency, $text, $text_alignment, $filename, $textspace_x,
    50     $textspace_y, $bgcolor, $fontcolor, $fontsize, $minfontsize, $fontname,
    51     $fontweight, $fontslant, $fontwidth, $fontspacing, $image_dir);
     48local ($cfg_file, $size, $imagefile, $width, $height, $imageheight, $stripecolor, $stripewidth,
     49       $stripe_alignment, $i_transparency, $text, $text_alignment, $filename, $textspace_x,
     50       $textspace_y, $bgcolor, $fontcolor, $fontsize, $minfontsize, $fontname,
     51       $fontweight, $fontslant, $fontwidth, $fontspacing, $image_dir, $dont_wrap);
    5252
    5353sub print_usage {
     
    5757    print STDERR "                          sets of the following options - use to create\n";
    5858    print STDERR "                          batches of images\n";
     59    print STDERR "   -size number           the overall size ratio of the image (i.e. a size\n";
     60    print STDERR "                          of 2 will create an image twice the default size)\n";
    5961    print STDERR "   -image_dir directory   directory to create images in [`pwd`]\n";
    6062    print STDERR "                          this should be full path to existing directory\n";
     
    8385    print STDERR "   -fontslant             [r]\n";
    8486    print STDERR "   -fontwidth             [*]\n";
    85     print STDERR "   -fontspacing           [*]\n\n";
     87    print STDERR "   -fontspacing           [*]\n";
     88    print STDERR "   -dont_wrap             don't attempt to wrap text\n\n";
    8689}
    8790
     
    8992    $image_dir = "./";
    9093    $imagefile = "";
    91     $width = 150;
    92     $height = 44;
    93     $imageheight = 110;
     94    $width = int (150 * $size);
     95    $height = int (44 * $size);
     96    $imageheight = int (110 * $size);
    9497    $stripecolor = $gsdl_green;
    95     $stripewidth = 40;
     98    $stripewidth = int (40 * $size);
    9699    $stripe_alignment = "left";
    97100    $i_transparency = 60;
     
    99102    $text_alignment = "left";
    100103    $filename = "";
    101     $textspace_x = 3;
    102     $textspace_y = 3;
     104    $textspace_x = int (3 * $size);
     105    $textspace_y = int (3 * $size);
    103106    $bgcolor = $gsdl_green;
    104107    $fontcolor = $black;
    105     $fontsize = 17;
    106     $minfontsize = 10;
     108    $fontsize = int (17 * $size);
     109    $minfontsize = int (10 * $size);
    107110    $fontname = "lucida";
    108111    $fontweight = "medium";
     
    116119    if (!parsargv::parse(\@ARGV,
    117120             'cfg_file/.*/', \$cfg_file,
     121             'size/\d+/1', \$size,
    118122             'image_dir/.*/./', \$image_dir,
    119123             'imagefile/.*/', \$imagefile,
     
    138142             'fontslant/.*/r', \$fontslant,
    139143             'fontwidth/.*/*', \$fontwidth,
    140              'fontspacing/.*/*', \$fontspacing)) {
     144             'fontspacing/.*/*', \$fontspacing,
     145             'dont_wrap', \$dont_wrap)) {
    141146    &print_usage();
    142147    die "title_icon.pl: incorrect options\n";
     
    148153    chomp $image_dir;
    149154    }
    150    
     155
    151156    if ($cfg_file =~ /\w/) {
    152157   
     
    177182
    178183sub produce_image {
     184
     185    &adjust_args ();
     186    &wrap_text () unless $dont_wrap;
    179187
    180188    my $use_image = 0;
     
    338346    return 1;
    339347}
     348
     349# adjust arguments that are effected by the size argument
     350sub adjust_args {   
     351
     352    if ($size != 1) {
     353    my @size_args = ('width', 'height', 'imageheight', 'stripewidth',
     354             'textspace_x', 'textspace_y', 'fontsize', 'minfontsize');
     355    foreach $arg (@size_args) {
     356        $$arg = int ($$arg * $size);
     357    }
     358    }
     359}
     360
     361sub wrap_text {
     362
     363    # don't wrap text if it already contains carriage returns
     364    return if $text =~ /\n/;
     365
     366    # the following assumes that all words are less than $wrap_length long
     367    my $wrap_length = 14;
     368
     369    my $new_text = "";
     370    while (length ($text) >= $wrap_length) {
     371    my $line = substr ($text, 0, $wrap_length);
     372    $text =~ s/^$line//;
     373    $line =~ s/\s([^\s]*)$/\n/;
     374    $text = $1 . $text;
     375    $new_text .= $line;
     376    }
     377    $new_text .= $text;
     378    $text = $new_text;
     379}
    340380   
    341381sub query {
Note: See TracChangeset for help on using the changeset viewer.