rubytext 0.0.23 → 0.0.24

Sign up to get free protection for your applications and to get access to all the features.
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