class Magick::Geometry

def self.from_s(str)

def self.from_s(str)
  m = RE.match(str)
  if m
    width  = (m[1] || m[2]).to_f
    height = (m[3] || m[4]).to_f
    x      = m[5].to_i
    y      = m[6].to_i
    flag   = RFLAGS[m[7]]
  else
    Kernel.raise ArgumentError, 'invalid geometry format'
  end
  flag = PercentGeometry if str['%']
  Geometry.new(width, height, x, y, flag)
end