Previous | Next

Tiles and pixel regions

  # from whirlpinch.py
  gimp.tile_cache_ntiles(2 * (self.width + 63) / 64)
  dest_rgn = drawable.get_pixel_rgn(x1, y1, w, h,
                                    True, True)
  pft = pixel_fetcher(drawable)
  bg = gimp.get_background()
  pft.set_bg_colour(bg[0], bg[1], bg[2], 0)
  for row in range(self.sel_y1, (y1 + y2) / 2 + 1):
    for col in range(x1, x2):
        pixel[0] = pft.get_pixel(ix, iy)
        pixel[1] = pft.get_pixel(ix+1, iy)
        pixel[2] = pft.get_pixel(ix, iy+1)
        pixel[3] = pft.get_pixel(ix+1, iy+1)
    dest_rgn[self.sel_x1:self.sel_x2, row] = top_p
    dest_rgn[self.sel_x1:self.sel_x2, (self.sel_y2 - 1)
    progress = progress + self.sel_w * 2
    gimp.progress_update(float(progress) / max_progress)
  drawable.flush()
  drawable.merge_shadow(True)
  drawable.update(x1, y1, w, h)