Sha256: 455dedd306abfc71354f39443a079fbbc5bcb302843eb32c48d76fc7766331f3
Contents?: true
Size: 1.05 KB
Versions: 1
Compression:
Stored size: 1.05 KB
Contents
require 'whirled_peas/utils/formatted_string' require 'whirled_peas/utils/title_font' require_relative 'painter' require_relative 'text_dimensions' module WhirledPeas module Graphics class TextPainter < Painter attr_reader :content def paint(canvas, &block) return unless canvas.writable? formatting = [*settings.color, *settings.bg_color] formatting << Utils::Ansi::BOLD if settings.bold? if settings.underline? && settings.title_font.nil? formatting << Utils::Ansi::UNDERLINE end content.each.with_index do |line, index| canvas.stroke(canvas.start_left, canvas.start_top + index, line, formatting, &block) end end def dimensions TextDimensions.new(content) end def content=(content) @content = if settings.title_font Utils::TitleFont.to_s( content, settings.title_font ).split("\n") else content.split("\n") end end end private_constant :TextPainter end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
whirled_peas-0.6.0 | lib/whirled_peas/graphics/text_painter.rb |