class WhirledPeas::Graphics::TextPainter

Public Instance Methods

paint(canvas, left, top, &block) click to toggle source
# File lib/whirled_peas/graphics/text_painter.rb, line 10
def paint(canvas, left, top, &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_lines.each.with_index do |line, index|
    canvas.stroke(left, top + index, line, formatting, &block)
  end
end

Private Instance Methods

content_lines() click to toggle source
# File lib/whirled_peas/graphics/text_painter.rb, line 24
def content_lines
  @content_lines = if settings.title_font
    Utils::TitleFont.to_s(
      content, settings.title_font
    ).split("\n")
  else
    content.split("\n")
  end
end