module Magick::RVG::PreserveAspectRatio

Public Instance Methods

preserve_aspect_ratio(align, meet_or_slice = 'meet') { |self| ... } click to toggle source

Specifies how the image within a viewport should be scaled.

align

a combination of ‘xMin’, ‘xMid’, or ‘xMax’, followed by ‘YMin’, ‘YMid’, or ‘YMax’

meet_or_slice

one of ‘meet’ or ‘slice’

# File lib/rvg/stretchable.rb, line 15
def preserve_aspect_ratio(align, meet_or_slice = 'meet')
  @align = align.to_s
  if @align != 'none'
    m = /\A(xMin|xMid|xMax)(YMin|YMid|YMax)\z/.match(@align)
    raise(ArgumentError, "unknown alignment specifier: #{@align}") unless m
  end

  if meet_or_slice
    meet_or_slice = meet_or_slice.to_s.downcase
    raise(ArgumentError, "specifier must be `meet' or `slice' (got #{meet_or_slice})") unless %w[meet slice].include?(meet_or_slice)

    @meet_or_slice = meet_or_slice
  end
  yield(self) if block_given?
  self
end