glimmer-dsl-libui 0.3.0 → 0.3.4
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/CHANGELOG.md +35 -0
- data/README.md +1229 -1210
- data/VERSION +1 -1
- data/examples/area_gallery.rb +28 -28
- data/examples/area_gallery2.rb +113 -110
- data/examples/area_gallery3.rb +28 -28
- data/examples/area_gallery4.rb +112 -110
- data/examples/basic_area.rb +1 -3
- data/examples/basic_area2.rb +1 -3
- data/examples/basic_area3.rb +17 -0
- data/examples/basic_area4.rb +19 -0
- data/examples/basic_scrolling_area.rb +79 -0
- data/examples/basic_table_color.rb +1 -11
- data/examples/basic_table_color2.rb +39 -0
- data/examples/basic_table_image.rb +2 -14
- data/examples/basic_table_image2.rb +44 -0
- data/examples/basic_table_image_text.rb +2 -13
- data/examples/basic_table_image_text2.rb +44 -0
- data/examples/basic_transform.rb +3 -6
- data/examples/basic_transform2.rb +34 -0
- data/examples/color_the_circles.rb +1 -3
- data/examples/dynamic_area.rb +1 -3
- data/examples/dynamic_area2.rb +5 -7
- data/examples/form_table.rb +4 -0
- data/examples/grid.rb +4 -4
- data/examples/histogram.rb +4 -8
- data/examples/meta_example.rb +50 -10
- data/examples/snake.rb +1 -3
- data/examples/tetris.rb +15 -18
- data/examples/tic_tac_toe/board.rb +4 -2
- data/examples/tic_tac_toe.rb +1 -3
- data/glimmer-dsl-libui.gemspec +0 -0
- data/lib/glimmer/dsl/libui/shape_expression.rb +6 -1
- data/lib/glimmer/libui/control_proxy/area_proxy/scrolling_area_proxy.rb +35 -0
- data/lib/glimmer/libui/control_proxy/area_proxy.rb +1 -0
- data/lib/glimmer/libui/control_proxy/column.rb +2 -2
- data/lib/glimmer/libui/control_proxy/image_proxy.rb +42 -35
- data/lib/glimmer/libui/control_proxy/table_proxy.rb +15 -2
- data/lib/glimmer/libui/control_proxy/window_proxy.rb +20 -0
- data/lib/glimmer/libui/shape.rb +49 -1
- metadata +12 -19
data/examples/tic_tac_toe.rb
CHANGED
data/glimmer-dsl-libui.gemspec
CHANGED
Binary file
|
@@ -21,6 +21,9 @@
|
|
21
21
|
|
22
22
|
require 'glimmer/dsl/expression'
|
23
23
|
require 'glimmer/dsl/parent_expression'
|
24
|
+
require 'glimmer/libui/control_proxy/path_proxy'
|
25
|
+
require 'glimmer/libui/shape'
|
26
|
+
require 'glimmer/libui/control_proxy/area_proxy'
|
24
27
|
|
25
28
|
module Glimmer
|
26
29
|
module DSL
|
@@ -32,7 +35,9 @@ module Glimmer
|
|
32
35
|
Glimmer::LibUI::Shape.exists?(keyword) and
|
33
36
|
(
|
34
37
|
parent.is_a?(Glimmer::LibUI::ControlProxy::PathProxy) or
|
35
|
-
|
38
|
+
parent.is_a?(Glimmer::LibUI::Shape) or
|
39
|
+
parent.is_a?(Glimmer::LibUI::ControlProxy::AreaProxy) or
|
40
|
+
(parent.nil? && Glimmer::LibUI::ControlProxy::AreaProxy.current_area_draw_params)
|
36
41
|
)
|
37
42
|
end
|
38
43
|
|
@@ -31,8 +31,43 @@ module Glimmer
|
|
31
31
|
class ScrollingAreaProxy < AreaProxy
|
32
32
|
def build_control
|
33
33
|
@area_handler = ::LibUI::FFI::AreaHandler.malloc
|
34
|
+
@args[0] ||= Glimmer::LibUI::ControlProxy.main_window_proxy.width
|
35
|
+
@args[1] ||= Glimmer::LibUI::ControlProxy.main_window_proxy.height
|
34
36
|
@libui = ::LibUI.new_scrolling_area(@area_handler, *@args)
|
35
37
|
end
|
38
|
+
|
39
|
+
def width(value = nil)
|
40
|
+
if value.nil?
|
41
|
+
@args[0]
|
42
|
+
else
|
43
|
+
@args[0] = value
|
44
|
+
set_size(width, height)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
alias width= width
|
48
|
+
alias set_width width
|
49
|
+
|
50
|
+
def height(value = nil)
|
51
|
+
if value.nil?
|
52
|
+
@args[1]
|
53
|
+
else
|
54
|
+
@args[1] = value
|
55
|
+
set_size(width, height)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
alias height= height
|
59
|
+
alias set_height height
|
60
|
+
|
61
|
+
def set_size(width, height)
|
62
|
+
@args[0] = width
|
63
|
+
@args[1] = height
|
64
|
+
super(width, height)
|
65
|
+
end
|
66
|
+
|
67
|
+
def scroll_to(scroll_x, scroll_y, scroll_width = nil, scroll_height = nil)
|
68
|
+
scroll_width, scroll_height = Glimmer::LibUI::ControlProxy.main_window_proxy.content_size
|
69
|
+
super(scroll_x, scroll_y, scroll_width, scroll_height)
|
70
|
+
end
|
36
71
|
end
|
37
72
|
end
|
38
73
|
end
|
@@ -218,6 +218,7 @@ module Glimmer
|
|
218
218
|
{
|
219
219
|
key: key_to_char(area_key_event.Key, modifiers),
|
220
220
|
key_value: area_key_event.Key,
|
221
|
+
key_code: area_key_event.Key,
|
221
222
|
ext_key: ext_key_to_symbol(area_key_event.ExtKey),
|
222
223
|
ext_key_value: area_key_event.ExtKey,
|
223
224
|
modifier: modifiers_to_symbols(area_key_event.Modifier).first,
|
@@ -43,9 +43,9 @@ module Glimmer
|
|
43
43
|
@column_index ||= @parent_proxy.send(:next_column_index)
|
44
44
|
end
|
45
45
|
|
46
|
-
# actual index within table columns (disregarding
|
46
|
+
# actual index within table columns (disregarding extra fillings that account for DualColumn instances)
|
47
47
|
def index
|
48
|
-
@parent_proxy.columns.
|
48
|
+
@parent_proxy.columns.select {|c| c.is_a?(Column)}.index(self)
|
49
49
|
end
|
50
50
|
end
|
51
51
|
end
|
@@ -20,6 +20,7 @@
|
|
20
20
|
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
21
21
|
|
22
22
|
require 'glimmer/libui/control_proxy'
|
23
|
+
require 'glimmer/libui/control_proxy/image_part_proxy'
|
23
24
|
require 'glimmer/libui/image_path_renderer'
|
24
25
|
require 'glimmer/data_binding/observer'
|
25
26
|
require 'glimmer/libui/control_proxy/transformable'
|
@@ -63,15 +64,13 @@ module Glimmer
|
|
63
64
|
end
|
64
65
|
|
65
66
|
def file(value = nil)
|
66
|
-
if
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
request_auto_redraw
|
74
|
-
end
|
67
|
+
if value.nil?
|
68
|
+
@args[0]
|
69
|
+
else
|
70
|
+
@args[0] = value
|
71
|
+
if @content_added
|
72
|
+
post_add_content
|
73
|
+
request_auto_redraw
|
75
74
|
end
|
76
75
|
end
|
77
76
|
end
|
@@ -80,16 +79,12 @@ module Glimmer
|
|
80
79
|
|
81
80
|
def width(value = nil)
|
82
81
|
if value.nil?
|
83
|
-
|
82
|
+
@args[1]
|
84
83
|
else
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
request_auto_redraw
|
90
|
-
end
|
91
|
-
else
|
92
|
-
@args[0] = value
|
84
|
+
@args[1] = value
|
85
|
+
if area_image? && @content_added
|
86
|
+
post_add_content
|
87
|
+
request_auto_redraw
|
93
88
|
end
|
94
89
|
end
|
95
90
|
end
|
@@ -98,16 +93,12 @@ module Glimmer
|
|
98
93
|
|
99
94
|
def height(value = nil)
|
100
95
|
if value.nil?
|
101
|
-
|
96
|
+
@args[2]
|
102
97
|
else
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
request_auto_redraw
|
108
|
-
end
|
109
|
-
else
|
110
|
-
@args[1] = value
|
98
|
+
@args[2] = value
|
99
|
+
if area_image? && @content_added
|
100
|
+
post_add_content
|
101
|
+
request_auto_redraw
|
111
102
|
end
|
112
103
|
end
|
113
104
|
end
|
@@ -132,9 +123,7 @@ module Glimmer
|
|
132
123
|
end
|
133
124
|
|
134
125
|
def area_image?
|
135
|
-
@parent_proxy&.is_a?(AreaProxy)
|
136
|
-
AreaProxy.current_area_draw_params or
|
137
|
-
@args[0].is_a?(String) # first arg is file
|
126
|
+
@area_image ||= !!(@parent_proxy&.is_a?(AreaProxy) || AreaProxy.current_area_draw_params)
|
138
127
|
end
|
139
128
|
|
140
129
|
def destroy
|
@@ -146,23 +135,41 @@ module Glimmer
|
|
146
135
|
|
147
136
|
def build_control
|
148
137
|
unless area_image? # image object
|
149
|
-
|
150
|
-
|
138
|
+
if file
|
139
|
+
load_image
|
140
|
+
ImagePartProxy.new('image_part', self, [@data, width, height, width * 4])
|
141
|
+
end
|
142
|
+
@args[1] = @children.first.args[1] if @children.size == 1 && @args[1].nil?
|
143
|
+
@args[2] = @children.first.args[2] if @children.size == 1 && @args[2].nil?
|
144
|
+
@libui = ControlProxy.new_control(@keyword, [width, height])
|
151
145
|
@libui.tap do
|
152
146
|
@children.each {|child| child&.send(:build_control) }
|
153
147
|
end
|
154
148
|
end
|
149
|
+
rescue => e
|
150
|
+
Glimmer::Config.logger.error {"Failed to load image file: #{file}"}
|
151
|
+
Glimmer::Config.logger.error {e.full_message}
|
152
|
+
raise e
|
155
153
|
end
|
156
154
|
|
157
155
|
def load_image
|
158
156
|
require 'chunky_png'
|
159
|
-
|
160
|
-
|
161
|
-
|
157
|
+
canvas = nil
|
158
|
+
if file.start_with?('http')
|
159
|
+
require 'net/http'
|
160
|
+
require 'open-uri'
|
161
|
+
uri = URI(file)
|
162
|
+
canvas = ChunkyPNG::Canvas.from_string(Net::HTTP.get(uri))
|
163
|
+
else
|
164
|
+
f = File.open(file)
|
165
|
+
canvas = ChunkyPNG::Canvas.from_io(f)
|
166
|
+
f.close
|
167
|
+
end
|
162
168
|
canvas.resample_nearest_neighbor!(width, height) if width && height
|
163
169
|
@data = canvas.to_rgba_stream
|
164
170
|
self.width = canvas.width
|
165
171
|
self.height = canvas.height
|
172
|
+
[@data, width, height]
|
166
173
|
end
|
167
174
|
|
168
175
|
def parse_pixels
|
@@ -21,6 +21,7 @@
|
|
21
21
|
|
22
22
|
require 'glimmer/libui/control_proxy'
|
23
23
|
require 'glimmer/libui/control_proxy/dual_column'
|
24
|
+
require 'glimmer/libui/control_proxy/triple_column'
|
24
25
|
require 'glimmer/data_binding/observer'
|
25
26
|
require 'glimmer/fiddle_consumer'
|
26
27
|
|
@@ -137,7 +138,7 @@ module Glimmer
|
|
137
138
|
|
138
139
|
def build_control
|
139
140
|
@model_handler = ::LibUI::FFI::TableModelHandler.malloc
|
140
|
-
@model_handler.NumColumns = fiddle_closure_block_caller(4) { @columns.map {|c| c.is_a?(DualColumn) ? 2 : 1}.sum }
|
141
|
+
@model_handler.NumColumns = fiddle_closure_block_caller(4) { @columns.map {|c| c.is_a?(DualColumn) ? 2 : (c.is_a?(TripleColumn) ? 3 : 1)}.sum }
|
141
142
|
@model_handler.ColumnType = fiddle_closure_block_caller(4, [1, 1, 4]) do |_, _, column|
|
142
143
|
# TODO consider refactoring to use Glimmer::LibUI.enum_symbols(:table_value_type)
|
143
144
|
case @columns[column]
|
@@ -193,15 +194,27 @@ module Glimmer
|
|
193
194
|
column = @columns[column].index
|
194
195
|
@cell_rows[row] ||= []
|
195
196
|
@cell_rows[row][column] = ::LibUI.table_value_string(val).to_s
|
197
|
+
when Column::TextColorColumnProxy
|
198
|
+
column = @columns[column].index
|
199
|
+
@cell_rows[row] ||= []
|
200
|
+
@cell_rows[row][column] ||= []
|
201
|
+
@cell_rows[row][column][0] = ::LibUI.table_value_string(val).to_s
|
196
202
|
when :text
|
197
203
|
column = @columns[column - 1].index
|
204
|
+
@cell_rows[row] ||= []
|
205
|
+
@cell_rows[row][column] ||= []
|
198
206
|
@cell_rows[row][column][1] = ::LibUI.table_value_string(val).to_s
|
199
207
|
when Column::ButtonColumnProxy
|
200
208
|
@columns[column].notify_listeners(:on_clicked, row)
|
201
|
-
when Column::CheckboxColumnProxy
|
209
|
+
when Column::CheckboxColumnProxy
|
202
210
|
column = @columns[column].index
|
203
211
|
@cell_rows[row] ||= []
|
204
212
|
@cell_rows[row][column] = ::LibUI.table_value_int(val).to_i == 1
|
213
|
+
when Column::CheckboxTextColumnProxy
|
214
|
+
column = @columns[column].index
|
215
|
+
@cell_rows[row] ||= []
|
216
|
+
@cell_rows[row][column] ||= []
|
217
|
+
@cell_rows[row][column][0] = ::LibUI.table_value_int(val).to_i == 1
|
205
218
|
end
|
206
219
|
on_edited.each {|listener| listener.call(row, @cell_rows[row])}
|
207
220
|
end
|
@@ -113,6 +113,26 @@ module Glimmer
|
|
113
113
|
alias content_size= content_size
|
114
114
|
alias set_content_size content_size
|
115
115
|
|
116
|
+
def width(value = nil)
|
117
|
+
if value.nil?
|
118
|
+
content_size.first
|
119
|
+
else
|
120
|
+
set_content_size(value, height)
|
121
|
+
end
|
122
|
+
end
|
123
|
+
alias width= width
|
124
|
+
alias set_width width
|
125
|
+
|
126
|
+
def height(value = nil)
|
127
|
+
if value.nil?
|
128
|
+
content_size.last
|
129
|
+
else
|
130
|
+
set_content_size(width, value)
|
131
|
+
end
|
132
|
+
end
|
133
|
+
alias height= height
|
134
|
+
alias set_height height
|
135
|
+
|
116
136
|
def resizable(value = nil)
|
117
137
|
if value.nil?
|
118
138
|
@resizable = true if @resizable.nil?
|
data/lib/glimmer/libui/shape.rb
CHANGED
@@ -73,12 +73,27 @@ module Glimmer
|
|
73
73
|
@args = args
|
74
74
|
@block = block
|
75
75
|
set_parameter_defaults
|
76
|
+
build_control if implicit_path?
|
76
77
|
post_add_content if @block.nil?
|
77
78
|
end
|
78
79
|
|
79
80
|
# Subclasses may override to perform post add_content work (normally must call super)
|
80
81
|
def post_add_content
|
81
82
|
@parent&.post_initialize_child(self)
|
83
|
+
@parent.post_add_content if implicit_path? && dynamic?
|
84
|
+
end
|
85
|
+
|
86
|
+
def post_initialize_child(child, add_child: true)
|
87
|
+
if child.is_a?(ControlProxy::MatrixProxy)
|
88
|
+
path_proxy.post_initialize_child(child, add_child: add_child)
|
89
|
+
else
|
90
|
+
super(child, add_child: add_child)
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
def content(&block)
|
95
|
+
Glimmer::DSL::Engine.add_content(self, Glimmer::DSL::Libui::ShapeExpression.new, @keyword, &block)
|
96
|
+
request_auto_redraw
|
82
97
|
end
|
83
98
|
|
84
99
|
# Subclasses must override to perform draw work and call super afterwards to ensure calling destroy when semi-declarative in an on_draw method
|
@@ -105,6 +120,24 @@ module Glimmer
|
|
105
120
|
def path_proxy
|
106
121
|
find_parent_in_ancestors { |parent| parent.nil? || parent.is_a?(ControlProxy::PathProxy) }
|
107
122
|
end
|
123
|
+
|
124
|
+
def fill(*args)
|
125
|
+
path_proxy.fill(*args)
|
126
|
+
end
|
127
|
+
alias fill= fill
|
128
|
+
alias set_fill fill
|
129
|
+
|
130
|
+
def stroke(*args)
|
131
|
+
path_proxy.stroke(*args)
|
132
|
+
end
|
133
|
+
alias stroke= stroke
|
134
|
+
alias set_stroke stroke
|
135
|
+
|
136
|
+
def transform(matrix = nil)
|
137
|
+
path_proxy.transform(matrix)
|
138
|
+
end
|
139
|
+
alias transform= transform
|
140
|
+
alias set_transform transform
|
108
141
|
|
109
142
|
def respond_to?(method_name, *args, &block)
|
110
143
|
self.class.parameters.include?(method_name.to_s.sub(/=$/, '').sub(/^set_/, '').to_sym) or
|
@@ -117,6 +150,7 @@ module Glimmer
|
|
117
150
|
method_name = method_name.to_s
|
118
151
|
parameter_index = self.class.parameters.index(method_name_parameter)
|
119
152
|
if method_name.start_with?('set_') || method_name.end_with?('=') || !args.empty?
|
153
|
+
args = [args] if args.size > 1
|
120
154
|
if args.first != @args[parameter_index]
|
121
155
|
@args[parameter_index] = args.first
|
122
156
|
request_auto_redraw
|
@@ -124,13 +158,27 @@ module Glimmer
|
|
124
158
|
else
|
125
159
|
@args[parameter_index]
|
126
160
|
end
|
127
|
-
else
|
161
|
+
else # TODO consider if there is a need to redirect anything to path proxy or delete this TODO
|
128
162
|
super
|
129
163
|
end
|
130
164
|
end
|
131
165
|
|
132
166
|
private
|
133
167
|
|
168
|
+
def build_control
|
169
|
+
block = Proc.new {} if dynamic?
|
170
|
+
@parent = Glimmer::LibUI::ControlProxy::PathProxy.new('path', @parent, [], &block)
|
171
|
+
end
|
172
|
+
|
173
|
+
# indicates if nested directly under area or on_draw event (having an implicit path not an explicit path parent)
|
174
|
+
def implicit_path?
|
175
|
+
@implicit_path ||= !!(@parent.is_a?(Glimmer::LibUI::ControlProxy::AreaProxy) || (@parent.nil? && Glimmer::LibUI::ControlProxy::AreaProxy.current_area_draw_params))
|
176
|
+
end
|
177
|
+
|
178
|
+
def dynamic?
|
179
|
+
((@parent.nil? || (@parent.is_a?(ControlProxy::PathProxy) && @parent.parent_proxy.nil?)) && Glimmer::LibUI::ControlProxy::AreaProxy.current_area_draw_params)
|
180
|
+
end
|
181
|
+
|
134
182
|
def set_parameter_defaults
|
135
183
|
self.class.parameter_defaults.each_with_index do |default, i|
|
136
184
|
@args[i] ||= default
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: glimmer-dsl-libui
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andy Maleh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-11-
|
11
|
+
date: 2021-11-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: glimmer
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.
|
19
|
+
version: 2.5.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 2.
|
26
|
+
version: 2.5.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: os
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -190,20 +190,6 @@ dependencies:
|
|
190
190
|
- - "~>"
|
191
191
|
- !ruby/object:Gem::Version
|
192
192
|
version: 0.7.0
|
193
|
-
- !ruby/object:Gem::Dependency
|
194
|
-
name: chunky_png
|
195
|
-
requirement: !ruby/object:Gem::Requirement
|
196
|
-
requirements:
|
197
|
-
- - "~>"
|
198
|
-
- !ruby/object:Gem::Version
|
199
|
-
version: 1.4.0
|
200
|
-
type: :development
|
201
|
-
prerelease: false
|
202
|
-
version_requirements: !ruby/object:Gem::Requirement
|
203
|
-
requirements:
|
204
|
-
- - "~>"
|
205
|
-
- !ruby/object:Gem::Version
|
206
|
-
version: 1.4.0
|
207
193
|
description: Glimmer DSL for LibUI (Prerequisite-Free Ruby Desktop Development GUI
|
208
194
|
Library) - No need to pre-install any prerequisites. Just install the gem and have
|
209
195
|
platform-independent native GUI that just works! Glimmer DSL for LibUI aims to provide
|
@@ -231,6 +217,8 @@ files:
|
|
231
217
|
- examples/area_gallery4.rb
|
232
218
|
- examples/basic_area.rb
|
233
219
|
- examples/basic_area2.rb
|
220
|
+
- examples/basic_area3.rb
|
221
|
+
- examples/basic_area4.rb
|
234
222
|
- examples/basic_button.rb
|
235
223
|
- examples/basic_draw_text.rb
|
236
224
|
- examples/basic_draw_text2.rb
|
@@ -240,15 +228,20 @@ files:
|
|
240
228
|
- examples/basic_image3.rb
|
241
229
|
- examples/basic_image4.rb
|
242
230
|
- examples/basic_image5.rb
|
231
|
+
- examples/basic_scrolling_area.rb
|
243
232
|
- examples/basic_table.rb
|
244
233
|
- examples/basic_table_button.rb
|
245
234
|
- examples/basic_table_checkbox.rb
|
246
235
|
- examples/basic_table_checkbox_text.rb
|
247
236
|
- examples/basic_table_color.rb
|
237
|
+
- examples/basic_table_color2.rb
|
248
238
|
- examples/basic_table_image.rb
|
239
|
+
- examples/basic_table_image2.rb
|
249
240
|
- examples/basic_table_image_text.rb
|
241
|
+
- examples/basic_table_image_text2.rb
|
250
242
|
- examples/basic_table_progress_bar.rb
|
251
243
|
- examples/basic_transform.rb
|
244
|
+
- examples/basic_transform2.rb
|
252
245
|
- examples/basic_window.rb
|
253
246
|
- examples/basic_window2.rb
|
254
247
|
- examples/color_button.rb
|
@@ -405,7 +398,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
405
398
|
- !ruby/object:Gem::Version
|
406
399
|
version: '0'
|
407
400
|
requirements: []
|
408
|
-
rubygems_version: 3.2.
|
401
|
+
rubygems_version: 3.2.31
|
409
402
|
signing_key:
|
410
403
|
specification_version: 4
|
411
404
|
summary: Glimmer DSL for LibUI
|