white_gold 0.0.2 → 0.0.4

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