white_gold 0.0.2 → 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.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/ext/dll/tgui.dll +0 -0
  3. data/ext/so/libtgui.so +0 -0
  4. data/lib/white_gold/abi/enum.rb +1 -1
  5. data/lib/white_gold/abi/extern_object.rb +6 -1
  6. data/lib/white_gold/abi/interface/interface.rb +3 -7
  7. data/lib/white_gold/abi/unpacker.rb +4 -2
  8. data/lib/white_gold/convention/bang_def.rb +14 -0
  9. data/lib/white_gold/convention/bang_nest.rb +12 -2
  10. data/lib/white_gold/convention/bang_nested_caller.rb +65 -32
  11. data/lib/white_gold/convention/container_widgets.rb +61 -96
  12. data/lib/white_gold/convention/page.rb +28 -4
  13. data/lib/white_gold/convention/theme/boolean_attribute.rb +11 -9
  14. data/lib/white_gold/convention/theme/color_attribute.rb +11 -9
  15. data/lib/white_gold/convention/theme/float_attribute.rb +11 -9
  16. data/lib/white_gold/convention/theme/outline_attribute.rb +11 -9
  17. data/lib/white_gold/convention/theme/text_styles_attribute.rb +16 -9
  18. data/lib/white_gold/convention/theme/texture_attribute.rb +14 -12
  19. data/lib/white_gold/convention/theme/theme_attributed.rb +1 -1
  20. data/lib/white_gold/convention/theme/theme_component.rb +1 -1
  21. data/lib/white_gold/convention/theme_attributes.rb +6 -2
  22. data/lib/white_gold/convention/tree_node.rb +43 -0
  23. data/lib/white_gold/convention/widget/keyboard_control.rb +30 -0
  24. data/lib/white_gold/convention/widget_class_aliases.rb +24 -0
  25. data/lib/white_gold/convention/widget_like.rb +0 -6
  26. data/lib/white_gold/dsl/backend_gui.rb +1 -0
  27. data/lib/white_gold/dsl/canvas.rb +40 -0
  28. data/lib/white_gold/dsl/chat_box.rb +1 -1
  29. data/lib/white_gold/dsl/child_window.rb +1 -1
  30. data/lib/white_gold/dsl/color.rb +9 -4
  31. data/lib/white_gold/dsl/combo_box.rb +2 -2
  32. data/lib/white_gold/dsl/container.rb +18 -12
  33. data/lib/white_gold/dsl/custom_widget.rb +28 -0
  34. data/lib/white_gold/dsl/font.rb +5 -1
  35. data/lib/white_gold/dsl/grid.rb +37 -13
  36. data/lib/white_gold/dsl/gui.rb +10 -1
  37. data/lib/white_gold/dsl/label.rb +3 -0
  38. data/lib/white_gold/dsl/list_box.rb +7 -11
  39. data/lib/white_gold/dsl/list_view.rb +6 -6
  40. data/lib/white_gold/dsl/menu_bar.rb +5 -48
  41. data/lib/white_gold/dsl/message_box.rb +3 -3
  42. data/lib/white_gold/dsl/panel.rb +8 -0
  43. data/lib/white_gold/dsl/panel_list_box.rb +12 -3
  44. data/lib/white_gold/dsl/radio_button.rb +15 -2
  45. data/lib/white_gold/dsl/scrollable_panel.rb +7 -0
  46. data/lib/white_gold/dsl/sfml/circle_shape.rb +11 -0
  47. data/lib/white_gold/dsl/sfml/convex_shape.rb +19 -0
  48. data/lib/white_gold/dsl/sfml/rectangle_shape.rb +11 -0
  49. data/lib/white_gold/dsl/sfml/shape.rb +19 -0
  50. data/lib/white_gold/dsl/sfml/text.rb +26 -0
  51. data/lib/white_gold/dsl/signal/global_signal.rb +1 -1
  52. data/lib/white_gold/dsl/signal/signal.rb +1 -1
  53. data/lib/white_gold/dsl/signal/signal_animation_type.rb +1 -1
  54. data/lib/white_gold/dsl/signal/signal_bool.rb +1 -1
  55. data/lib/white_gold/dsl/signal/signal_color.rb +1 -1
  56. data/lib/white_gold/dsl/signal/signal_float.rb +1 -1
  57. data/lib/white_gold/dsl/signal/signal_int.rb +1 -1
  58. data/lib/white_gold/dsl/signal/signal_pointer.rb +1 -1
  59. data/lib/white_gold/dsl/signal/signal_range.rb +1 -1
  60. data/lib/white_gold/dsl/signal/signal_show_effect.rb +1 -1
  61. data/lib/white_gold/dsl/signal/signal_string.rb +1 -1
  62. data/lib/white_gold/dsl/signal/signal_u_int.rb +1 -1
  63. data/lib/white_gold/dsl/signal/signal_vector2f.rb +1 -1
  64. data/lib/white_gold/dsl/tab_container.rb +2 -2
  65. data/lib/white_gold/dsl/tabs.rb +2 -2
  66. data/lib/white_gold/dsl/theme.rb +2 -2
  67. data/lib/white_gold/dsl/toggle_button.rb +3 -0
  68. data/lib/white_gold/dsl/tree_view.rb +21 -33
  69. data/lib/white_gold/dsl/widget.rb +112 -49
  70. data/lib/white_gold/dsl/window.rb +7 -0
  71. data/lib/white_gold/generated/tgui-abi-loader.gf.rb +273 -48
  72. data/lib/white_gold/library/theme/light.rb +8 -1
  73. data/lib/white_gold/master.rb +43 -42
  74. data/lib/white_gold/path/array.path.rb +16 -0
  75. data/lib/white_gold/tgui-abi.rb +48 -38
  76. data/lib/white_gold/version.rb +3 -0
  77. data/lib/white_gold.rb +31 -28
  78. metadata +20 -6
  79. data/lib/white_gold/abi/reducer.rb +0 -12
