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)
    fail(ArgumentError, "unknown alignment specifier: #{@align}") unless m
  end

  if meet_or_slice
    meet_or_slice = meet_or_slice.to_s.downcase
    if meet_or_slice == 'meet' || meet_or_slice == 'slice'
      @meet_or_slice = meet_or_slice
    else
      fail(ArgumentError, "specifier must be `meet' or `slice' (got #{meet_or_slice})")
    end
  end
  yield(self) if block_given?
  self
end