Class: RubySvgImageGenerator::Theme
- Inherits:
-
Object
- Object
- RubySvgImageGenerator::Theme
show all
- Includes:
- Enumerable
- Defined in:
- lib/ruby_svg_image_generator/part.rb,
lib/ruby_svg_image_generator/theme.rb,
lib/ruby_svg_image_generator/color_part.rb
Defined Under Namespace
Classes: ColorPart, Part
Instance Method Summary
collapse
Constructor Details
#initialize(name, n_cols, n_rows) ⇒ Theme
Returns a new instance of Theme.
6
7
8
9
10
11
12
|
# File 'lib/ruby_svg_image_generator/theme.rb', line 6
def initialize(name, n_cols, n_rows)
@name = name
@n_cols = n_cols
@n_rows = n_rows
@parts = []
@matrix = [[]]
end
|
Instance Method Details
#[](index) ⇒ Object
18
19
20
|
# File 'lib/ruby_svg_image_generator/theme.rb', line 18
def [](index)
return @parts[index]
end
|
#each(&block) ⇒ Object
14
15
16
|
# File 'lib/ruby_svg_image_generator/theme.rb', line 14
def each &block
@parts.each{|part| yield part}
end
|
#get_matrix(parts) ⇒ Object
22
23
24
25
26
27
28
|
# File 'lib/ruby_svg_image_generator/theme.rb', line 22
def get_matrix parts
l_parts = []
parts.each_with_index do |part, index|
l_parts << self[index].get_matrix(part)
end
merge_parts(l_parts)
end
|
#get_random_matrix ⇒ Object
30
31
32
33
34
35
36
37
|
# File 'lib/ruby_svg_image_generator/theme.rb', line 30
def get_random_matrix
temp_parts = []
@parts.each do |part|
temp_parts << part.get_random_matrix
end
merge_parts(temp_parts)
end
|
#merge_parts(parts) ⇒ Object
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
# File 'lib/ruby_svg_image_generator/theme.rb', line 39
def merge_parts(parts)
matrix = []
parts.each do |part|
n_rows.times do |col|
matrix[col] ||= Array.new(n_cols, "#ffffff")
n_cols.times do |row|
if part[col][row]!= 0
matrix[col][row] = part[col][row]
end
end
end
end
matrix
end
|
#n_cols ⇒ Object
58
59
60
|
# File 'lib/ruby_svg_image_generator/theme.rb', line 58
def n_cols
@n_cols
end
|
#n_rows ⇒ Object
62
63
64
|
# File 'lib/ruby_svg_image_generator/theme.rb', line 62
def n_rows
@n_rows
end
|
#name ⇒ Object
54
55
56
|
# File 'lib/ruby_svg_image_generator/theme.rb', line 54
def name
@name
end
|