lib/cyberarm_engine/ui/elements/image.rb in cyberarm_engine-0.19.0 vs lib/cyberarm_engine/ui/elements/image.rb in cyberarm_engine-0.19.1
- old
+ new
@@ -1,72 +1,72 @@
-module CyberarmEngine
- class Element
- class Image < Element
- def initialize(path_or_image, options = {}, block = nil)
- super(options, block)
- @path = path_or_image if path_or_image.is_a?(String)
-
- @image = Gosu::Image.new(path_or_image, retro: @options[:retro], tileable: @options[:tileable]) if @path
- @image = path_or_image unless @path
-
- @scale_x = 1
- @scale_y = 1
- end
-
- def render
- @image.draw(
- @style.border_thickness_left + @style.padding_left + @x,
- @style.border_thickness_top + @style.padding_top + @y,
- @z + 2,
- @scale_x, @scale_y, @style.color
- )
- end
-
- def clicked_left_mouse_button(_sender, _x, _y)
- @block.call(self) if @block
-
- :handled
- end
-
- def recalculate
- _width = dimensional_size(@style.width, :width)
- _height = dimensional_size(@style.height, :height)
-
- if _width && _height
- @scale_x = _width.to_f / @image.width
- @scale_y = _height.to_f / @image.height
- elsif _width
- @scale_x = _width.to_f / @image.width
- @scale_y = @scale_x
- elsif _height
- @scale_y = _height.to_f / @image.height
- @scale_x = @scale_y
- else
- @scale_x = 1
- @scale_y = 1
- end
-
- @width = _width || @image.width.round * @scale_x
- @height = _height || @image.height.round * @scale_y
-
- update_background
- end
-
- def value
- @image
- end
-
- def value=(path_or_image, retro: false, tileable: false)
- @path = path_or_image if path_or_image.is_a?(String)
-
- @image = Gosu::Image.new(path_or_image, retro: retro, tileable: tileable) if @path
- @image = path_or_image unless @path
-
- recalculate
- end
-
- def path
- @path
- end
- end
- end
-end
+module CyberarmEngine
+ class Element
+ class Image < Element
+ def initialize(path_or_image, options = {}, block = nil)
+ super(options, block)
+ @path = path_or_image if path_or_image.is_a?(String)
+
+ @image = Gosu::Image.new(path_or_image, retro: @options[:retro], tileable: @options[:tileable]) if @path
+ @image = path_or_image unless @path
+
+ @scale_x = 1
+ @scale_y = 1
+ end
+
+ def render
+ @image.draw(
+ @style.border_thickness_left + @style.padding_left + @x,
+ @style.border_thickness_top + @style.padding_top + @y,
+ @z + 2,
+ @scale_x, @scale_y, @style.color
+ )
+ end
+
+ def clicked_left_mouse_button(_sender, _x, _y)
+ @block.call(self) if @block
+
+ :handled
+ end
+
+ def recalculate
+ _width = dimensional_size(@style.width, :width)
+ _height = dimensional_size(@style.height, :height)
+
+ if _width && _height
+ @scale_x = _width.to_f / @image.width
+ @scale_y = _height.to_f / @image.height
+ elsif _width
+ @scale_x = _width.to_f / @image.width
+ @scale_y = @scale_x
+ elsif _height
+ @scale_y = _height.to_f / @image.height
+ @scale_x = @scale_y
+ else
+ @scale_x = 1
+ @scale_y = 1
+ end
+
+ @width = _width || @image.width.round * @scale_x
+ @height = _height || @image.height.round * @scale_y
+
+ update_background
+ end
+
+ def value
+ @image
+ end
+
+ def value=(path_or_image, retro: false, tileable: false)
+ @path = path_or_image if path_or_image.is_a?(String)
+
+ @image = Gosu::Image.new(path_or_image, retro: retro, tileable: tileable) if @path
+ @image = path_or_image unless @path
+
+ recalculate
+ end
+
+ def path
+ @path
+ end
+ end
+ end
+end