white_gold 0.0.3 → 0.0.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/ext/dll/tgui.dll +0 -0
- data/ext/so/libtgui.so +0 -0
- data/lib/white_gold/abi/enum.rb +1 -1
- data/lib/white_gold/abi/interface/interface.rb +3 -7
- data/lib/white_gold/convention/bang_def.rb +14 -0
- data/lib/white_gold/convention/bang_nest.rb +1 -1
- data/lib/white_gold/convention/bang_nested_caller.rb +55 -22
- data/lib/white_gold/convention/container_widgets.rb +46 -86
- data/lib/white_gold/convention/page.rb +10 -4
- data/lib/white_gold/convention/theme/boolean_attribute.rb +11 -9
- data/lib/white_gold/convention/theme/color_attribute.rb +11 -9
- data/lib/white_gold/convention/theme/float_attribute.rb +11 -9
- data/lib/white_gold/convention/theme/outline_attribute.rb +11 -9
- data/lib/white_gold/convention/theme/text_styles_attribute.rb +14 -12
- data/lib/white_gold/convention/theme/texture_attribute.rb +14 -12
- data/lib/white_gold/convention/theme/theme_attributed.rb +1 -1
- data/lib/white_gold/convention/theme/theme_component.rb +1 -1
- data/lib/white_gold/convention/theme_attributes.rb +6 -2
- data/lib/white_gold/convention/widget/keyboard_control.rb +30 -0
- data/lib/white_gold/convention/widget_class_aliases.rb +24 -0
- data/lib/white_gold/dsl/canvas.rb +5 -5
- data/lib/white_gold/dsl/chat_box.rb +1 -1
- data/lib/white_gold/dsl/child_window.rb +1 -1
- data/lib/white_gold/dsl/color.rb +4 -2
- data/lib/white_gold/dsl/combo_box.rb +2 -2
- data/lib/white_gold/dsl/container.rb +1 -1
- data/lib/white_gold/dsl/custom_widget.rb +28 -0
- data/lib/white_gold/dsl/grid.rb +34 -10
- data/lib/white_gold/dsl/gui.rb +10 -1
- data/lib/white_gold/dsl/label.rb +3 -0
- data/lib/white_gold/dsl/list_box.rb +2 -2
- data/lib/white_gold/dsl/list_view.rb +6 -6
- data/lib/white_gold/dsl/menu_bar.rb +4 -4
- data/lib/white_gold/dsl/message_box.rb +3 -3
- data/lib/white_gold/dsl/panel.rb +8 -0
- data/lib/white_gold/dsl/panel_list_box.rb +12 -3
- data/lib/white_gold/dsl/radio_button.rb +15 -2
- data/lib/white_gold/dsl/scrollable_panel.rb +7 -0
- data/lib/white_gold/dsl/sfml/circle_shape.rb +4 -0
- data/lib/white_gold/dsl/sfml/convex_shape.rb +4 -0
- data/lib/white_gold/dsl/sfml/rectangle_shape.rb +4 -0
- data/lib/white_gold/dsl/sfml/text.rb +4 -0
- data/lib/white_gold/dsl/signal/global_signal.rb +1 -1
- data/lib/white_gold/dsl/signal/signal.rb +1 -1
- data/lib/white_gold/dsl/signal/signal_animation_type.rb +1 -1
- data/lib/white_gold/dsl/signal/signal_bool.rb +1 -1
- data/lib/white_gold/dsl/signal/signal_color.rb +1 -1
- data/lib/white_gold/dsl/signal/signal_float.rb +1 -1
- data/lib/white_gold/dsl/signal/signal_int.rb +1 -1
- data/lib/white_gold/dsl/signal/signal_pointer.rb +1 -1
- data/lib/white_gold/dsl/signal/signal_range.rb +1 -1
- data/lib/white_gold/dsl/signal/signal_show_effect.rb +1 -1
- data/lib/white_gold/dsl/signal/signal_string.rb +1 -1
- data/lib/white_gold/dsl/signal/signal_u_int.rb +1 -1
- data/lib/white_gold/dsl/signal/signal_vector2f.rb +1 -1
- data/lib/white_gold/dsl/tab_container.rb +2 -2
- data/lib/white_gold/dsl/tabs.rb +2 -2
- data/lib/white_gold/dsl/theme.rb +2 -2
- data/lib/white_gold/dsl/toggle_button.rb +3 -0
- data/lib/white_gold/dsl/tree_view.rb +2 -2
- data/lib/white_gold/dsl/widget.rb +53 -23
- data/lib/white_gold/dsl/window.rb +7 -0
- data/lib/white_gold/generated/tgui-abi-loader.gf.rb +76 -1
- data/lib/white_gold/library/theme/light.rb +8 -1
- data/lib/white_gold/master.rb +30 -10
- data/lib/white_gold/path/array.path.rb +16 -0
- data/lib/white_gold/tgui-abi.rb +32 -22
- data/lib/white_gold/version.rb +1 -1
- data/lib/white_gold.rb +3 -1
- metadata +6 -3
- data/lib/white_gold/abi/reducer.rb +0 -12
data/lib/white_gold/tgui-abi.rb
CHANGED
@@ -56,6 +56,8 @@ class ExternObject
|
|
56
56
|
:size_bottom_left, :size_top_right, :size_horizontal, :size_vertical,
|
57
57
|
:crosshair, :help, :not_allowed
|
58
58
|
|
59
|
+
abi_bit_enum "WindowStyle", :none, :titlebar, :resize, :close, :fullscreen, :topmost, default: 7
|
60
|
+
|
59
61
|
end
|
60
62
|
|
61
63
|
def each_file_ancestor base, dir, &b
|
@@ -69,12 +71,16 @@ def each_file_ancestor base, dir, &b
|
|
69
71
|
end
|
70
72
|
end
|
71
73
|
|
72
|
-
each_file_ancestor File.dirname(__FILE__), "dsl" do |
|
73
|
-
require_relative
|
74
|
+
each_file_ancestor File.dirname(__FILE__), "dsl" do |file|
|
75
|
+
require_relative file
|
76
|
+
end
|
77
|
+
each_file_ancestor File.dirname(__FILE__), "convention/widget" do |file|
|
78
|
+
require_relative file
|
74
79
|
end
|
75
80
|
|
76
81
|
# ABI loader should be required after dsl directory files because of class hierarchy
|
77
82
|
require_relative 'generated/tgui-abi-loader.gf'
|
83
|
+
require_relative 'convention/widget_class_aliases'
|
78
84
|
require_relative 'convention/container_widgets'
|
79
85
|
require_relative 'convention/theme_attributes'
|
80
86
|
|
@@ -155,7 +161,7 @@ class ExternObject
|
|
155
161
|
when Numeric then Unit.nominate o
|
156
162
|
when :center then "(parent.innersize - size) / 2"
|
157
163
|
when :begin then "0"
|
158
|
-
when :end then "parent.innersize - size
|
164
|
+
when :end then "parent.innersize - size"
|
159
165
|
else raise "Invalid value `#{o}` given"
|
160
166
|
end
|
161
167
|
end
|
@@ -172,24 +178,29 @@ class ExternObject
|
|
172
178
|
[abi_pack_float(x), abi_pack_float(y)]
|
173
179
|
end
|
174
180
|
|
175
|
-
abi_packer Tgui::Abi::Vector2u do |
|
176
|
-
case
|
177
|
-
when
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
181
|
+
abi_packer Tgui::Abi::Vector2u do |*arg|
|
182
|
+
case arg.size
|
183
|
+
when 1
|
184
|
+
a = arg.first
|
185
|
+
x = y = a
|
186
|
+
when 2
|
187
|
+
x, y = *arg
|
188
|
+
else raise "Unsupported argument #{arg}"
|
182
189
|
end
|
190
|
+
[abi_pack_integer(x), abi_pack_integer(y)]
|
183
191
|
end
|
184
192
|
|
185
|
-
abi_packer Tgui::Abi::UIntRect do |
|
186
|
-
case
|
187
|
-
when
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
193
|
+
abi_packer Tgui::Abi::UIntRect do |*arg|
|
194
|
+
case arg.size
|
195
|
+
when 1
|
196
|
+
a = [arg.first] * 4
|
197
|
+
when 2
|
198
|
+
a = [arg[0], arg[0], arg[1], arg[1]]
|
199
|
+
when 4
|
200
|
+
a = arg
|
201
|
+
else raise "Unsupported argument #{arg}"
|
192
202
|
end
|
203
|
+
a.map{ abi_pack_integer _1 }
|
193
204
|
end
|
194
205
|
|
195
206
|
abi_packer Tgui::Color
|
@@ -201,11 +212,10 @@ class ExternObject
|
|
201
212
|
a = []
|
202
213
|
(0..).each do |i|
|
203
214
|
i *= 4
|
204
|
-
ch = (o[i]) | (o[i + 1] << 8) | (o[i + 2] << 16) | (o[i + 3] << 24)
|
215
|
+
ch = (o[i] & 0xFF) | ((o[i + 1] & 0xFF) << 8) | ((o[i + 2] & 0xFF) << 16) | ((o[i + 3] & 0xFF) << 24)
|
205
216
|
break if ch == 0
|
206
217
|
a << ch
|
207
218
|
end
|
208
|
-
raise "deleted string!" if a[0] == 572653601
|
209
219
|
a.pack("N*").encode("UTF-8", "UTF-32BE")
|
210
220
|
end
|
211
221
|
|
@@ -224,7 +234,7 @@ class ExternObject
|
|
224
234
|
vector2f_unpacker = proc do |o|
|
225
235
|
v = Tgui::Vector2f.new o
|
226
236
|
r = [v.x, v.y]
|
227
|
-
Util.free(o)
|
237
|
+
Tgui::Util.free(o)
|
228
238
|
r
|
229
239
|
end
|
230
240
|
|
@@ -237,14 +247,14 @@ class ExternObject
|
|
237
247
|
abi_unpacker Tgui::Vector2u do |o|
|
238
248
|
v = Tgui::Vector2u.new o
|
239
249
|
r = [v.x, v.y]
|
240
|
-
Util.free(o)
|
250
|
+
Tgui::Util.free(o)
|
241
251
|
r
|
242
252
|
end
|
243
253
|
|
244
254
|
abi_unpacker Tgui::UIntRect do |o|
|
245
255
|
v = Tgui::UIntRect.new o
|
246
256
|
r = [v.left, v.top, v.width, v.height]
|
247
|
-
Util.free(o)
|
257
|
+
Tgui::Util.free(o)
|
248
258
|
r
|
249
259
|
end
|
250
260
|
|
data/lib/white_gold/version.rb
CHANGED
data/lib/white_gold.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require_relative 'white_gold/master'
|
2
|
+
require_relative 'white_gold/path/array.path'
|
2
3
|
include Tgui
|
3
4
|
|
4
5
|
@white_gold_instance = WhiteGold.new
|
@@ -37,7 +38,7 @@ def! :run do |page = nil|
|
|
37
38
|
@white_gold_instance = nil
|
38
39
|
end
|
39
40
|
|
40
|
-
@white_gold_instance.init
|
41
|
+
@white_gold_instance.init window_size: $window_size, window_style: $window_style
|
41
42
|
@white_gold_instance.load_page Page
|
42
43
|
if $0 != 'irb'
|
43
44
|
at_exit do
|
@@ -45,4 +46,5 @@ if $0 != 'irb'
|
|
45
46
|
end
|
46
47
|
end
|
47
48
|
|
49
|
+
BangNestedCaller.open_scope self
|
48
50
|
BangNestedCaller.push self
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: white_gold
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Łukasz Pomietło
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-01-
|
11
|
+
date: 2024-01-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fiddle
|
@@ -55,7 +55,6 @@ files:
|
|
55
55
|
- lib/white_gold/abi/interface/interface_composed_out.rb
|
56
56
|
- lib/white_gold/abi/interface/interface_single_out.rb
|
57
57
|
- lib/white_gold/abi/packer.rb
|
58
|
-
- lib/white_gold/abi/reducer.rb
|
59
58
|
- lib/white_gold/abi/unpacker.rb
|
60
59
|
- lib/white_gold/convention/api_child.rb
|
61
60
|
- lib/white_gold/convention/bang_def.rb
|
@@ -78,6 +77,8 @@ files:
|
|
78
77
|
- lib/white_gold/convention/theme_attributes.rb
|
79
78
|
- lib/white_gold/convention/tree_node.rb
|
80
79
|
- lib/white_gold/convention/unit.rb
|
80
|
+
- lib/white_gold/convention/widget/keyboard_control.rb
|
81
|
+
- lib/white_gold/convention/widget_class_aliases.rb
|
81
82
|
- lib/white_gold/convention/widget_like.rb
|
82
83
|
- lib/white_gold/dsl/backend_gui.rb
|
83
84
|
- lib/white_gold/dsl/bitmap_button.rb
|
@@ -94,6 +95,7 @@ files:
|
|
94
95
|
- lib/white_gold/dsl/color_picker.rb
|
95
96
|
- lib/white_gold/dsl/combo_box.rb
|
96
97
|
- lib/white_gold/dsl/container.rb
|
98
|
+
- lib/white_gold/dsl/custom_widget.rb
|
97
99
|
- lib/white_gold/dsl/edit_box.rb
|
98
100
|
- lib/white_gold/dsl/file_dialog.rb
|
99
101
|
- lib/white_gold/dsl/font.rb
|
@@ -162,6 +164,7 @@ files:
|
|
162
164
|
- lib/white_gold/generated/tgui-abi-loader.gf.rb
|
163
165
|
- lib/white_gold/library/theme/light.rb
|
164
166
|
- lib/white_gold/master.rb
|
167
|
+
- lib/white_gold/path/array.path.rb
|
165
168
|
- lib/white_gold/path/kernel.path.rb
|
166
169
|
- lib/white_gold/path/numeric.path.rb
|
167
170
|
- lib/white_gold/path/object.path.rb
|