class Magick::Geometry

def initialize(width = nil, height = nil, x = nil, y = nil, flag = nil)

def initialize(width = nil, height = nil, x = nil, y = nil, flag = nil)
  raise(ArgumentError, "width set to #{width}") if width.is_a? GeometryValue
  raise(ArgumentError, "height set to #{height}") if height.is_a? GeometryValue
  raise(ArgumentError, "x set to #{x}") if x.is_a? GeometryValue
  raise(ArgumentError, "y set to #{y}") if y.is_a? GeometryValue
  # Support floating-point width and height arguments so Geometry
  # objects can be used to specify Image#density= arguments.
  if width.nil?
    @width = 0
  elsif width.to_f >= 0.0
    @width = width.to_f
  else
    Kernel.raise ArgumentError, "width must be >= 0: #{width}"
  end
  if height.nil?
    @height = 0
  elsif height.to_f >= 0.0
    @height = height.to_f
  else
    Kernel.raise ArgumentError, "height must be >= 0: #{height}"
  end
  @x    = x.to_i
  @y    = y.to_i
  @flag = flag
end