rubytext 0.0.23 → 0.0.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/rubytext.rb +35 -31
- data/lib/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b67f09e356a4a6791fd17ad598b3dbabbf2d2bcb4e22c3aa3d7a44394255e183
|
|
4
|
+
data.tar.gz: e121b61f5b8e29942bd9a807a3fea1a42c9324cce9a743a76576e3f59084f5dd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5fdee3ed7ccd0a5113c58f7d7f512ca7aee795b9484c8496c940e250ad8b57e5f645e9c7d59dcb5708c6b57c59a3817e7fce857d8002453697be57f204d637fa
|
|
7
|
+
data.tar.gz: bea38489db79ac0f1d5a6333c3965acd99f23b63c905050db894e9bd0043d02bef34517c863f86056b6515341e75046189b567685f6dc2ec8cc68e263ca00fe0
|
data/lib/rubytext.rb
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
$LOAD_PATH << "lib"
|
|
2
2
|
|
|
3
3
|
require 'curses'
|
|
4
|
-
|
|
5
4
|
require 'version' # skeleton + version
|
|
6
5
|
|
|
7
6
|
X = Curses # shorthand
|
|
@@ -58,6 +57,7 @@ module RubyText
|
|
|
58
57
|
end
|
|
59
58
|
|
|
60
59
|
class Window
|
|
60
|
+
attr_reader :fg, :bg
|
|
61
61
|
|
|
62
62
|
def self.colors(win, fg, bg)
|
|
63
63
|
cfg, cbg, cp = fb2cp(fg, bg)
|
|
@@ -65,26 +65,36 @@ module RubyText
|
|
|
65
65
|
win.color_set(cp|X::A_NORMAL)
|
|
66
66
|
end
|
|
67
67
|
|
|
68
|
+
def self.colors!(win, fg, bg)
|
|
69
|
+
colors(win, fg, bg)
|
|
70
|
+
num = win.maxx * win.maxy
|
|
71
|
+
win.setpos(0, 0)
|
|
72
|
+
win.addstr(' '*num)
|
|
73
|
+
win.setpos(0, 0)
|
|
74
|
+
win.refresh
|
|
75
|
+
end
|
|
76
|
+
|
|
68
77
|
def self.main(fg: nil, bg: nil)
|
|
69
78
|
debug "Entering Window.main (#{fg}, #{bg}) => "
|
|
70
79
|
@main_win = X.init_screen
|
|
71
80
|
X.start_color
|
|
72
|
-
colors(@main_win, fg, bg)
|
|
73
|
-
# FIXME clear??
|
|
81
|
+
colors!(@main_win, fg, bg)
|
|
74
82
|
debug "About to call .make"
|
|
75
83
|
rows, cols = @main_win.maxy, @main_win.maxx
|
|
76
|
-
@screen = self.make(@main_win, rows, cols, 0, 0, false
|
|
84
|
+
@screen = self.make(@main_win, rows, cols, 0, 0, false,
|
|
85
|
+
fg: fg, bg: bg)
|
|
77
86
|
@screen
|
|
78
87
|
end
|
|
79
88
|
|
|
80
|
-
def self.make(cwin, high, wide, r0, c0, border)
|
|
81
|
-
debug "make: #{[cwin, high, wide, r0, c0, border]}"
|
|
89
|
+
def self.make(cwin, high, wide, r0, c0, border, fg: :white, bg: :black)
|
|
90
|
+
debug "make: #{[cwin, high, wide, r0, c0, border, fg, bg]}"
|
|
82
91
|
obj = self.allocate
|
|
83
92
|
debug "Allocate returned a #{obj.class}"
|
|
84
93
|
obj.instance_eval do
|
|
85
94
|
debug " Inside instance_eval..."
|
|
86
95
|
@outer = @win = cwin
|
|
87
96
|
@wide, @high, @r0, @c0 = wide, high, r0, c0
|
|
97
|
+
@fg, @bg = fg, bg
|
|
88
98
|
@border = border
|
|
89
99
|
@rows, @cols = high, wide
|
|
90
100
|
@width, @height = @cols + 2, @rows + 2 if @border
|
|
@@ -92,28 +102,9 @@ module RubyText
|
|
|
92
102
|
obj
|
|
93
103
|
end
|
|
94
104
|
end
|
|
95
|
-
|
|
96
105
|
end
|
|
97
106
|
|
|
98
107
|
|
|
99
|
-
# debug "Setting STDSCR to Window.main"
|
|
100
|
-
|
|
101
|
-
# STDSCR = RubyText::Window.main
|
|
102
|
-
# $stdscr = STDSCR
|
|
103
|
-
|
|
104
|
-
=begin
|
|
105
|
-
Logic flow -
|
|
106
|
-
main
|
|
107
|
-
initscreen
|
|
108
|
-
start_color
|
|
109
|
-
make
|
|
110
|
-
STDSCR = RubyText::Window.main
|
|
111
|
-
$stdscr = STDSCR
|
|
112
|
-
|
|
113
|
-
=end
|
|
114
|
-
|
|
115
|
-
###
|
|
116
|
-
|
|
117
108
|
module RubyText
|
|
118
109
|
|
|
119
110
|
def self.start(*args, log: nil, fg: nil, bg: nil)
|
|
@@ -121,6 +112,7 @@ module RubyText
|
|
|
121
112
|
Object.const_set(:STDSCR, RubyText::Window.main(fg: fg, bg: bg))
|
|
122
113
|
$stdscr = STDSCR
|
|
123
114
|
|
|
115
|
+
debug "STDSCR has #{STDSCR.fg} on #{STDSCR.bg}"
|
|
124
116
|
debug "fg = #{fg} is not a valid color" unless Colors.include?(fg.to_s)
|
|
125
117
|
debug "bg = #{bg} is not a valid color" unless Colors.include?(bg.to_s)
|
|
126
118
|
fg, bg, cp = fb2cp(fg, bg)
|
|
@@ -136,8 +128,6 @@ module RubyText
|
|
|
136
128
|
X.echo
|
|
137
129
|
when :noecho
|
|
138
130
|
X.noecho
|
|
139
|
-
when :color
|
|
140
|
-
X.start_color
|
|
141
131
|
end
|
|
142
132
|
end
|
|
143
133
|
end
|
|
@@ -185,15 +175,15 @@ class RubyText::Window
|
|
|
185
175
|
debug "outer = #{@win.inspect}"
|
|
186
176
|
debug "@border = #@border"
|
|
187
177
|
debug "Calling 'colors': #{[@win, fg, bg]}"
|
|
188
|
-
RubyText::Window.colors(@win, fg, bg)
|
|
189
|
-
|
|
178
|
+
RubyText::Window.colors!(@win, fg, bg)
|
|
179
|
+
# self.clear(@main_win)
|
|
190
180
|
if @border
|
|
191
181
|
@win.box(Vert, Horiz)
|
|
192
182
|
@outer = @win
|
|
193
183
|
@outer.refresh
|
|
194
184
|
debug "About to call again: params = #{[high-2, wide-2, r0+1, c0+1]}"
|
|
195
185
|
@win = X::Window.new(high-2, wide-2, r0+1, c0+1) # , false, fg, bg) # relative now??
|
|
196
|
-
RubyText::Window.colors(@win, fg, bg)
|
|
186
|
+
RubyText::Window.colors!(@win, fg, bg)
|
|
197
187
|
else
|
|
198
188
|
@outer = @win
|
|
199
189
|
end
|
|
@@ -202,9 +192,15 @@ class RubyText::Window
|
|
|
202
192
|
@win.refresh
|
|
203
193
|
end
|
|
204
194
|
|
|
195
|
+
def center(row, str)
|
|
196
|
+
n = @win.maxx - str.length
|
|
197
|
+
rcprint row, n/2, str
|
|
198
|
+
end
|
|
199
|
+
|
|
205
200
|
def delegate_output(sym, *args)
|
|
206
201
|
args = [""] if args.empty?
|
|
207
|
-
|
|
202
|
+
debug "delegate: colors are #@fg, #@bg"
|
|
203
|
+
RubyText::Window.colors(@win, @fg, @bg) # FIXME?
|
|
208
204
|
# debug "#{sym}: args = #{args.inspect}"
|
|
209
205
|
if sym == :p
|
|
210
206
|
args.map!(&:inspect)
|
|
@@ -266,6 +262,14 @@ class RubyText::Window
|
|
|
266
262
|
[@win.cury, @win.curx]
|
|
267
263
|
end
|
|
268
264
|
|
|
265
|
+
def self.clear(win)
|
|
266
|
+
num = win.maxx * win.maxy
|
|
267
|
+
win.setpos(0, 0)
|
|
268
|
+
win.addstr(' '*num)
|
|
269
|
+
win.setpos(0, 0)
|
|
270
|
+
win.refresh
|
|
271
|
+
end
|
|
272
|
+
|
|
269
273
|
def clear
|
|
270
274
|
win = @win
|
|
271
275
|
num = win.maxx * win.maxy
|
data/lib/version.rb
CHANGED