Sha256: 563459c49924ac0ed4f94301f1b79a11fdb0e9b17961b8575d5f8c0579ba3aff
Contents?: true
Size: 1.33 KB
Versions: 1
Compression:
Stored size: 1.33 KB
Contents
module CyberarmEngine class Element class Progress < Element def initialize(options = {}, block = nil) super(options, block) @fraction_background = Background.new(background: @style.fraction_background) self.value = options[:fraction] || 0.0 end def render @fraction_background.draw end def recalculate _width = dimensional_size(@style.width, :width) _height = dimensional_size(@style.height, :height) @width = _width @height = _height update_background end def update_background super @fraction_background.x = @style.border_thickness_left + @style.padding_left + @x @fraction_background.y = @style.border_thickness_top + @style.padding_top + @y @fraction_background.z = @z @fraction_background.width = @width * @fraction @fraction_background.height = @height @fraction_background.background = @style.fraction_background end def value @fraction end def value=(decimal) raise "value must be number" unless decimal.is_a?(Numeric) @fraction = decimal.clamp(0.0, 1.0) update_background publish(:changed, @fraction) @fraction end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
cyberarm_engine-0.19.1 | lib/cyberarm_engine/ui/elements/progress.rb |