Hi,
Sven Neumann wrote:
Hi,
Andrei Simion <[EMAIL PROTECTED]> writes:
Some time ago I reported a problem on the gimp server: more images I
create, the gimp ends up creating a swap file and this file increases
rapidly.
I was advised to install Gimp 2.x and I installed the 2.2 version. The
problem is the same, the swap file is still created and it still
increases in size. It means the Gimp server doesn't free the memory it
uses when creating an image.
Should I call a special method in the script that makes the image?
You are deleting the images, aren't you?
No, in all tutorials I read they return the image to be saved at the end
of the main method in the script.
I tried to save the image from the script, not return it. It didn't work.
Andrei, there is really nothing we can do with the vague description
of your problem. I have asked you before to provide a documented test
case. Unless you do that, you shouldn't expect any further help.
Please stop wasting our time.
The script is very large, this is why I didn't send it to you. But, here
it is:
#!/usr/bin/perl
use Gimp ":auto";
use Gimp::Fu;
sub logov1 {
my($text, $font, $fontcolor, $outlinesize, $outlinecolor,
$shadowoffset, $shadowblur, $embossamount, $glowamount,
$bevelamount, $texture, $alignment, $bgfile, $logowidth,
$logoheight,$usebgdim,$textoffset,$vertoffset,$glowopacity,
$textureopacity,$buttontexture,$buttoncolor,$buttonstyle,
$backimage, $divider_above_size) = @_;
# comment by Andrei 03/27/2005
# log the $gimpcall into a file
open(LOG1, ">>/home/gimp/gimp/logs/gimp_steve_pm.log");
print LOG1 $bgfile."\n";
close(LOG1);
if ($bgfile ne "none") {
$img = gimp_file_load($bgfile,$bgfile);
} else {
print "creating background with $buttontexture,$buttonstyle\n";
$backgroundcolor = "#FFFFFF";
if ($backimage ne "") {
$backgroundcolorimage = gimp_file_load($backimage,$backimage);
# $backgroundcolor =
gimp_color_picker($backgroundcolorimage,$drawable,1,1,1,0,0,1);
} else {
$backgroundcolor = "#FFFFFF";
}
gimp_palette_set_background($backgroundcolor);
$img = gimp_image_new($logowidth,$logoheight,RGB);
$layer =
gimp_layer_new($img,$logowidth,$logoheight,0,"Background",100,0);
gimp_image_add_layer($img,$layer,0);
gimp_layer_add_alpha($layer);
gimp_selection_all($img);
gimp_drawable_fill($layer,BG_IMAGE_FILL);
$buttonlayer = gimp_layer_new($img,$logowidth,$logoheight,0,"Button
layer",100,0);
gimp_image_add_layer($img,$buttonlayer,0);
gimp_layer_add_alpha($buttonlayer);
gimp_drawable_fill($buttonlayer,TRANS_IMAGE_FILL);
gimp_selection_none($img);
if ($buttonstyle =~ /round/i) {
# select elipse and rectangle added together for rounded button
gimp_ellipse_select($img,$logowidth-$logoheight,0,$logoheight,$logoheight,0,1,0,0);
gimp_rect_select($img,0,0,$logowidth -
$logoheight/2,$logoheight,0,0,0);
print "selecting ellipse x = ";
print $logowidth-$logoheight . "\n";
} else {
gimp_selection_all($img);
}
if ($buttonstyle =~ /outline/ ) {
gimp_palette_set_foreground("#000000");
gimp_bucket_fill($buttonlayer,FG_IMAGE_FILL,0,100,0,0,0,0);
gimp_selection_shrink($img,2);
}
gimp_palette_set_foreground($buttoncolor);
gimp_bucket_fill($buttonlayer,FG_BUCKET_FILL,0,100,0,0,0,0);
#put on button texture if requested
if ($buttontexture ne "none") {
$success = 0;
@pattern_list = gimp_patterns_list();
foreach $pattern (@pattern_list) {
if ($pattern eq $buttontexture) { $success = 1; print "\n\nsuccess
[$buttontexure]\n\n"; break; }
}
if ($success) {
gimp_patterns_set_pattern($buttontexture);
gimp_bucket_fill($buttonlayer,PATTERN_BUCKET_FILL,0,100,0,0,0,0);
plug_in_colorify($img,$buttonlayer,$buttoncolor);
}
}
if (0) {
$success = 0;
@pattern_list = gimp_patterns_list();
foreach $pattern (@pattern_list) {
if ($pattern eq $buttontexture) { $success = 1; print "\n\nsuccess
$buttontexure\n\n"; break; }
}
if ($success) {
$textureimg = gimp_image_new($logowidth,$logoheight,GRAY);
$texturelayer =
gimp_layer_new($textureimg,$logowidth,$logoheight,GRAY_IMAGE,"Texture
layer",$textureopacity,0);
$texturelayer2 =
gimp_layer_new($img,$logowidth,$logoheight,RGB_IMAGE,"Texture
layer",$textureopacity,0);
gimp_drawable_fill($texturelayer,TRANS_IMAGE_FILL);
gimp_drawable_fill($texturelayer2,TRANS_IMAGE_FILL);
gimp_layer_add_alpha($texturelayer);
gimp_layer_add_alpha($texturelayer2);
gimp_patterns_set_pattern($buttontexture);
gimp_bucket_fill($texturelayer,2,0,$textureopacity,255,0,0,0);
gimp_image_add_layer($textureimg,$texturelayer,0);
gimp_convert_rgb($textureimg);
gimp_selection_all($textureimg);
gimp_edit_copy($texturelayer);
$texturelayer2 = gimp_edit_paste($texturelayer2,0);
gimp_selection_layer_alpha($buttonlayer);
gimp_selection_invert($img);
gimp_edit_cut($texturelayer2);
gimp_selection_none($img);
gimp_layer_set_opacity($texturelayer2,$textureopacity);
# gimp_image_add_layer($img,$texturelayer2,0);
$buttonlayer = gimp_image_merge_down($img,$texturelayer2,2);
}
} # end if buttontexture
# put on bevel if in style
#apply bevel
if ($buttonstyle =~ /bevel/i) {
$opacity = 75;
$blur_radius = 3;
$depth = 3;
$pi = atan2(1,1) * 4;
$angle = 30 + 180;
$radians = ($pi/180) * $angle;
$x_offset = $depth * sin $radians;
$y_offset = $depth * cos $radians;
$color = "#000000";
#print "\nradians=$radians x=$x_offset y=$y_offset pi=$pi\n";
$target = gimp_layer_copy($buttonlayer,1);
$effect = gimp_layer_new($img,$logowidth,$logoheight,RGBA_IMAGE,
"shadow layer",$opacity,NORMAL_MODE);
gimp_layer_add_alpha($effect);
$effect_mask = gimp_layer_create_mask($effect,WHITE_MASK);
gimp_image_add_layer($img,$effect,-1);
gimp_image_add_layer_mask($img,$effect,$effect_mask);
gimp_palette_set_background($color);
gimp_drawable_fill($effect,BG_IMAGE_FILL);
gimp_selection_layer_alpha($target);
# gimp_selection_all($img);
gimp_drawable_fill($effect_mask,BG_IMAGE_FILL);
gimp_selection_none($img);
gimp_palette_set_background("#FFFFFF");
gimp_channel_ops_offset($effect_mask,0,OFFSET_BACKGROUND,$x_offset,$y_offset);
plug_in_gauss_iir2($img,$effect_mask,$blur_radius,$blur_radius);
gimp_image_remove_layer_mask($img,$effect,APPLY);
$effect_mask2 = gimp_layer_create_mask($effect,BLACK_MASK);
gimp_image_add_layer_mask($img,$effect,$effect_mask2);
gimp_selection_layer_alpha($target);
# gimp_selection_all($img);
gimp_edit_fill($effect_mask2,BG_IMAGE_FILL);
gimp_selection_none($img);
$buttonlayer = gimp_image_merge_down($img,$effect,1);
$angle = 120;
$radians = ($pi/180) * $angle;
$x_offset = $depth * sin $radians;
$y_offset = $depth * cos $radians;
$color = "#FFFFFF";
#print "\nradians=$radians x=$x_offset y=$y_offset pi=$pi\n";
$light_effect =
gimp_layer_new($img,$logowidth,$logoheight,RGBA_IMAGE,
"light layer",$opacity,NORMAL_MODE);
gimp_layer_add_alpha($light_effect);
$effect_mask = gimp_layer_create_mask($light_effect,WHITE_MASK);
gimp_image_add_layer($img,$light_effect,-1);
gimp_image_add_layer_mask($img,$light_effect,$effect_mask);
gimp_palette_set_background($color);
gimp_drawable_fill($light_effect,BG_IMAGE_FILL);
gimp_selection_layer_alpha($target);
# gimp_selection_all($img);
gimp_palette_set_background("#000000");
gimp_edit_fill($effect_mask,BG_IMAGE_FILL);
gimp_selection_none($img);
gimp_palette_set_background("#FFFFFF");
gimp_channel_ops_offset($effect_mask,0,OFFSET_BACKGROUND,$x_offset,$y_offset);
plug_in_gauss_iir2($img,$effect_mask,$blur_radius,$blur_radius);
gimp_image_remove_layer_mask($img,$light_effect,APPLY);
$effect_mask2 = gimp_layer_create_mask($light_effect,BLACK_MASK);
gimp_image_add_layer_mask($img,$light_effect,$effect_mask2);
gimp_selection_layer_alpha($target);
# gimp_selection_all($img);
gimp_edit_fill($effect_mask2,BG_IMAGE_FILL);
gimp_selection_none($img);
$buttonlayer = gimp_image_merge_down($img,$light_effect,1);
} # end apply bevel
# gimp_layer_set_preserve_trans($layer,1);
# gimp_layer_set_preserve_trans($buttonlayer,1);
# gimp_layer_set_visible($layer,1);
# gimp_layer_set_visible($buttonlayer,1);
$background = gimp_image_merge_visible_layers($img,1);
#return $img;
} # end else not exist bgfile
if ($usebgdim) {
$logoheight = gimp_image_height($img);
$logowidth = gimp_image_width($img);
}
if (! gimp_drawable_is_rgb(gimp_image_active_drawable($img)) ) {
gimp_convert_rgb($img);
}
# $background = gimp_image_flatten($img);
gimp_palette_set_foreground($fontcolor);
# Create the text layer. Using -1 as the drawable creates a new layer.
my $text_layer =
gimp_layer_new($img,$logowidth,$logoheight,0,"text_layer",0,0);
gimp_layer_add_alpha($text_layer);
eval {
$text_layer = gimp_text_fontname($img, -1, 0, 0, $text,
0, 1,
xlfd_size($font), $font);
};
if ($@) {
$font = "-*-utopia-bold-r-*-*-30-*-*-*-*-*-*-*";
$text_layer = gimp_text_fontname($img, -1, 0, 0, $text,
0, 1,
xlfd_size($font), $font);
}
# figure out where to position text
$texty = ($logoheight/2 - $text_layer->height/2 ) + $vertoffset;
if ($alignment =~ /center/i) {
$textx = ($logowidth/2 - $text_layer->width/2) + $textoffset;
} elsif ($alignment =~ /right/i) {
$textx = ($logowidth - $text_layer->width-5) - $textoffset;
} else {
$textx = 5 + $textoffset;
}
# pull out text layer we were checking size and fonts on.
gimp_image_remove_layer($img,$text_layer);
# create text layer now that we know all the parameters
$text_layer = gimp_text_fontname($img, -1, $textx, $texty, $text,
-1, 1,
xlfd_size($font), $font);
gimp_layer_add_alpha($text_layer);
gimp_layer_resize($text_layer,$logowidth,$logoheight,$textx,$texty);
#apply texture
$success = 0;
if ($texture ne "none") {
@pattern_list = gimp_patterns_list();
foreach $pattern (@pattern_list) {
print "[$pattern]\t";
if ($pattern eq $texture) { $success = 1; print "success
$texure\n"; break; }
}
}
print "\nTexture = [$texture], Success = $success\n";
if ($success) {
gimp_patterns_set_pattern($texture);
gimp_selection_layer_alpha($text_layer);
gimp_bucket_fill($text_layer,PATTERN_BUCKET_FILL,0,100,0,0,0,0);
plug_in_colorify($img,$text_layer,$fontcolor);
}
if (0) {
$textureimg = gimp_image_new($logowidth,$logoheight,GRAY);
$texturelayer =
gimp_layer_new($textureimg,$logowidth,$logoheight,GRAY_IMAGE,"Texture
layer",$textureopacity,0);
$texturelayer2 =
gimp_layer_new($img,$logowidth,$logoheight,RGB_IMAGE,"Texture
layer",$textureopacity,0);
gimp_layer_add_alpha($texturelayer);
gimp_layer_add_alpha($texturelayer2);
gimp_drawable_fill($texturelayer,TRANS_IMAGE_FILL);
gimp_drawable_fill($texturelayer2,TRANS_IMAGE_FILL);
gimp_patterns_set_pattern($texture);
gimp_bucket_fill($texturelayer,2,0,$textureopacity,255,0,0,0);
gimp_image_add_layer($textureimg,$texturelayer,0);
gimp_convert_rgb($textureimg);
gimp_selection_all($textureimg);
gimp_edit_copy($texturelayer);
$texturelayer2 = gimp_edit_paste($texturelayer2,0);
gimp_selection_layer_alpha($text_layer);
gimp_selection_invert($img);
gimp_edit_cut($texturelayer2);
gimp_selection_none($img);
gimp_layer_set_opacity($texturelayer2,$textureopacity);
# gimp_image_add_layer($img,$texturelayer2,0);
$text_layer = gimp_image_merge_down($img,$texturelayer2,2);
# $opacity = 80;
# gimp_selection_layer_alpha($text_layer);
# gimp_patterns_set_pattern($texture);
# gimp_bucket_fill($text_layer,2,0,$opacity,255,0,0,0);
}
#apply bevel
if ($bevelamount > 0) {
$opacity = 75;
$blur_radius = $bevelamount;
$depth = $bevelamount;
$pi = atan2(1,1) * 4;
$angle = 30 + 180;
$radians = ($pi/180) * $angle;
$x_offset = $depth * sin $radians;
$y_offset = $depth * cos $radians;
$color = "#000000";
#print "\nradians=$radians x=$x_offset y=$y_offset pi=$pi\n";
$target = gimp_layer_copy($text_layer,1);
$effect = gimp_layer_new($img,$logowidth,$logoheight,RGBA_IMAGE,
"shadow layer",$opacity,NORMAL_MODE);
gimp_layer_add_alpha($effect);
$effect_mask = gimp_layer_create_mask($effect,WHITE_MASK);
gimp_image_add_layer($img,$effect,-1);
gimp_image_add_layer_mask($img,$effect,$effect_mask);
gimp_palette_set_background($color);
gimp_drawable_fill($effect,BG_IMAGE_FILL);
gimp_selection_layer_alpha($target);
gimp_edit_fill($effect_mask,BG_IMAGE_FILL);
gimp_selection_none($img);
gimp_palette_set_background("#FFFFFF");
gimp_channel_ops_offset($effect_mask,0,OFFSET_BACKGROUND,$x_offset,$y_offset);
plug_in_gauss_iir2($img,$effect_mask,$blur_radius,$blur_radius);
gimp_image_remove_layer_mask($img,$effect,APPLY);
$effect_mask2 = gimp_layer_create_mask($effect,BLACK_MASK);
gimp_image_add_layer_mask($img,$effect,$effect_mask2);
gimp_selection_layer_alpha($target);
gimp_edit_fill($effect_mask2,BG_IMAGE_FILL);
gimp_selection_none($img);
$text_layer = gimp_image_merge_down($img,$effect,1);
$angle = 120;
$radians = ($pi/180) * $angle;
$x_offset = $depth * sin $radians;
$y_offset = $depth * cos $radians;
$color = "#FFFFFF";
#print "\nradians=$radians x=$x_offset y=$y_offset pi=$pi\n";
$light_effect = gimp_layer_new($img,$logowidth,$logoheight,RGBA_IMAGE,
"light layer",$opacity,NORMAL_MODE);
gimp_layer_add_alpha($light_effect);
$effect_mask = gimp_layer_create_mask($light_effect,WHITE_MASK);
gimp_image_add_layer($img,$light_effect,-1);
gimp_image_add_layer_mask($img,$light_effect,$effect_mask);
gimp_palette_set_background($color);
gimp_drawable_fill($light_effect,BG_IMAGE_FILL);
gimp_selection_layer_alpha($target);
gimp_palette_set_background("#000000");
gimp_edit_fill($effect_mask,BG_IMAGE_FILL);
gimp_selection_none($img);
gimp_palette_set_background("#FFFFFF");
gimp_channel_ops_offset($effect_mask,0,OFFSET_BACKGROUND,$x_offset,$y_offset);
plug_in_gauss_iir2($img,$effect_mask,$blur_radius,$blur_radius);
gimp_image_remove_layer_mask($img,$light_effect,APPLY);
$effect_mask2 = gimp_layer_create_mask($light_effect,BLACK_MASK);
gimp_image_add_layer_mask($img,$light_effect,$effect_mask2);
gimp_selection_layer_alpha($target);
gimp_edit_fill($effect_mask2,BG_IMAGE_FILL);
gimp_selection_none($img);
$text_layer = gimp_image_merge_down($img,$light_effect,1);
} # end apply bevel
# put on outline
if ($outlinesize > 0) {
$outline = gimp_layer_copy($text_layer,0);
gimp_image_add_layer($img,$outline,0);
gimp_selection_layer_alpha($outline);
# gimp_layer_resize($outline,$logowidth,$logoheight,0,0);
gimp_selection_grow($img,$outlinesize);
gimp_palette_set_foreground($outlinecolor);
gimp_bucket_fill($outline,0,0,100,0,0,0,0);
gimp_image_lower_layer($img,$outline);
$text_layer = gimp_image_merge_down($img,$text_layer,1);
} # end put on outline
#apply emboss
if ($embossamount > 0) {
$emboss_blur_amount = $embossamount*3;
$emboss_w = gimp_layer_copy($text_layer,0);
gimp_image_add_layer($img,$emboss_w,0);
gimp_selection_layer_alpha($emboss_w);
gimp_palette_set_foreground("#000000");
gimp_bucket_fill($emboss_w,0,0,100,0,0,0,0);
gimp_layer_set_offsets($emboss_w,(-1 * $embossamount),(-1 *
$embossamount));
gimp_layer_set_opacity($emboss_w,65);
gimp_selection_grow($img,$embossamount*3);
# gimp_selection_all($img);
plug_in_gauss_rle($img,$emboss_w,$emboss_blur_amount,1,1);
$emboss_b = gimp_layer_copy($text_layer,0);
gimp_image_lower_layer($img,$emboss_w);
$text_layer = gimp_image_merge_down($img,$text_layer,1);
gimp_image_add_layer($img,$emboss_b,0);
gimp_selection_layer_alpha($emboss_b);
gimp_palette_set_foreground("#FFFFFF");
gimp_bucket_fill($emboss_b,0,0,100,0,0,0,0);
gimp_layer_set_offsets($emboss_b,$embossamount-1,$embossamount-1);
# gimp_layer_set_offsets($emboss_b,3,3);
gimp_selection_grow($img,$embossamount);
# gimp_selection_all($img);
plug_in_gauss_rle($img,$emboss_b,$embossamount,1,1);
gimp_image_lower_layer($img,$emboss_b);
$text_layer = gimp_image_merge_down($img,$text_layer,1);
} # end if embossamount > 0
#put on glow
if ($glowamount > 0) {
my $glow_color = "#FFEE44";
my $glow = gimp_layer_copy($text_layer,0);
gimp_image_add_layer($img,$glow,0);
gimp_selection_layer_alpha($glow);
# gimp_layer_resize($glow,$logowidth,$logoheight,0,0);
gimp_selection_grow($img,$glowamount);
gimp_selection_feather($img,$glowamount*1.5);
gimp_palette_set_foreground($glow_color);
gimp_bucket_fill($glow,0,0,$glowopacity,0,0,0,0);
gimp_image_lower_layer($img,$glow);
$text_layer = gimp_image_merge_down($img,$text_layer,1);
} # end put on glow
#put on dropshadow
if ($shadowblur > 0 || $shadowoffset > 0) {
gimp_palette_set_foreground("#000000");
$shadow_background = gimp_layer_copy($text_layer,0);
gimp_image_add_layer($img,$shadow_background,0);
gimp_selection_layer_alpha($shadow_background);
gimp_bucket_fill($shadow_background,0,0,100,0,0,0,0);
gimp_layer_set_offsets($shadow_background,$shadowoffset,$shadowoffset);
# gimp_layer_resize($shadow_background,$logowidth,$logoheight,0,0);
gimp_selection_none($img);
plug_in_gauss_rle($img,$shadow_background,$shadowblur,1,1);
gimp_layer_set_opacity($shadow_background,100);
gimp_image_lower_layer($img,$shadow_background);
}
# hack to get around not keeping transparent when doing round
buttons - but kills the text effects :(
#if ($bgfile eq "none" && $buttonstyle =~ /round/) {
#print "\n Applying transparency hack\n";
# gimp_convert_indexed($img,0,MAKE_PALETTE,256,0,0,"");
# $background = gimp_image_merge_visible_layers($img,1);
#}
if ($divider_above_size > 0){
# deal with the divider above
# define the background colors
$backgroundcolor = "#000000"; # black
$foregroundcolor = "#FF0000"; # red
gimp_palette_set_background($backgroundcolor);
gimp_palette_set_foreground($foregroundcolor);
$divider_layer = gimp_layer_new($img, 725, 80, RGB, "Dividers Layer",
0, NORMAL_MODE);
gimp_layer_add_alpha($divider_layer);
# gimp_drawable_fill($divider_layer,WHITE_IMAGE_FILL);
gimp_rect_select ($img, 0, 0, 725, 25, 1, 0, 0);
gimp_bucket_fill($divider_layer,BG_BUCKET_FILL,0,100,100,0,0,0);
gimp_image_add_layer($img, $divider_layer, 0);
gimp_image_raise_layer($img, $divider_layer);
}
# Andrei, 07Apr2005
# gimp_layer_delete($layer);
# gimp_image_delete($img);
# create a display associated to the image
# my $dspl = gimp_display_new($img);
# gimp_display_delete($dspl);
# my ($num_layers, $layer_ids) = gimp_image_get_layers($img);
# get the drawable of the current image
# my $drwbl = &gimp_image_active_drawable($img);
# log the $gimpcall into a file
open(LOG1, ">>/home/gimp/gimp/logs/gimp_steve_pm.log");
# print LOG1 qq{active drawable: }.$drwbl.qq{\n};
print LOG1 $divider_above_size.qq{\n};
close(LOG1);
# try to save the file
# &file_gif_save(0, $img, $drwbl,
"/home/gimp/www/graphics/LOGO1.gif", "/home/gimp/www/graphics/LOGO2.gif");
# gimp_file_save(1, $img, $drwbl,
"/home/gimp/www/graphics/LOGO1.gif", "/home/gimp/www/graphics/LOGO2.gif");
# file_save Image ($drwbl, "/home/gimp/www/graphics/LOGO1.gif",
"/home/gimp/www/graphics/LOGO2.gif");
return $img;
}
# register the script
register "logov1", "logo", "logo",
"Andrei Simion", "Andrei Simion",
"1999-06-09",
"<Toolbox>/Xtns/Perl-Fu/Web/Logo",
"*",
[
[PF_STRING, "text", "text", "test"],
[PF_FONT, "font", "font",
"-*-utopia-bold-r-*-*-70-*-*-*-*-*-*-*"],
[PF_COLOR, "fontcolor","Font Color", [255,200,0]],
[PF_INT, "outlinesize", "Outline Size", "3"],
[PF_COLOR, "outlinecolor", "Outline Color", [0,0,0]],
[PF_INT, "shadowoffset", "Drop Shadow Offset", "0"],
[PF_INT, "shadowblur", "Drop Shadow Blur","0"],
[PF_INT, "embossamount", "Emboss Amount", "0"],
[PF_INT, "glowamount", "Glow Amount", "0"],
[PF_INT, "bevelamount", "Bevel Amount", "0"],
[PF_STRING, "texture", "Texture", "none"],
[PF_STRING, "alignment","Alignment", "left"],
[PF_STRING, "bgfile", "Background file", "none"],
[PF_INT, "width", "Width", "725"],
[PF_INT, "height", "Height", "80"],
[PF_INT, "usebgdim", "Use BG Image Dimensions", "0"],
[PF_INT, "textoffset", "Offset for text to start", "0"],
[PF_INT, "vertoffset", "Vertical offset for text to start", "0"],
[PF_INT, "glowopacity", "Opacity of glow effect", "75"],
[PF_INT, "textureopacity", "Opacity of texture", "50"],
[PF_STRING, "buttontexture", "button texture", "none"],
[PF_COLOR, "buttoncolor", "button color", [255,0,0]],
[PF_STRING, "buttonstyle", "button style", "roundoutline"],
[PF_STRING, "backimage","Background color file",""],
[PF_INT, "dividerabovesize", "Above divider size", "0"]
],
\&logov1;
# Handle over control to gimp
#exit main();
main();
1;
Regards,
Andrei
Sven
_______________________________________________
Gimp-developer mailing list
[email protected]
http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer