1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
module UnicodePlot
class DotCanvas < LookupCanvas
Canvas::CANVAS_CLASS_MAP[:dot] = self
DOT_SIGNS = [
[
0b10,
0b01
].freeze
].freeze
DOT_DECODE = [
-' ', # 0b00
-'.', # 0b01
-"'", # 0b10
-':', # 0b11
].freeze
X_PIXEL_PER_CHAR = 1
Y_PIXEL_PER_CHAR = 2
def initialize(width, height, **kw)
super(width, height,
X_PIXEL_PER_CHAR, Y_PIXEL_PER_CHAR,
**kw)
end
def lookup_encode(x, y)
DOT_SIGNS[x][y]
end
def lookup_decode(code)
DOT_DECODE[code]
end
end
end
|