rubytext 0.0.76 → 0.0.77

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 57dc0a7d99cad64dde62865a3bd48f8e5cd49644390f9089371fe121a742e6b4
4
- data.tar.gz: 4e89cb5f8394f4ac36a2e7599720b9a03111f1de4b428545e245c457b0bf7ca3
3
+ metadata.gz: ee7c6312edf48700460e3ac66588a92de3809dddb2eeef6fe33a4174e355ef81
4
+ data.tar.gz: ada7f3ee8c716f7be23affaa9ef790f51df1acfb0f11be30c876e8e6d18f4fa4
5
5
  SHA512:
6
- metadata.gz: 125ff3fe92c91935c218f80da9980242725fd6c47949e394d4b35dfc34b252c378193861041e02275cc8f9b934d6f85ca392209cd50b0a5bff18b90b149a8c41
7
- data.tar.gz: bf92b9b47a490046e7ebc35d77d9d7bbe7e664034dae83e06b9eb97990c4db5027aa430b9d4c48b6185360904fff66167c6be329d5003761a21b7b63bf24a095
6
+ metadata.gz: 551a09d2ddf6a41f90e7e6c85ac3a4738d597dbe2ee6e55970a1268a4e2f0a4c7881196e92f4614da8ca4feb016fc67101114cd769bb06b5b7e8b327646d0d42
7
+ data.tar.gz: e5ab24e1cd086a8a43534f37af73146ed6dad0fec0beab3333b7d6d5d87d220fe127c1c1d45073c3b5817fa8069990241ed1daedd11f4fe4c0441c6aa1c0e5e9
data/lib/navigation.rb CHANGED
@@ -1,5 +1,31 @@
1
1
  class RubyText::Window
2
+
3
+ def coords(r, c)
4
+ r = case
5
+ when r == :center
6
+ self.rows / 2
7
+ when r == :top
8
+ 0
9
+ when r == :bottom
10
+ self.rows - 1
11
+ else
12
+ r
13
+ end
14
+ c = case
15
+ when c == :center
16
+ self.cols / 2
17
+ when c == :left
18
+ 0
19
+ when c == :right
20
+ self.cols - 1
21
+ else
22
+ c
23
+ end
24
+ [r, c]
25
+ end
26
+
2
27
  def go(r, c)
28
+ r, c = coords(r, c)
3
29
  save = self.rc
4
30
  @cwin.setpos(r, c)
5
31
  if block_given?
data/lib/output.rb CHANGED
@@ -59,7 +59,7 @@ class RubyText::Window
59
59
  end
60
60
 
61
61
  def rcprint!(r, c, *args)
62
- @cwin.setpos(r, c) # Cursor isn't restored
62
+ self.go(r, c) # Cursor isn't restored
63
63
  self.print *args
64
64
  end
65
65
 
@@ -71,10 +71,8 @@ class RubyText::Window
71
71
  fx.set(self) if fx
72
72
  val = fx.value rescue 0
73
73
  @cwin.addch(ch.ord|val)
74
- # @win.refresh
75
74
  end
76
75
  fx.reset(self) if fx
77
- # self[r, c] = ch[0]
78
76
  end
79
77
 
80
78
  def crlf # Technically not output...
@@ -144,21 +142,27 @@ end
144
142
 
145
143
  module WindowIO
146
144
  def puts(*args) # Doesn't affect STDOUT.puts, etc.
147
- $stdscr.puts(*args)
145
+ recv = RubyText.started ? $stdscr : Kernel
146
+ recv.puts(*args)
148
147
  end
149
148
 
150
149
  def print(*args)
151
- $stdscr.print(*args)
150
+ recv = RubyText.started ? $stdscr : Kernel
151
+ recv.print(*args)
152
152
  end
153
153
 
154
154
  def p(*args)
155
- $stdscr.p(*args)
155
+ recv = RubyText.started ? $stdscr : Kernel
156
+ recv.p(*args)
156
157
  end
157
158
 
158
159
  def rcprint(r, c, *args)
159
- $stdscr.rcprint r, c, *args
160
+ recv = RubyText.started ? $stdscr : Kernel
161
+ recv.rcprint r, c, *args
160
162
  end
161
163
 
164
+ # FIXME These don't/can't honor @started flag...
165
+
162
166
  def getch
163
167
  X.getch
164
168
  end
@@ -177,7 +181,7 @@ module WindowIO
177
181
  end
178
182
 
179
183
  def putch(ch, r: nil, c: nil, fx: nil)
180
- $stdscr.putch(ch, r: r, c: c, fx: fx)
184
+ STDSCR.putch(ch, r: r, c: c, fx: fx)
181
185
  end
182
186
  end
183
187
 
data/lib/settings.rb CHANGED
@@ -3,6 +3,10 @@ module RubyText
3
3
 
4
4
  ValidArgs = [:raw, :_raw, :echo, :_echo, :cbreak, :_cbreak]
5
5
 
6
+ def self.started
7
+ @started
8
+ end
9
+
6
10
  def self.start(*args, log: "/tmp/rubytext.log",
7
11
  fg: White, bg: Blue, scroll: false)
8
12
  $debug ||= File.new(log, "w") if log # FIXME remove global
@@ -17,6 +21,7 @@ module RubyText
17
21
  Object.include(WindowIO)
18
22
  self.set(:_echo, :cbreak) # defaults (:keypad?)
19
23
  self.set(*args) # override defaults
24
+ @started = true
20
25
  rescue => err
21
26
  debug(err.inspect)
22
27
  debug(err.backtrace)
@@ -93,6 +98,7 @@ module RubyText
93
98
  end
94
99
 
95
100
  def self.stop
101
+ @started = false
96
102
  X.close_screen
97
103
  end
98
104
 
data/lib/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  module RubyText
3
- VERSION = "0.0.76"
3
+ VERSION = "0.0.77"
4
4
 
5
5
  Path = File.expand_path(File.join(File.dirname(__FILE__)))
6
6
  end
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.76
4
+ version: 0.0.77
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-12-07 00:00:00.000000000 Z
11
+ date: 2018-12-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: curses
@@ -102,7 +102,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
102
102
  version: '0'
103
103
  requirements: []
104
104
  rubyforge_project:
105
- rubygems_version: 2.7.8
105
+ rubygems_version: 2.7.7
106
106
  signing_key:
107
107
  specification_version: 4
108
108
  summary: A thick wrapper for Curses