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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rubytext.rb +35 -31
  3. data/lib/version.rb +1 -1
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1f6d0f9395aff805aef7b9ce76c03da6206e0afeb50229fc972ca7706d6337ad
4
- data.tar.gz: e63447baea0dadb372e5e1927f68fa4d364a47324be448ae825a5db87e72b896
3
+ metadata.gz: b67f09e356a4a6791fd17ad598b3dbabbf2d2bcb4e22c3aa3d7a44394255e183
4
+ data.tar.gz: e121b61f5b8e29942bd9a807a3fea1a42c9324cce9a743a76576e3f59084f5dd
5
5
  SHA512:
6
- metadata.gz: d0c3b3ccc3eae4595eef9711eadacab112bc7d41e925e6a04b4de57d3278ef0e430d4a2d3efea309e47afea617f6fd213605223bcdd5b34314309c59a9d68b39
7
- data.tar.gz: e7e2d3eac33a5d10374e111a9d1abbe04ceb59efcb486b48f2b1794ba3fcfbf55019c8cd391f2a1fcd7a0ae62bf0bddbdc64f5f2db8d975010e62577fe99115b
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
- self.clear
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
- RubyText::Window.colors(@win, fg, bg) # FIXME?
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
@@ -1,6 +1,6 @@
1
1
 
2
2
  module RubyText
3
- VERSION = "0.0.23"
3
+ VERSION = "0.0.24"
4
4
 
5
5
  Path = File.expand_path(File.join(File.dirname(__FILE__)))
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubytext
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.23
4
+ version: 0.0.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hal Fulton