glimmer-dsl-libui 0.2.23 → 0.3.2
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 +22 -0
- data/README.md +611 -93
- data/VERSION +1 -1
- data/bin/girb +0 -0
- data/examples/basic_image.rb +19 -0
- data/examples/basic_image2.rb +13 -0
- data/examples/basic_image3.rb +23 -0
- data/examples/basic_image4.rb +17 -0
- data/examples/basic_image5.rb +75 -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/glimmer-dsl-libui.gemspec +0 -0
- data/lib/glimmer/dsl/libui/control_expression.rb +1 -1
- 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_part_proxy.rb +0 -1
- data/lib/glimmer/libui/control_proxy/image_proxy.rb +159 -12
- data/lib/glimmer/libui/control_proxy/table_proxy.rb +15 -2
- data/lib/glimmer/libui/control_proxy/window_proxy.rb +1 -1
- data/lib/glimmer/libui/control_proxy.rb +7 -7
- data/lib/glimmer/libui/image_path_renderer.rb +30 -0
- data/lib/glimmer/libui.rb +1 -0
- metadata +27 -18
@@ -27,8 +27,8 @@ module Glimmer
|
|
27
27
|
class ControlProxy
|
28
28
|
class << self
|
29
29
|
def exists?(keyword)
|
30
|
-
::LibUI.respond_to?("new_#{keyword}")
|
31
|
-
::LibUI.respond_to?(keyword)
|
30
|
+
::LibUI.respond_to?("new_#{keyword}") or
|
31
|
+
::LibUI.respond_to?(keyword) or
|
32
32
|
descendant_keyword_constant_map.keys.include?(keyword)
|
33
33
|
end
|
34
34
|
|
@@ -207,11 +207,11 @@ module Glimmer
|
|
207
207
|
end
|
208
208
|
|
209
209
|
def respond_to_libui?(method_name, *args, &block)
|
210
|
-
::LibUI.respond_to?("control_#{method_name}")
|
211
|
-
(::LibUI.respond_to?("control_#{method_name.to_s.sub(/\?$/, '')}") && BOOLEAN_PROPERTIES.include?(method_name.to_s.sub(/\?$/, '')) )
|
212
|
-
::LibUI.respond_to?("control_set_#{method_name.to_s.sub(/=$/, '')}")
|
213
|
-
::LibUI.respond_to?("#{libui_api_keyword}_#{method_name}")
|
214
|
-
(::LibUI.respond_to?("#{libui_api_keyword}_#{method_name.to_s.sub(/\?$/, '')}") && BOOLEAN_PROPERTIES.include?(method_name.to_s.sub(/\?$/, '')) )
|
210
|
+
::LibUI.respond_to?("control_#{method_name}") or
|
211
|
+
(::LibUI.respond_to?("control_#{method_name.to_s.sub(/\?$/, '')}") && BOOLEAN_PROPERTIES.include?(method_name.to_s.sub(/\?$/, '')) ) or
|
212
|
+
::LibUI.respond_to?("control_set_#{method_name.to_s.sub(/=$/, '')}") or
|
213
|
+
::LibUI.respond_to?("#{libui_api_keyword}_#{method_name}") or
|
214
|
+
(::LibUI.respond_to?("#{libui_api_keyword}_#{method_name.to_s.sub(/\?$/, '')}") && BOOLEAN_PROPERTIES.include?(method_name.to_s.sub(/\?$/, '')) ) or
|
215
215
|
::LibUI.respond_to?("#{libui_api_keyword}_set_#{method_name.to_s.sub(/=$/, '')}")
|
216
216
|
end
|
217
217
|
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Glimmer
|
2
|
+
module LibUI
|
3
|
+
class ImagePathRenderer
|
4
|
+
include Glimmer
|
5
|
+
|
6
|
+
def initialize(area_proxy, shapes)
|
7
|
+
@area_proxy = area_proxy
|
8
|
+
@shapes = shapes
|
9
|
+
end
|
10
|
+
|
11
|
+
def render
|
12
|
+
work = Proc.new do
|
13
|
+
@shapes.each do |shape|
|
14
|
+
path {
|
15
|
+
rectangle(shape[:x], shape[:y], shape[:width], shape[:height])
|
16
|
+
|
17
|
+
fill shape[:color]
|
18
|
+
}
|
19
|
+
end
|
20
|
+
end
|
21
|
+
if @area_proxy.nil?
|
22
|
+
# Ensure it renders without a parent
|
23
|
+
Glimmer::DSL::Engine.add_content(nil, Glimmer::DSL::Libui::ControlExpression.new, 'image', &work)
|
24
|
+
else
|
25
|
+
work.call
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/lib/glimmer/libui.rb
CHANGED
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.2
|
4
|
+
version: 0.3.2
|
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-16 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.4.
|
19
|
+
version: 2.4.1
|
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.4.
|
26
|
+
version: 2.4.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: os
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -72,6 +72,20 @@ dependencies:
|
|
72
72
|
- - "~>"
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: 0.0.12
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: chunky_png
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - "~>"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: 1.4.0
|
82
|
+
type: :runtime
|
83
|
+
prerelease: false
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - "~>"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: 1.4.0
|
75
89
|
- !ruby/object:Gem::Dependency
|
76
90
|
name: juwelier
|
77
91
|
requirement: !ruby/object:Gem::Requirement
|
@@ -176,20 +190,6 @@ dependencies:
|
|
176
190
|
- - "~>"
|
177
191
|
- !ruby/object:Gem::Version
|
178
192
|
version: 0.7.0
|
179
|
-
- !ruby/object:Gem::Dependency
|
180
|
-
name: chunky_png
|
181
|
-
requirement: !ruby/object:Gem::Requirement
|
182
|
-
requirements:
|
183
|
-
- - "~>"
|
184
|
-
- !ruby/object:Gem::Version
|
185
|
-
version: 1.4.0
|
186
|
-
type: :development
|
187
|
-
prerelease: false
|
188
|
-
version_requirements: !ruby/object:Gem::Requirement
|
189
|
-
requirements:
|
190
|
-
- - "~>"
|
191
|
-
- !ruby/object:Gem::Version
|
192
|
-
version: 1.4.0
|
193
193
|
description: Glimmer DSL for LibUI (Prerequisite-Free Ruby Desktop Development GUI
|
194
194
|
Library) - No need to pre-install any prerequisites. Just install the gem and have
|
195
195
|
platform-independent native GUI that just works! Glimmer DSL for LibUI aims to provide
|
@@ -221,13 +221,21 @@ files:
|
|
221
221
|
- examples/basic_draw_text.rb
|
222
222
|
- examples/basic_draw_text2.rb
|
223
223
|
- examples/basic_entry.rb
|
224
|
+
- examples/basic_image.rb
|
225
|
+
- examples/basic_image2.rb
|
226
|
+
- examples/basic_image3.rb
|
227
|
+
- examples/basic_image4.rb
|
228
|
+
- examples/basic_image5.rb
|
224
229
|
- examples/basic_table.rb
|
225
230
|
- examples/basic_table_button.rb
|
226
231
|
- examples/basic_table_checkbox.rb
|
227
232
|
- examples/basic_table_checkbox_text.rb
|
228
233
|
- examples/basic_table_color.rb
|
234
|
+
- examples/basic_table_color2.rb
|
229
235
|
- examples/basic_table_image.rb
|
236
|
+
- examples/basic_table_image2.rb
|
230
237
|
- examples/basic_table_image_text.rb
|
238
|
+
- examples/basic_table_image_text2.rb
|
231
239
|
- examples/basic_table_progress_bar.rb
|
232
240
|
- examples/basic_transform.rb
|
233
241
|
- examples/basic_window.rb
|
@@ -347,6 +355,7 @@ files:
|
|
347
355
|
- lib/glimmer/libui/control_proxy/transformable.rb
|
348
356
|
- lib/glimmer/libui/control_proxy/triple_column.rb
|
349
357
|
- lib/glimmer/libui/control_proxy/window_proxy.rb
|
358
|
+
- lib/glimmer/libui/image_path_renderer.rb
|
350
359
|
- lib/glimmer/libui/parent.rb
|
351
360
|
- lib/glimmer/libui/shape.rb
|
352
361
|
- lib/glimmer/libui/shape/arc.rb
|