@@ -41,7 +41,7 @@ editbox! do
41
41
  selected_text_background_color! 157, 185, 240
42
42
  end
43
43
 
44
- text_area! do
44
+ textarea! do
45
45
  background_color! 220
46
46
  default_text_color! 100
47
47
  caret_width! 2
@@ -59,6 +59,9 @@ combobox! do
59
59
  arrow_background_color_hover! 200
60
60
  end
61
61
 
62
+ label! do
63
+ end
64
+
62
65
  listbox! do
63
66
  background_color! 240
64
67
  background_color_hover! 220
@@ -76,6 +79,10 @@ menu! do
76
79
  separator_side_padding! 2
77
80
  end
78
81
 
82
+ panel! do
83
+ background_color! 235
84
+ end
85
+
79
86
  progressbar! do
80
87
  borders! 1
81
88
  end
@@ -17,20 +17,26 @@ class WhiteGold
17
17
  @frame_delay = 1.0 / fps
18
18
  end
19
19
 
20
- def init init_page = :main_page, fps: nil, theme: nil
21
- @window = Window.new
20
+ def init fps: nil, theme: nil, window_size: nil, window_style: nil
21
+ eo = ExternObject.new pointer: nil, autofree: false # object for packing
22
+ if window_size == :fullscreen
23
+ window_style = :fullscreen
24
+ window_size = nil
25
+ end
26
+ window_size ||= [800, 600]
27
+ @window = Window.new *eo.abi_pack(Vector2u, *window_size), *eo.abi_pack(ExternObject::WindowStyle, *(window_style || :default))
22
28
  @gui = Gui.new window
23
29
  @preserved_pages = {}
24
30
  Theme.default = theme if theme
25
31
  self.fps = fps if fps
26
32
  @frame_delay = 0.015 if !@frame_delay
27
33
  @jobs = []
28
- @next_page_id = init_page
29
- load_page init_page
34
+ @initialized = true
30
35
  end
31
36
 
32
- def run init_page = :main_page, fps: nil, theme: nil, init: true
33
- self.init init_page, fps: fps, theme: theme if init
37
+ def run page = nil, fps: nil, theme: nil, window_size: nil, window_style: nil
38
+ self.init fps: fps, theme: theme, window_size: window_size, window_style: window_style if !@initialized
39
+ load_page page if page
34
40
 
35
41
  next_frame_time = Time.now
36
42
  while @gui.self_active?
@@ -39,6 +45,8 @@ class WhiteGold
39
45
  if @current_page_id != @next_page_id
40
46
  if @current_page_id
41
47
  page = @preserved_pages[@current_page_id]
48
+ BangNestedCaller.pop
49
+ BangNestedCaller.close_scope page
42
50
  @gui.self_remove page
43
51
  page.disconnect
44
52
  @preserved_pages.delete(@current_page_id)
@@ -53,35 +61,34 @@ class WhiteGold
53
61
  end
54
62
 
55
63
  def load_page page_id
56
- @current_page_id = page_id
64
+ @next_page_id = @current_page_id = page_id
57
65
  case page_id
58
66
  when Symbol
59
67
  page = @preserved_pages[page_id] = Page.new self
60
- @gui.self_add page, "main_container"
61
- @current_page = page
62
- ExternObject.callback_storage = page.widget_callbacks
63
- ExternObject.global_callback_storage = page.global_callbacks
64
- ExternObject.data_storage = page.custom_data
68
+ init_page page
65
69
  send(page_id)
66
70
  when Class
67
71
  page = @preserved_pages[page_id] = page_id.new self
68
- @gui.self_add page, "main_container"
69
- @current_page = page
70
- ExternObject.callback_storage = page.widget_callbacks
71
- ExternObject.global_callback_storage = page.global_callbacks
72
- ExternObject.data_storage = page.custom_data
72
+ init_page page
73
73
  page.build
74
74
  when Proc
75
75
  page = @preserved_pages[page_id] = Page.new self
76
- @gui.self_add page, "main_container"
77
- @current_page = page
78
- ExternObject.callback_storage = page.widget_callbacks
79
- ExternObject.global_callback_storage = page.global_callbacks
80
- ExternObject.data_storage = page.custom_data
81
- instance_exec &page_id
76
+ init_page page
77
+ page.instance_eval &page_id
82
78
  end
83
79
  end
84
80
 
81
+ def init_page page
82
+ @gui.self_add page, "main_container"
83
+ @gui.page = page
84
+ @current_page = page
85
+ ExternObject.callback_storage = page.widget_callbacks
86
+ ExternObject.global_callback_storage = page.global_callbacks
87
+ ExternObject.data_storage = page.custom_data
88
+ BangNestedCaller.open_scope page
89
+ BangNestedCaller.push page
90
+ end
91
+
85
92
  attr_accessor :next_page_id
86
93
  attr :gui, :window
87
94
 
@@ -101,6 +108,7 @@ class WhiteGold
101
108
  @repeat = repeat
102
109
  @job = b
103
110
  @result = NO_RESULT
111
+ @counter = 0
104
112
  self.run if run
105
113
  end
106
114
 
@@ -114,6 +122,7 @@ class WhiteGold
114
122
  def on_done &b
115
123
  @on_done = b
116
124
  b.(@result) if @thread && !@thread.alive?
125
+ self
117
126
  end
118
127
 
119
128
  def audit
@@ -123,6 +132,7 @@ class WhiteGold
123
132
  else
124
133
  @on_done.(@result) if @on_done
125
134
  if @repeat
135
+ @counter += 1
126
136
  run
127
137
  return true
128
138
  else
@@ -130,14 +140,22 @@ class WhiteGold
130
140
  end
131
141
  end
132
142
  else
133
- return true
143
+ return !!@job
134
144
  end
135
145
  end
136
146
 
137
147
  def finish result = NO_RESULT
138
- @repeat = false
148
+ @thread.kill
139
149
  @result = result if result != NO_RESULT
140
150
  end
151
+
152
+ attr :counter
153
+ attr_accessor :repeat
154
+
155
+ def cancel
156
+ @thread.kill
157
+ @thread = @job = nil
158
+ end
141
159
  end
142
160
 
143
161
  def job delay: nil, repeat: false, &b
@@ -150,21 +168,4 @@ class WhiteGold
150
168
  job delay: delay || delay_, repeat: do
151
169
  end.on_done &b
152
170
  end
153
-
154
- def respond_to? name
155
- super || @current_page.respond_to?(name)
156
- end
157
-
158
- def method_missing name, *a, **na, &b
159
- if @current_page.respond_to? name
160
- @current_page.send(name, *a, **na, &b)
161
- elsif @gui.respond_to? name
162
- @gui.send(name, *a, **na, &b)
163
- elsif @window.respond_to? name
164
- @window.send(name, *a, **na, &b)
165
- else
166
- no_method_error = "method '#{name}' missing in Page/Gui/Window"
167
- raise no_method_error
168
- end
169
- end
170
171
  end
@@ -0,0 +1,16 @@
1
+ class Array
2
+ def x
3
+ self[0]
4
+ end
5
+
6
+ def y
7
+ self[1]
8
+ end
9
+
10
+ alias_method :_insert, :[]=
11
+
12
+ def []=(*a)
13
+ a.size != 1 ? _insert(*a) : append(a[0])
14
+ return a.last
15
+ end
16
+ end
@@ -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 |dsl_file|
73
- require_relative dsl_file
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,39 +161,46 @@ 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 / 2"
164
+ when :end then "parent.innersize - size"
159
165
  else raise "Invalid value `#{o}` given"
160
166
  end
161
167
  end
162
168
 
163
- abi_packer Tgui::Abi::Vector2f do |o|
164
- case o
165
- when Array
166
- raise "Invalid array size excepted: #{2}, given: #{o.size}" if o.size != 2
167
- return o.map{ abi_pack_float _1 }
168
- else
169
- raise "Unable to make Vector2f from #{o}"
169
+ abi_packer Tgui::Abi::Vector2f do |*arg|
170
+ case arg.size
171
+ when 1
172
+ a = arg.first
173
+ x = y = a
174
+ when 2
175
+ x, y = *arg
176
+ else raise "Unsupported argument #{arg}"
170
177
  end
178
+ [abi_pack_float(x), abi_pack_float(y)]
171
179
  end
172
180
 
173
- abi_packer Tgui::Abi::Vector2u do |o|
174
- case o
175
- when Array
176
- raise "Invalid array size excepted: #{2}, given: #{o.size}" if o.size != 2
177
- return o.map{ abi_pack_integer _1 }
178
- else
179
- raise "Unable to make Vector2u from #{o}"
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}"
180
189
  end
190
+ [abi_pack_integer(x), abi_pack_integer(y)]
181
191
  end
182
192
 
183
- abi_packer Tgui::Abi::UIntRect do |o|
184
- case o
185
- when Array
186
- raise "Invalid array size excepted: #{4}, given: #{o.size}" if o.size != 4
187
- return o.map{ abi_pack_integer _1 }
188
- else
189
- raise "Unable to make UIntRect from #{o}"
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}"
190
202
  end
203
+ a.map{ abi_pack_integer _1 }
191
204
  end
192
205
 
193
206
  abi_packer Tgui::Color
@@ -199,11 +212,10 @@ class ExternObject
199
212
  a = []
200
213
  (0..).each do |i|
201
214
  i *= 4
202
- 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)
203
216
  break if ch == 0
204
217
  a << ch
205
218
  end
206
- raise "deleted string!" if a[0] == 572653601
207
219
  a.pack("N*").encode("UTF-8", "UTF-32BE")
208
220
  end
209
221
 
@@ -219,32 +231,30 @@ class ExternObject
219
231
  o.odd?
220
232
  end
221
233
 
222
- abi_unpacker "SizeLayout" do |o|
223
- [o.x, o.y]
224
- end
225
-
226
- abi_unpacker "PositionLayout" do |o|
227
- [o.x, o.y]
228
- end
229
-
230
- abi_unpacker Tgui::Vector2f do |o|
234
+ vector2f_unpacker = proc do |o|
231
235
  v = Tgui::Vector2f.new o
232
236
  r = [v.x, v.y]
233
- Util.free(o)
237
+ Tgui::Util.free(o)
234
238
  r
235
239
  end
236
240
 
241
+ abi_unpacker "SizeLayout", &vector2f_unpacker
242
+
243
+ abi_unpacker "PositionLayout", &vector2f_unpacker
244
+
245
+ abi_unpacker Tgui::Vector2f, &vector2f_unpacker
246
+
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
 
@@ -0,0 +1,3 @@
1
+ class WhiteGold
2
+ VERSION = "0.0.4"
3
+ end
data/lib/white_gold.rb CHANGED
@@ -1,47 +1,50 @@
1
1
  require_relative 'white_gold/master'
2
+ require_relative 'white_gold/path/array.path'
2
3
  include Tgui
3
4
 
4
- @wg = WhiteGold.new
5
+ @white_gold_instance = WhiteGold.new
5
6
 
6
- @wg.methods.difference(Object.instance_methods, [:respond_to?, :method_missing, :go, :[], :page]).each do |m|
7
- define_method m do |*a, **na, &b|
8
- @wg.send(m, *a, **na, &b)
9
- end
10
- end
7
+ class << self
8
+ include BangNestedCaller
9
+ include BangDef
11
10
 
12
- class << self
11
+ def go page
12
+ @white_gold_instance.go page.is_a?(Symbol) ? proc{ send(page) } : page
13
+ end
14
+
15
+ def page
16
+ @white_gold_instance.page
17
+ end
13
18
 
14
19
  def respond_to? name
15
- super || (name.end_with?("!") && @wg.respond_to?(name))
20
+ super ||
21
+ (name.end_with?("!") && bang_respond_to?(name[...-1])) ||
22
+ @white_gold_instance.page.respond_to?(name)
16
23
  end
17
24
 
18
25
  def method_missing name, *a, **na, &b
19
- if name.end_with?("!")
20
- @wg.send(name, *a, **na, &b)
26
+ if name.end_with? "!"
27
+ bang_method_missing name[...-1], *a, **na, &b
28
+ elsif @white_gold_instance.page.respond_to? name
29
+ @white_gold_instance.page.send name, *a, **na, &b
21
30
  else super
22
31
  end
23
32
  end
33
+ end
24
34
 
25
- def go page
26
- method(page).unbind.bind(@wg) if Symbol === page && !@wg.respond_to?(page)
27
- @wg.go page
28
- end
29
-
30
- def page
31
- @wg.page
32
- end
33
-
34
- def def! name, &b
35
- @wg.page.class.def! name, &b
36
- end
35
+ def! :run do |page = nil|
36
+ go page if page
37
+ @white_gold_instance.run
38
+ @white_gold_instance = nil
37
39
  end
38
40
 
39
- @wg.init Page
41
+ @white_gold_instance.init window_size: $window_size, window_style: $window_style
42
+ @white_gold_instance.load_page Page
40
43
  if $0 != 'irb'
41
44
  at_exit do
42
- go :main_page
43
- rescue NameError
44
- ensure
45
- @wg.run init: false
45
+ @white_gold_instance&.run
46
46
  end
47
- end
47
+ end
48
+
49
+ BangNestedCaller.open_scope self
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.2
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-02 00:00:00.000000000 Z
11
+ date: 2024-01-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fiddle
@@ -24,8 +24,10 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.1'
27
- description: " Ruby gem for building pure ruby graphical user interface. \n Uses
28
- TGUI & SFML as a backend.\n"
27
+ description: |2
28
+ Ruby gem for building pure ruby graphical user interface.
29
+ Uses TGUI & SFML as a backend.
30
+ Dedicated to creating single-file applications and learning programming.
29
31
  email: oficjalnyadreslukasza@gmail.com
30
32
  executables: []
31
33
  extensions: []
@@ -53,7 +55,6 @@ files:
53
55
  - lib/white_gold/abi/interface/interface_composed_out.rb
