vedeu 0.4.46 → 0.4.47
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/vedeu/api.rb +3 -3
- data/lib/vedeu/bindings/bindings.rb +14 -4
- data/lib/vedeu/bindings/drb.rb +2 -0
- data/lib/vedeu/bindings/menus.rb +2 -0
- data/lib/vedeu/bindings/movement.rb +2 -0
- data/lib/vedeu/bindings/visibility.rb +2 -0
- data/lib/vedeu/buffers/buffer.rb +1 -1
- data/lib/vedeu/cursor/cursor.rb +2 -2
- data/lib/vedeu/geometry/dimension.rb +16 -13
- data/lib/vedeu/geometry/geometry.rb +3 -1
- data/lib/vedeu/geometry/index_position.rb +1 -1
- data/lib/vedeu/geometry/position_index.rb +1 -1
- data/lib/vedeu/input/input.rb +2 -1
- data/lib/vedeu/input/keymap.rb +1 -0
- data/lib/vedeu/models/char.rb +7 -6
- data/lib/vedeu/models/interface.rb +2 -12
- data/lib/vedeu/models/line.rb +2 -2
- data/lib/vedeu/models/stream.rb +2 -2
- data/lib/vedeu/null/geometry.rb +3 -6
- data/lib/vedeu/output/all.rb +1 -1
- data/lib/vedeu/output/border.rb +5 -5
- data/lib/vedeu/output/clear/all.rb +2 -0
- data/lib/vedeu/output/clear/named_group.rb +52 -0
- data/lib/vedeu/output/clear/named_interface.rb +99 -0
- data/lib/vedeu/output/esc.rb +1 -1
- data/lib/vedeu/output/viewport.rb +10 -2
- data/lib/vedeu/repositories/registerable.rb +9 -1
- data/lib/vedeu/repositories/repositories/borders.rb +0 -11
- data/lib/vedeu/repositories/repositories/buffers.rb +0 -11
- data/lib/vedeu/repositories/repositories/cursors.rb +4 -11
- data/lib/vedeu/repositories/repositories/geometries.rb +0 -11
- data/lib/vedeu/repositories/repositories/groups.rb +4 -11
- data/lib/vedeu/repositories/repositories/interfaces.rb +0 -11
- data/lib/vedeu/repositories/repositories/keymaps.rb +4 -11
- data/lib/vedeu/repositories/repositories/menus.rb +4 -11
- data/lib/vedeu/repositories/repository.rb +1 -11
- data/lib/vedeu/storage/store.rb +15 -0
- data/lib/vedeu/support/log.rb +1 -0
- data/lib/vedeu/support/terminal.rb +1 -10
- data/lib/vedeu/support/visibility.rb +0 -1
- data/lib/vedeu/version.rb +1 -1
- data/test/lib/vedeu/geometry/geometry_test.rb +4 -0
- data/test/lib/vedeu/geometry/position_test.rb +25 -8
- data/test/lib/vedeu/models/char_test.rb +4 -4
- data/test/lib/vedeu/models/interface_test.rb +7 -2
- data/test/lib/vedeu/output/clear/named_group_test.rb +41 -0
- data/test/lib/vedeu/output/clear/named_interface_test.rb +68 -0
- data/test/lib/vedeu/output/render_border_test.rb +47 -5
- data/test/lib/vedeu/repositories/registerable_test.rb +30 -3
- data/test/lib/vedeu/repositories/repositories/borders_test.rb +0 -13
- data/test/lib/vedeu/repositories/repositories/buffers_test.rb +0 -11
- data/test/lib/vedeu/repositories/repositories/cursors_test.rb +0 -11
- data/test/lib/vedeu/repositories/repositories/geometries_test.rb +0 -11
- data/test/lib/vedeu/repositories/repositories/groups_test.rb +0 -11
- data/test/lib/vedeu/repositories/repositories/interfaces_test.rb +0 -11
- data/test/lib/vedeu/repositories/repositories/keymaps_test.rb +0 -11
- data/test/lib/vedeu/repositories/repositories/menus_test.rb +0 -11
- data/test/lib/vedeu/repositories/repository_test.rb +0 -37
- data/test/lib/vedeu/storage/store_test.rb +41 -0
- data/test/test_helper.rb +3 -1
- metadata +9 -5
- data/lib/vedeu/output/clear.rb +0 -207
- data/test/lib/vedeu/output/clear_test.rb +0 -105
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 32f9ff175fb990493d886e0e0b121b50d45e8829
|
|
4
|
+
data.tar.gz: 78f1802b9c3c208a08947d4ea91a6c393f17214f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 883b22230cf46167bb986ee49549dfe151ab43108f9d1bdd71fc77a2cc9de0fa9d819b9f6365dd059c443ab09ca3da01a43c01b6c5d21599e399f92073dd342f
|
|
7
|
+
data.tar.gz: aefa345c4db2d5123ce8c54569f301a3e812cf3b3109ece81d47d86dcb857baf761450fe49a5ad7cd3a3561f4ed74e600a9be5ea61f4a640ba0ca8f5951574c0
|
data/lib/vedeu/api.rb
CHANGED
|
@@ -8,7 +8,7 @@ require 'vedeu/models/all'
|
|
|
8
8
|
require 'vedeu/input/all'
|
|
9
9
|
require 'vedeu/dsl/all'
|
|
10
10
|
require 'vedeu/application'
|
|
11
|
-
require 'vedeu/output/clear'
|
|
11
|
+
require 'vedeu/output/clear/all'
|
|
12
12
|
|
|
13
13
|
module Vedeu
|
|
14
14
|
|
|
@@ -239,11 +239,11 @@ module Vedeu
|
|
|
239
239
|
|
|
240
240
|
# @!method clear_by_name
|
|
241
241
|
# @see Vedeu::Clear.by_name
|
|
242
|
-
def_delegators Vedeu::Clear, :clear_by_name
|
|
242
|
+
def_delegators Vedeu::Clear::NamedInterface, :clear_by_name
|
|
243
243
|
|
|
244
244
|
# @!method clear_by_group
|
|
245
245
|
# @see Vedeu::Clear.by_group
|
|
246
|
-
def_delegators Vedeu::Clear, :clear_by_group
|
|
246
|
+
def_delegators Vedeu::Clear::NamedGroup, :clear_by_group
|
|
247
247
|
|
|
248
248
|
# @!method hide_cursor
|
|
249
249
|
# @see Vedeu::Visibility.hide_cursor
|
|
@@ -15,6 +15,7 @@ module Vedeu
|
|
|
15
15
|
#
|
|
16
16
|
# @api public
|
|
17
17
|
# {include:file:docs/events/main.md}
|
|
18
|
+
# :nocov:
|
|
18
19
|
module Bindings
|
|
19
20
|
|
|
20
21
|
include Vedeu::Bindings::DRB
|
|
@@ -30,6 +31,16 @@ module Vedeu
|
|
|
30
31
|
Vedeu.trigger(:cleanup)
|
|
31
32
|
end
|
|
32
33
|
|
|
34
|
+
Vedeu.bind(:_clear_) do |name|
|
|
35
|
+
if name
|
|
36
|
+
Vedeu::Clear::NamedInterface.render(name)
|
|
37
|
+
|
|
38
|
+
else
|
|
39
|
+
Vedeu::Terminal.clear
|
|
40
|
+
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
Vedeu.bind(:_clear_group_) { |name| Vedeu::Clear::NamedGroup.render(name) }
|
|
33
44
|
|
|
34
45
|
Vedeu.bind(:_exit_) { Vedeu::Application.stop }
|
|
35
46
|
|
|
@@ -43,6 +54,8 @@ module Vedeu
|
|
|
43
54
|
Vedeu.bind(:_command_) { |command| Vedeu.trigger(:command, command) }
|
|
44
55
|
Vedeu.bind(:_log_) { |msg| Vedeu.log(type: :debug, message: msg) }
|
|
45
56
|
|
|
57
|
+
Vedeu.bind(:_maximise_) { |name| Vedeu.geometries.by_name(name).maximise }
|
|
58
|
+
|
|
46
59
|
# When triggered (after the user presses `escape`), Vedeu switches from a
|
|
47
60
|
# "raw mode" terminal to a "cooked mode" terminal. The idea here being that
|
|
48
61
|
# the raw mode is for single keypress actions, whilst cooked mode allows the
|
|
@@ -56,21 +69,18 @@ module Vedeu
|
|
|
56
69
|
Vedeu.bind(:_focus_by_name_) { |name| Vedeu.focus_by_name(name) }
|
|
57
70
|
Vedeu.bind(:_focus_next_) { Vedeu.focus_next }
|
|
58
71
|
Vedeu.bind(:_focus_prev_) { Vedeu.focus_previous }
|
|
59
|
-
Vedeu.bind(:_clear_) { |name| Vedeu::Clear.by_name(name) }
|
|
60
72
|
|
|
61
73
|
Vedeu.bind(:_refresh_) do |name|
|
|
62
74
|
name ? Vedeu::Refresh.by_name(name) : Vedeu::Refresh.all
|
|
63
75
|
end
|
|
64
|
-
|
|
65
76
|
Vedeu.bind(:_refresh_cursor_) { |name| Vedeu::RefreshCursor.render(name) }
|
|
66
77
|
Vedeu.bind(:_refresh_group_) { |name| Vedeu::Refresh.by_group(name) }
|
|
67
|
-
Vedeu.bind(:_clear_group_) { |name| Vedeu::Clear.by_group(name) }
|
|
68
|
-
Vedeu.bind(:_maximise_) { |name| Vedeu.geometries.by_name(name).maximise }
|
|
69
78
|
|
|
70
79
|
Vedeu.bind(:_unmaximise_) do |name|
|
|
71
80
|
Vedeu.geometries.by_name(name).unmaximise
|
|
72
81
|
end
|
|
73
82
|
|
|
74
83
|
end # Bindings
|
|
84
|
+
# :nocov:
|
|
75
85
|
|
|
76
86
|
end # Vedeu
|
data/lib/vedeu/bindings/drb.rb
CHANGED
|
@@ -6,6 +6,7 @@ module Vedeu
|
|
|
6
6
|
#
|
|
7
7
|
# @api public
|
|
8
8
|
# {include:file:docs/events/drb.md}
|
|
9
|
+
# :nocov:
|
|
9
10
|
module DRB
|
|
10
11
|
|
|
11
12
|
Vedeu.bind(:_drb_input_) do |data, type|
|
|
@@ -30,6 +31,7 @@ module Vedeu
|
|
|
30
31
|
Vedeu.bind(:_drb_stop_) { Vedeu::Distributed::Server.stop }
|
|
31
32
|
|
|
32
33
|
end # DRB
|
|
34
|
+
# :nocov:
|
|
33
35
|
|
|
34
36
|
end # Bindings
|
|
35
37
|
|
data/lib/vedeu/bindings/menus.rb
CHANGED
|
@@ -7,6 +7,7 @@ module Vedeu
|
|
|
7
7
|
#
|
|
8
8
|
# @api public
|
|
9
9
|
# {include:file:docs/events/menus.md}
|
|
10
|
+
# :nocov:
|
|
10
11
|
module Menus
|
|
11
12
|
|
|
12
13
|
Vedeu.bind(:_menu_bottom_) { |name| Vedeu.menus.find(name).bottom_item }
|
|
@@ -29,6 +30,7 @@ module Vedeu
|
|
|
29
30
|
Vedeu.bind(:_menu_view_) { |name| Vedeu.menus.find(name).view }
|
|
30
31
|
|
|
31
32
|
end # Menus
|
|
33
|
+
# :nocov:
|
|
32
34
|
|
|
33
35
|
end # Bindings
|
|
34
36
|
|
|
@@ -6,6 +6,7 @@ module Vedeu
|
|
|
6
6
|
#
|
|
7
7
|
# @api public
|
|
8
8
|
# {include:file:docs/events/visibility.md}
|
|
9
|
+
# :nocov:
|
|
9
10
|
module Visibility
|
|
10
11
|
|
|
11
12
|
Vedeu.bind(:_hide_cursor_) { |name| Vedeu::Visibility.hide_cursor(name) }
|
|
@@ -26,6 +27,7 @@ module Vedeu
|
|
|
26
27
|
end
|
|
27
28
|
|
|
28
29
|
end # Visibility
|
|
30
|
+
# :nocov:
|
|
29
31
|
|
|
30
32
|
end # Bindings
|
|
31
33
|
|
data/lib/vedeu/buffers/buffer.rb
CHANGED
data/lib/vedeu/cursor/cursor.rb
CHANGED
|
@@ -63,7 +63,7 @@ module Vedeu
|
|
|
63
63
|
|
|
64
64
|
@attributes.each { |key, value| instance_variable_set("@#{key}", value) }
|
|
65
65
|
|
|
66
|
-
@position = Vedeu::Position
|
|
66
|
+
@position = Vedeu::Position[@y, @x]
|
|
67
67
|
end
|
|
68
68
|
|
|
69
69
|
# Override Ruby's Object#inspect method to provide a more helpful output.
|
|
@@ -103,7 +103,7 @@ module Vedeu
|
|
|
103
103
|
#
|
|
104
104
|
# @return [Vedeu::Position]
|
|
105
105
|
def position
|
|
106
|
-
@position ||= Vedeu::Position
|
|
106
|
+
@position ||= Vedeu::Position[y, x]
|
|
107
107
|
end
|
|
108
108
|
|
|
109
109
|
# @return [Vedeu::EscapeChar]
|
|
@@ -21,11 +21,9 @@ module Vedeu
|
|
|
21
21
|
# @option attributes options [Hash]
|
|
22
22
|
# @return [Vedeu::Dimension]
|
|
23
23
|
def initialize(attributes = {})
|
|
24
|
-
@
|
|
25
|
-
|
|
26
|
-
@
|
|
27
|
-
@default = attributes[:default]
|
|
28
|
-
@options = attributes.fetch(:options, {})
|
|
24
|
+
@attributes = defaults.merge!(attributes)
|
|
25
|
+
|
|
26
|
+
@attributes.each { |key, value| instance_variable_set("@#{key}", value) }
|
|
29
27
|
end
|
|
30
28
|
|
|
31
29
|
# @return [Fixnum]
|
|
@@ -61,6 +59,10 @@ module Vedeu
|
|
|
61
59
|
# @return [Fixnum|NilClass]
|
|
62
60
|
attr_reader :default
|
|
63
61
|
|
|
62
|
+
# @!attribute [r] options
|
|
63
|
+
# @return [Hash<Symbol => Boolean]
|
|
64
|
+
attr_reader :options
|
|
65
|
+
|
|
64
66
|
private
|
|
65
67
|
|
|
66
68
|
# @return [Array<Fixnum>]
|
|
@@ -138,18 +140,19 @@ module Vedeu
|
|
|
138
140
|
options[:maximised]
|
|
139
141
|
end
|
|
140
142
|
|
|
141
|
-
# @return [Hash<Symbol => Boolean>]
|
|
142
|
-
def options
|
|
143
|
-
defaults.merge!(@options)
|
|
144
|
-
end
|
|
145
|
-
|
|
146
143
|
# Returns the default options/attributes for this class.
|
|
147
144
|
#
|
|
148
|
-
# @return [Hash<Symbol => Boolean>]
|
|
145
|
+
# @return [Hash<Symbol => NilClass,Boolean>]
|
|
149
146
|
def defaults
|
|
150
147
|
{
|
|
151
|
-
|
|
152
|
-
|
|
148
|
+
d: nil,
|
|
149
|
+
dn: nil,
|
|
150
|
+
d_dn: nil,
|
|
151
|
+
default: nil,
|
|
152
|
+
options: {
|
|
153
|
+
centred: false,
|
|
154
|
+
maximised: false,
|
|
155
|
+
},
|
|
153
156
|
}
|
|
154
157
|
end
|
|
155
158
|
|
|
@@ -115,6 +115,8 @@ module Vedeu
|
|
|
115
115
|
def maximise
|
|
116
116
|
return self if maximised?
|
|
117
117
|
|
|
118
|
+
Vedeu.trigger(:_clear_)
|
|
119
|
+
|
|
118
120
|
@maximised = true
|
|
119
121
|
|
|
120
122
|
work = store
|
|
@@ -136,7 +138,7 @@ module Vedeu
|
|
|
136
138
|
def unmaximise
|
|
137
139
|
return self unless maximised?
|
|
138
140
|
|
|
139
|
-
Vedeu.trigger(:_clear_
|
|
141
|
+
Vedeu.trigger(:_clear_)
|
|
140
142
|
|
|
141
143
|
@maximised = false
|
|
142
144
|
|
data/lib/vedeu/input/input.rb
CHANGED
|
@@ -70,6 +70,7 @@ module Vedeu
|
|
|
70
70
|
def specials
|
|
71
71
|
{
|
|
72
72
|
"\r" => :enter,
|
|
73
|
+
"\n" => :enter,
|
|
73
74
|
"\t" => :tab,
|
|
74
75
|
"\e" => :escape,
|
|
75
76
|
"\e[A" => :up,
|
|
@@ -95,7 +96,7 @@ module Vedeu
|
|
|
95
96
|
"\u0007" => :ctrl_g,
|
|
96
97
|
"\u0008" => :ctrl_h,
|
|
97
98
|
# "\u0009" => :ctrl_i, # duplicates tab
|
|
98
|
-
"\u0010" => :ctrl_j,
|
|
99
|
+
"\u0010" => :ctrl_j, # produces "\n"
|
|
99
100
|
"\u0011" => :ctrl_k,
|
|
100
101
|
"\u0012" => :ctrl_l,
|
|
101
102
|
"\u0013" => :ctrl_m,
|
data/lib/vedeu/input/keymap.rb
CHANGED
data/lib/vedeu/models/char.rb
CHANGED
|
@@ -29,6 +29,10 @@ module Vedeu
|
|
|
29
29
|
# @return [Hash]
|
|
30
30
|
attr_reader :attributes
|
|
31
31
|
|
|
32
|
+
# @!attribute [r] position
|
|
33
|
+
# @return [Vedeu::Position]
|
|
34
|
+
attr_reader :position
|
|
35
|
+
|
|
32
36
|
# @!attribute [w] value
|
|
33
37
|
# @return [String]
|
|
34
38
|
attr_writer :value
|
|
@@ -50,6 +54,7 @@ module Vedeu
|
|
|
50
54
|
@border = @attributes[:border]
|
|
51
55
|
@parent = @attributes[:parent]
|
|
52
56
|
@value = @attributes[:value]
|
|
57
|
+
@position = Vedeu::Position.coerce(@attributes[:position])
|
|
53
58
|
end
|
|
54
59
|
|
|
55
60
|
# When {Vedeu::Viewport#padded_lines} has less lines that required to fill
|
|
@@ -68,7 +73,8 @@ module Vedeu
|
|
|
68
73
|
# @param other [Vedeu::Char]
|
|
69
74
|
# @return [Boolean]
|
|
70
75
|
def eql?(other)
|
|
71
|
-
self.class == other.class && value == other.value
|
|
76
|
+
self.class == other.class && value == other.value &&
|
|
77
|
+
position == other.position
|
|
72
78
|
end
|
|
73
79
|
alias_method :==, :eql?
|
|
74
80
|
|
|
@@ -79,11 +85,6 @@ module Vedeu
|
|
|
79
85
|
"<Vedeu::Char '#{Vedeu::Esc.escape(to_s)}'>"
|
|
80
86
|
end
|
|
81
87
|
|
|
82
|
-
# @return [Vedeu::Position]
|
|
83
|
-
def position
|
|
84
|
-
@position ||= Vedeu::Position.coerce(@attributes[:position])
|
|
85
|
-
end
|
|
86
|
-
|
|
87
88
|
# Sets the position of the Char.
|
|
88
89
|
#
|
|
89
90
|
# @param value [Vedeu::Position]
|
|
@@ -12,8 +12,6 @@ module Vedeu
|
|
|
12
12
|
# @api private
|
|
13
13
|
class Interface
|
|
14
14
|
|
|
15
|
-
extend Forwardable
|
|
16
|
-
|
|
17
15
|
include Vedeu::Model
|
|
18
16
|
include Vedeu::Presentation
|
|
19
17
|
include Vedeu::DisplayBuffer
|
|
@@ -76,15 +74,7 @@ module Vedeu
|
|
|
76
74
|
def initialize(attributes = {})
|
|
77
75
|
@attributes = defaults.merge!(attributes)
|
|
78
76
|
|
|
79
|
-
@
|
|
80
|
-
@delay = @attributes[:delay]
|
|
81
|
-
@group = @attributes[:group]
|
|
82
|
-
@lines = @attributes[:lines]
|
|
83
|
-
@name = @attributes[:name]
|
|
84
|
-
@parent = @attributes[:parent]
|
|
85
|
-
@repository = @attributes[:repository]
|
|
86
|
-
@visible = @attributes[:visible]
|
|
87
|
-
@zindex = @attributes[:zindex]
|
|
77
|
+
@attributes.each { |key, value| instance_variable_set("@#{key}", value) }
|
|
88
78
|
end
|
|
89
79
|
|
|
90
80
|
# @param child [Vedeu::Line]
|
|
@@ -121,7 +111,7 @@ module Vedeu
|
|
|
121
111
|
Vedeu.trigger(:_cursor_hide_, name)
|
|
122
112
|
|
|
123
113
|
output = [
|
|
124
|
-
Vedeu::Clear.
|
|
114
|
+
Vedeu::Clear::NamedInterface.render(name),
|
|
125
115
|
Vedeu.borders.by_name(name).render,
|
|
126
116
|
Vedeu::Viewport.render(self),
|
|
127
117
|
]
|
data/lib/vedeu/models/line.rb
CHANGED
|
@@ -31,8 +31,8 @@ module Vedeu
|
|
|
31
31
|
# @return [Vedeu::Line]
|
|
32
32
|
def initialize(attributes = {})
|
|
33
33
|
@attributes = defaults.merge!(attributes)
|
|
34
|
-
|
|
35
|
-
@
|
|
34
|
+
|
|
35
|
+
@attributes.each { |key, value| instance_variable_set("@#{key}", value) }
|
|
36
36
|
end
|
|
37
37
|
|
|
38
38
|
# @param child []
|
data/lib/vedeu/models/stream.rb
CHANGED
|
@@ -38,8 +38,8 @@ module Vedeu
|
|
|
38
38
|
# @return [Vedeu::Stream]
|
|
39
39
|
def initialize(attributes = {})
|
|
40
40
|
@attributes = defaults.merge!(attributes)
|
|
41
|
-
|
|
42
|
-
@value
|
|
41
|
+
|
|
42
|
+
@attributes.each { |key, value| instance_variable_set("@#{key}", value) }
|
|
43
43
|
end
|
|
44
44
|
|
|
45
45
|
# @param child [Vedeu::Stream]
|
data/lib/vedeu/null/geometry.rb
CHANGED
|
@@ -48,20 +48,17 @@ module Vedeu
|
|
|
48
48
|
end
|
|
49
49
|
|
|
50
50
|
# @return [FalseClass]
|
|
51
|
-
def
|
|
51
|
+
def maximised?
|
|
52
52
|
false
|
|
53
53
|
end
|
|
54
|
+
alias_method :maximise, :maximised?
|
|
55
|
+
alias_method :unmaximise, :maximised?
|
|
54
56
|
|
|
55
57
|
# @return [Vedeu::Null::Geometry]
|
|
56
58
|
def store
|
|
57
59
|
self
|
|
58
60
|
end
|
|
59
61
|
|
|
60
|
-
# @return [FalseClass]
|
|
61
|
-
def unmaximise
|
|
62
|
-
false
|
|
63
|
-
end
|
|
64
|
-
|
|
65
62
|
private
|
|
66
63
|
|
|
67
64
|
# @return [Vedeu::Area]
|
data/lib/vedeu/output/all.rb
CHANGED
|
@@ -6,7 +6,7 @@ require_relative 'presentation'
|
|
|
6
6
|
require_relative 'border'
|
|
7
7
|
require_relative 'colour'
|
|
8
8
|
require_relative 'compressor'
|
|
9
|
-
require_relative 'clear'
|
|
9
|
+
require_relative 'clear/all'
|
|
10
10
|
require_relative 'style'
|
|
11
11
|
require_relative 'text'
|
|
12
12
|
require_relative 'virtual_buffer'
|
data/lib/vedeu/output/border.rb
CHANGED
|
@@ -122,22 +122,22 @@ module Vedeu
|
|
|
122
122
|
|
|
123
123
|
# @return [Fixnum]
|
|
124
124
|
def bx
|
|
125
|
-
|
|
125
|
+
(enabled? && left?) ? x + 1 : x
|
|
126
126
|
end
|
|
127
127
|
|
|
128
128
|
# @return [Fixnum]
|
|
129
129
|
def bxn
|
|
130
|
-
|
|
130
|
+
(enabled? && right?) ? xn - 1 : xn
|
|
131
131
|
end
|
|
132
132
|
|
|
133
133
|
# @return [Fixnum]
|
|
134
134
|
def by
|
|
135
|
-
|
|
135
|
+
(enabled? && top?) ? y + 1 : y
|
|
136
136
|
end
|
|
137
137
|
|
|
138
138
|
# @return [Fixnum]
|
|
139
139
|
def byn
|
|
140
|
-
|
|
140
|
+
(enabled? && bottom?) ? yn - 1 : yn
|
|
141
141
|
end
|
|
142
142
|
|
|
143
143
|
# Returns the width of the interface determined by whether a left, right,
|
|
@@ -158,7 +158,7 @@ module Vedeu
|
|
|
158
158
|
|
|
159
159
|
# @return [Array<Array<Vedeu::Char>>]
|
|
160
160
|
def render
|
|
161
|
-
|
|
161
|
+
Vedeu::RenderBorder.with(self)
|
|
162
162
|
end
|
|
163
163
|
|
|
164
164
|
# @return [String]
|