class Magick::Image::View

def initialize(img, x, y, width, height)

def initialize(img, x, y, width, height)
  img.check_destroyed
  Kernel.raise ArgumentError, "invalid geometry (#{width}x#{height}+#{x}+#{y})" if width <= 0 || height <= 0
  Kernel.raise RangeError, "geometry (#{width}x#{height}+#{x}+#{y}) exceeds image boundary" if x < 0 || y < 0 || (x + width) > img.columns || (y + height) > img.rows
  @view = img.get_pixels(x, y, width, height)
  @img = img
  @x = x
  @y = y
  @width = width
  @height = height
  @dirty = false
end