Method: HexaPDF::Content::LineDashPattern.normalize

Defined in:
lib/hexapdf/content/graphics_state.rb

.normalize(array, phase = 0) ⇒ Object

:call-seq:

LineDashPattern.normalize(line_dash_pattern)         -> line_dash_pattern
LineDashPattern.normalize(array, phase = 0)          -> LineDashPattern.new(array, phase)
LineDashPattern.normalize(number, phase = 0)         -> LineDashPattern.new([number], phase)
LineDashPattern.normalize(0)                         -> LineDashPattern.new

Returns the arguments normalized to a valid LineDashPattern instance.

If array is 0, the default line dash pattern representing a solid line will be used. If it is a single number, it will be converted into an array holding that number.



232
233
234
235
236
237
238
239
240
241
# File 'lib/hexapdf/content/graphics_state.rb', line 232

def self.normalize(array, phase = 0)
  case array
  when LineDashPattern then array
  when Array then new(array, phase)
  when 0 then new
  when Numeric then new([array], phase)
  else
    raise ArgumentError, "Unknown line dash pattern: #{array} / #{phase}"
  end
end