Class: Rabbit::Element::Image

Inherits:
Object
  • Object
show all
Includes:
Base, BlockElement, BlockHorizontalCentering, ImageManipulable
Defined in:
lib/rabbit/element/image.rb

Constant Summary

Constants included from GetText

GetText::DOMAIN

Instance Attribute Summary

Attributes included from BlockHorizontalCentering

#oh, #ow, #ox, #oy

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

Instance Method Summary collapse

Methods included from BlockHorizontalCentering

#clear_theme, #do_horizontal_centering, #reset_horizontal_centering

Methods included from BlockElement

#adjust_y_padding, #inline_element?

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, #clear_theme, #clone, #compile_element, #compile_horizontal, #default_prop, #dirty!, #dirty?, #do_horizontal_centering, #do_horizontal_centering?, #do_vertical_centering?, #font, #have_tag?, #have_wait_tag?, #hide, #if_dirty, #init_default_margin, #init_default_padding, #init_default_visible, #inline_element?, #inspect, #margin_set, #margin_with, #match?, #next_element, #padding_set, #padding_with, #previous_element, #prop_delete, #prop_get, #prop_set, #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

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

Constructor Details

#initialize(filename, props) ⇒ Image

Returns a new instance of Image.



32
33
34
35
36
37
# File 'lib/rabbit/element/image.rb', line 32

def initialize(filename, props)
  super(filename, props)
  setup_draw_parameters
  resize(properties.get_size("width", @filename),
         properties.get_size("height", @filename))
end

Instance Method Details

#_compileObject



106
# File 'lib/rabbit/element/image.rb', line 106

alias _compile compile

#as_large_as_possible?Boolean

Returns:

  • (Boolean)


124
125
126
# File 'lib/rabbit/element/image.rb', line 124

def as_large_as_possible?
  properties.get_boolean("as_large_as_possible")
end

#captionObject



43
44
45
# File 'lib/rabbit/element/image.rb', line 43

def caption
  self["caption"]
end

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



111
112
113
114
# File 'lib/rabbit/element/image.rb', line 111

def compile(canvas, x, y, w, h)
  super
  adjust_size(canvas, @x, @y, @w, @h)
end

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



107
108
109
# File 'lib/rabbit/element/image.rb', line 107

def compile_for_horizontal_centering(canvas, x, y, w, h)
  _compile(canvas, x, y, w, h)
end

#draw_element(canvas, x, y, w, h, simulation) ⇒ Object



39
40
41
# File 'lib/rabbit/element/image.rb', line 39

def draw_element(canvas, x, y, w, h, simulation)
  draw_image(canvas, x, y, w, h, simulation)
end

#heightObject



120
121
122
# File 'lib/rabbit/element/image.rb', line 120

def height
  super + @padding_top + @padding_bottom
end

#relative_heightObject



70
71
72
# File 'lib/rabbit/element/image.rb', line 70

def relative_height
  properties.get_relative_size("relative_height", @filename)
end

#relative_margin_bottomObject



78
79
80
# File 'lib/rabbit/element/image.rb', line 78

def relative_margin_bottom
  properties.get_relative_size("relative_margin_bottom", @filename)
end

#relative_margin_leftObject



82
83
84
# File 'lib/rabbit/element/image.rb', line 82

def relative_margin_left
  properties.get_relative_size("relative_margin_left", @filename)
end

#relative_margin_rightObject



86
87
88
# File 'lib/rabbit/element/image.rb', line 86

def relative_margin_right
  properties.get_relative_size("relative_margin_right", @filename)
end

#relative_margin_topObject



74
75
76
# File 'lib/rabbit/element/image.rb', line 74

def relative_margin_top
  properties.get_relative_size("relative_margin_top", @filename)
end

#relative_padding_bottomObject



94
95
96
# File 'lib/rabbit/element/image.rb', line 94

def relative_padding_bottom
  properties.get_relative_size("relative_padding_bottom", @filename)
end

#relative_padding_leftObject



98
99
100
# File 'lib/rabbit/element/image.rb', line 98

def relative_padding_left
  properties.get_relative_size("relative_padding_left", @filename)
end

#relative_padding_rightObject



102
103
104
# File 'lib/rabbit/element/image.rb', line 102

def relative_padding_right
  properties.get_relative_size("relative_padding_right", @filename)
end

#relative_padding_topObject



90
91
92
# File 'lib/rabbit/element/image.rb', line 90

def relative_padding_top
  properties.get_relative_size("relative_padding_top", @filename)
end

#relative_widthObject



66
67
68
# File 'lib/rabbit/element/image.rb', line 66

def relative_width
  properties.get_relative_size("relative_width", @filename)
end

#textObject



47
48
49
# File 'lib/rabbit/element/image.rb', line 47

def text
  caption.to_s
end

#to_html(generator) ⇒ Object



55
56
57
58
59
60
61
62
63
64
# File 'lib/rabbit/element/image.rb', line 55

def to_html(generator)
  src = generator.save_pixbuf(pixbuf, File.basename(@filename))
  html = "<img "
  if @caption
    alt = generator.h(@caption)
    html << "title=\"#{alt}\" alt=\"#{alt}\" "
  end
  html << "src=\"#{src}\" />"
  html
end

#to_rdObject



51
52
53
# File 'lib/rabbit/element/image.rb', line 51

def to_rd
  text
end

#widthObject



116
117
118
# File 'lib/rabbit/element/image.rb', line 116

def width
  super + @padding_left + @padding_right
end