Class: Wads::ImageWidget

Inherits:
Widget
  • Object
show all
Defined in:
lib/wads/widgets.rb

Overview

Displays an image on the screen at the specific x, y location. The image can be scaled by setting the scale attribute. The image attribute to the construcor can be the string file location or a Gosu::Image instance

Instance Attribute Summary collapse

Attributes inherited from Widget

#base_z, #children, #gui_theme, #height, #is_selected, #layout, #overlay_widget, #override_color, #text_input_fields, #visible, #width, #x, #y

Instance Method Summary collapse

Methods inherited from Widget

#add, #add_axis_lines, #add_button, #add_child, #add_delete_button, #add_document, #add_graph_display, #add_image, #add_multi_select_table, #add_overlay, #add_panel, #add_plot, #add_single_select_table, #add_table, #add_text, #border_color, #bottom_edge, #button_down, #button_up, #center_children, #center_x, #center_y, #clear_children, #contains_click, #debug, #disable_background, #disable_border, #draw, #draw_background, #draw_border, #enable_background, #enable_border, #error, #get_layout, #get_theme, #graphics_color, #handle_key_press, #handle_mouse_down, #handle_mouse_up, #handle_right_mouse, #handle_update, #info, #intercept_widget_event, #left_edge, #move_recursive_absolute, #move_recursive_delta, #overlaps_with, #relative_x, #relative_y, #relative_z_order, #remove_child, #remove_children, #remove_children_by_type, #right_edge, #selection_color, #set_absolute_position, #set_dimensions, #set_layout, #set_selected, #set_theme, #text_color, #top_edge, #unset_selected, #update, #uses_layout, #warn, #x_pixel_to_screen, #y_pixel_to_screen, #z_order

Constructor Details

#initialize(x, y, image, args = {}) ⇒ ImageWidget

Returns a new instance of ImageWidget.



1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
# File 'lib/wads/widgets.rb', line 1761

def initialize(x, y, image, args = {}) 
    super(x, y)
    if image.is_a? String
        @img = Gosu::Image.new(image)
    elsif image.is_a? Gosu::Image 
        @img = image 
    else 
        raise "ImageWidget requires either a filename or a Gosu::Image object"
    end
    if args[ARG_THEME]
        @gui_theme = args[ARG_THEME]
    end
    @scale = 1
    disable_border
    disable_background
    set_dimensions(@img.width, @img.height)
end

Instance Attribute Details

#imgObject

Returns the value of attribute img.



1758
1759
1760
# File 'lib/wads/widgets.rb', line 1758

def img
  @img
end

#scaleObject

Returns the value of attribute scale.



1759
1760
1761
# File 'lib/wads/widgets.rb', line 1759

def scale
  @scale
end

Instance Method Details

#renderObject



1779
1780
1781
# File 'lib/wads/widgets.rb', line 1779

def render 
    @img.draw @x, @y, z_order, @scale, @scale
end

#widget_zObject



1783
1784
1785
# File 'lib/wads/widgets.rb', line 1783

def widget_z 
    Z_ORDER_FOCAL_ELEMENTS
end