[gimp-perl] iland only set data after finished work.
- From: Ed J <edj src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp-perl] iland only set data after finished work.
- Date: Thu, 19 Jun 2014 23:20:01 +0000 (UTC)
commit 0640007b00f10e626d82e6a0f440899f68152251
Author: Ed J <edj src gnome org>
Date: Fri Jun 20 00:19:43 2014 +0100
iland only set data after finished work.
examples/iland | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/examples/iland b/examples/iland
index 98dd949..e38f7fd 100755
--- a/examples/iland
+++ b/examples/iland
@@ -29,21 +29,23 @@ podregister {
$newimage->insert_layer($layer, 0, -1);
my $newdrawable = $newimage->get_active_drawable;
my $dest = Gimp::PixelRgn->new($newdrawable, 0, 0, $width, $height, 1, 1);
+# my $srcdata = $src->data;
my $srcdata = $src->get_rect($drawable->bounds);
+ my $destdata = $srcdata->zeroes;
Gimp::Progress->init("Rendering...");
my $relord = $width / 255;
$newdrawable->fill(FOREGROUND_FILL);
$delta = 1 if $delta < 1;
for (my $y = 0; $y < $height; $y++){
my $row = $srcdata->slice('', '', "($y)");
- my $drow = $row&0;
- my $red = $row->slice($component);
+ my $drow = $destdata->slice('', '', "($y)");
+ my $red = $row->slice("($component)");
my $dred = $drow->slice("(0)");
my $dgreen = $drow->slice("(1)");
my $dblue = $drow->slice("(2)");
$drow->slice(3) .= 255 if $alpha;
for (my $x = 0; $x < $width; $x++) {
- my $r = at($red, 0, $x);
+ my $r = at($red, $x);
next if $r <= $floor;
my $remain = $r;
my $currentx = $width - $r * $relord + ($x / $elevation);
@@ -68,10 +70,11 @@ podregister {
$currentx++;
}
}
- $dest->set_row($drow, 0, $y);
Gimp::Progress->update($y / $height);
}
Gimp::Progress->update(1);
+# $dest->data($destdata);
+ $dest->set_rect($destdata, 0, 0);
# die "merge_shadow failed for $newdrawable\n" unless
$newdrawable->merge_shadow(TRUE); # returns false but works and is needed
$newdrawable->update(0, 0, $width, $height);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]