lib/whirled_peas/graphics/composer.rb in whirled_peas-0.9.1 vs lib/whirled_peas/graphics/composer.rb in whirled_peas-0.10.0
- old
+ new
@@ -1,9 +1,10 @@
require 'whirled_peas/settings/box_settings'
require 'whirled_peas/settings/graph_settings'
require 'whirled_peas/settings/grid_settings'
require 'whirled_peas/settings/text_settings'
+require 'whirled_peas/settings/theme_library'
require_relative 'box_painter'
require_relative 'graph_painter'
require_relative 'grid_painter'
require_relative 'text_painter'
@@ -23,11 +24,13 @@
@counter ||= 0
@counter += 1
"Element-#{@counter}"
end
- def self.build
- settings = Settings::BoxSettings.new
+ def self.build(theme_name=nil, &block)
+ theme_name ||= Settings::ThemeLibrary.default_name
+ theme = Settings::ThemeLibrary.get(theme_name)
+ settings = Settings::BoxSettings.new(theme)
template = BoxPainter.new('TEMPLATE', settings)
composer = Composer.new(template)
value = yield composer, settings
if !template.children? && stringable?(value)
composer.add_text { value.to_s }