Commit 17bb499d authored by Ed J's avatar Ed J
Browse files

update all GIMP constants to 2.10 versions

parent 6b8b732a
......@@ -10,10 +10,10 @@ SYNOPSIS
# your code
my $image = new Gimp::Image (600, 300, RGB);
my $bg = $image->layer_new(
600,300,RGB_IMAGE,"Background",100,NORMAL_MODE
600,300,RGB_IMAGE,"Background",100,LAYER_MODE_NORMAL_LEGACY
);
$image->insert_layer($bg, 1, 0);
$image->edit_fill($bg, FOREGROUND_FILL);
$image->edit_fill($bg, FILL_FOREGROUND);
Gimp::Display->new($image);
$image;
};
......@@ -107,12 +107,12 @@ podregister {
my $img = Gimp::Image->new($width, $height, RGB);
$img->undo_group_start; # so all actions can be undone in one step
# the __ before the string will translate it if available
my $l = Gimp::Layer->new($img, $width, $height, RGB, __"Background", 100, NORMAL_MODE);
my $l = Gimp::Layer->new($img, $width, $height, RGB, __"Background", 100, LAYER_MODE_NORMAL_LEGACY);
$l->insert_layer(0, 0); # required!
# now a few syntax examples
Gimp::Context->set_foreground($text_colour) unless $ignore_cols;
Gimp::Context->set_background($bg_colour) unless $ignore_cols;
fill $l BACKGROUND_FILL;
fill $l FILL_BACKGROUND;
my $text_layer = $img->text_fontname(-1, 10, 10, $text, 5, 1, 10, PIXELS, $font);
Gimp::Context->set_foreground("green");
$img->undo_group_end; # close the undo group
......
......@@ -128,7 +128,7 @@ EOF
# indexed conversion wants a display for some reason
if ($convert_indexed) {
$img->convert_indexed(1, # dither type = fs
MAKE_PALETTE, # palette type
CONVERT_PALETTE_GENERATE, # palette type
255, # number of colors
0, # don't dither transparency
1, # (ignored)
......
......@@ -14,14 +14,14 @@ podregister {
$drawable->edit_copy;
$image->selection_none;
if ($transparency == 0) {
my $bg_layer=$new_image->layer_new($drawable->width,$drawable->height,$image->layertype(1), "Background", 100, NORMAL_MODE);
my $bg_layer=$new_image->layer_new($drawable->width,$drawable->height,$image->layertype(1), "Background", 100, LAYER_MODE_NORMAL_LEGACY);
Gimp::Context->set_background ($bg_col);
$bg_layer->drawable_fill(BACKGROUND_FILL);
$bg_layer->drawable_fill(FILL_BACKGROUND);
$new_image->insert_layer($bg_layer,0,0);
}
my $text1_lay = $new_image->layer_new(
$drawable->width,$drawable->height,
$image->layertype(1), "Text -1-", 100, NORMAL_MODE
$image->layertype(1), "Text -1-", 100, LAYER_MODE_NORMAL_LEGACY
);
$new_image->insert_layer($text1_lay,0,-1);
$text1_lay->edit_clear;
......@@ -32,8 +32,8 @@ podregister {
my @start = ($text1_lay->width / 2 - 5, 0);
my @end = ($text1_lay->width / 2 + 5, $text1_lay->height);
$text1_lay->edit_blend(
FG_BG_RGB_MODE,
NORMAL_MODE,
BLEND_FG_BG_RGB,
LAYER_MODE_NORMAL_LEGACY,
GRADIENT_LINEAR,
100,
FALSE,
......@@ -48,7 +48,7 @@ podregister {
$text2_lay->add_alpha;
$new_image->insert_layer($text2_lay, 0, -1);
Gimp::Context->set_background ([255, 255, 255]);
$text2_lay->edit_fill(BACKGROUND_FILL);
$text2_lay->edit_fill(FILL_BACKGROUND);
$text1_lay->set_lock_alpha(0);
$text2_lay->set_lock_alpha(0);
$text2_lay->gauss_rle( 6, 1, 1);
......@@ -59,7 +59,7 @@ podregister {
$text2_lay->set_opacity(75);
$new_image->flatten;
if ($transparency == 1) {
$new_image->convert_indexed(0, MAKE_PALETTE, 256, 0, 0, "");
$new_image->convert_indexed(0, CONVERT_PALETTE_GENERATE, 256, 0, 0, "");
my $new_layer = $new_image->get_active_layer;
$new_layer->add_alpha;
Gimp::Context->set_sample_threshold(0.55);
......
......@@ -21,7 +21,7 @@ podregister {
my $dm = Gimp::Image->new($xsize, $ysize, 1);
# It needs to have 2 layers
my $dmlayer = Gimp::Layer->new($dm, $xsize, $ysize, GRAY_IMAGE, "newlayer",
100, NORMAL_MODE);
100, LAYER_MODE_NORMAL_LEGACY);
$dm->insert_layer($dmlayer, 0, 0);
# Create the layers, one-by-one
......
......@@ -76,7 +76,7 @@ podregister {
}
$image->undo_group_end;
Gimp::Context->set_background ($color);
my $layerb = $image->image_add_new_layer(1,BACKGROUND_FILL,0);
my $layerb = $image->image_add_new_layer(1,FILL_BACKGROUND,0);
$image->selection_all;
if ($borderpatuse) {
Gimp::Context->set_pattern($borderpattern);
......
......@@ -28,11 +28,11 @@ podregister {
my $draw = new Gimp::Layer(
$copy, $w, $h,
$imagetype2layertype{$image->base_type},
"temporary layer", 100, NORMAL_MODE
"temporary layer", 100, LAYER_MODE_NORMAL_LEGACY
);
$copy->insert_layer ($draw, 0, 1);
$draw->edit_paste(0)->anchor;
$copy->convert_indexed ($dither_type, MAKE_PALETTE, $colours, 1, 1, "");
$copy->convert_indexed ($dither_type, CONVERT_PALETTE_GENERATE, $colours, 1, 1, "");
$draw->edit_copy;
$drawable->edit_paste(1)->anchor;
$copy->delete;
......
......@@ -33,13 +33,13 @@ podregister {
my $opc = Gimp::Channel->new($image,$image->width,$image->height,"OPC", 50, [0,0,0]);
$image->insert_channel($opc,0,0);
Gimp::Context->set_foreground([($opacity/100.0)x3]);
$opc->fill(FOREGROUND_FILL);
$opc->fill(FILL_FOREGROUND);
$image->select_item(CHANNEL_OP_INTERSECT, $opc);
# And mask off with original selection
$image->select_item(CHANNEL_OP_INTERSECT, $selchannel);
# Make the dots
Gimp::Context->set_foreground($dotcolor);
$drawable->edit_fill(FOREGROUND_FILL);
$drawable->edit_fill(FILL_FOREGROUND);
# Cleanup to state before plugin was called
if ($has_noselection) {
$image->selection_none;
......
......@@ -62,9 +62,9 @@ podregister {
Gimp::Context->set_brush($brush);
Gimp::Brushes->set_spacing($brush, 100);
Gimp::Context->set_opacity(50);
Gimp::Context->set_paint_mode(NORMAL_MODE);
$drawable = $image->add_new_layer (0, TRANSPARENT_FILL, 1);
$drawable->set_mode (DIFFERENCE_MODE);
Gimp::Context->set_paint_mode(LAYER_MODE_NORMAL_LEGACY);
$drawable = $image->add_new_layer (0, FILL_TRANSPARENT, 1);
$drawable->set_mode (LAYER_MODE_DIFFERENCE_LEGACY);
for (1..($w*$h*$density)) {
my ($x, $y) = (rand $w, rand $h);
my $l = int($length + rand $length);
......
......@@ -12,12 +12,12 @@ podregister {
my $img = Gimp::Image->new($width, $height, RGB);
$img->undo_group_start; # so all actions can be undone in one step
# the __ before the string will translate it if available
my $l = Gimp::Layer->new($img, $width, $height, RGB, __"Background", 100, NORMAL_MODE);
my $l = Gimp::Layer->new($img, $width, $height, RGB, __"Background", 100, LAYER_MODE_NORMAL_LEGACY);
$l->insert_layer(0, 0); # required!
# now a few syntax examples
Gimp::Context->set_foreground($text_colour) unless $ignore_cols;
Gimp::Context->set_background($bg_colour) unless $ignore_cols;
fill $l BACKGROUND_FILL;
fill $l FILL_BACKGROUND;
my $text_layer = $img->text_fontname(-1, 10, 10, $text, 5, 1, 10, PIXELS, $font);
Gimp::Context->set_foreground("green");
$img->undo_group_end; # close the undo group
......
......@@ -12,14 +12,14 @@ Gimp::on_lib {
# spawning a GIMP without an interface to run on.
Gimp::on_net {
my $img=Gimp::Image->new(600,300,RGB);
my $bg=$img->layer_new(30,20,RGB_IMAGE,"Background",100,NORMAL_MODE);
my $bg=$img->layer_new(30,20,RGB_IMAGE,"Background",100,LAYER_MODE_NORMAL_LEGACY);
$img->insert_layer($bg,0,1); # you have to add a layer after you create it
eval { Gimp::Display->new($img); }; # Show it (this slows things down)
# do a bunch of operations just as a speed test, flushing in between
Gimp::Context->push;
for $i (0..255) {
Gimp::Context->set_background([$i,255-$i,$i]);
$bg->edit_fill(BACKGROUND_FILL);
$bg->edit_fill(FILL_BACKGROUND);
Gimp::Display->displays_flush();
}
Gimp::Context->pop;
......
......@@ -795,7 +795,7 @@ sub do_fade {
my $mask;
unless ($mask = $drawable->get_mask) {
$mask = $drawable->create_mask(ADD_ALPHA_MASK);
$mask = $drawable->create_mask(ADD_MASK_ALPHA);
$drawable->add_mask($mask);
}
......@@ -811,7 +811,7 @@ sub do_fade {
# (1,2) (3,2)
# (1,4) (3,4)
my @blend_args = (
FG_BG_RGB_MODE, NORMAL_MODE,
BLEND_FG_BG_RGB, LAYER_MODE_NORMAL_LEGACY,
($direction == 4 ? GRADIENT_RADIAL : GRADIENT_LINEAR),
100.0, # opacity
0.0, # offset
......
......@@ -778,7 +778,7 @@ podregister {
$drawable->add_alpha unless $drawable->has_alpha;
my $mask;
unless ($mask = $drawable->get_mask) {
$mask = $drawable->create_mask(ADD_ALPHA_MASK);
$mask = $drawable->create_mask(ADD_MASK_ALPHA);
$drawable->add_mask($mask);
}
Gimp::Context->push;
......@@ -792,7 +792,7 @@ podregister {
# (1,2) (3,2)
# (1,4) (3,4)
my @blend_args = (
FG_BG_RGB_MODE, NORMAL_MODE,
BLEND_FG_BG_RGB, LAYER_MODE_NORMAL_LEGACY,
($direction == 4 ? GRADIENT_RADIAL : GRADIENT_LINEAR),
100.0, # opacity
0.0, # offset
......
......@@ -66,7 +66,7 @@ podregister {
$clayer->brightness_contrast($bright, $contrast)
if $bright != 0 or $contrast != 0;
if ($label ne "") {
my $newlayer = $img->layer_new(200, 100, RGB_IMAGE, "newlayer", 100, NORMAL_MODE);
my $newlayer = $img->layer_new(200, 100, RGB_IMAGE, "newlayer", 100, LAYER_MODE_NORMAL_LEGACY);
Gimp::Context->set_foreground($labelcolor);
my $txtlayer = $img->text_fontname(-1, 1, 1, $label, 0, 0, 16, 0, $font);
if ($twidthEval == 0) {
......
......@@ -155,11 +155,11 @@ sub decoration_drop_shadow {
# Put them on a row
$tiled_img = gimp_image_new($total_width, $total_height, RGB);
$tiled_drw = gimp_layer_new($tiled_img, $total_width, $total_height,
RGB_IMAGE, "Tiled", 100, NORMAL_MODE);
RGB_IMAGE, "Tiled", 100, LAYER_MODE_NORMAL_LEGACY);
$tiled_shadow = gimp_layer_new($tiled_img, $total_width, $total_height,
RGB_IMAGE, "Shadow", 50, NORMAL_MODE);
RGB_IMAGE, "Shadow", 50, LAYER_MODE_NORMAL_LEGACY);
$tiled_background = gimp_layer_new($tiled_img, $total_width, $total_height,
RGB_IMAGE, "Background", 100, NORMAL_MODE);
RGB_IMAGE, "Background", 100, LAYER_MODE_NORMAL_LEGACY);
# Create masks
$tiled_drw_msk = $tiled_drw->create_mask(1);
......@@ -175,18 +175,18 @@ sub decoration_drop_shadow {
# Fill all the layers with some contents
gimp_context_set_background([128,128,128]);
$tiled_drw->edit_fill(BACKGROUND_FILL);
$tiled_drw->edit_fill(FILL_BACKGROUND);
gimp_context_set_background($bgcolor);
$tiled_background->edit_fill(BACKGROUND_FILL);
$tiled_background->edit_fill(FILL_BACKGROUND);
if ($bgpattern) {
print "Setting pattern\n";
gimp_context_set_pattern($bgpattern);
$tiled_background->edit_bucket_fill(PATTERN_BUCKET_FILL,
$tiled_background->edit_bucket_fill(FILL_PATTERN,
NORMAL, 100, 0, FALSE, 0,0);
}
gimp_context_set_background([0, 0, 0]); # Shadow color
$tiled_shadow->edit_fill(BACKGROUND_FILL);
$tiled_shadow->edit_fill(FILL_BACKGROUND);
# Add all the layers to the image
$tiled_img->insert_layer($tiled_background,0,-1);
......@@ -211,12 +211,12 @@ sub decoration_drop_shadow {
# why is the selection cleared?
$tiled_img->select_rectangle(0, $xpos, $ypos, $w, $h);
$tiled_drw_msk->edit_fill(BACKGROUND_FILL);
$tiled_drw_msk->edit_fill(FILL_BACKGROUND);
# why is the selection cleared?
$tiled_img->select_rectangle(0, $xpos+$shadow_xoffs,
$ypos+$shadow_yoffs, $w, $h);
$tiled_shadow_msk->edit_fill(BACKGROUND_FILL);
$tiled_shadow_msk->edit_fill(FILL_BACKGROUND);
$tiled_img->selection_none();
......@@ -238,11 +238,11 @@ sub decoration_sunken_windows {
# Create needed image and layers
$tiled_img = gimp_image_new($total_width, $total_height, RGB);
$tiled_drw = gimp_layer_new($tiled_img, $total_width, $total_height,
RGB_IMAGE, "Tiled", 100, NORMAL_MODE);
RGB_IMAGE, "Tiled", 100, LAYER_MODE_NORMAL_LEGACY);
$tiled_punch_layer = gimp_layer_new($tiled_img, $total_width, $total_height,
RGB_IMAGE, "Punched", 100, NORMAL_MODE);
RGB_IMAGE, "Punched", 100, LAYER_MODE_NORMAL_LEGACY);
$tiled_punch_stencil = gimp_layer_new($tiled_img, $total_width, $total_height,
RGB_IMAGE, "Punch mask", 100, NORMAL_MODE);
RGB_IMAGE, "Punch mask", 100, LAYER_MODE_NORMAL_LEGACY);
# Create masks
$tiled_punch_mask = $tiled_punch_layer->create_mask(0);
......@@ -254,18 +254,18 @@ sub decoration_sunken_windows {
# Fill all the layers with some contents
gimp_context_set_background([128,128,128]);
$tiled_drw->edit_fill(BACKGROUND_FILL);
$tiled_drw->edit_fill(FILL_BACKGROUND);
gimp_context_set_background($bgcolor);
$tiled_punch_layer->edit_fill(BACKGROUND_FILL);
$tiled_punch_layer->edit_fill(FILL_BACKGROUND);
if ($bgpattern) {
print "Setting pattern\n";
gimp_context_set_pattern($bgpattern);
$tiled_punch_layer->edit_bucket_fill(PATTERN_BUCKET_FILL,
$tiled_punch_layer->edit_bucket_fill(FILL_PATTERN,
NORMAL, 100, 0, FALSE, 0,0);
}
gimp_context_set_background([255, 255, 255]); # Punch stencil
$tiled_punch_stencil->edit_fill(BACKGROUND_FILL);
$tiled_punch_stencil->edit_fill(FILL_BACKGROUND);
# Add all the layers to the image
$tiled_img->insert_layer($tiled_punch_stencil,0,-1);
......@@ -292,7 +292,7 @@ sub decoration_sunken_windows {
$bw = 3;
$tiled_img->select_rectangle(0, $xpos-$bw,
$ypos-$bw, $w+2*$bw, $h+2*$bw);
$tiled_punch_stencil->edit_fill(BACKGROUND_FILL);
$tiled_punch_stencil->edit_fill(FILL_BACKGROUND);
# why is the selection cleared?
$tiled_img->selection_none();
......
......@@ -30,7 +30,7 @@ sub perl_fu_glowing_steel {
my $height = $textlayer->height+$radius*4;
$image->resize($width, $height, 0, 0);
my $backlayer = $image->layer_new($width, $height, RGBA_IMAGE,
"Background", 100, NORMAL_MODE);
"Background", 100, LAYER_MODE_NORMAL_LEGACY);
$image->insert_layer($backlayer, 0, 1);
$textlayer->set_lock_alpha(1);
......@@ -49,7 +49,7 @@ sub perl_fu_glowing_steel {
# Fill the background
$image->selection_all;
Gimp::Context->set_foreground($background);
$backlayer->edit_bucket_fill(FG_BUCKET_FILL, NORMAL_MODE, 100, 0, 1, 0, 0);
$backlayer->edit_bucket_fill(BUCKET_FILL_FG, LAYER_MODE_NORMAL_LEGACY, 100, 0, 1, 0, 0);
# Make the glow:
perl_fu_add_glow($image, $textlayer, $glow, $radius);
......@@ -84,7 +84,7 @@ sub perl_fu_add_glow {
my $type = $drawable->type;
my $glow = $image->layer_new(
$image->width, $image->height, $type, "Glow layer", 100, NORMAL_MODE
$image->width, $image->height, $type, "Glow layer", 100, LAYER_MODE_NORMAL_LEGACY
);
my $lnum = $image->get_item_position($drawable);
$image->insert_layer($glow, 0, $lnum);
......@@ -100,7 +100,7 @@ sub perl_fu_add_glow {
$image->select_item(CHANNEL_OP_REPLACE, $drawable);
$image->selection_grow($radius);
$image->selection_feather($radius*1.5);
$glow->edit_bucket_fill(FG_BUCKET_FILL, NORMAL_MODE, 100, 255, 0, 0, 0);
$glow->edit_bucket_fill(BUCKET_FILL_FG, LAYER_MODE_NORMAL_LEGACY, 100, 255, 0, 0, 0);
$image->select_item(CHANNEL_OP_REPLACE, $drawable);
$glow->edit_clear;
$image->select_item(CHANNEL_OP_REPLACE, $old_sel);
......@@ -140,7 +140,7 @@ sub perl_fu_brushed_metal {
my $width = abs($x2-$x1);
my $height = abs($y2-$y1);
my $templ = $image->layer_new($width, $height, RGBA_IMAGE, "Temp",
100, NORMAL_MODE);
100, LAYER_MODE_NORMAL_LEGACY);
$image->insert_layer($templ, 0, 0);
$templ->set_offsets($x1+$length, $y1+$length);
my $target_select = $image->selection_save;
......@@ -199,9 +199,9 @@ sub perl_fu_highlight_edges {
Gimp::Context->push();
Gimp::Context->set_foreground([255,255,255]);
$white->edit_bucket_fill(FG_BUCKET_FILL, NORMAL_MODE, 100, 255, 0, 0, 0);
$white->edit_bucket_fill(BUCKET_FILL_FG, LAYER_MODE_NORMAL_LEGACY, 100, 255, 0, 0, 0);
Gimp::Context->set_foreground([0,0,0]);
$black->edit_bucket_fill(FG_BUCKET_FILL, NORMAL_MODE, 100, 255, 0, 0, 0);
$black->edit_bucket_fill(BUCKET_FILL_FG, LAYER_MODE_NORMAL_LEGACY, 100, 255, 0, 0, 0);
$white->translate(-1*$pixels, -1*$pixels);
$black->translate(1*$pixels, 1*$pixels);
$white = $image->merge_down($white, EXPAND_AS_NECESSARY);
......
......@@ -14,10 +14,10 @@ podregister {
$height = $short;
}
my $img = Gimp::Image->new($width, $height, RGB_IMAGE);
my $layer = $img->layer_new($width, $height, RGB_IMAGE, "Layer 1", 100, NORMAL_MODE);
my $layer = $img->layer_new($width, $height, RGB_IMAGE, "Layer 1", 100, LAYER_MODE_NORMAL_LEGACY);
$img->insert_layer($layer, 0, -1);
Gimp::Context->push();
$layer->edit_fill(BACKGROUND_FILL);
$layer->edit_fill(FILL_BACKGROUND);
Gimp::Context->pop();
eval { Gimp::Display->new($img); };
return $img;
......
......@@ -24,7 +24,7 @@ podregister {
my $layer = $newimage->layer_new(
$width, $height,
$alpha ? RGBA_IMAGE : RGB_IMAGE,
"L1", 100, NORMAL_MODE
"L1", 100, LAYER_MODE_NORMAL_LEGACY
);
$newimage->insert_layer($layer, 0, -1);
my $newdrawable = $newimage->get_active_drawable;
......@@ -33,7 +33,7 @@ podregister {
my $destdata = $srcdata->zeroes;
Gimp::Progress->init("Rendering...");
my $relord = $width / 255;
$newdrawable->fill(FOREGROUND_FILL);
$newdrawable->fill(FILL_FOREGROUND);
$delta = 1 if $delta < 1;
for (my $y = 0; $y < $height; $y++){
my $row = $srcdata->slice('', '', "($y)");
......
......@@ -113,7 +113,7 @@ podregister {
# Now store color info for target image
my $dup = Gimp::Image->new($imgwidth,$imgheight,RGB_IMAGE);
$drawable->edit_copy;
my $back = $dup->layer_new($imgwidth, $imgheight, RGB_IMAGE, "Target", 100, NORMAL_MODE);
my $back = $dup->layer_new($imgwidth, $imgheight, RGB_IMAGE, "Target", 100, LAYER_MODE_NORMAL_LEGACY);
$dup->insert_layer($back, 0, 0);
$back->edit_paste(FALSE)->floating_sel_anchor;
my $oimage = get_image_cells($dup, $xtiles*$xcells, $ytiles*$ycells, $imgwidth/$imgheight, 40, 60);
......
......@@ -20,7 +20,7 @@ podregister {
# i.e. create a text layer on transparent only...
# -- step 2 --
$img->add_new_layer(0,TRANSPARENT_FILL);
$img->add_new_layer(0,FILL_TRANSPARENT);
$img->text_fontname(-1, 10, 10, $text, 0, 1, $fontsize, PIXELS, $font);
eval { Gimp::Display->new($img); }; # display the image early
my $layer = $img->merge_visible_layers(EXPAND_AS_NECESSARY);
......@@ -28,7 +28,7 @@ podregister {
my @pt2 = ($layer->width * 0.5 +1, $layer->height);
# -- step 3 --
$layer->set_lock_alpha(1);
$layer->edit_blend(FG_BG_RGB_MODE, NORMAL_MODE, GRADIENT_LINEAR, 100, 0, REPEAT_NONE, 0, 0, 0, 3, 0.20, @pt1, @pt2);
$layer->edit_blend(BLEND_FG_BG_RGB, LAYER_MODE_NORMAL_LEGACY, GRADIENT_LINEAR, 100, 0, REPEAT_NONE, 0, 0, 0, 3, 0.20, @pt1, @pt2);
# -- step 4 --
my $layer2 = $layer->copy(0); # Can you override these to have a default? (would be nice)
$img->insert_layer($layer2, 0, 0);
......@@ -36,7 +36,7 @@ podregister {
$layer2->set_lock_alpha(1);
$img->selection_all;
Gimp::Context->set_background([1.0,1.0,1.0]);
$layer2->edit_fill(BACKGROUND_FILL);
$layer2->edit_fill(FILL_BACKGROUND);
# -- step 6 --
$layer2->set_lock_alpha(0);
$layer2->gauss_rle(6,1,1);
......
......@@ -81,7 +81,7 @@ register "pixelgen",
my $image = new Gimp::Image $w, $h, Gimp->layer2imagetype($type);
my $layername = $expr;
$layername =~ s/\n//g;
my $layer = new Gimp::Layer $image, $w, $h, $type, $layername, 100, NORMAL_MODE;
my $layer = new Gimp::Layer $image, $w, $h, $type, $layername, 100, LAYER_MODE_NORMAL_LEGACY;
$image->insert_layer($layer, 0, 0);
eval { pixelmap($image, $layer, $expr) };
if ($@) {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment