Method: PREP::Core::Label#initialize

Defined in:
lib/core/label.rb

#initialize(identifier, values = { }) ⇒ Label

Returns a new instance of Label.



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/core/label.rb', line 35

def initialize(identifier, values = { })
  values = @@default_values.merge(key_string_to_symbol(values))
  super(identifier, values[:layer])

  @region = Region.new(values[:region][:x].mm2pixcel,
                       values[:region][:y].mm2pixcel,
                       values[:region][:width].mm2pixcel,
                       values[:region][:height].mm2pixcel)
  if values[:label].nil?
    raise "Label string cannot be blank for \"#{identifier}\""
  else
    @label = values[:label]
  end

  if ALIGNS.keys.include?(values[:align].to_sym)
    @align = ALIGNS[values[:align].to_sym]
  else
    raise "Unknown label alignment option \"#{values[:align]}\"."
  end
  if values[:font].nil? || values[:font] == ""
    raise "Lable font must be specified."
  else
    @font = values[:font]
  end
  @color = Color.new(values[:color][:red],
                     values[:color][:green],
                     values[:color][:blue])
  if values[:size].nil? || values[:size] == ""
    raise "Label size must be specified."
  else
    @size = values[:size]
  end
  @expand = values[:expand]
end