[gimp-perl] Make iland return created image.



commit 93430d1f03354bf75b6b512c80f37dfe212c9755
Author: Ed J <edj src gnome org>
Date:   Wed Jun 18 21:04:57 2014 +0100

    Make iland return created image.

 examples/iland |   59 +++++++++++++++++++++++++++++++------------------------
 1 files changed, 33 insertions(+), 26 deletions(-)
---
diff --git a/examples/iland b/examples/iland
index dca3b57..d93a3a8 100755
--- a/examples/iland
+++ b/examples/iland
@@ -21,8 +21,12 @@ podregister {
   my $gdrawable = $drawable->get();
   #Pixel region of selection
   my $src = Gimp::PixelRgn->new($drawable, 0, 0, $width, $height, 0, 0);
-  my $newimage = Gimp::Image->new($src->w, $src->h, 0);
-  my $layer = $newimage->layer_new($src->w, $src->h, RGB_IMAGE, "L1", 100, NORMAL_MODE);
+  my $newimage = Gimp::Image->new($src->w, $src->h, RGB);
+  my $layer = $newimage->layer_new(
+    $src->w, $src->h,
+    RGB_IMAGE,
+    "L1", 100, NORMAL_MODE
+  );
   $newimage->insert_layer($layer, 0, -1);
   my $newdrawable = $newimage->get_active_drawable;
   my $dest = Gimp::PixelRgn->new($newdrawable, 0, 0, $width, $height, 1, 1);
@@ -39,29 +43,28 @@ podregister {
     my $dblue = $drow->slice(2);
     for (my $x = 0; $x < $src->w; $x++) {
       my $r = at($red, 0, $x);
-      if ($r > $floor) {
-       my $remain = $r;
-       my $currentx = $width - $r * $relord + ($x / $elevation);
-       #Apply elevation following the x offset in original picture
-       while ($remain > 0 && $currentx < $src->w) {
-         if ($remain > 150) {
-           set ($dblue, 0, $currentx, $remain);
-           set ($dred, 0, $currentx, 0);
-           set ($dgreen, 0, $currentx, $remain);
-         }
-         if ($remain < 150 && $remain > 50) {
-           set ($dgreen, 0, $currentx, $remain + 55);
-           set ($dred, 0, $currentx, 0);
-           set ($dblue, 0, $currentx, 0);
-         }
-         if ($remain < 50) {
-           set ($dred, 0, $currentx, 0);
-           set ($dgreen, 0, $currentx, 0);
-           set ($dblue, 0, $currentx, $remain + 200);
-         }
-         $remain -= $delta;
-         $currentx++;
+      next if $r <= $floor;
+      my $remain = $r;
+      my $currentx = $width - $r * $relord + ($x / $elevation);
+      #Apply elevation following the x offset in original picture
+      while ($remain > 0 && $currentx < $src->w) {
+       if ($remain > 150) {
+         set ($dred, 0, $currentx, 0);
+         set ($dgreen, 0, $currentx, $remain);
+         set ($dblue, 0, $currentx, $remain);
        }
+       if ($remain < 150 && $remain > 50) {
+         set ($dred, 0, $currentx, 0);
+         set ($dgreen, 0, $currentx, $remain + 55);
+         set ($dblue, 0, $currentx, 0);
+       }
+       if ($remain < 50) {
+         set ($dred, 0, $currentx, 0);
+         set ($dgreen, 0, $currentx, 0);
+         set ($dblue, 0, $currentx, $remain + 200);
+       }
+       $remain -= $delta;
+       $currentx++;
       }
     }
     $dest->set_row($drow, 0, $y);
@@ -85,7 +88,7 @@ podregister {
      $camerapos = 2;
    }
    $drawable->transform_rotate_simple($camerapos, TRUE, 0, 0) if $camerapos >= 0;
-  ();
+  return $newimage;
 };
 
 exit main;
@@ -97,7 +100,7 @@ intensitylandscape - Generate an intensity based landscape
 
 =head1 SYNOPSIS
 
-<Image>/Filters/Render/Intensity Landscape
+<Image>/Filters/Render/_Intensity Landscape
 
 =head1 DESCRIPTION
 
@@ -125,6 +128,10 @@ Fabian Frederick <fabian frederick gmx fr>
   [PF_FLOAT, "elevation", "Elevation argument should be 2 or 3", 2],
   [PF_RADIO, "camerapos", "Camera position", -1, [ Right => -1, Bottom => 2, Left => 1, Top => 0]]
 
+=head1 RETURN VALUES
+
+  [PF_IMAGE, "image", "Return image"],
+
 =head1 LICENSE
 
 This plugin may be distributed under the same terms as GIMP itself.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]