Module: Rabbit::Element::TextContainerElement

Constant Summary

Constants included from GetText

GetText::DOMAIN

Instance Attribute Summary collapse

Attributes included from TextRenderer

#first_line_height, #first_line_width, #indent, #layout, #original_height, #original_width, #wrap_mode

Attributes included from Base

#base_h, #base_w, #base_x, #base_y, #default_margin_bottom, #default_margin_left, #default_margin_right, #default_margin_top, #default_padding_bottom, #default_padding_left, #default_padding_right, #default_padding_top, #default_visible, #h, #horizontal_centering, #margin_bottom, #margin_left, #margin_right, #margin_top, #padding_bottom, #padding_left, #padding_right, #padding_top, #parent, #ph, #pw, #px, #py, #real_simulation, #user_property, #vertical_centering, #w, #x, #y

Attributes included from ContainerElement

#elements

Instance Method Summary collapse

Methods included from TextRenderer

#align=, #as_large_as_possible, #dirty!, #do_horizontal_centering, #font_size, #height, #initialize, #justify=, #keep_in_size, #pixel_font_size, #reset_horizontal_centering, #spacing=, #text_clear_theme, #text_compile, #text_dirty?, #text_props, #text_renderer?, #text_to_html, #width

Methods included from Base

#[], #[]=, #add_default_prop, #adjust_x_centering, #adjust_y_margin, #adjust_y_padding, #available_w, #centering_adjusted_height, #centering_adjusted_width, #clear_margin, #clear_padding, #clone, #compile_element, #compile_for_horizontal_centering, #compile_horizontal, #default_prop, #dirty!, #do_horizontal_centering, #do_vertical_centering?, #draw, #font, #have_tag?, #have_wait_tag?, #height, #hide, #if_dirty, #init_default_margin, #init_default_padding, #init_default_visible, #initialize, #inspect, #margin_set, #margin_with, #match?, #next_element, #padding_set, #padding_with, #previous_element, #prop_value, #reset_horizontal_centering, #restore_x_margin, #restore_x_padding, #setup_margin, #setup_padding, #show, #slide, #substitute_newline, #substitute_text, #text_renderer?, #visible?, #wait, #width

Methods included from Base::DrawHook

#clear_draw_procs, def_draw_hook, def_draw_hooks

Methods included from Utils

arg_list, collect_classes_under_module, collect_modules_under_module, collect_under_module, combination, compute_bottom_y, compute_left_x, compute_right_x, compute_top_y, corresponding_class_under_module, corresponding_module_under_module, corresponding_objects, ensure_time, events_pending_available?, extract_four_way, find_path_in_load_path, init_by_constants_as_default_value, move_to, move_to_bottom_left, move_to_bottom_right, move_to_top_left, move_to_top_right, parse_four_way, process_pending_events, process_pending_events_proc, quartz?, require_files_under_directory_in_load_path, require_safe, split_number_to_minute_and_second, stringify_hash_key, support_console_input?, support_console_output?, syntax_highlighting_debug?, time, to_class_name, unescape_title, windows?

Methods included from GetText

included

Methods included from ContainerElement

#<<, #[], #[]=, #_width, #compile_elements, #compile_horizontal, #compile_horizontal_element, #delete, #draw_element, #have_tag?, #have_wait_tag?, #height, #initialize, #inspect, #replace_element, #substitute_text, #unshift, #width

Instance Attribute Details

#propObject (readonly)

Returns the value of attribute prop.


10
11
12
# File 'lib/rabbit/element/text-container-element.rb', line 10

def prop
  @prop
end

Instance Method Details

#clear_themeObject


67
68
69
70
# File 'lib/rabbit/element/text-container-element.rb', line 67

def clear_theme
  container_clear_theme
  super
end

#compile(canvas, x, y, w, h) ⇒ Object


54
55
56
57
# 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?Boolean

Returns:

  • (Boolean)

59
60
61
# File 'lib/rabbit/element/text-container-element.rb', line 59

def dirty?
  super or text_dirty?
end

#do_horizontal_centering?Boolean

Returns:

  • (Boolean)

50
51
52
# 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) ⇒ Object


16
17
18
19
20
21
22
23
24
# 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?Boolean

Returns:

  • (Boolean)

63
64
65
# File 'lib/rabbit/element/text-container-element.rb', line 63

def empty?
  /\A\s*\z/ =~ text
end

#have_numerical_font_size?Boolean

Returns:

  • (Boolean)

72
73
74
# 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?Boolean

Returns:

  • (Boolean)

76
77
78
# File 'lib/rabbit/element/text-container-element.rb', line 76

def inline_element?
  true
end

#markuped_textObject


33
34
35
36
37
38
# 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

#textObject


40
41
42
43
44
# File 'lib/rabbit/element/text-container-element.rb', line 40

def text
  @elements.collect do |elem|
    elem.text
  end.join("")
end

#to_html(generator) ⇒ Object


26
27
28
29
30
31
# 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_rdObject


46
47
48
# File 'lib/rabbit/element/text-container-element.rb', line 46

def to_rd
  text
end