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 }