]> git.imager.perl.org - imager.git/blobdiff - rubthru.im
add wiggle.pl sample
[imager.git] / rubthru.im
index 4c3b08e77727da97e053db43acf3115f55c0af1e..a9577f92ec58ad0e83db9bcfff0431e77aa34866 100644 (file)
@@ -121,7 +121,7 @@ rubthru_targ_alpha(i_img *im, i_img *src, int tx, int ty,
       ttx = work_left;
       IM_GLIN(im, work_left, work_left + work_width, tty, dest_line);
       
-      for(x = src_minx; x < src_maxx; x++) {
+      for(x = min_x; x < max_x; x++) {
        src_alpha = srcp->channel[alphachan];
        if (src_alpha) {
          remains = IM_SAMPLE_MAX - src_alpha;
@@ -153,16 +153,16 @@ rubthru_targ_alpha(i_img *im, i_img *src, int tx, int ty,
 }
 
 /*
-=item i_rubthru(im, src, tx, ty, src_minx, src_miny, src_maxx, src_maxy )
+=item i_rubthru(C<im>, C<src>, C<tx>, C<ty>, C<src_minx>, C<src_miny>, C<src_maxx>, C<src_maxy>)
 
 =category Image
 
-Takes the sub image I<src[src_minx, src_maxx)[src_miny, src_maxy)> and
-overlays it at (I<tx>,I<ty>) on the image object.
+Takes the sub image C<src>[C<src_minx>, C<src_maxx>)[C<src_miny>, C<src_maxy>)> and
+overlays it at (C<tx>,C<ty>) on the image object.
 
-The alpha channel of each pixel in I<src> is used to control how much
-the existing colour in I<im> is replaced, if it is 255 then the colour
-is completely replaced, if it is 0 then the original colour is left 
+The alpha channel of each pixel in C<src> is used to control how much
+the existing color in C<im> is replaced, if it is 255 then the color
+is completely replaced, if it is 0 then the original color is left
 unmodified.
 
 =cut
@@ -196,8 +196,9 @@ i_rubthru(i_img *im, i_img *src, int tx, int ty, int src_minx, int src_miny,
   if (tx >= im->xsize || ty >= im->ysize
       || src_minx >= src_maxx || src_miny >= src_maxy) {
     i_clear_error();
-    i_push_error(0, "rubthrough: nothing to do");
-    return 0;
+    /* just do nothing, attempting to rubthrough outside the target isn't
+       worth being an error */
+    return 1;
   }
 
   if (im->channels == 1 || im->channels == 3)