Sha256: 468f7e7ff3010b3d0d18bfd774c8ca19d07e95fdc596b00bf39c166176402d97
Contents?: true
Size: 1.07 KB
Versions: 1
Compression:
Stored size: 1.07 KB
Contents
module Vedeu class Geometry def initialize(values = {}) @values = values end def z values[:z] end alias_method :layer, :z def y values[:y] end alias_method :row, :y alias_method :line, :y def x values[:x] end alias_method :column, :x alias_method :col, :x def width values[:width] end def height values[:height] end def dy clip_y? ? defaults[:height] : (y + height) end def dx clip_x? ? defaults[:width] : (x + width) end def vx(index = 0) # virtual x position ((x..dx).to_a)[index] end def vy(index = 0) # virtual y position ((y..dy).to_a)[index] end private def clip_y? ((y + height) > defaults[:height]) end def clip_x? ((x + width) > defaults[:width]) end def values defaults.merge(@values) end def defaults { width: Terminal.width, height: Terminal.height, z: 0, y: 1, x: 1 } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
vedeu-0.0.7 | lib/vedeu/output/geometry.rb |