module Rabbit::Element::TextContainerElement
Attributes
prop[R]
Public Instance Methods
clear_theme()
click to toggle source
Calls superclass method
Rabbit::Element::TextRenderer#clear_theme
# File lib/rabbit/element/text-container-element.rb, line 67 def clear_theme container_clear_theme super end
compile(canvas, x, y, w, h)
click to toggle source
# File lib/rabbit/element/text-container-element.rb, line 54 def compile(canvas, x, y, w, h) compile_element(canvas, x, y, w, h) text_compile(canvas, @x, @y, @w, @h) end
dirty?()
click to toggle source
Calls superclass method
Rabbit::Element::TextRenderer#dirty?
# File lib/rabbit/element/text-container-element.rb, line 59 def dirty? super or text_dirty? end
do_horizontal_centering?()
click to toggle source
Calls superclass method
Rabbit::Element::TextRenderer#do_horizontal_centering?
# File lib/rabbit/element/text-container-element.rb, line 50 def do_horizontal_centering? super and not width.nil? end
draw_elements(canvas, x, y, w, h, simulation)
click to toggle source
# File lib/rabbit/element/text-container-element.rb, line 16 def draw_elements(canvas, x, y, w, h, simulation) unless simulation # TODO: This is too workaround. :< draw_sub_elements(canvas, x, y, w, h) do draw_layout(canvas, x, y) end end [x, y + @height, w, h - @height] end
empty?()
click to toggle source
# File lib/rabbit/element/text-container-element.rb, line 63 def empty? /\A\s*\z/ =~ text end
have_numerical_font_size?()
click to toggle source
Calls superclass method
Rabbit::Element::TextRenderer#have_numerical_font_size?
# File lib/rabbit/element/text-container-element.rb, line 72 def have_numerical_font_size? super or @elements.any? {|elem| elem.have_numerical_font_size?} end
inline_element?()
click to toggle source
# File lib/rabbit/element/text-container-element.rb, line 76 def inline_element? true end
markuped_text()
click to toggle source
# File lib/rabbit/element/text-container-element.rb, line 33 def markuped_text mt = @elements.collect do |elem| elem.markuped_text end.join("") markup(mt) end
text()
click to toggle source
# File lib/rabbit/element/text-container-element.rb, line 40 def text @elements.collect do |elem| elem.text end.join("") end
to_html(generator)
click to toggle source
# File lib/rabbit/element/text-container-element.rb, line 26 def to_html(generator) html = @elements.collect do |elem| elem.to_html(generator) end.join("") markup_as_html(html) end
to_rd()
click to toggle source
# File lib/rabbit/element/text-container-element.rb, line 46 def to_rd text end
Protected Instance Methods
compute_next_font_size(previous_size, scale)
click to toggle source
Calls superclass method
Rabbit::Element::TextRenderer#compute_next_font_size
# File lib/rabbit/element/text-container-element.rb, line 90 def compute_next_font_size(previous_size, scale) i = -1 my_font_size, elements_font_size = previous_size [ super(my_font_size, scale), elements_font_size.collect do |size| i += 1 @elements[i].compute_next_font_size(size, scale) end ] end
draw_sub_elements(canvas, x, y, w, h) { || ... }
click to toggle source
TODO: This is too workaround. :<
# File lib/rabbit/element/text-container-element.rb, line 112 def draw_sub_elements(canvas, x, y, w, h) draw_sub_elements_recursive(canvas, x, y, w, h, 0) do yield end end
draw_sub_elements_recursive(canvas, x, y, w, h, i) { || ... }
click to toggle source
TODO: This is too workaround. :<
# File lib/rabbit/element/text-container-element.rb, line 119 def draw_sub_elements_recursive(canvas, x, y, w, h, i) if i == @elements.size yield else draw_sub_elements_recursive(canvas, x, y, w, h, i + 1) do element = @elements[i] if element.is_a?(TextContainerElement) element.draw_sub_elements(canvas, x, y, w, h) do yield end else yield end end end end
initial_font_size_for_compute_font_size()
click to toggle source
Calls superclass method
Rabbit::Element::TextRenderer#initial_font_size_for_compute_font_size
# File lib/rabbit/element/text-container-element.rb, line 81 def initial_font_size_for_compute_font_size [ super, @elements.collect do |elem| elem.initial_font_size_for_compute_font_size end ] end
set_computed_font_size(new_size)
click to toggle source
Calls superclass method
Rabbit::Element::TextRenderer#set_computed_font_size
# File lib/rabbit/element/text-container-element.rb, line 102 def set_computed_font_size(new_size) my_font_size, elements_font_size = new_size elements_font_size.each_with_index do |size, i| dirty! if @elements[i].set_computed_font_size(size) end super(my_font_size) end