Sha256: 50b7ba70366d4e2ea05e03520db85ff823d3688ec3ff62a16b545241433da120
Contents?: true
Size: 1.09 KB
Versions: 1
Compression:
Stored size: 1.09 KB
Contents
module Vedeu class Interface include Queue attr_accessor :attributes, :name, :cursor, :current def initialize(attributes = {}) @attributes = attributes || {} @name = attributes[:name] @cursor = attributes.fetch(:cursor, true) @current = [] end def refresh if enqueued? @current = dequeue elsif @current.empty? Compositor.arrange(initial_state) @current = dequeue else @current end end def geometry @geometry ||= Geometry.new(attributes) end def colour @colour ||= Colour.new([foreground, background]) end def cursor @cursor ? Cursor.show : Cursor.hide end def layer @layer ||= Layer.new(layer_attr).index end private def initial_state { name => Array.new(geometry.height) { [''] } } end def layer_attr attributes.fetch(:layer, 0) end def foreground attributes[:fg] || attributes[:foreground] end def background attributes[:bg] || attributes[:background] end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
vedeu-0.0.22 | lib/vedeu/repository/interface.rb |