module ChunkyPNG

def self.Dimension(*args)

Other tags:
    See: ChunkyPNG::Dimension -

Raises:
  • (ArgumentError) - If the argument(s) given where not understood as a dimension.

Returns:
  • (ChunkyPNG::Dimension) - The dimension created by this factory method.
  • (ChunkyPNG::Dimension) - The instantiated dimension.
  • (ChunkyPNG::Dimension) - The instantiated dimension.
  • (ChunkyPNG::Dimension) - The instantiated dimension.
  • (ChunkyPNG::Dimension) - The instantiated dimension.

Parameters:
  • hash (Hash) -- An hash with a 'height' or :height key for the
  • ary (Array) -- An array with the desired width as first element and the
  • string (String) -- A string from which a width and height value can be parsed, e.g.
  • height (Integer) -- The height-component of the dimension.
  • width (Integer) -- The width-component of the dimension.

Overloads:
  • Dimension(hash)
  • Dimension(ary)
  • Dimension(string)
  • Dimension(width, height)
def self.Dimension(*args)
  case args.length
    when 2; ChunkyPNG::Dimension.new(*args)
    when 1; case source = args.first
        when ChunkyPNG::Dimension; source
        when ChunkyPNG::Point; ChunkyPNG::Dimension.new(source.x, source.y)
        when Array; ChunkyPNG::Dimension.new(source[0], source[1])
        when Hash;  ChunkyPNG::Dimension.new(source[:width] || source['width'], source[:height] || source['height'])
        when ChunkyPNG::Dimension::DIMENSION_REGEXP; ChunkyPNG::Dimension.new($1, $2)
        else
          if source.respond_to?(:width) && source.respond_to?(:height)
            ChunkyPNG::Dimension.new(source.width, source.height)
          else
            raise ArgumentError, "Don't know how to construct a point from #{source.inspect}!"
          end
      end
    else raise ArgumentError, "Don't know how to construct a point from #{args.inspect}!"
  end
end