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