54
56
  - lib/white_gold/abi/interface/interface_single_out.rb
55
57
  - lib/white_gold/abi/packer.rb
56
- - lib/white_gold/abi/reducer.rb
57
58
  - lib/white_gold/abi/unpacker.rb
58
59
  - lib/white_gold/convention/api_child.rb
59
60
  - lib/white_gold/convention/bang_def.rb
@@ -74,7 +75,10 @@ files:
74
75
  - lib/white_gold/convention/theme/theme_attributed.rb
75
76
  - lib/white_gold/convention/theme/theme_component.rb
76
77
  - lib/white_gold/convention/theme_attributes.rb
78
+ - lib/white_gold/convention/tree_node.rb
77
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
78
82
  - lib/white_gold/convention/widget_like.rb
79
83
  - lib/white_gold/dsl/backend_gui.rb
80
84
  - lib/white_gold/dsl/bitmap_button.rb
@@ -82,6 +86,7 @@ files:
82
86
  - lib/white_gold/dsl/box_layout_ratios.rb
83
87
  - lib/white_gold/dsl/button.rb
84
88
  - lib/white_gold/dsl/button_base.rb
89
+ - lib/white_gold/dsl/canvas.rb
85
90
  - lib/white_gold/dsl/chat_box.rb
86
91
  - lib/white_gold/dsl/check_box.rb
87
92
  - lib/white_gold/dsl/child_window.rb
@@ -90,6 +95,7 @@ files:
90
95
  - lib/white_gold/dsl/color_picker.rb
91
96
  - lib/white_gold/dsl/combo_box.rb
92
97
  - lib/white_gold/dsl/container.rb
98
+ - lib/white_gold/dsl/custom_widget.rb
93
99
  - lib/white_gold/dsl/edit_box.rb
94
100
  - lib/white_gold/dsl/file_dialog.rb
95
101
  - lib/white_gold/dsl/font.rb
@@ -116,6 +122,11 @@ files:
116
122
  - lib/white_gold/dsl/scrollable_panel.rb
117
123
  - lib/white_gold/dsl/scrollbar.rb
118
124
  - lib/white_gold/dsl/separator_line.rb
125
+ - lib/white_gold/dsl/sfml/circle_shape.rb
126
+ - lib/white_gold/dsl/sfml/convex_shape.rb
127
+ - lib/white_gold/dsl/sfml/rectangle_shape.rb
128
+ - lib/white_gold/dsl/sfml/shape.rb
129
+ - lib/white_gold/dsl/sfml/text.rb
119
130
  - lib/white_gold/dsl/signal/global_signal.rb
120
131
  - lib/white_gold/dsl/signal/signal.rb
121
132
  - lib/white_gold/dsl/signal/signal_animation_type.rb
@@ -153,16 +164,19 @@ files:
153
164
  - lib/white_gold/generated/tgui-abi-loader.gf.rb
154
165
  - lib/white_gold/library/theme/light.rb
155
166
  - lib/white_gold/master.rb
167
+ - lib/white_gold/path/array.path.rb
156
168
  - lib/white_gold/path/kernel.path.rb
157
169
  - lib/white_gold/path/numeric.path.rb
158
170
  - lib/white_gold/path/object.path.rb
159
171
  - lib/white_gold/path/string.path.rb
160
172
  - lib/white_gold/tgui-abi.rb
161
173
  - lib/white_gold/tgui-config.rb
174
+ - lib/white_gold/version.rb
162
175
  homepage: https://github.com/lpogic/white_gold
163
176
  licenses:
164
177
  - Zlib
165
- metadata: {}
178
+ metadata:
179
+ documentation_uri: https://github.com/lpogic/white_gold/blob/master/doc/wiki/README.md
166
180
  post_install_message:
167
181
  rdoc_options: []
168
182
  require_paths:
@@ -1,12 +0,0 @@
1
- class Reducer
2
- def initialize reduction, &block
3
- @reduction = reduction
4
- @block = block
5
- end
6
-
7
- def call *a
8
- block.call *a
9
- end
10
-
11
- attr :reduction
12
- end