rubytext 0.0.15 → 0.0.16
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 +5 -5
- data/lib/rubytext.rb +31 -16
- data/lib/version.rb +2 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 4536ed9e2ce1dbd28d40a9e19adf2a5aa4a0e8c5bf6bc13666d3ea00708bece1
|
4
|
+
data.tar.gz: 996510b10225a5dd569ebcbb7f022308b10f4d8f050870b686bba5c30ecff64e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c97fef25f08072ea4eeb038e749e825bff73b50db6e904bffb5b838b62840bcd7913be177726c2ae29059a589d4a73d65f571ef9b80da0d9ed8f6967c79a07da
|
7
|
+
data.tar.gz: 55fb8641d81332daccfbdc484ffa9e328593d84a0b36ee9c9da72004ae56055ca2508ce06df711725c1bf0f0c54048a2c3e566f84f7fcc5a5d2e3807acf97328
|
data/lib/rubytext.rb
CHANGED
@@ -13,6 +13,18 @@ end
|
|
13
13
|
|
14
14
|
module RubyText
|
15
15
|
|
16
|
+
Colors = %w[black blue cyan green magenta red white yellow]
|
17
|
+
ColorPairs = {}
|
18
|
+
num = 0
|
19
|
+
Colors.each do |fc|
|
20
|
+
Colors.each do |bc|
|
21
|
+
fg = X.const_get("COLOR_#{fc.upcase}")
|
22
|
+
bg = X.const_get("COLOR_#{bc.upcase}")
|
23
|
+
pair = X.init_pair(num+=1, fg, bg) # FIXME backwards?
|
24
|
+
ColorPairs[[fg, bg]] = pair
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
16
28
|
module Keys
|
17
29
|
Down = 258
|
18
30
|
Up = 259
|
@@ -33,9 +45,6 @@ module RubyText
|
|
33
45
|
F12 = 276
|
34
46
|
end
|
35
47
|
|
36
|
-
Colors = %w[black blue cyan green
|
37
|
-
magenta red white yellow]
|
38
|
-
|
39
48
|
class Window
|
40
49
|
def self.main
|
41
50
|
debug "Entering Window.main"
|
@@ -45,12 +54,12 @@ module RubyText
|
|
45
54
|
X.stdscr.bkgd(X.color_pair(1)|X::A_NORMAL)
|
46
55
|
rows, cols = @main_win.maxy, @main_win.maxx
|
47
56
|
debug "About to call .make"
|
48
|
-
@screen = self.make(@main_win, rows, cols, 0, 0, false)
|
57
|
+
@screen = self.make(@main_win, rows, cols, 0, 0, false, "white", "black")
|
49
58
|
@screen
|
50
59
|
end
|
51
60
|
|
52
|
-
def self.make(cwin, high, wide, r0, c0, border)
|
53
|
-
debug "make: #{[cwin, high, wide, r0, c0, border]}"
|
61
|
+
def self.make(cwin, high, wide, r0, c0, border, fg, bg)
|
62
|
+
debug "make: #{[cwin, high, wide, r0, c0, border, fg, bg]}"
|
54
63
|
obj = self.allocate
|
55
64
|
debug "Allocate returned a #{obj.class}"
|
56
65
|
obj.instance_eval do
|
@@ -87,8 +96,8 @@ module RubyText
|
|
87
96
|
end
|
88
97
|
end
|
89
98
|
|
90
|
-
def RubyText.window(high, wide, r0, c0, border=false)
|
91
|
-
RubyText::Window.new(high, wide, r0, c0, border)
|
99
|
+
def RubyText.window(high, wide, r0, c0, border=false, fg="white", bg="black")
|
100
|
+
RubyText::Window.new(high, wide, r0, c0, border, fg, bg)
|
92
101
|
end
|
93
102
|
|
94
103
|
def self.start(*args, log: nil, fg: nil, bg: nil)
|
@@ -136,21 +145,22 @@ end
|
|
136
145
|
class RubyText::Window
|
137
146
|
Vert, Horiz = X::A_VERTICAL, X::A_HORIZONTAL # ?|, ?- # "\u2502", "\u2500"
|
138
147
|
|
139
|
-
attr_reader :win, :rows, :cols, :width, :height
|
148
|
+
attr_reader :win, :rows, :cols, :width, :height, :fg, :bg
|
140
149
|
|
141
|
-
def initialize(high=nil, wide=nil, r0=1, c0=1, border=false)
|
150
|
+
def initialize(high=nil, wide=nil, r0=1, c0=1, border=false, fg=:white, bg=:black)
|
142
151
|
debug "RT::Win.init: #{[high, wide, r0, c0, border]}"
|
143
152
|
@wide, @high, @r0, @c0 = wide, high, r0, c0
|
144
153
|
@border = border
|
154
|
+
@fg, @bg = fg, bg
|
145
155
|
@win = X::Window.new(high, wide, r0, c0)
|
146
|
-
debug "outer = #{@win.inspect}"
|
147
|
-
debug "@border = #@border"
|
156
|
+
debug "outer = #{@win.inspect}"
|
157
|
+
debug "@border = #@border"
|
148
158
|
if @border
|
149
159
|
@win.box(Vert, Horiz)
|
150
160
|
@outer = @win
|
151
161
|
@outer.refresh
|
152
|
-
debug "About to call again: params = #{[high-2, wide-2, r0+1, c0+1]}"
|
153
|
-
@win = X::Window.new(high-2, wide-2, r0+1, c0+1) # relative now??
|
162
|
+
debug "About to call again: params = #{[high-2, wide-2, r0+1, c0+1]}"
|
163
|
+
@win = X::Window.new(high-2, wide-2, r0+1, c0+1, false, fg, bg) # relative now??
|
154
164
|
else
|
155
165
|
@outer = @win
|
156
166
|
end
|
@@ -162,9 +172,14 @@ debug "About to call again: params = #{[high-2, wide-2, r0+1, c0+1]}"
|
|
162
172
|
def delegate_output(sym, *args)
|
163
173
|
args = [""] if args.empty?
|
164
174
|
debug "#{sym}: args = #{args.inspect}"
|
165
|
-
|
175
|
+
if sym == :p
|
176
|
+
args.map!(&:inspect)
|
177
|
+
else
|
178
|
+
args.map!(&:to_s)
|
179
|
+
end
|
166
180
|
str = sprintf(*args)
|
167
181
|
str << "\n" if sym != :print && str[-1] != "\n"
|
182
|
+
# color-handling code here
|
168
183
|
@win.addstr(str)
|
169
184
|
@win.refresh
|
170
185
|
end
|
@@ -243,7 +258,7 @@ end
|
|
243
258
|
### Stick stuff into Kernel for top level
|
244
259
|
|
245
260
|
module Kernel
|
246
|
-
private
|
261
|
+
# private
|
247
262
|
def puts(*args) # Doesn't affect STDOUT.puts, etc.
|
248
263
|
$stdscr.puts(*args)
|
249
264
|
end
|
data/lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubytext
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hal Fulton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-11-
|
11
|
+
date: 2018-11-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: curses
|
@@ -54,7 +54,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
54
54
|
version: '0'
|
55
55
|
requirements: []
|
56
56
|
rubyforge_project:
|
57
|
-
rubygems_version: 2.
|
57
|
+
rubygems_version: 2.7.7
|
58
58
|
signing_key:
|
59
59
|
specification_version: 4
|
60
60
|
summary: A thick wrapper for Curses
|