glimmer-dsl-libui 0.3.2 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +16 -0
- data/README.md +599 -883
- data/VERSION +1 -1
- data/bin/girb +0 -0
- data/examples/area_gallery.rb +19 -19
- data/examples/area_gallery2.rb +91 -89
- data/examples/area_gallery3.rb +19 -19
- data/examples/area_gallery4.rb +91 -89
- data/examples/basic_transform.rb +3 -6
- data/examples/basic_transform2.rb +34 -0
- data/examples/color_the_circles.rb +1 -3
- data/examples/dynamic_area.rb +1 -3
- data/examples/dynamic_area2.rb +5 -7
- data/examples/form_table.rb +4 -0
- data/examples/grid.rb +4 -4
- data/examples/histogram.rb +4 -8
- data/examples/meta_example.rb +50 -10
- data/examples/snake.rb +1 -3
- data/examples/tetris.rb +15 -18
- data/examples/tic_tac_toe/board.rb +4 -2
- data/examples/tic_tac_toe.rb +1 -3
- data/glimmer-dsl-libui.gemspec +0 -0
- data/lib/glimmer/dsl/libui/shape_expression.rb +6 -1
- data/lib/glimmer/libui/shape.rb +44 -1
- metadata +6 -5
data/README.md
CHANGED
@@ -1,10 +1,14 @@
|
|
1
|
-
# [<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=85 />](https://github.com/AndyObtiva/glimmer) Glimmer DSL for LibUI 0.3.
|
1
|
+
# [<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=85 />](https://github.com/AndyObtiva/glimmer) Glimmer DSL for LibUI 0.3.3
|
2
2
|
## Prerequisite-Free Ruby Desktop Development GUI Library
|
3
3
|
[![Gem Version](https://badge.fury.io/rb/glimmer-dsl-libui.svg)](http://badge.fury.io/rb/glimmer-dsl-libui)
|
4
4
|
[![Join the chat at https://gitter.im/AndyObtiva/glimmer](https://badges.gitter.im/AndyObtiva/glimmer.svg)](https://gitter.im/AndyObtiva/glimmer?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
5
5
|
|
6
6
|
[Glimmer](https://github.com/AndyObtiva/glimmer) DSL for [LibUI](https://github.com/kojix2/LibUI) is a prerequisite-free Ruby desktop development GUI library. No need to pre-install any prerequisites. Just install the gem and have platform-independent native GUI that just works!
|
7
7
|
|
8
|
+
Mac | Windows | Linux
|
9
|
+
----|---------|------
|
10
|
+
![glimmer-dsl-libui-mac-control-gallery.png](images/glimmer-dsl-libui-mac-control-gallery.png) | ![glimmer-dsl-libui-windows-control-gallery.png](images/glimmer-dsl-libui-windows-control-gallery.png) | ![glimmer-dsl-libui-linux-control-gallery.png](images/glimmer-dsl-libui-linux-control-gallery.png)
|
11
|
+
|
8
12
|
[LibUI](https://github.com/kojix2/LibUI) is a thin [Ruby](https://www.ruby-lang.org/en/) wrapper around [libui](https://github.com/andlabs/libui), a relatively new C GUI library that renders native controls on every platform (similar to [SWT](https://www.eclipse.org/swt/), but without the heavy weight of the [Java Virtual Machine](https://www.java.com/en/)).
|
9
13
|
|
10
14
|
The main trade-off in using [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) as opposed to [Glimmer DSL for SWT](https://github.com/AndyObtiva/glimmer-dsl-swt) or [Glimmer DSL for Tk](https://github.com/AndyObtiva/glimmer-dsl-tk) is the fact that [SWT](https://www.eclipse.org/swt/) and [Tk](https://www.tcl.tk/) are more mature than mid-alpha [libui](https://github.com/andlabs/libui) as GUI toolkits. Still, if there is only a need to build a small simple application, [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) could be a good convenient choice due to having zero prerequisites beyond the dependencies included in the [Ruby gem](https://rubygems.org/gems/glimmer-dsl-libui). Also, just like [Glimmer DSL for Tk](https://github.com/AndyObtiva/glimmer-dsl-tk), its apps start instantly and have a small memory footprint. [LibUI](https://github.com/kojix2/LibUI) is a promising new GUI toolkit that might prove quite worthy in the future.
|
@@ -28,17 +32,9 @@ include Glimmer
|
|
28
32
|
window('hello world').show
|
29
33
|
```
|
30
34
|
|
31
|
-
Mac
|
32
|
-
|
33
|
-
![glimmer-dsl-libui-mac-basic-window.png](images/glimmer-dsl-libui-mac-basic-window.png)
|
34
|
-
|
35
|
-
Windows
|
36
|
-
|
37
|
-
![glimmer-dsl-libui-windows-basic-window.png](images/glimmer-dsl-libui-windows-basic-window.png)
|
38
|
-
|
39
|
-
Linux
|
40
|
-
|
41
|
-
![glimmer-dsl-libui-linux-basic-window.png](images/glimmer-dsl-libui-linux-basic-window.png)
|
35
|
+
Mac | Windows | Linux
|
36
|
+
----|---------|------
|
37
|
+
![glimmer-dsl-libui-mac-basic-window.png](images/glimmer-dsl-libui-mac-basic-window.png) | ![glimmer-dsl-libui-windows-basic-window.png](images/glimmer-dsl-libui-windows-basic-window.png) | ![glimmer-dsl-libui-linux-basic-window.png](images/glimmer-dsl-libui-linux-basic-window.png)
|
42
38
|
|
43
39
|
Basic Table Progress Bar
|
44
40
|
|
@@ -77,17 +73,9 @@ window('Task Progress', 300, 200) {
|
|
77
73
|
}.show
|
78
74
|
```
|
79
75
|
|
80
|
-
Mac
|
81
|
-
|
82
|
-
![glimmer-dsl-libui-mac-basic-table-progress-bar.png](images/glimmer-dsl-libui-mac-basic-table-progress-bar.png)
|
83
|
-
|
84
|
-
Windows
|
85
|
-
|
86
|
-
![glimmer-dsl-libui-windows-basic-table-progress-bar.png](images/glimmer-dsl-libui-windows-basic-table-progress-bar.png)
|
87
|
-
|
88
|
-
Linux
|
89
|
-
|
90
|
-
![glimmer-dsl-libui-linux-basic-table-progress-bar.png](images/glimmer-dsl-libui-linux-basic-table-progress-bar.png)
|
76
|
+
Mac | Windows | Linux
|
77
|
+
----|---------|------
|
78
|
+
![glimmer-dsl-libui-mac-basic-table-progress-bar.png](images/glimmer-dsl-libui-mac-basic-table-progress-bar.png) | ![glimmer-dsl-libui-windows-basic-table-progress-bar.png](images/glimmer-dsl-libui-windows-basic-table-progress-bar.png) | ![glimmer-dsl-libui-linux-basic-table-progress-bar.png](images/glimmer-dsl-libui-linux-basic-table-progress-bar.png)
|
91
79
|
|
92
80
|
Area Gallery
|
93
81
|
|
@@ -98,50 +86,50 @@ include Glimmer
|
|
98
86
|
|
99
87
|
window('Area Gallery', 400, 400) {
|
100
88
|
area {
|
101
|
-
path { # declarative stable path
|
89
|
+
path { # declarative stable path (explicit path syntax for multiple shapes sharing attributes)
|
102
90
|
square(0, 0, 100)
|
103
91
|
square(100, 100, 400)
|
104
|
-
|
92
|
+
|
105
93
|
fill r: 102, g: 102, b: 204
|
106
94
|
}
|
107
|
-
|
95
|
+
|
96
|
+
path { # declarative stable path (explicit path syntax for multiple shapes sharing attributes)
|
108
97
|
rectangle(0, 100, 100, 400)
|
109
98
|
rectangle(100, 0, 400, 100)
|
110
|
-
|
99
|
+
|
111
100
|
# linear gradient (has x0, y0, x1, y1, and stops)
|
112
101
|
fill x0: 10, y0: 10, x1: 350, y1: 350, stops: [{pos: 0.25, r: 204, g: 102, b: 204}, {pos: 0.75, r: 102, g: 102, b: 204}]
|
113
102
|
}
|
114
|
-
|
115
|
-
|
116
|
-
|
103
|
+
|
104
|
+
polygon(100, 100, 100, 400, 400, 100, 400, 400) { # declarative stable path (implicit path syntax for a single shape nested directly under area)
|
117
105
|
fill r: 202, g: 102, b: 104, a: 0.5
|
118
106
|
stroke r: 0, g: 0, b: 0
|
119
107
|
}
|
120
|
-
|
121
|
-
|
122
|
-
|
108
|
+
|
109
|
+
polybezier(0, 0,
|
110
|
+
200, 100, 100, 200, 400, 100,
|
111
|
+
300, 100, 100, 300, 100, 400,
|
112
|
+
100, 300, 300, 100, 400, 400) { # declarative stable path (implicit path syntax for a single shape nested directly under area)
|
123
113
|
fill r: 202, g: 102, b: 204, a: 0.5
|
124
114
|
stroke r: 0, g: 0, b: 0, thickness: 2, dashes: [50, 10, 10, 10], dash_phase: -50.0
|
125
115
|
}
|
126
|
-
path { # declarative stable path
|
127
|
-
polyline(100, 100, 400, 100, 100, 400, 400, 400, 0, 0)
|
128
116
|
|
117
|
+
polyline(100, 100, 400, 100, 100, 400, 400, 400, 0, 0) { # declarative stable path (implicit path syntax for a single shape nested directly under area)
|
129
118
|
stroke r: 0, g: 0, b: 0, thickness: 2
|
130
119
|
}
|
131
|
-
|
132
|
-
|
133
|
-
|
120
|
+
|
121
|
+
arc(404, 216, 190, 90, 90, false) { # declarative stable path (implicit path syntax for a single shape nested directly under area)
|
134
122
|
# radial gradient (has an outer_radius in addition to x0, y0, x1, y1, and stops)
|
135
123
|
fill outer_radius: 90, x0: 0, y0: 0, x1: 500, y1: 500, stops: [{pos: 0.25, r: 102, g: 102, b: 204, a: 0.5}, {pos: 0.75, r: 204, g: 102, b: 204}]
|
136
124
|
stroke r: 0, g: 0, b: 0, thickness: 2, dashes: [50, 10, 10, 10], dash_phase: -50.0
|
137
125
|
}
|
138
|
-
|
139
|
-
|
140
|
-
|
126
|
+
|
127
|
+
circle(200, 200, 90) { # declarative stable path (implicit path syntax for a single shape nested directly under area)
|
141
128
|
fill r: 202, g: 102, b: 204, a: 0.5
|
142
129
|
stroke r: 0, g: 0, b: 0, thickness: 2
|
143
130
|
}
|
144
|
-
|
131
|
+
|
132
|
+
text(161, 40, 100) { # declarative stable text
|
145
133
|
string('Area Gallery') {
|
146
134
|
font family: 'Arial', size: (OS.mac? ? 14 : 11)
|
147
135
|
color :black
|
@@ -199,20 +187,16 @@ window('Area Gallery', 400, 400) {
|
|
199
187
|
}.show
|
200
188
|
```
|
201
189
|
|
202
|
-
Mac
|
203
|
-
|
204
|
-
![glimmer-dsl-libui-mac-area-gallery.png](images/glimmer-dsl-libui-mac-area-gallery.png)
|
205
|
-
|
206
|
-
Windows
|
207
|
-
|
208
|
-
![glimmer-dsl-libui-windows-area-gallery.png](images/glimmer-dsl-libui-windows-area-gallery.png)
|
209
|
-
|
210
|
-
Linux
|
211
|
-
|
212
|
-
![glimmer-dsl-libui-linux-area-gallery.png](images/glimmer-dsl-libui-linux-area-gallery.png)
|
190
|
+
Mac | Windows | Linux
|
191
|
+
----|---------|------
|
192
|
+
![glimmer-dsl-libui-mac-area-gallery.png](images/glimmer-dsl-libui-mac-area-gallery.png) | ![glimmer-dsl-libui-windows-area-gallery.png](images/glimmer-dsl-libui-windows-area-gallery.png) | ![glimmer-dsl-libui-linux-area-gallery.png](images/glimmer-dsl-libui-linux-area-gallery.png)
|
213
193
|
|
214
194
|
[Check Out Many More Examples Over Here!](#examples)
|
215
195
|
|
196
|
+
Mac | Windows | Linux
|
197
|
+
----|---------|------
|
198
|
+
![glimmer-dsl-libui-mac-tetris.png](images/glimmer-dsl-libui-mac-tetris.png) | ![glimmer-dsl-libui-windows-tetris.png](images/glimmer-dsl-libui-windows-tetris.png) | ![glimmer-dsl-libui-linux-tetris.png](images/glimmer-dsl-libui-linux-tetris.png)
|
199
|
+
|
216
200
|
NOTE: [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) is feature-complete and in beta mode (though the C [libui](https://github.com/andlabs/libui) is still mid-alpha). Please help make better by contributing, adopting for small or low risk projects, and providing feedback. The more feedback and issues you report the better.
|
217
201
|
|
218
202
|
Other [Glimmer](https://rubygems.org/gems/glimmer) DSL gems you might be interested in:
|
@@ -382,7 +366,7 @@ gem install glimmer-dsl-libui
|
|
382
366
|
Or install via Bundler `Gemfile`:
|
383
367
|
|
384
368
|
```ruby
|
385
|
-
gem 'glimmer-dsl-libui', '~> 0.3.
|
369
|
+
gem 'glimmer-dsl-libui', '~> 0.3.3'
|
386
370
|
```
|
387
371
|
|
388
372
|
Add `require 'glimmer-dsl-libui'` at the top, and then `include Glimmer` into the top-level main object for testing or into an actual class for serious usage.
|
@@ -724,7 +708,7 @@ Learn more by checking out [examples](#examples).
|
|
724
708
|
|
725
709
|
The `area` control is a canvas-like control for drawing paths that can be used in one of two ways:
|
726
710
|
- Declaratively via stable paths: useful for stable paths that will not change often later on. Simply nest `path` and figures like `rectangle` and all drawing logic is generated automatically. Path proxy objects are preserved across redraws assuming there would be relatively few stable paths (mostly for decorative reasons).
|
727
|
-
- Semi-declaratively via on_draw listener dynamic paths: useful for more dynamic paths that will definitely change very often. Open an `on_draw` listener block that receives
|
711
|
+
- Semi-declaratively via on_draw listener dynamic paths: useful for more dynamic paths that will definitely change very often. Open an `on_draw` listener block that receives an [`area_draw_params`](#area-draw-params) argument and nest `path` and figures like `rectangle` and all drawing logic is generated automatically. Path proxy objects are destroyed (thrown-away) at the end of drawing, thus having less memory overhead for drawing thousands of dynamic paths.
|
728
712
|
|
729
713
|
Note that when nesting an `area` directly underneath `window` (without a layout control like `vertical_box`), it is automatically reparented with `vertical_box` in between the `window` and `area` since it would not show up on Linux otherwise.
|
730
714
|
|
@@ -750,19 +734,11 @@ window('Basic Area', 400, 400) {
|
|
750
734
|
}.show
|
751
735
|
```
|
752
736
|
|
753
|
-
Mac
|
754
|
-
|
755
|
-
![glimmer-dsl-libui-mac-basic-area.png](images/glimmer-dsl-libui-mac-basic-area.png)
|
737
|
+
Mac | Windows | Linux
|
738
|
+
----|---------|------
|
739
|
+
![glimmer-dsl-libui-mac-basic-area.png](images/glimmer-dsl-libui-mac-basic-area.png) | ![glimmer-dsl-libui-windows-basic-area.png](images/glimmer-dsl-libui-windows-basic-area.png) | ![glimmer-dsl-libui-linux-basic-area.png](images/glimmer-dsl-libui-linux-basic-area.png)
|
756
740
|
|
757
|
-
|
758
|
-
|
759
|
-
![glimmer-dsl-libui-windows-basic-area.png](images/glimmer-dsl-libui-windows-basic-area.png)
|
760
|
-
|
761
|
-
Linux
|
762
|
-
|
763
|
-
![glimmer-dsl-libui-linux-basic-area.png](images/glimmer-dsl-libui-linux-basic-area.png)
|
764
|
-
|
765
|
-
Here is the same example using a semi-declarative `area` with `on_draw` listener that receives a `area_draw_params` argument and a dynamic path (you may copy/paste in [`girb`](#girb-glimmer-irb)):
|
741
|
+
Here is the same example using a semi-declarative `area` with `on_draw` listener that receives a [`area_draw_params`](#area-draw-params) argument and a dynamic path (you may copy/paste in [`girb`](#girb-glimmer-irb)):
|
766
742
|
|
767
743
|
```ruby
|
768
744
|
require 'glimmer-dsl-libui'
|
@@ -796,26 +772,19 @@ Available nested `path` shapes:
|
|
796
772
|
- `rectangle(x as Numeric, y as Numeric, width as Numeric, height as Numeric)`
|
797
773
|
- `square(x as Numeric, y as Numeric, length as Numeric)`
|
798
774
|
- `arc(x_center as Numeric, y_center as Numeric, radius as Numeric, start_angle as Numeric, sweep as Numeric, is_negative as Boolean)`
|
799
|
-
- `
|
800
|
-
- `
|
801
|
-
- `
|
802
|
-
- `
|
803
|
-
- `
|
775
|
+
- `circle(x_center as Numeric, y_center as Numeric, radius as Numeric)`
|
776
|
+
- `line(x as Numeric, y as Numeric)`: must be placed in a figure (check `polyline`/`polygon` alternatives that do not require a `figure`)
|
777
|
+
- `bezier(c1_x as Numeric, c1_y as Numeric, c2_x as Numeric, c2_y as Numeric, end_x as Numeric, end_y as Numeric)`: must be placed in a figure (check `polybezier` alternative that does not require a `figure`)
|
778
|
+
- `polygon(point_array as Array of Arrays of Numeric or Array of Numeric)`: shortcut for a closed figure of lines; can receive points as [[x1, y1], [x2, y2], ...] or [x1, y1, x2, y2, ...]
|
779
|
+
- `polyline(point_array as Array of Arrays of Numeric or Array of Numeric)`: shortcut for an open figure of lines; can receive points as [[x1, y1], [x2, y2], ...] or [x1, y1, x2, y2, ...]
|
780
|
+
- `polybezier(point_array as Array of Arrays of Numeric or Array of Numeric)`: shortcut for an open figure of beziers; can receive points as [[start_x1, start_y1], [c1_x2, c1_y2, c2_x2, c2_y2, end_x2, end_y2], [c1_x3, c1_y3, c2_x3, c2_y3, end_x3, end_y3], ...] or [start_x1, start_y1, c1_x2, c1_y2, c2_x2, c2_y2, end_x2, end_y2, c1_x3, c1_y3, c2_x3, c2_y3, end_x3, end_y3, ...]
|
804
781
|
- `figure(x=nil as Numeric, y=nil as Numeric)` (composite that can contain other shapes) (can set `closed true` to connect last point to first point automatically)
|
805
782
|
|
806
783
|
Check [examples/area_gallery.rb](#area-gallery) for an overiew of all `path` shapes.
|
807
784
|
|
808
|
-
Mac
|
809
|
-
|
810
|
-
![glimmer-dsl-libui-mac-area-gallery.png](images/glimmer-dsl-libui-mac-area-gallery.png)
|
811
|
-
|
812
|
-
Windows
|
813
|
-
|
814
|
-
![glimmer-dsl-libui-windows-area-gallery.png](images/glimmer-dsl-libui-windows-area-gallery.png)
|
815
|
-
|
816
|
-
Linux
|
817
|
-
|
818
|
-
![glimmer-dsl-libui-linux-area-gallery.png](images/glimmer-dsl-libui-linux-area-gallery.png)
|
785
|
+
Mac | Windows | Linux
|
786
|
+
----|---------|------
|
787
|
+
![glimmer-dsl-libui-mac-area-gallery.png](images/glimmer-dsl-libui-mac-area-gallery.png) | ![glimmer-dsl-libui-windows-area-gallery.png](images/glimmer-dsl-libui-windows-area-gallery.png) | ![glimmer-dsl-libui-linux-area-gallery.png](images/glimmer-dsl-libui-linux-area-gallery.png)
|
819
788
|
|
820
789
|
#### Area Text
|
821
790
|
|
@@ -870,17 +839,9 @@ window('area text drawing') {
|
|
870
839
|
|
871
840
|
You may checkout [examples/basic_draw_text.rb](#basic-draw-text) and [examples/custom_draw_text.rb](#custom-draw-text) for examples of using `text` inside `area`.
|
872
841
|
|
873
|
-
Mac
|
874
|
-
|
875
|
-
![glimmer-dsl-libui-mac-custom-draw-text-changed.png](images/glimmer-dsl-libui-mac-custom-draw-text-changed.png)
|
876
|
-
|
877
|
-
Windows
|
878
|
-
|
879
|
-
![glimmer-dsl-libui-windows-custom-draw-text-changed.png](images/glimmer-dsl-libui-windows-custom-draw-text-changed.png)
|
880
|
-
|
881
|
-
Linux
|
882
|
-
|
883
|
-
![glimmer-dsl-libui-linux-custom-draw-text-changed.png](images/glimmer-dsl-libui-linux-custom-draw-text-changed.png)
|
842
|
+
Mac | Windows | Linux
|
843
|
+
----|---------|------
|
844
|
+
![glimmer-dsl-libui-mac-custom-draw-text-changed.png](images/glimmer-dsl-libui-mac-custom-draw-text-changed.png) | ![glimmer-dsl-libui-windows-custom-draw-text-changed.png](images/glimmer-dsl-libui-windows-custom-draw-text-changed.png) | ![glimmer-dsl-libui-linux-custom-draw-text-changed.png](images/glimmer-dsl-libui-linux-custom-draw-text-changed.png)
|
884
845
|
|
885
846
|
#### Area Image
|
886
847
|
|
@@ -897,17 +858,13 @@ Given that it is very new and is not a [libui](https://github.com/andlabs/libui)
|
|
897
858
|
|
898
859
|
Currently, it is recommended to use `image` with very small `width` and `height` values only.
|
899
860
|
|
900
|
-
Setting a `transform` `matrix` is supported under `image` just like it is under `path` and `text` inside `area`.
|
861
|
+
Setting a [`transform` `matrix`](#area-transform-matrix) is supported under `image` just like it is under `path` and `text` inside `area`.
|
901
862
|
|
902
863
|
Example of using `image` declaratively (you may copy/paste in [`girb`](#girb-glimmer-irb)):
|
903
864
|
|
904
|
-
Mac
|
905
|
-
|
906
|
-
![glimmer-dsl-libui-mac-basic-image.png](images/glimmer-dsl-libui-mac-basic-image.png)
|
907
|
-
|
908
|
-
Windows
|
909
|
-
|
910
|
-
![glimmer-dsl-libui-windows-basic-image.png](images/glimmer-dsl-libui-windows-basic-image.png)
|
865
|
+
Mac | Windows | Linux
|
866
|
+
----|---------|------
|
867
|
+
![glimmer-dsl-libui-mac-basic-image.png](images/glimmer-dsl-libui-mac-basic-image.png) | ![glimmer-dsl-libui-windows-basic-image.png](images/glimmer-dsl-libui-windows-basic-image.png) | ![glimmer-dsl-libui-linux-basic-image.png](images/glimmer-dsl-libui-linux-basic-image.png)
|
911
868
|
|
912
869
|
```ruby
|
913
870
|
require 'glimmer-dsl-libui'
|
@@ -1374,12 +1331,124 @@ For Linux, simply package your app as a [Ruby Gem](https://guides.rubygems.org/w
|
|
1374
1331
|
|
1375
1332
|
## Glimmer Style Guide
|
1376
1333
|
|
1377
|
-
- Control arguments are always wrapped by parentheses
|
1378
|
-
|
1379
|
-
|
1380
|
-
|
1381
|
-
|
1382
|
-
|
1334
|
+
**1 - Control arguments are always wrapped by parentheses.**
|
1335
|
+
|
1336
|
+
Example:
|
1337
|
+
|
1338
|
+
```ruby
|
1339
|
+
label('Name')
|
1340
|
+
```
|
1341
|
+
|
1342
|
+
**2 - Control blocks are always declared with curly braces to clearly visualize hierarchical view code and separate from logic code.**
|
1343
|
+
|
1344
|
+
Example:
|
1345
|
+
|
1346
|
+
```ruby
|
1347
|
+
group('Basic Controls') {
|
1348
|
+
vertical_box {
|
1349
|
+
button('Button') {
|
1350
|
+
}
|
1351
|
+
}
|
1352
|
+
}
|
1353
|
+
```
|
1354
|
+
|
1355
|
+
**3 - Control property declarations always have arguments that are never wrapped inside parentheses and never take a block.**
|
1356
|
+
|
1357
|
+
Example:
|
1358
|
+
|
1359
|
+
```ruby
|
1360
|
+
spinbox(0, 100) {
|
1361
|
+
stretchy false
|
1362
|
+
value 42
|
1363
|
+
}
|
1364
|
+
```
|
1365
|
+
|
1366
|
+
**4 - Control listeners are always declared starting with on_ prefix and affixing listener event method name afterwards in underscored lowercase form. Their multi-line blocks have a `do; end` style.**
|
1367
|
+
|
1368
|
+
Example:
|
1369
|
+
|
1370
|
+
```ruby
|
1371
|
+
button('Click') {
|
1372
|
+
on_clicked do
|
1373
|
+
msg_box('Information', 'You clicked the button')
|
1374
|
+
end
|
1375
|
+
}
|
1376
|
+
```
|
1377
|
+
|
1378
|
+
**5 - Iterator multi-line blocks always have `do; end` style to clearly separate logic code from view code.**
|
1379
|
+
|
1380
|
+
Example:
|
1381
|
+
|
1382
|
+
```ruby
|
1383
|
+
@field_hash.keys.each do |field|
|
1384
|
+
label(field) {
|
1385
|
+
stretchy false
|
1386
|
+
}
|
1387
|
+
|
1388
|
+
entry {
|
1389
|
+
on_changed do |control|
|
1390
|
+
@field_hash[field] = control.text
|
1391
|
+
end
|
1392
|
+
}
|
1393
|
+
end
|
1394
|
+
```
|
1395
|
+
|
1396
|
+
**6 - In a widget's content block, attributes are declared first, with layout management attributes on top (e.g. `stretchy false`); an empty line separates attributes from nested widgets and listeners following afterwards.**
|
1397
|
+
|
1398
|
+
Example:
|
1399
|
+
|
1400
|
+
```ruby
|
1401
|
+
group('Numbers') {
|
1402
|
+
stretchy false
|
1403
|
+
|
1404
|
+
vertical_box {
|
1405
|
+
spinbox(0, 100) {
|
1406
|
+
stretchy false
|
1407
|
+
value 42
|
1408
|
+
|
1409
|
+
on_changed do |s|
|
1410
|
+
puts "New Spinbox value: #{s.value}"
|
1411
|
+
$stdout.flush # for Windows
|
1412
|
+
end
|
1413
|
+
}
|
1414
|
+
}
|
1415
|
+
}
|
1416
|
+
```
|
1417
|
+
|
1418
|
+
**7 - Unlike attributes, nested widgets with a content block and listeners are always separated from each other by an empty line to make readability easier except where it helps to group two widgets together (e.g. label and described entry).**
|
1419
|
+
|
1420
|
+
Example:
|
1421
|
+
|
1422
|
+
```ruby
|
1423
|
+
area {
|
1424
|
+
path { # needs an empty line afterwards
|
1425
|
+
square(0, 0, 100) # does not have a content block, so no empty line is needed
|
1426
|
+
square(100, 100, 400) # does not have a content block, so no empty line is needed
|
1427
|
+
|
1428
|
+
fill r: 102, g: 102, b: 204
|
1429
|
+
}
|
1430
|
+
|
1431
|
+
path { # needs an empty line afterwards
|
1432
|
+
rectangle(0, 100, 100, 400) # does not have a content block, so no empty line is needed
|
1433
|
+
rectangle(100, 0, 400, 100) # does not have a content block, so no empty line is needed
|
1434
|
+
|
1435
|
+
fill x0: 10, y0: 10, x1: 350, y1: 350, stops: [{pos: 0.25, r: 204, g: 102, b: 204}, {pos: 0.75, r: 102, g: 102, b: 204}]
|
1436
|
+
}
|
1437
|
+
|
1438
|
+
polygon(100, 100, 100, 400, 400, 100, 400, 400) { # needs an empty line afterwards
|
1439
|
+
fill r: 202, g: 102, b: 104, a: 0.5 # attributes do not need an empty line separator
|
1440
|
+
stroke r: 0, g: 0, b: 0 # attributes do not need an empty line separator
|
1441
|
+
}
|
1442
|
+
|
1443
|
+
on_mouse_up do |area_mouse_event| # needs an empty line afterwards
|
1444
|
+
puts 'mouse up'
|
1445
|
+
end
|
1446
|
+
|
1447
|
+
on_key_up do |area_key_event| # needs an empty line afterwards
|
1448
|
+
puts 'key up'
|
1449
|
+
end
|
1450
|
+
}
|
1451
|
+
```
|
1383
1452
|
|
1384
1453
|
## Examples
|
1385
1454
|
|
@@ -1401,17 +1470,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
1401
1470
|
ruby -r glimmer-dsl-libui -e "require 'examples/meta_example'"
|
1402
1471
|
```
|
1403
1472
|
|
1404
|
-
Mac
|
1405
|
-
|
1406
|
-
![glimmer-dsl-libui-mac-meta-example.png](images/glimmer-dsl-libui-mac-meta-example.png)
|
1407
|
-
|
1408
|
-
Windows
|
1409
|
-
|
1410
|
-
![glimmer-dsl-libui-windows-meta-example.png](images/glimmer-dsl-libui-windows-meta-example.png)
|
1411
|
-
|
1412
|
-
Linux
|
1413
|
-
|
1414
|
-
![glimmer-dsl-libui-linux-meta-example.png](images/glimmer-dsl-libui-linux-meta-example.png)
|
1473
|
+
Mac | Windows | Linux
|
1474
|
+
----|---------|------
|
1475
|
+
![glimmer-dsl-libui-mac-meta-example.png](images/glimmer-dsl-libui-mac-meta-example.png) | ![glimmer-dsl-libui-windows-meta-example.png](images/glimmer-dsl-libui-windows-meta-example.png) | ![glimmer-dsl-libui-linux-meta-example.png](images/glimmer-dsl-libui-linux-meta-example.png)
|
1415
1476
|
|
1416
1477
|
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
1417
1478
|
|
@@ -1569,17 +1630,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
1569
1630
|
ruby -r glimmer-dsl-libui -e "require 'examples/basic_window'"
|
1570
1631
|
```
|
1571
1632
|
|
1572
|
-
Mac
|
1573
|
-
|
1574
|
-
![glimmer-dsl-libui-mac-basic-window.png](images/glimmer-dsl-libui-mac-basic-window.png)
|
1575
|
-
|
1576
|
-
Windows
|
1577
|
-
|
1578
|
-
![glimmer-dsl-libui-windows-basic-window.png](images/glimmer-dsl-libui-windows-basic-window.png)
|
1579
|
-
|
1580
|
-
Linux
|
1581
|
-
|
1582
|
-
![glimmer-dsl-libui-linux-basic-window.png](images/glimmer-dsl-libui-linux-basic-window.png)
|
1633
|
+
Mac | Windows | Linux
|
1634
|
+
----|---------|------
|
1635
|
+
![glimmer-dsl-libui-mac-basic-window.png](images/glimmer-dsl-libui-mac-basic-window.png) | ![glimmer-dsl-libui-windows-basic-window.png](images/glimmer-dsl-libui-windows-basic-window.png) | ![glimmer-dsl-libui-linux-basic-window.png](images/glimmer-dsl-libui-linux-basic-window.png)
|
1583
1636
|
|
1584
1637
|
[LibUI](https://github.com/kojix2/LibUI) Original Version:
|
1585
1638
|
|
@@ -1652,20 +1705,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
1652
1705
|
ruby -r glimmer-dsl-libui -e "require 'examples/basic_button'"
|
1653
1706
|
```
|
1654
1707
|
|
1655
|
-
Mac
|
1656
|
-
|
1657
|
-
![glimmer-dsl-libui-mac-basic-button.png](images/glimmer-dsl-libui-mac-basic-button.png)
|
1658
|
-
![glimmer-dsl-libui-mac-basic-button-msg-box.png](images/glimmer-dsl-libui-mac-basic-button-msg-box.png)
|
1659
|
-
|
1660
|
-
Windows
|
1661
|
-
|
1662
|
-
![glimmer-dsl-libui-windows-basic-button.png](images/glimmer-dsl-libui-windows-basic-button.png)
|
1663
|
-
![glimmer-dsl-libui-windows-basic-button-msg-box.png](images/glimmer-dsl-libui-windows-basic-button-msg-box.png)
|
1664
|
-
|
1665
|
-
Linux
|
1666
|
-
|
1667
|
-
![glimmer-dsl-libui-linux-basic-button.png](images/glimmer-dsl-libui-linux-basic-button.png)
|
1668
|
-
![glimmer-dsl-libui-linux-basic-button-msg-box.png](images/glimmer-dsl-libui-linux-basic-button-msg-box.png)
|
1708
|
+
Mac | Windows | Linux
|
1709
|
+
----|---------|------
|
1710
|
+
![glimmer-dsl-libui-mac-basic-button.png](images/glimmer-dsl-libui-mac-basic-button.png) ![glimmer-dsl-libui-mac-basic-button-msg-box.png](images/glimmer-dsl-libui-mac-basic-button-msg-box.png) | ![glimmer-dsl-libui-windows-basic-button.png](images/glimmer-dsl-libui-windows-basic-button.png) ![glimmer-dsl-libui-windows-basic-button-msg-box.png](images/glimmer-dsl-libui-windows-basic-button-msg-box.png) | ![glimmer-dsl-libui-linux-basic-button.png](images/glimmer-dsl-libui-linux-basic-button.png) ![glimmer-dsl-libui-linux-basic-button-msg-box.png](images/glimmer-dsl-libui-linux-basic-button-msg-box.png)
|
1669
1711
|
|
1670
1712
|
[LibUI](https://github.com/kojix2/LibUI) Original Version:
|
1671
1713
|
|
@@ -1734,20 +1776,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
1734
1776
|
ruby -r glimmer-dsl-libui -e "require 'examples/basic_entry'"
|
1735
1777
|
```
|
1736
1778
|
|
1737
|
-
Mac
|
1738
|
-
|
1739
|
-
![glimmer-dsl-libui-mac-basic-entry.png](images/glimmer-dsl-libui-mac-basic-entry.png)
|
1740
|
-
![glimmer-dsl-libui-mac-basic-entry-msg-box.png](images/glimmer-dsl-libui-mac-basic-entry-msg-box.png)
|
1741
|
-
|
1742
|
-
Windows
|
1743
|
-
|
1744
|
-
![glimmer-dsl-libui-windows-basic-entry.png](images/glimmer-dsl-libui-windows-basic-entry.png)
|
1745
|
-
![glimmer-dsl-libui-windows-basic-entry-msg-box.png](images/glimmer-dsl-libui-windows-basic-entry-msg-box.png)
|
1746
|
-
|
1747
|
-
Linux
|
1748
|
-
|
1749
|
-
![glimmer-dsl-libui-linux-basic-entry.png](images/glimmer-dsl-libui-linux-basic-entry.png)
|
1750
|
-
![glimmer-dsl-libui-linux-basic-entry-msg-box.png](images/glimmer-dsl-libui-linux-basic-entry-msg-box.png)
|
1779
|
+
Mac | Windows | Linux
|
1780
|
+
----|---------|------
|
1781
|
+
![glimmer-dsl-libui-mac-basic-entry.png](images/glimmer-dsl-libui-mac-basic-entry.png) ![glimmer-dsl-libui-mac-basic-entry-msg-box.png](images/glimmer-dsl-libui-mac-basic-entry-msg-box.png) | ![glimmer-dsl-libui-windows-basic-entry.png](images/glimmer-dsl-libui-windows-basic-entry.png) ![glimmer-dsl-libui-windows-basic-entry-msg-box.png](images/glimmer-dsl-libui-windows-basic-entry-msg-box.png) | ![glimmer-dsl-libui-linux-basic-entry.png](images/glimmer-dsl-libui-linux-basic-entry.png) ![glimmer-dsl-libui-linux-basic-entry-msg-box.png](images/glimmer-dsl-libui-linux-basic-entry-msg-box.png)
|
1751
1782
|
|
1752
1783
|
[LibUI](https://github.com/kojix2/LibUI) Original Version:
|
1753
1784
|
|
@@ -1840,17 +1871,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
1840
1871
|
ruby -r glimmer-dsl-libui -e "require 'examples/simple_notepad'"
|
1841
1872
|
```
|
1842
1873
|
|
1843
|
-
Mac
|
1844
|
-
|
1845
|
-
![glimmer-dsl-libui-mac-simple-notepad.png](images/glimmer-dsl-libui-mac-simple-notepad.png)
|
1846
|
-
|
1847
|
-
Windows
|
1848
|
-
|
1849
|
-
![glimmer-dsl-libui-windows-simple-notepad.png](images/glimmer-dsl-libui-windows-simple-notepad.png)
|
1850
|
-
|
1851
|
-
Linux
|
1852
|
-
|
1853
|
-
![glimmer-dsl-libui-linux-simple-notepad.png](images/glimmer-dsl-libui-linux-simple-notepad.png)
|
1874
|
+
Mac | Windows | Linux
|
1875
|
+
----|---------|------
|
1876
|
+
![glimmer-dsl-libui-mac-simple-notepad.png](images/glimmer-dsl-libui-mac-simple-notepad.png) | ![glimmer-dsl-libui-windows-simple-notepad.png](images/glimmer-dsl-libui-windows-simple-notepad.png) | ![glimmer-dsl-libui-linux-simple-notepad.png](images/glimmer-dsl-libui-linux-simple-notepad.png)
|
1854
1877
|
|
1855
1878
|
[LibUI](https://github.com/kojix2/LibUI) Original Version:
|
1856
1879
|
|
@@ -1916,20 +1939,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
1916
1939
|
ruby -r glimmer-dsl-libui -e "require 'examples/midi_player'"
|
1917
1940
|
```
|
1918
1941
|
|
1919
|
-
Mac
|
1920
|
-
|
1921
|
-
![glimmer-dsl-libui-mac-midi-player.png](images/glimmer-dsl-libui-mac-midi-player.png)
|
1922
|
-
![glimmer-dsl-libui-mac-midi-player-msg-box.png](images/glimmer-dsl-libui-mac-midi-player-msg-box.png)
|
1923
|
-
|
1924
|
-
Windows
|
1925
|
-
|
1926
|
-
![glimmer-dsl-libui-windows-midi-player.png](images/glimmer-dsl-libui-windows-midi-player.png)
|
1927
|
-
![glimmer-dsl-libui-windows-midi-player-msg-box.png](images/glimmer-dsl-libui-windows-midi-player-msg-box.png)
|
1928
|
-
|
1929
|
-
Linux
|
1930
|
-
|
1931
|
-
![glimmer-dsl-libui-linux-midi-player.png](images/glimmer-dsl-libui-linux-midi-player.png)
|
1932
|
-
![glimmer-dsl-libui-linux-midi-player-msg-box.png](images/glimmer-dsl-libui-linux-midi-player-msg-box.png)
|
1942
|
+
Mac | Windows | Linux
|
1943
|
+
----|---------|------
|
1944
|
+
![glimmer-dsl-libui-mac-midi-player.png](images/glimmer-dsl-libui-mac-midi-player.png) ![glimmer-dsl-libui-mac-midi-player-msg-box.png](images/glimmer-dsl-libui-mac-midi-player-msg-box.png) | ![glimmer-dsl-libui-windows-midi-player.png](images/glimmer-dsl-libui-windows-midi-player.png) ![glimmer-dsl-libui-windows-midi-player-msg-box.png](images/glimmer-dsl-libui-windows-midi-player-msg-box.png) | ![glimmer-dsl-libui-linux-midi-player.png](images/glimmer-dsl-libui-linux-midi-player.png) ![glimmer-dsl-libui-linux-midi-player-msg-box.png](images/glimmer-dsl-libui-linux-midi-player-msg-box.png)
|
1933
1945
|
|
1934
1946
|
[LibUI](https://github.com/kojix2/LibUI) Original Version:
|
1935
1947
|
|
@@ -2139,17 +2151,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
2139
2151
|
ruby -r glimmer-dsl-libui -e "require 'examples/control_gallery'"
|
2140
2152
|
```
|
2141
2153
|
|
2142
|
-
Mac
|
2143
|
-
|
2144
|
-
![glimmer-dsl-libui-mac-control-gallery.png](images/glimmer-dsl-libui-mac-control-gallery.png)
|
2145
|
-
|
2146
|
-
Windows
|
2147
|
-
|
2148
|
-
![glimmer-dsl-libui-windows-control-gallery.png](images/glimmer-dsl-libui-windows-control-gallery.png)
|
2149
|
-
|
2150
|
-
Linux
|
2151
|
-
|
2152
|
-
![glimmer-dsl-libui-linux-control-gallery.png](images/glimmer-dsl-libui-linux-control-gallery.png)
|
2154
|
+
Mac | Windows | Linux
|
2155
|
+
----|---------|------
|
2156
|
+
![glimmer-dsl-libui-mac-control-gallery.png](images/glimmer-dsl-libui-mac-control-gallery.png) | ![glimmer-dsl-libui-windows-control-gallery.png](images/glimmer-dsl-libui-windows-control-gallery.png) | ![glimmer-dsl-libui-linux-control-gallery.png](images/glimmer-dsl-libui-linux-control-gallery.png)
|
2153
2157
|
|
2154
2158
|
[LibUI](https://github.com/kojix2/LibUI) Original Version:
|
2155
2159
|
|
@@ -2533,20 +2537,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
2533
2537
|
ruby -r glimmer-dsl-libui -e "require 'examples/font_button'"
|
2534
2538
|
```
|
2535
2539
|
|
2536
|
-
Mac
|
2537
|
-
|
2538
|
-
![glimmer-dsl-libui-mac-font-button.png](images/glimmer-dsl-libui-mac-font-button.png)
|
2539
|
-
![glimmer-dsl-libui-mac-font-button-selection.png](images/glimmer-dsl-libui-mac-font-button-selection.png)
|
2540
|
-
|
2541
|
-
Windows
|
2542
|
-
|
2543
|
-
![glimmer-dsl-libui-windows-font-button.png](images/glimmer-dsl-libui-windows-font-button.png)
|
2544
|
-
![glimmer-dsl-libui-windows-font-button-selection.png](images/glimmer-dsl-libui-windows-font-button-selection.png)
|
2545
|
-
|
2546
|
-
Linux
|
2547
|
-
|
2548
|
-
![glimmer-dsl-libui-linux-font-button.png](images/glimmer-dsl-libui-linux-font-button.png)
|
2549
|
-
![glimmer-dsl-libui-linux-font-button-selection.png](images/glimmer-dsl-libui-linux-font-button-selection.png)
|
2540
|
+
Mac | Windows | Linux
|
2541
|
+
----|---------|------
|
2542
|
+
![glimmer-dsl-libui-mac-font-button.png](images/glimmer-dsl-libui-mac-font-button.png) ![glimmer-dsl-libui-mac-font-button-selection.png](images/glimmer-dsl-libui-mac-font-button-selection.png) | ![glimmer-dsl-libui-windows-font-button.png](images/glimmer-dsl-libui-windows-font-button.png) ![glimmer-dsl-libui-windows-font-button-selection.png](images/glimmer-dsl-libui-windows-font-button-selection.png) | ![glimmer-dsl-libui-linux-font-button.png](images/glimmer-dsl-libui-linux-font-button.png) ![glimmer-dsl-libui-linux-font-button-selection.png](images/glimmer-dsl-libui-linux-font-button-selection.png)
|
2550
2543
|
|
2551
2544
|
[LibUI](https://github.com/kojix2/LibUI) Original Version:
|
2552
2545
|
|
@@ -2622,20 +2615,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
2622
2615
|
ruby -r glimmer-dsl-libui -e "require 'examples/color_button'"
|
2623
2616
|
```
|
2624
2617
|
|
2625
|
-
Mac
|
2626
|
-
|
2627
|
-
![glimmer-dsl-libui-mac-color-button.png](images/glimmer-dsl-libui-mac-color-button.png)
|
2628
|
-
![glimmer-dsl-libui-mac-color-button-selection.png](images/glimmer-dsl-libui-mac-color-button-selection.png)
|
2629
|
-
|
2630
|
-
Windows
|
2631
|
-
|
2632
|
-
![glimmer-dsl-libui-windows-color-button.png](images/glimmer-dsl-libui-windows-color-button.png)
|
2633
|
-
![glimmer-dsl-libui-windows-color-button-selection.png](images/glimmer-dsl-libui-windows-color-button-selection.png)
|
2634
|
-
|
2635
|
-
Linux
|
2636
|
-
|
2637
|
-
![glimmer-dsl-libui-linux-color-button.png](images/glimmer-dsl-libui-linux-color-button.png)
|
2638
|
-
![glimmer-dsl-libui-linux-color-button-selection.png](images/glimmer-dsl-libui-linux-color-button-selection.png)
|
2618
|
+
Mac | Windows | Linux
|
2619
|
+
----|---------|------
|
2620
|
+
![glimmer-dsl-libui-mac-color-button.png](images/glimmer-dsl-libui-mac-color-button.png) ![glimmer-dsl-libui-mac-color-button-selection.png](images/glimmer-dsl-libui-mac-color-button-selection.png) | ![glimmer-dsl-libui-windows-color-button.png](images/glimmer-dsl-libui-windows-color-button.png) ![glimmer-dsl-libui-windows-color-button-selection.png](images/glimmer-dsl-libui-windows-color-button-selection.png) | ![glimmer-dsl-libui-linux-color-button.png](images/glimmer-dsl-libui-linux-color-button.png) ![glimmer-dsl-libui-linux-color-button-selection.png](images/glimmer-dsl-libui-linux-color-button-selection.png)
|
2639
2621
|
|
2640
2622
|
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
2641
2623
|
|
@@ -2672,17 +2654,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
2672
2654
|
ruby -r glimmer-dsl-libui -e "require 'examples/date_time_picker'"
|
2673
2655
|
```
|
2674
2656
|
|
2675
|
-
Mac
|
2676
|
-
|
2677
|
-
![glimmer-dsl-libui-mac-date-time-picker.png](images/glimmer-dsl-libui-mac-date-time-picker.png)
|
2678
|
-
|
2679
|
-
Windows
|
2680
|
-
|
2681
|
-
![glimmer-dsl-libui-windows-date-time-picker.png](images/glimmer-dsl-libui-windows-date-time-picker.png)
|
2682
|
-
|
2683
|
-
Linux
|
2684
|
-
|
2685
|
-
![glimmer-dsl-libui-linux-date-time-picker.png](images/glimmer-dsl-libui-linux-date-time-picker.png)
|
2657
|
+
Mac | Windows | Linux
|
2658
|
+
----|---------|------
|
2659
|
+
![glimmer-dsl-libui-mac-date-time-picker.png](images/glimmer-dsl-libui-mac-date-time-picker.png) | ![glimmer-dsl-libui-windows-date-time-picker.png](images/glimmer-dsl-libui-windows-date-time-picker.png) | ![glimmer-dsl-libui-linux-date-time-picker.png](images/glimmer-dsl-libui-linux-date-time-picker.png)
|
2686
2660
|
|
2687
2661
|
[LibUI](https://github.com/kojix2/LibUI) Original Version:
|
2688
2662
|
|
@@ -2766,23 +2740,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
2766
2740
|
ruby -r glimmer-dsl-libui -e "require 'examples/grid'"
|
2767
2741
|
```
|
2768
2742
|
|
2769
|
-
Mac
|
2770
|
-
|
2771
|
-
![glimmer-dsl-libui-mac-grid-span.png](images/glimmer-dsl-libui-mac-grid-span.png)
|
2772
|
-
![glimmer-dsl-libui-mac-grid-expand.png](images/glimmer-dsl-libui-mac-grid-expand.png)
|
2773
|
-
![glimmer-dsl-libui-mac-grid-align.png](images/glimmer-dsl-libui-mac-grid-align.png)
|
2774
|
-
|
2775
|
-
Windows
|
2776
|
-
|
2777
|
-
![glimmer-dsl-libui-windows-grid-span.png](images/glimmer-dsl-libui-windows-grid-span.png)
|
2778
|
-
![glimmer-dsl-libui-windows-grid-expand.png](images/glimmer-dsl-libui-windows-grid-expand.png)
|
2779
|
-
![glimmer-dsl-libui-windows-grid-align.png](images/glimmer-dsl-libui-windows-grid-align.png)
|
2780
|
-
|
2781
|
-
Linux
|
2782
|
-
|
2783
|
-
![glimmer-dsl-libui-linux-grid-span.png](images/glimmer-dsl-libui-linux-grid-span.png)
|
2784
|
-
![glimmer-dsl-libui-linux-grid-expand.png](images/glimmer-dsl-libui-linux-grid-expand.png)
|
2785
|
-
![glimmer-dsl-libui-linux-grid-align.png](images/glimmer-dsl-libui-linux-grid-align.png)
|
2743
|
+
Mac | Windows | Linux
|
2744
|
+
----|---------|------
|
2745
|
+
![glimmer-dsl-libui-mac-grid-span.png](images/glimmer-dsl-libui-mac-grid-span.png) ![glimmer-dsl-libui-mac-grid-expand.png](images/glimmer-dsl-libui-mac-grid-expand.png) ![glimmer-dsl-libui-mac-grid-align.png](images/glimmer-dsl-libui-mac-grid-align.png) | ![glimmer-dsl-libui-windows-grid-span.png](images/glimmer-dsl-libui-windows-grid-span.png) ![glimmer-dsl-libui-windows-grid-expand.png](images/glimmer-dsl-libui-windows-grid-expand.png) ![glimmer-dsl-libui-windows-grid-align.png](images/glimmer-dsl-libui-windows-grid-align.png) | ![glimmer-dsl-libui-linux-grid-span.png](images/glimmer-dsl-libui-linux-grid-span.png) ![glimmer-dsl-libui-linux-grid-expand.png](images/glimmer-dsl-libui-linux-grid-expand.png) ![glimmer-dsl-libui-linux-grid-align.png](images/glimmer-dsl-libui-linux-grid-align.png)
|
2786
2746
|
|
2787
2747
|
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
2788
2748
|
|
@@ -2795,16 +2755,16 @@ window('Grid') {
|
|
2795
2755
|
tab {
|
2796
2756
|
tab_item('Span') {
|
2797
2757
|
grid {
|
2798
|
-
4.times
|
2799
|
-
4.times
|
2758
|
+
4.times do |top_value|
|
2759
|
+
4.times do |left_value|
|
2800
2760
|
label("(#{left_value}, #{top_value}) xspan1\nyspan1") {
|
2801
2761
|
left left_value
|
2802
2762
|
top top_value
|
2803
2763
|
hexpand true
|
2804
2764
|
vexpand true
|
2805
2765
|
}
|
2806
|
-
|
2807
|
-
|
2766
|
+
end
|
2767
|
+
end
|
2808
2768
|
label("(0, 4) xspan2\nyspan1 more text fits horizontally") {
|
2809
2769
|
left 0
|
2810
2770
|
top 4
|
@@ -2911,20 +2871,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
2911
2871
|
ruby -r glimmer-dsl-libui -e "require 'examples/form'"
|
2912
2872
|
```
|
2913
2873
|
|
2914
|
-
Mac
|
2915
|
-
|
2916
|
-
![glimmer-dsl-libui-mac-form.png](images/glimmer-dsl-libui-mac-form.png)
|
2917
|
-
![glimmer-dsl-libui-mac-form-msg-box.png](images/glimmer-dsl-libui-mac-form-msg-box.png)
|
2918
|
-
|
2919
|
-
Windows
|
2920
|
-
|
2921
|
-
![glimmer-dsl-libui-windows-form.png](images/glimmer-dsl-libui-windows-form.png)
|
2922
|
-
![glimmer-dsl-libui-windows-form-msg-box.png](images/glimmer-dsl-libui-windows-form-msg-box.png)
|
2923
|
-
|
2924
|
-
Linux
|
2925
|
-
|
2926
|
-
![glimmer-dsl-libui-linux-form.png](images/glimmer-dsl-libui-linux-form.png)
|
2927
|
-
![glimmer-dsl-libui-linux-form-msg-box.png](images/glimmer-dsl-libui-linux-form-msg-box.png)
|
2874
|
+
Mac | Windows | Linux
|
2875
|
+
----|---------|------
|
2876
|
+
![glimmer-dsl-libui-mac-form.png](images/glimmer-dsl-libui-mac-form.png) ![glimmer-dsl-libui-mac-form-msg-box.png](images/glimmer-dsl-libui-mac-form-msg-box.png) | ![glimmer-dsl-libui-windows-form.png](images/glimmer-dsl-libui-windows-form.png) ![glimmer-dsl-libui-windows-form-msg-box.png](images/glimmer-dsl-libui-windows-form-msg-box.png) | ![glimmer-dsl-libui-linux-form.png](images/glimmer-dsl-libui-linux-form.png) ![glimmer-dsl-libui-linux-form-msg-box.png](images/glimmer-dsl-libui-linux-form-msg-box.png)
|
2928
2877
|
|
2929
2878
|
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
2930
2879
|
|
@@ -2982,17 +2931,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
2982
2931
|
ruby -r glimmer-dsl-libui -e "require 'examples/basic_table'"
|
2983
2932
|
```
|
2984
2933
|
|
2985
|
-
Mac
|
2986
|
-
|
2987
|
-
![glimmer-dsl-libui-mac-basic-table.png](images/glimmer-dsl-libui-mac-basic-table.png)
|
2988
|
-
|
2989
|
-
Windows
|
2990
|
-
|
2991
|
-
![glimmer-dsl-libui-windows-basic-table.png](images/glimmer-dsl-libui-windows-basic-table.png)
|
2992
|
-
|
2993
|
-
Linux
|
2994
|
-
|
2995
|
-
![glimmer-dsl-libui-linux-basic-table.png](images/glimmer-dsl-libui-linux-basic-table.png)
|
2934
|
+
Mac | Windows | Linux
|
2935
|
+
----|---------|------
|
2936
|
+
![glimmer-dsl-libui-mac-basic-table.png](images/glimmer-dsl-libui-mac-basic-table.png) | ![glimmer-dsl-libui-windows-basic-table.png](images/glimmer-dsl-libui-windows-basic-table.png) | ![glimmer-dsl-libui-linux-basic-table.png](images/glimmer-dsl-libui-linux-basic-table.png)
|
2996
2937
|
|
2997
2938
|
[LibUI](https://github.com/kojix2/LibUI) Original Version:
|
2998
2939
|
|
@@ -3106,23 +3047,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
3106
3047
|
ruby -r glimmer-dsl-libui -e "require 'examples/editable_table'"
|
3107
3048
|
```
|
3108
3049
|
|
3109
|
-
Mac
|
3110
|
-
|
3111
|
-
![glimmer-dsl-libui-mac-editable-table.png](images/glimmer-dsl-libui-mac-editable-table.png)
|
3112
|
-
![glimmer-dsl-libui-mac-editable-table-editing.png](images/glimmer-dsl-libui-mac-editable-table-editing.png)
|
3113
|
-
![glimmer-dsl-libui-mac-editable-table-edited.png](images/glimmer-dsl-libui-mac-editable-table-edited.png)
|
3114
|
-
|
3115
|
-
Windows
|
3116
|
-
|
3117
|
-
![glimmer-dsl-libui-windows-editable-table.png](images/glimmer-dsl-libui-windows-editable-table.png)
|
3118
|
-
![glimmer-dsl-libui-windows-editable-table-editing.png](images/glimmer-dsl-libui-windows-editable-table-editing.png)
|
3119
|
-
![glimmer-dsl-libui-windows-editable-table-edited.png](images/glimmer-dsl-libui-windows-editable-table-edited.png)
|
3120
|
-
|
3121
|
-
Linux
|
3122
|
-
|
3123
|
-
![glimmer-dsl-libui-linux-editable-table.png](images/glimmer-dsl-libui-linux-editable-table.png)
|
3124
|
-
![glimmer-dsl-libui-linux-editable-table-editing.png](images/glimmer-dsl-libui-linux-editable-table-editing.png)
|
3125
|
-
![glimmer-dsl-libui-linux-editable-table-edited.png](images/glimmer-dsl-libui-linux-editable-table-edited.png)
|
3050
|
+
Mac | Windows | Linux
|
3051
|
+
----|---------|------
|
3052
|
+
![glimmer-dsl-libui-mac-editable-table.png](images/glimmer-dsl-libui-mac-editable-table.png) ![glimmer-dsl-libui-mac-editable-table-editing.png](images/glimmer-dsl-libui-mac-editable-table-editing.png) ![glimmer-dsl-libui-mac-editable-table-edited.png](images/glimmer-dsl-libui-mac-editable-table-edited.png) | ![glimmer-dsl-libui-windows-editable-table.png](images/glimmer-dsl-libui-windows-editable-table.png) ![glimmer-dsl-libui-windows-editable-table-editing.png](images/glimmer-dsl-libui-windows-editable-table-editing.png) ![glimmer-dsl-libui-windows-editable-table-edited.png](images/glimmer-dsl-libui-windows-editable-table-edited.png) | ![glimmer-dsl-libui-linux-editable-table.png](images/glimmer-dsl-libui-linux-editable-table.png) ![glimmer-dsl-libui-linux-editable-table-editing.png](images/glimmer-dsl-libui-linux-editable-table-editing.png) ![glimmer-dsl-libui-linux-editable-table-edited.png](images/glimmer-dsl-libui-linux-editable-table-edited.png)
|
3126
3053
|
|
3127
3054
|
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
3128
3055
|
|
@@ -3180,20 +3107,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
3180
3107
|
ruby -r glimmer-dsl-libui -e "require 'examples/editable_column_table'"
|
3181
3108
|
```
|
3182
3109
|
|
3183
|
-
Mac
|
3184
|
-
|
3185
|
-
![glimmer-dsl-libui-mac-editable-column-table-editing.png](images/glimmer-dsl-libui-mac-editable-column-table-editing.png)
|
3186
|
-
![glimmer-dsl-libui-mac-editable-column-table-edited.png](images/glimmer-dsl-libui-mac-editable-column-table-edited.png)
|
3187
|
-
|
3188
|
-
Windows
|
3189
|
-
|
3190
|
-
![glimmer-dsl-libui-windows-editable-column-table-editing.png](images/glimmer-dsl-libui-windows-editable-column-table-editing.png)
|
3191
|
-
![glimmer-dsl-libui-windows-editable-column-table-edited.png](images/glimmer-dsl-libui-windows-editable-column-table-edited.png)
|
3192
|
-
|
3193
|
-
Linux
|
3194
|
-
|
3195
|
-
![glimmer-dsl-libui-linux-editable-column-table-editing.png](images/glimmer-dsl-libui-linux-editable-column-table-editing.png)
|
3196
|
-
![glimmer-dsl-libui-linux-editable-column-table-edited.png](images/glimmer-dsl-libui-linux-editable-column-table-edited.png)
|
3110
|
+
Mac | Windows | Linux
|
3111
|
+
----|---------|------
|
3112
|
+
![glimmer-dsl-libui-mac-editable-column-table-editing.png](images/glimmer-dsl-libui-mac-editable-column-table-editing.png) ![glimmer-dsl-libui-mac-editable-column-table-edited.png](images/glimmer-dsl-libui-mac-editable-column-table-edited.png) | ![glimmer-dsl-libui-windows-editable-column-table-editing.png](images/glimmer-dsl-libui-windows-editable-column-table-editing.png) ![glimmer-dsl-libui-windows-editable-column-table-edited.png](images/glimmer-dsl-libui-windows-editable-column-table-edited.png) | ![glimmer-dsl-libui-linux-editable-column-table-editing.png](images/glimmer-dsl-libui-linux-editable-column-table-editing.png) ![glimmer-dsl-libui-linux-editable-column-table-edited.png](images/glimmer-dsl-libui-linux-editable-column-table-edited.png)
|
3197
3113
|
|
3198
3114
|
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
3199
3115
|
|
@@ -3247,17 +3163,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
3247
3163
|
ruby -r glimmer-dsl-libui -e "require 'examples/basic_table_image'"
|
3248
3164
|
```
|
3249
3165
|
|
3250
|
-
Mac
|
3251
|
-
|
3252
|
-
![glimmer-dsl-libui-mac-basic-table-image.png](images/glimmer-dsl-libui-mac-basic-table-image.png)
|
3253
|
-
|
3254
|
-
Windows
|
3255
|
-
|
3256
|
-
![glimmer-dsl-libui-windows-basic-table-image.png](images/glimmer-dsl-libui-windows-basic-table-image.png)
|
3257
|
-
|
3258
|
-
Linux
|
3259
|
-
|
3260
|
-
![glimmer-dsl-libui-linux-basic-table-image.png](images/glimmer-dsl-libui-linux-basic-table-image.png)
|
3166
|
+
Mac | Windows | Linux
|
3167
|
+
----|---------|------
|
3168
|
+
![glimmer-dsl-libui-mac-basic-table-image.png](images/glimmer-dsl-libui-mac-basic-table-image.png) | ![glimmer-dsl-libui-windows-basic-table-image.png](images/glimmer-dsl-libui-windows-basic-table-image.png) | ![glimmer-dsl-libui-linux-basic-table-image.png](images/glimmer-dsl-libui-linux-basic-table-image.png)
|
3261
3169
|
|
3262
3170
|
[LibUI](https://github.com/kojix2/LibUI) Original Version:
|
3263
3171
|
|
@@ -3438,17 +3346,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
3438
3346
|
ruby -r glimmer-dsl-libui -e "require 'examples/basic_table_image_text'"
|
3439
3347
|
```
|
3440
3348
|
|
3441
|
-
Mac
|
3442
|
-
|
3443
|
-
![glimmer-dsl-libui-mac-basic-table-image-text.png](images/glimmer-dsl-libui-mac-basic-table-image-text.png)
|
3444
|
-
|
3445
|
-
Windows
|
3446
|
-
|
3447
|
-
![glimmer-dsl-libui-windows-basic-table-image-text.png](images/glimmer-dsl-libui-windows-basic-table-image-text.png)
|
3448
|
-
|
3449
|
-
Linux
|
3450
|
-
|
3451
|
-
![glimmer-dsl-libui-linux-basic-table-image-text.png](images/glimmer-dsl-libui-linux-basic-table-image-text.png)
|
3349
|
+
Mac | Windows | Linux
|
3350
|
+
----|---------|------
|
3351
|
+
![glimmer-dsl-libui-mac-basic-table-image-text.png](images/glimmer-dsl-libui-mac-basic-table-image-text.png) | ![glimmer-dsl-libui-windows-basic-table-image-text.png](images/glimmer-dsl-libui-windows-basic-table-image-text.png) | ![glimmer-dsl-libui-linux-basic-table-image-text.png](images/glimmer-dsl-libui-linux-basic-table-image-text.png)
|
3452
3352
|
|
3453
3353
|
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
3454
3354
|
|
@@ -3548,20 +3448,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
3548
3448
|
ruby -r glimmer-dsl-libui -e "require 'examples/basic_table_button'"
|
3549
3449
|
```
|
3550
3450
|
|
3551
|
-
Mac
|
3552
|
-
|
3553
|
-
![glimmer-dsl-libui-mac-basic-table-button.png](images/glimmer-dsl-libui-mac-basic-table-button.png)
|
3554
|
-
![glimmer-dsl-libui-mac-basic-table-button-deleted.png](images/glimmer-dsl-libui-mac-basic-table-button-deleted.png)
|
3555
|
-
|
3556
|
-
Windows
|
3557
|
-
|
3558
|
-
![glimmer-dsl-libui-windows-basic-table-button.png](images/glimmer-dsl-libui-windows-basic-table-button.png)
|
3559
|
-
![glimmer-dsl-libui-windows-basic-table-button-deleted.png](images/glimmer-dsl-libui-windows-basic-table-button-deleted.png)
|
3560
|
-
|
3561
|
-
Linux
|
3562
|
-
|
3563
|
-
![glimmer-dsl-libui-linux-basic-table-button.png](images/glimmer-dsl-libui-linux-basic-table-button.png)
|
3564
|
-
![glimmer-dsl-libui-linux-basic-table-button-deleted.png](images/glimmer-dsl-libui-linux-basic-table-button-deleted.png)
|
3451
|
+
Mac | Windows | Linux
|
3452
|
+
----|---------|------
|
3453
|
+
![glimmer-dsl-libui-mac-basic-table-button.png](images/glimmer-dsl-libui-mac-basic-table-button.png) ![glimmer-dsl-libui-mac-basic-table-button-deleted.png](images/glimmer-dsl-libui-mac-basic-table-button-deleted.png) | ![glimmer-dsl-libui-windows-basic-table-button.png](images/glimmer-dsl-libui-windows-basic-table-button.png) ![glimmer-dsl-libui-windows-basic-table-button-deleted.png](images/glimmer-dsl-libui-windows-basic-table-button-deleted.png) | ![glimmer-dsl-libui-linux-basic-table-button.png](images/glimmer-dsl-libui-linux-basic-table-button.png) ![glimmer-dsl-libui-linux-basic-table-button-deleted.png](images/glimmer-dsl-libui-linux-basic-table-button-deleted.png)
|
3565
3454
|
|
3566
3455
|
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
3567
3456
|
|
@@ -3615,17 +3504,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
3615
3504
|
ruby -r glimmer-dsl-libui -e "require 'examples/basic_table_checkbox'"
|
3616
3505
|
```
|
3617
3506
|
|
3618
|
-
Mac
|
3619
|
-
|
3620
|
-
![glimmer-dsl-libui-mac-basic-table-checkbox.png](images/glimmer-dsl-libui-mac-basic-table-checkbox.png)
|
3621
|
-
|
3622
|
-
Windows
|
3623
|
-
|
3624
|
-
![glimmer-dsl-libui-windows-basic-table-checkbox.png](images/glimmer-dsl-libui-windows-basic-table-checkbox.png)
|
3625
|
-
|
3626
|
-
Linux
|
3627
|
-
|
3628
|
-
![glimmer-dsl-libui-linux-basic-table-checkbox.png](images/glimmer-dsl-libui-linux-basic-table-checkbox.png)
|
3507
|
+
Mac | Windows | Linux
|
3508
|
+
----|---------|------
|
3509
|
+
![glimmer-dsl-libui-mac-basic-table-checkbox.png](images/glimmer-dsl-libui-mac-basic-table-checkbox.png) | ![glimmer-dsl-libui-windows-basic-table-checkbox.png](images/glimmer-dsl-libui-windows-basic-table-checkbox.png) | ![glimmer-dsl-libui-linux-basic-table-checkbox.png](images/glimmer-dsl-libui-linux-basic-table-checkbox.png)
|
3629
3510
|
|
3630
3511
|
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
3631
3512
|
|
@@ -3671,17 +3552,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
3671
3552
|
ruby -r glimmer-dsl-libui -e "require 'examples/basic_table_checkbox_text'"
|
3672
3553
|
```
|
3673
3554
|
|
3674
|
-
Mac
|
3675
|
-
|
3676
|
-
![glimmer-dsl-libui-mac-basic-table-checkbox-text.png](images/glimmer-dsl-libui-mac-basic-table-checkbox-text.png)
|
3677
|
-
|
3678
|
-
Windows
|
3679
|
-
|
3680
|
-
![glimmer-dsl-libui-windows-basic-table-checkbox-text.png](images/glimmer-dsl-libui-windows-basic-table-checkbox-text.png)
|
3681
|
-
|
3682
|
-
Linux
|
3683
|
-
|
3684
|
-
![glimmer-dsl-libui-linux-basic-table-checkbox-text.png](images/glimmer-dsl-libui-linux-basic-table-checkbox-text.png)
|
3555
|
+
Mac | Windows | Linux
|
3556
|
+
----|---------|------
|
3557
|
+
![glimmer-dsl-libui-mac-basic-table-checkbox-text.png](images/glimmer-dsl-libui-mac-basic-table-checkbox-text.png) | ![glimmer-dsl-libui-windows-basic-table-checkbox-text.png](images/glimmer-dsl-libui-windows-basic-table-checkbox-text.png) | ![glimmer-dsl-libui-linux-basic-table-checkbox-text.png](images/glimmer-dsl-libui-linux-basic-table-checkbox-text.png)
|
3685
3558
|
|
3686
3559
|
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
3687
3560
|
|
@@ -3727,17 +3600,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
3727
3600
|
ruby -r glimmer-dsl-libui -e "require 'examples/basic_table_progress_bar'"
|
3728
3601
|
```
|
3729
3602
|
|
3730
|
-
Mac
|
3731
|
-
|
3732
|
-
![glimmer-dsl-libui-mac-basic-table-progress-bar.png](images/glimmer-dsl-libui-mac-basic-table-progress-bar.png)
|
3733
|
-
|
3734
|
-
Windows
|
3735
|
-
|
3736
|
-
![glimmer-dsl-libui-windows-basic-table-progress-bar.png](images/glimmer-dsl-libui-windows-basic-table-progress-bar.png)
|
3737
|
-
|
3738
|
-
Linux
|
3739
|
-
|
3740
|
-
![glimmer-dsl-libui-linux-basic-table-progress-bar.png](images/glimmer-dsl-libui-linux-basic-table-progress-bar.png)
|
3603
|
+
Mac | Windows | Linux
|
3604
|
+
----|---------|------
|
3605
|
+
![glimmer-dsl-libui-mac-basic-table-progress-bar.png](images/glimmer-dsl-libui-mac-basic-table-progress-bar.png) | ![glimmer-dsl-libui-windows-basic-table-progress-bar.png](images/glimmer-dsl-libui-windows-basic-table-progress-bar.png) | ![glimmer-dsl-libui-linux-basic-table-progress-bar.png](images/glimmer-dsl-libui-linux-basic-table-progress-bar.png)
|
3741
3606
|
|
3742
3607
|
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
3743
3608
|
|
@@ -3792,17 +3657,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
3792
3657
|
ruby -r glimmer-dsl-libui -e "require 'examples/basic_table_color'"
|
3793
3658
|
```
|
3794
3659
|
|
3795
|
-
Mac
|
3796
|
-
|
3797
|
-
![glimmer-dsl-libui-mac-basic-table-color.png](images/glimmer-dsl-libui-mac-basic-table-color.png)
|
3798
|
-
|
3799
|
-
Windows
|
3800
|
-
|
3801
|
-
![glimmer-dsl-libui-windows-basic-table-color.png](images/glimmer-dsl-libui-windows-basic-table-color.png)
|
3802
|
-
|
3803
|
-
Linux
|
3804
|
-
|
3805
|
-
![glimmer-dsl-libui-linux-basic-table-color.png](images/glimmer-dsl-libui-linux-basic-table-color.png)
|
3660
|
+
Mac | Windows | Linux
|
3661
|
+
----|---------|------
|
3662
|
+
![glimmer-dsl-libui-mac-basic-table-color.png](images/glimmer-dsl-libui-mac-basic-table-color.png) | ![glimmer-dsl-libui-windows-basic-table-color.png](images/glimmer-dsl-libui-windows-basic-table-color.png) | ![glimmer-dsl-libui-linux-basic-table-color.png](images/glimmer-dsl-libui-linux-basic-table-color.png)
|
3806
3663
|
|
3807
3664
|
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
3808
3665
|
|
@@ -3896,23 +3753,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
3896
3753
|
ruby -r glimmer-dsl-libui -e "require 'examples/form_table'"
|
3897
3754
|
```
|
3898
3755
|
|
3899
|
-
Mac
|
3900
|
-
|
3901
|
-
![glimmer-dsl-libui-mac-form-table.png](images/glimmer-dsl-libui-mac-form-table.png)
|
3902
|
-
![glimmer-dsl-libui-mac-form-table-contact-entered.png](images/glimmer-dsl-libui-mac-form-table-contact-entered.png)
|
3903
|
-
![glimmer-dsl-libui-mac-form-table-filtered.png](images/glimmer-dsl-libui-mac-form-table-filtered.png)
|
3904
|
-
|
3905
|
-
Windows
|
3906
|
-
|
3907
|
-
![glimmer-dsl-libui-windows-form-table.png](images/glimmer-dsl-libui-windows-form-table.png)
|
3908
|
-
![glimmer-dsl-libui-windows-form-table-contact-entered.png](images/glimmer-dsl-libui-windows-form-table-contact-entered.png)
|
3909
|
-
![glimmer-dsl-libui-windows-form-table-filtered.png](images/glimmer-dsl-libui-windows-form-table-filtered.png)
|
3910
|
-
|
3911
|
-
Linux
|
3912
|
-
|
3913
|
-
![glimmer-dsl-libui-linux-form-table.png](images/glimmer-dsl-libui-linux-form-table.png)
|
3914
|
-
![glimmer-dsl-libui-linux-form-table-contact-entered.png](images/glimmer-dsl-libui-linux-form-table-contact-entered.png)
|
3915
|
-
![glimmer-dsl-libui-linux-form-table-filtered.png](images/glimmer-dsl-libui-linux-form-table-filtered.png)
|
3756
|
+
Mac | Windows | Linux
|
3757
|
+
----|---------|------
|
3758
|
+
![glimmer-dsl-libui-mac-form-table.png](images/glimmer-dsl-libui-mac-form-table.png) ![glimmer-dsl-libui-mac-form-table-contact-entered.png](images/glimmer-dsl-libui-mac-form-table-contact-entered.png) ![glimmer-dsl-libui-mac-form-table-filtered.png](images/glimmer-dsl-libui-mac-form-table-filtered.png) | ![glimmer-dsl-libui-windows-form-table.png](images/glimmer-dsl-libui-windows-form-table.png) ![glimmer-dsl-libui-windows-form-table-contact-entered.png](images/glimmer-dsl-libui-windows-form-table-contact-entered.png) ![glimmer-dsl-libui-windows-form-table-filtered.png](images/glimmer-dsl-libui-windows-form-table-filtered.png) | ![glimmer-dsl-libui-linux-form-table.png](images/glimmer-dsl-libui-linux-form-table.png) ![glimmer-dsl-libui-linux-form-table-contact-entered.png](images/glimmer-dsl-libui-linux-form-table-contact-entered.png) ![glimmer-dsl-libui-linux-form-table-filtered.png](images/glimmer-dsl-libui-linux-form-table-filtered.png)
|
3916
3759
|
|
3917
3760
|
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
3918
3761
|
|
@@ -3939,15 +3782,19 @@ window('Contacts', 600, 600) { |w|
|
|
3939
3782
|
@name_entry = entry {
|
3940
3783
|
label 'Name'
|
3941
3784
|
}
|
3785
|
+
|
3942
3786
|
@email_entry = entry {
|
3943
3787
|
label 'Email'
|
3944
3788
|
}
|
3789
|
+
|
3945
3790
|
@phone_entry = entry {
|
3946
3791
|
label 'Phone'
|
3947
3792
|
}
|
3793
|
+
|
3948
3794
|
@city_entry = entry {
|
3949
3795
|
label 'City'
|
3950
3796
|
}
|
3797
|
+
|
3951
3798
|
@state_entry = entry {
|
3952
3799
|
label 'State'
|
3953
3800
|
}
|
@@ -4024,17 +3871,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
4024
3871
|
ruby -r glimmer-dsl-libui -e "require 'examples/basic_area'"
|
4025
3872
|
```
|
4026
3873
|
|
4027
|
-
Mac
|
4028
|
-
|
4029
|
-
![glimmer-dsl-libui-mac-basic-area.png](images/glimmer-dsl-libui-mac-basic-area.png)
|
4030
|
-
|
4031
|
-
Windows
|
4032
|
-
|
4033
|
-
![glimmer-dsl-libui-windows-basic-area.png](images/glimmer-dsl-libui-windows-basic-area.png)
|
4034
|
-
|
4035
|
-
Linux
|
4036
|
-
|
4037
|
-
![glimmer-dsl-libui-linux-basic-area.png](images/glimmer-dsl-libui-linux-basic-area.png)
|
3874
|
+
Mac | Windows | Linux
|
3875
|
+
----|---------|------
|
3876
|
+
![glimmer-dsl-libui-mac-basic-area.png](images/glimmer-dsl-libui-mac-basic-area.png) | ![glimmer-dsl-libui-windows-basic-area.png](images/glimmer-dsl-libui-windows-basic-area.png) | ![glimmer-dsl-libui-linux-basic-area.png](images/glimmer-dsl-libui-linux-basic-area.png)
|
4038
3877
|
|
4039
3878
|
[LibUI](https://github.com/kojix2/LibUI) Original Version:
|
4040
3879
|
|
@@ -4150,29 +3989,18 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
4150
3989
|
ruby -r glimmer-dsl-libui -e "require 'examples/dynamic_area'"
|
4151
3990
|
```
|
4152
3991
|
|
4153
|
-
Mac
|
3992
|
+
Mac | Windows | Linux
|
3993
|
+
----|---------|------
|
3994
|
+
![glimmer-dsl-libui-mac-dynamic-area.png](images/glimmer-dsl-libui-mac-dynamic-area.png) ![glimmer-dsl-libui-mac-dynamic-area-updated.png](images/glimmer-dsl-libui-mac-dynamic-area-updated.png) | ![glimmer-dsl-libui-windows-dynamic-area.png](images/glimmer-dsl-libui-windows-dynamic-area.png) ![glimmer-dsl-libui-windows-dynamic-area-updated.png](images/glimmer-dsl-libui-windows-dynamic-area-updated.png) | ![glimmer-dsl-libui-linux-dynamic-area.png](images/glimmer-dsl-libui-linux-dynamic-area.png) ![glimmer-dsl-libui-linux-dynamic-area-updated.png](images/glimmer-dsl-libui-linux-dynamic-area-updated.png)
|
4154
3995
|
|
4155
|
-
|
4156
|
-
![glimmer-dsl-libui-mac-dynamic-area-updated.png](images/glimmer-dsl-libui-mac-dynamic-area-updated.png)
|
4157
|
-
|
4158
|
-
Windows
|
4159
|
-
|
4160
|
-
![glimmer-dsl-libui-windows-dynamic-area.png](images/glimmer-dsl-libui-windows-dynamic-area.png)
|
4161
|
-
![glimmer-dsl-libui-windows-dynamic-area-updated.png](images/glimmer-dsl-libui-windows-dynamic-area-updated.png)
|
4162
|
-
|
4163
|
-
Linux
|
4164
|
-
|
4165
|
-
![glimmer-dsl-libui-linux-dynamic-area.png](images/glimmer-dsl-libui-linux-dynamic-area.png)
|
4166
|
-
![glimmer-dsl-libui-linux-dynamic-area-updated.png](images/glimmer-dsl-libui-linux-dynamic-area-updated.png)
|
4167
|
-
|
4168
|
-
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
3996
|
+
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
4169
3997
|
|
4170
3998
|
```ruby
|
4171
3999
|
require 'glimmer-dsl-libui'
|
4172
4000
|
|
4173
4001
|
include Glimmer
|
4174
4002
|
|
4175
|
-
window('Dynamic Area', 240,
|
4003
|
+
window('Dynamic Area', 240, 600) {
|
4176
4004
|
margined true
|
4177
4005
|
|
4178
4006
|
vertical_box {
|
@@ -4258,9 +4086,7 @@ window('Dynamic Area', 240, 500) {
|
|
4258
4086
|
|
4259
4087
|
@area = area {
|
4260
4088
|
on_draw do |area_draw_params|
|
4261
|
-
|
4262
|
-
rectangle(@x_spinbox.value, @y_spinbox.value, @width_spinbox.value, @height_spinbox.value)
|
4263
|
-
|
4089
|
+
rectangle(@x_spinbox.value, @y_spinbox.value, @width_spinbox.value, @height_spinbox.value) { # a dynamic path is added semi-declaratively inside on_draw block
|
4264
4090
|
fill r: @red_spinbox.value, g: @green_spinbox.value, b: @blue_spinbox.value, a: @alpha_spinbox.value / 100.0
|
4265
4091
|
}
|
4266
4092
|
end
|
@@ -4328,7 +4154,7 @@ window('Dynamic Area', 240, 600) {
|
|
4328
4154
|
value 102
|
4329
4155
|
|
4330
4156
|
on_changed do
|
4331
|
-
@
|
4157
|
+
@rectangle.fill[:r] = @red_spinbox.value # updating hash properties automatically triggers area.queue_redraw_all
|
4332
4158
|
end
|
4333
4159
|
}
|
4334
4160
|
|
@@ -4337,7 +4163,7 @@ window('Dynamic Area', 240, 600) {
|
|
4337
4163
|
value 102
|
4338
4164
|
|
4339
4165
|
on_changed do
|
4340
|
-
@
|
4166
|
+
@rectangle.fill[:g] = @green_spinbox.value # updating hash properties automatically triggers area.queue_redraw_all
|
4341
4167
|
end
|
4342
4168
|
}
|
4343
4169
|
|
@@ -4346,7 +4172,7 @@ window('Dynamic Area', 240, 600) {
|
|
4346
4172
|
value 204
|
4347
4173
|
|
4348
4174
|
on_changed do
|
4349
|
-
@
|
4175
|
+
@rectangle.fill[:b] = @blue_spinbox.value # updating hash properties automatically triggers area.queue_redraw_all
|
4350
4176
|
end
|
4351
4177
|
}
|
4352
4178
|
|
@@ -4355,15 +4181,13 @@ window('Dynamic Area', 240, 600) {
|
|
4355
4181
|
value 100
|
4356
4182
|
|
4357
4183
|
on_changed do
|
4358
|
-
@
|
4184
|
+
@rectangle.fill[:a] = @alpha_spinbox.value / 100.0 # updating hash properties automatically triggers area.queue_redraw_all
|
4359
4185
|
end
|
4360
4186
|
}
|
4361
4187
|
}
|
4362
4188
|
|
4363
4189
|
area {
|
4364
|
-
@
|
4365
|
-
@rectangle = rectangle(@x_spinbox.value, @y_spinbox.value, @width_spinbox.value, @height_spinbox.value)
|
4366
|
-
|
4190
|
+
@rectangle = rectangle(@x_spinbox.value, @y_spinbox.value, @width_spinbox.value, @height_spinbox.value) { # stable path
|
4367
4191
|
fill r: @red_spinbox.value, g: @green_spinbox.value, b: @blue_spinbox.value, a: @alpha_spinbox.value / 100.0
|
4368
4192
|
}
|
4369
4193
|
}
|
@@ -4387,17 +4211,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
4387
4211
|
ruby -r glimmer-dsl-libui -e "require 'examples/area_gallery'"
|
4388
4212
|
```
|
4389
4213
|
|
4390
|
-
Mac
|
4391
|
-
|
4392
|
-
![glimmer-dsl-libui-mac-area-gallery.png](images/glimmer-dsl-libui-mac-area-gallery.png)
|
4393
|
-
|
4394
|
-
Windows
|
4395
|
-
|
4396
|
-
![glimmer-dsl-libui-windows-area-gallery.png](images/glimmer-dsl-libui-windows-area-gallery.png)
|
4397
|
-
|
4398
|
-
Linux
|
4399
|
-
|
4400
|
-
![glimmer-dsl-libui-linux-area-gallery.png](images/glimmer-dsl-libui-linux-area-gallery.png)
|
4214
|
+
Mac | Windows | Linux
|
4215
|
+
----|---------|------
|
4216
|
+
![glimmer-dsl-libui-mac-area-gallery.png](images/glimmer-dsl-libui-mac-area-gallery.png) | ![glimmer-dsl-libui-windows-area-gallery.png](images/glimmer-dsl-libui-windows-area-gallery.png) | ![glimmer-dsl-libui-linux-area-gallery.png](images/glimmer-dsl-libui-linux-area-gallery.png)
|
4401
4217
|
|
4402
4218
|
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
4403
4219
|
|
@@ -4408,50 +4224,50 @@ include Glimmer
|
|
4408
4224
|
|
4409
4225
|
window('Area Gallery', 400, 400) {
|
4410
4226
|
area {
|
4411
|
-
path { # declarative stable path
|
4227
|
+
path { # declarative stable path (explicit path syntax for multiple shapes sharing attributes)
|
4412
4228
|
square(0, 0, 100)
|
4413
4229
|
square(100, 100, 400)
|
4414
|
-
|
4230
|
+
|
4415
4231
|
fill r: 102, g: 102, b: 204
|
4416
4232
|
}
|
4417
|
-
|
4233
|
+
|
4234
|
+
path { # declarative stable path (explicit path syntax for multiple shapes sharing attributes)
|
4418
4235
|
rectangle(0, 100, 100, 400)
|
4419
4236
|
rectangle(100, 0, 400, 100)
|
4420
|
-
|
4237
|
+
|
4421
4238
|
# linear gradient (has x0, y0, x1, y1, and stops)
|
4422
4239
|
fill x0: 10, y0: 10, x1: 350, y1: 350, stops: [{pos: 0.25, r: 204, g: 102, b: 204}, {pos: 0.75, r: 102, g: 102, b: 204}]
|
4423
4240
|
}
|
4424
|
-
|
4425
|
-
|
4426
|
-
|
4241
|
+
|
4242
|
+
polygon(100, 100, 100, 400, 400, 100, 400, 400) { # declarative stable path (implicit path syntax for a single shape nested directly under area)
|
4427
4243
|
fill r: 202, g: 102, b: 104, a: 0.5
|
4428
4244
|
stroke r: 0, g: 0, b: 0
|
4429
4245
|
}
|
4430
|
-
|
4431
|
-
|
4432
|
-
|
4246
|
+
|
4247
|
+
polybezier(0, 0,
|
4248
|
+
200, 100, 100, 200, 400, 100,
|
4249
|
+
300, 100, 100, 300, 100, 400,
|
4250
|
+
100, 300, 300, 100, 400, 400) { # declarative stable path (implicit path syntax for a single shape nested directly under area)
|
4433
4251
|
fill r: 202, g: 102, b: 204, a: 0.5
|
4434
4252
|
stroke r: 0, g: 0, b: 0, thickness: 2, dashes: [50, 10, 10, 10], dash_phase: -50.0
|
4435
4253
|
}
|
4436
|
-
path { # declarative stable path
|
4437
|
-
polyline(100, 100, 400, 100, 100, 400, 400, 400, 0, 0)
|
4438
4254
|
|
4255
|
+
polyline(100, 100, 400, 100, 100, 400, 400, 400, 0, 0) { # declarative stable path (implicit path syntax for a single shape nested directly under area)
|
4439
4256
|
stroke r: 0, g: 0, b: 0, thickness: 2
|
4440
4257
|
}
|
4441
|
-
|
4442
|
-
|
4443
|
-
|
4258
|
+
|
4259
|
+
arc(404, 216, 190, 90, 90, false) { # declarative stable path (implicit path syntax for a single shape nested directly under area)
|
4444
4260
|
# radial gradient (has an outer_radius in addition to x0, y0, x1, y1, and stops)
|
4445
4261
|
fill outer_radius: 90, x0: 0, y0: 0, x1: 500, y1: 500, stops: [{pos: 0.25, r: 102, g: 102, b: 204, a: 0.5}, {pos: 0.75, r: 204, g: 102, b: 204}]
|
4446
4262
|
stroke r: 0, g: 0, b: 0, thickness: 2, dashes: [50, 10, 10, 10], dash_phase: -50.0
|
4447
4263
|
}
|
4448
|
-
|
4449
|
-
|
4450
|
-
|
4264
|
+
|
4265
|
+
circle(200, 200, 90) { # declarative stable path (implicit path syntax for a single shape nested directly under area)
|
4451
4266
|
fill r: 202, g: 102, b: 204, a: 0.5
|
4452
4267
|
stroke r: 0, g: 0, b: 0, thickness: 2
|
4453
4268
|
}
|
4454
|
-
|
4269
|
+
|
4270
|
+
text(161, 40, 100) { # declarative stable text
|
4455
4271
|
string('Area Gallery') {
|
4456
4272
|
font family: 'Arial', size: (OS.mac? ? 14 : 11)
|
4457
4273
|
color :black
|
@@ -4518,12 +4334,13 @@ include Glimmer
|
|
4518
4334
|
|
4519
4335
|
window('Area Gallery', 400, 400) {
|
4520
4336
|
area {
|
4521
|
-
path { # declarative stable path
|
4337
|
+
path { # declarative stable path with explicit attributes (explicit path syntax for multiple shapes sharing attributes)
|
4522
4338
|
square {
|
4523
4339
|
x 0
|
4524
4340
|
y 0
|
4525
4341
|
length 100
|
4526
4342
|
}
|
4343
|
+
|
4527
4344
|
square {
|
4528
4345
|
x 100
|
4529
4346
|
y 100
|
@@ -4532,13 +4349,15 @@ window('Area Gallery', 400, 400) {
|
|
4532
4349
|
|
4533
4350
|
fill r: 102, g: 102, b: 204
|
4534
4351
|
}
|
4535
|
-
|
4352
|
+
|
4353
|
+
path { # declarative stable path with explicit attributes (explicit path syntax for multiple shapes sharing attributes)
|
4536
4354
|
rectangle {
|
4537
4355
|
x 0
|
4538
4356
|
y 100
|
4539
4357
|
width 100
|
4540
4358
|
height 400
|
4541
4359
|
}
|
4360
|
+
|
4542
4361
|
rectangle {
|
4543
4362
|
x 100
|
4544
4363
|
y 0
|
@@ -4549,115 +4368,114 @@ window('Area Gallery', 400, 400) {
|
|
4549
4368
|
# linear gradient (has x0, y0, x1, y1, and stops)
|
4550
4369
|
fill x0: 10, y0: 10, x1: 350, y1: 350, stops: [{pos: 0.25, r: 204, g: 102, b: 204}, {pos: 0.75, r: 102, g: 102, b: 204}]
|
4551
4370
|
}
|
4552
|
-
|
4553
|
-
|
4371
|
+
|
4372
|
+
figure { # declarative stable path with explicit attributes (implicit path syntax for a single shape nested directly under area)
|
4373
|
+
x 100
|
4374
|
+
y 100
|
4375
|
+
|
4376
|
+
line {
|
4554
4377
|
x 100
|
4378
|
+
y 400
|
4379
|
+
}
|
4380
|
+
|
4381
|
+
line {
|
4382
|
+
x 400
|
4555
4383
|
y 100
|
4556
|
-
|
4557
|
-
|
4558
|
-
|
4559
|
-
|
4560
|
-
|
4561
|
-
line {
|
4562
|
-
x 400
|
4563
|
-
y 100
|
4564
|
-
}
|
4565
|
-
line {
|
4566
|
-
x 400
|
4567
|
-
y 400
|
4568
|
-
}
|
4569
|
-
|
4570
|
-
closed true
|
4384
|
+
}
|
4385
|
+
|
4386
|
+
line {
|
4387
|
+
x 400
|
4388
|
+
y 400
|
4571
4389
|
}
|
4572
4390
|
|
4391
|
+
closed true # polygon figure is closed (last point forms a line with first point)
|
4573
4392
|
fill r: 202, g: 102, b: 104, a: 0.5
|
4574
4393
|
stroke r: 0, g: 0, b: 0
|
4575
4394
|
}
|
4576
|
-
|
4577
|
-
|
4578
|
-
|
4579
|
-
|
4580
|
-
|
4581
|
-
|
4582
|
-
|
4583
|
-
|
4584
|
-
|
4585
|
-
|
4586
|
-
|
4587
|
-
|
4588
|
-
}
|
4589
|
-
bezier {
|
4590
|
-
c1_x 300
|
4591
|
-
c1_y 100
|
4592
|
-
c2_x 100
|
4593
|
-
c2_y 300
|
4594
|
-
end_x 100
|
4595
|
-
end_y 400
|
4596
|
-
}
|
4597
|
-
bezier {
|
4598
|
-
c1_x 100
|
4599
|
-
c1_y 300
|
4600
|
-
c2_x 300
|
4601
|
-
c2_y 100
|
4602
|
-
end_x 400
|
4603
|
-
end_y 400
|
4604
|
-
}
|
4395
|
+
|
4396
|
+
figure { # declarative stable path with explicit attributes (implicit path syntax for a single shape nested directly under area)
|
4397
|
+
x 0
|
4398
|
+
y 0
|
4399
|
+
|
4400
|
+
bezier {
|
4401
|
+
c1_x 200
|
4402
|
+
c1_y 100
|
4403
|
+
c2_x 100
|
4404
|
+
c2_y 200
|
4405
|
+
end_x 400
|
4406
|
+
end_y 100
|
4605
4407
|
}
|
4606
|
-
|
4408
|
+
|
4409
|
+
bezier {
|
4410
|
+
c1_x 300
|
4411
|
+
c1_y 100
|
4412
|
+
c2_x 100
|
4413
|
+
c2_y 300
|
4414
|
+
end_x 100
|
4415
|
+
end_y 400
|
4416
|
+
}
|
4417
|
+
|
4418
|
+
bezier {
|
4419
|
+
c1_x 100
|
4420
|
+
c1_y 300
|
4421
|
+
c2_x 300
|
4422
|
+
c2_y 100
|
4423
|
+
end_x 400
|
4424
|
+
end_y 400
|
4425
|
+
}
|
4426
|
+
|
4607
4427
|
fill r: 202, g: 102, b: 204, a: 0.5
|
4608
4428
|
stroke r: 0, g: 0, b: 0, thickness: 2, dashes: [50, 10, 10, 10], dash_phase: -50.0
|
4609
4429
|
}
|
4610
|
-
|
4611
|
-
|
4612
|
-
|
4613
|
-
|
4430
|
+
|
4431
|
+
figure { # declarative stable path with explicit attributes (implicit path syntax for a single shape nested directly under area)
|
4432
|
+
x 100
|
4433
|
+
y 100
|
4434
|
+
|
4435
|
+
line {
|
4436
|
+
x 400
|
4614
4437
|
y 100
|
4615
|
-
|
4616
|
-
line {
|
4617
|
-
x 400
|
4618
|
-
y 100
|
4619
|
-
}
|
4620
|
-
line {
|
4621
|
-
x 100
|
4622
|
-
y 400
|
4623
|
-
}
|
4624
|
-
line {
|
4625
|
-
x 400
|
4626
|
-
y 400
|
4627
|
-
}
|
4628
|
-
line {
|
4629
|
-
x 0
|
4630
|
-
y 0
|
4631
|
-
}
|
4632
4438
|
}
|
4633
|
-
|
4439
|
+
|
4440
|
+
line {
|
4441
|
+
x 100
|
4442
|
+
y 400
|
4443
|
+
}
|
4444
|
+
|
4445
|
+
line {
|
4446
|
+
x 400
|
4447
|
+
y 400
|
4448
|
+
}
|
4449
|
+
|
4450
|
+
line {
|
4451
|
+
x 0
|
4452
|
+
y 0
|
4453
|
+
}
|
4454
|
+
|
4634
4455
|
stroke r: 0, g: 0, b: 0, thickness: 2
|
4635
4456
|
}
|
4636
|
-
|
4637
|
-
|
4638
|
-
|
4639
|
-
|
4640
|
-
|
4641
|
-
|
4642
|
-
|
4643
|
-
|
4644
|
-
}
|
4645
|
-
|
4457
|
+
|
4458
|
+
arc { # declarative stable path with explicit attributes (implicit path syntax for a single shape nested directly under area)
|
4459
|
+
x_center 404
|
4460
|
+
y_center 216
|
4461
|
+
radius 190
|
4462
|
+
start_angle 90
|
4463
|
+
sweep 90
|
4464
|
+
is_negative false
|
4646
4465
|
# radial gradient (has an outer_radius in addition to x0, y0, x1, y1, and stops)
|
4647
4466
|
fill outer_radius: 90, x0: 0, y0: 0, x1: 500, y1: 500, stops: [{pos: 0.25, r: 102, g: 102, b: 204, a: 0.5}, {pos: 0.75, r: 204, g: 102, b: 204}]
|
4648
4467
|
stroke r: 0, g: 0, b: 0, thickness: 2, dashes: [50, 10, 10, 10], dash_phase: -50.0
|
4649
4468
|
}
|
4650
|
-
|
4651
|
-
|
4652
|
-
|
4653
|
-
|
4654
|
-
|
4655
|
-
}
|
4656
|
-
|
4469
|
+
|
4470
|
+
circle { # declarative stable path with explicit attributes (implicit path syntax for a single shape nested directly under area)
|
4471
|
+
x_center 200
|
4472
|
+
y_center 200
|
4473
|
+
radius 90
|
4657
4474
|
fill r: 202, g: 102, b: 204, a: 0.5
|
4658
4475
|
stroke r: 0, g: 0, b: 0, thickness: 2
|
4659
4476
|
}
|
4660
|
-
|
4477
|
+
|
4478
|
+
text { # declarative stable text with explicit attributes
|
4661
4479
|
x 161
|
4662
4480
|
y 40
|
4663
4481
|
width 100
|
@@ -4731,50 +4549,50 @@ include Glimmer
|
|
4731
4549
|
window('Area Gallery', 400, 400) {
|
4732
4550
|
area {
|
4733
4551
|
on_draw do |area_draw_params|
|
4734
|
-
path { #
|
4552
|
+
path { # dynamic path, added semi-declaratively inside on_draw block
|
4735
4553
|
square(0, 0, 100)
|
4736
4554
|
square(100, 100, 400)
|
4737
|
-
|
4555
|
+
|
4738
4556
|
fill r: 102, g: 102, b: 204
|
4739
4557
|
}
|
4740
|
-
|
4558
|
+
|
4559
|
+
path { # dynamic path, added semi-declaratively inside on_draw block
|
4741
4560
|
rectangle(0, 100, 100, 400)
|
4742
4561
|
rectangle(100, 0, 400, 100)
|
4743
|
-
|
4562
|
+
|
4744
4563
|
# linear gradient (has x0, y0, x1, y1, and stops)
|
4745
4564
|
fill x0: 10, y0: 10, x1: 350, y1: 350, stops: [{pos: 0.25, r: 204, g: 102, b: 204}, {pos: 0.75, r: 102, g: 102, b: 204}]
|
4746
4565
|
}
|
4747
|
-
|
4748
|
-
|
4749
|
-
|
4566
|
+
|
4567
|
+
polygon(100, 100, 100, 400, 400, 100, 400, 400) { # dynamic path, added semi-declaratively inside on_draw block
|
4750
4568
|
fill r: 202, g: 102, b: 104, a: 0.5
|
4751
4569
|
stroke r: 0, g: 0, b: 0
|
4752
4570
|
}
|
4753
|
-
|
4754
|
-
|
4755
|
-
|
4571
|
+
|
4572
|
+
polybezier(0, 0,
|
4573
|
+
200, 100, 100, 200, 400, 100,
|
4574
|
+
300, 100, 100, 300, 100, 400,
|
4575
|
+
100, 300, 300, 100, 400, 400) { # dynamic path, added semi-declaratively inside on_draw block
|
4756
4576
|
fill r: 202, g: 102, b: 204, a: 0.5
|
4757
4577
|
stroke r: 0, g: 0, b: 0, thickness: 2, dashes: [50, 10, 10, 10], dash_phase: -50.0
|
4758
4578
|
}
|
4759
|
-
path { # a dynamic path is added semi-declaratively inside on_draw block
|
4760
|
-
polyline(100, 100, 400, 100, 100, 400, 400, 400, 0, 0)
|
4761
4579
|
|
4580
|
+
polyline(100, 100, 400, 100, 100, 400, 400, 400, 0, 0) { # dynamic path, added semi-declaratively inside on_draw block
|
4762
4581
|
stroke r: 0, g: 0, b: 0, thickness: 2
|
4763
4582
|
}
|
4764
|
-
|
4765
|
-
|
4766
|
-
|
4583
|
+
|
4584
|
+
arc(404, 216, 190, 90, 90, false) { # dynamic path, added semi-declaratively inside on_draw block
|
4767
4585
|
# radial gradient (has an outer_radius in addition to x0, y0, x1, y1, and stops)
|
4768
4586
|
fill outer_radius: 90, x0: 0, y0: 0, x1: 500, y1: 500, stops: [{pos: 0.25, r: 102, g: 102, b: 204, a: 0.5}, {pos: 0.75, r: 204, g: 102, b: 204}]
|
4769
4587
|
stroke r: 0, g: 0, b: 0, thickness: 2, dashes: [50, 10, 10, 10], dash_phase: -50.0
|
4770
4588
|
}
|
4771
|
-
|
4772
|
-
|
4773
|
-
|
4589
|
+
|
4590
|
+
circle(200, 200, 90) { # dynamic path, added semi-declaratively inside on_draw block
|
4774
4591
|
fill r: 202, g: 102, b: 204, a: 0.5
|
4775
4592
|
stroke r: 0, g: 0, b: 0, thickness: 2
|
4776
4593
|
}
|
4777
|
-
|
4594
|
+
|
4595
|
+
text(161, 40, 100) { # dynamic text added semi-declaratively inside on_draw block
|
4778
4596
|
string('Area Gallery') {
|
4779
4597
|
font family: 'Arial', size: (OS.mac? ? 14 : 11)
|
4780
4598
|
color :black
|
@@ -4843,12 +4661,13 @@ include Glimmer
|
|
4843
4661
|
window('Area Gallery', 400, 400) {
|
4844
4662
|
area {
|
4845
4663
|
on_draw do |area_draw_params|
|
4846
|
-
path { #
|
4664
|
+
path { # dynamic path, added semi-declaratively inside on_draw block
|
4847
4665
|
square {
|
4848
4666
|
x 0
|
4849
4667
|
y 0
|
4850
4668
|
length 100
|
4851
4669
|
}
|
4670
|
+
|
4852
4671
|
square {
|
4853
4672
|
x 100
|
4854
4673
|
y 100
|
@@ -4857,13 +4676,15 @@ window('Area Gallery', 400, 400) {
|
|
4857
4676
|
|
4858
4677
|
fill r: 102, g: 102, b: 204
|
4859
4678
|
}
|
4860
|
-
|
4679
|
+
|
4680
|
+
path { # dynamic path, added semi-declaratively inside on_draw block
|
4861
4681
|
rectangle {
|
4862
4682
|
x 0
|
4863
4683
|
y 100
|
4864
4684
|
width 100
|
4865
4685
|
height 400
|
4866
4686
|
}
|
4687
|
+
|
4867
4688
|
rectangle {
|
4868
4689
|
x 100
|
4869
4690
|
y 0
|
@@ -4874,115 +4695,114 @@ window('Area Gallery', 400, 400) {
|
|
4874
4695
|
# linear gradient (has x0, y0, x1, y1, and stops)
|
4875
4696
|
fill x0: 10, y0: 10, x1: 350, y1: 350, stops: [{pos: 0.25, r: 204, g: 102, b: 204}, {pos: 0.75, r: 102, g: 102, b: 204}]
|
4876
4697
|
}
|
4877
|
-
|
4878
|
-
|
4698
|
+
|
4699
|
+
figure { # dynamic path, added semi-declaratively inside on_draw block
|
4700
|
+
x 100
|
4701
|
+
y 100
|
4702
|
+
|
4703
|
+
line {
|
4879
4704
|
x 100
|
4705
|
+
y 400
|
4706
|
+
}
|
4707
|
+
|
4708
|
+
line {
|
4709
|
+
x 400
|
4880
4710
|
y 100
|
4881
|
-
|
4882
|
-
|
4883
|
-
|
4884
|
-
|
4885
|
-
|
4886
|
-
line {
|
4887
|
-
x 400
|
4888
|
-
y 100
|
4889
|
-
}
|
4890
|
-
line {
|
4891
|
-
x 400
|
4892
|
-
y 400
|
4893
|
-
}
|
4894
|
-
|
4895
|
-
closed true
|
4711
|
+
}
|
4712
|
+
|
4713
|
+
line {
|
4714
|
+
x 400
|
4715
|
+
y 400
|
4896
4716
|
}
|
4897
4717
|
|
4718
|
+
closed true # polygon figure is closed (last point forms a line with first point)
|
4898
4719
|
fill r: 202, g: 102, b: 104, a: 0.5
|
4899
4720
|
stroke r: 0, g: 0, b: 0
|
4900
4721
|
}
|
4901
|
-
|
4902
|
-
|
4903
|
-
|
4904
|
-
|
4905
|
-
|
4906
|
-
|
4907
|
-
|
4908
|
-
|
4909
|
-
|
4910
|
-
|
4911
|
-
|
4912
|
-
|
4913
|
-
}
|
4914
|
-
bezier {
|
4915
|
-
c1_x 300
|
4916
|
-
c1_y 100
|
4917
|
-
c2_x 100
|
4918
|
-
c2_y 300
|
4919
|
-
end_x 100
|
4920
|
-
end_y 400
|
4921
|
-
}
|
4922
|
-
bezier {
|
4923
|
-
c1_x 100
|
4924
|
-
c1_y 300
|
4925
|
-
c2_x 300
|
4926
|
-
c2_y 100
|
4927
|
-
end_x 400
|
4928
|
-
end_y 400
|
4929
|
-
}
|
4722
|
+
|
4723
|
+
figure { # dynamic path, added semi-declaratively inside on_draw block
|
4724
|
+
x 0
|
4725
|
+
y 0
|
4726
|
+
|
4727
|
+
bezier {
|
4728
|
+
c1_x 200
|
4729
|
+
c1_y 100
|
4730
|
+
c2_x 100
|
4731
|
+
c2_y 200
|
4732
|
+
end_x 400
|
4733
|
+
end_y 100
|
4930
4734
|
}
|
4931
|
-
|
4735
|
+
|
4736
|
+
bezier {
|
4737
|
+
c1_x 300
|
4738
|
+
c1_y 100
|
4739
|
+
c2_x 100
|
4740
|
+
c2_y 300
|
4741
|
+
end_x 100
|
4742
|
+
end_y 400
|
4743
|
+
}
|
4744
|
+
|
4745
|
+
bezier {
|
4746
|
+
c1_x 100
|
4747
|
+
c1_y 300
|
4748
|
+
c2_x 300
|
4749
|
+
c2_y 100
|
4750
|
+
end_x 400
|
4751
|
+
end_y 400
|
4752
|
+
}
|
4753
|
+
|
4932
4754
|
fill r: 202, g: 102, b: 204, a: 0.5
|
4933
4755
|
stroke r: 0, g: 0, b: 0, thickness: 2, dashes: [50, 10, 10, 10], dash_phase: -50.0
|
4934
4756
|
}
|
4935
|
-
|
4936
|
-
|
4937
|
-
|
4938
|
-
|
4757
|
+
|
4758
|
+
figure { # dynamic path, added semi-declaratively inside on_draw block
|
4759
|
+
x 100
|
4760
|
+
y 100
|
4761
|
+
|
4762
|
+
line {
|
4763
|
+
x 400
|
4939
4764
|
y 100
|
4940
|
-
|
4941
|
-
line {
|
4942
|
-
x 400
|
4943
|
-
y 100
|
4944
|
-
}
|
4945
|
-
line {
|
4946
|
-
x 100
|
4947
|
-
y 400
|
4948
|
-
}
|
4949
|
-
line {
|
4950
|
-
x 400
|
4951
|
-
y 400
|
4952
|
-
}
|
4953
|
-
line {
|
4954
|
-
x 0
|
4955
|
-
y 0
|
4956
|
-
}
|
4957
4765
|
}
|
4958
|
-
|
4766
|
+
|
4767
|
+
line {
|
4768
|
+
x 100
|
4769
|
+
y 400
|
4770
|
+
}
|
4771
|
+
|
4772
|
+
line {
|
4773
|
+
x 400
|
4774
|
+
y 400
|
4775
|
+
}
|
4776
|
+
|
4777
|
+
line {
|
4778
|
+
x 0
|
4779
|
+
y 0
|
4780
|
+
}
|
4781
|
+
|
4959
4782
|
stroke r: 0, g: 0, b: 0, thickness: 2
|
4960
4783
|
}
|
4961
|
-
|
4962
|
-
|
4963
|
-
|
4964
|
-
|
4965
|
-
|
4966
|
-
|
4967
|
-
|
4968
|
-
|
4969
|
-
}
|
4970
|
-
|
4784
|
+
|
4785
|
+
arc { # dynamic path, added semi-declaratively inside on_draw block
|
4786
|
+
x_center 404
|
4787
|
+
y_center 216
|
4788
|
+
radius 190
|
4789
|
+
start_angle 90
|
4790
|
+
sweep 90
|
4791
|
+
is_negative false
|
4971
4792
|
# radial gradient (has an outer_radius in addition to x0, y0, x1, y1, and stops)
|
4972
4793
|
fill outer_radius: 90, x0: 0, y0: 0, x1: 500, y1: 500, stops: [{pos: 0.25, r: 102, g: 102, b: 204, a: 0.5}, {pos: 0.75, r: 204, g: 102, b: 204}]
|
4973
4794
|
stroke r: 0, g: 0, b: 0, thickness: 2, dashes: [50, 10, 10, 10], dash_phase: -50.0
|
4974
4795
|
}
|
4975
|
-
|
4976
|
-
|
4977
|
-
|
4978
|
-
|
4979
|
-
|
4980
|
-
}
|
4981
|
-
|
4796
|
+
|
4797
|
+
circle { # dynamic path, added semi-declaratively inside on_draw block
|
4798
|
+
x_center 200
|
4799
|
+
y_center 200
|
4800
|
+
radius 90
|
4982
4801
|
fill r: 202, g: 102, b: 204, a: 0.5
|
4983
4802
|
stroke r: 0, g: 0, b: 0, thickness: 2
|
4984
4803
|
}
|
4985
|
-
|
4804
|
+
|
4805
|
+
text { # dynamic path, added semi-declaratively inside on_draw block
|
4986
4806
|
x 161
|
4987
4807
|
y 40
|
4988
4808
|
width 100
|
@@ -5063,13 +4883,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
5063
4883
|
ruby -r glimmer-dsl-libui -e "require 'examples/basic_image'"
|
5064
4884
|
```
|
5065
4885
|
|
5066
|
-
Mac
|
5067
|
-
|
5068
|
-
![glimmer-dsl-libui-mac-basic-image.png](images/glimmer-dsl-libui-mac-basic-image.png)
|
5069
|
-
|
5070
|
-
Windows
|
5071
|
-
|
5072
|
-
![glimmer-dsl-libui-windows-basic-image.png](images/glimmer-dsl-libui-windows-basic-image.png)
|
4886
|
+
Mac | Windows | Linux
|
4887
|
+
----|---------|------
|
4888
|
+
![glimmer-dsl-libui-mac-basic-image.png](images/glimmer-dsl-libui-mac-basic-image.png) | ![glimmer-dsl-libui-windows-basic-image.png](images/glimmer-dsl-libui-windows-basic-image.png) | ![glimmer-dsl-libui-linux-basic-image.png](images/glimmer-dsl-libui-linux-basic-image.png)
|
5073
4889
|
|
5074
4890
|
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
5075
4891
|
|
@@ -5257,17 +5073,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
5257
5073
|
ruby -r glimmer-dsl-libui -e "require 'examples/histogram'"
|
5258
5074
|
```
|
5259
5075
|
|
5260
|
-
Mac
|
5261
|
-
|
5262
|
-
![glimmer-dsl-libui-mac-histogram.png](images/glimmer-dsl-libui-mac-histogram.png)
|
5263
|
-
|
5264
|
-
Windows
|
5265
|
-
|
5266
|
-
![glimmer-dsl-libui-windows-histogram.png](images/glimmer-dsl-libui-windows-histogram.png)
|
5267
|
-
|
5268
|
-
Linux
|
5269
|
-
|
5270
|
-
![glimmer-dsl-libui-linux-histogram.png](images/glimmer-dsl-libui-linux-histogram.png)
|
5076
|
+
Mac | Windows | Linux
|
5077
|
+
----|---------|------
|
5078
|
+
![glimmer-dsl-libui-mac-histogram.png](images/glimmer-dsl-libui-mac-histogram.png) | ![glimmer-dsl-libui-windows-histogram.png](images/glimmer-dsl-libui-windows-histogram.png) | ![glimmer-dsl-libui-linux-histogram.png](images/glimmer-dsl-libui-linux-histogram.png)
|
5271
5079
|
|
5272
5080
|
[LibUI](https://github.com/kojix2/LibUI) Original Version:
|
5273
5081
|
|
@@ -5595,19 +5403,46 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
5595
5403
|
ruby -r glimmer-dsl-libui -e "require 'examples/basic_transform'"
|
5596
5404
|
```
|
5597
5405
|
|
5598
|
-
Mac
|
5406
|
+
Mac | Windows | Linux
|
5407
|
+
----|---------|------
|
5408
|
+
![glimmer-dsl-libui-mac-basic-transform.png](images/glimmer-dsl-libui-mac-basic-transform.png) | ![glimmer-dsl-libui-windows-basic-transform.png](images/glimmer-dsl-libui-windows-basic-transform.png) | ![glimmer-dsl-libui-linux-basic-transform.png](images/glimmer-dsl-libui-linux-basic-transform.png)
|
5599
5409
|
|
5600
|
-
|
5601
|
-
|
5602
|
-
Windows
|
5410
|
+
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
5603
5411
|
|
5604
|
-
|
5412
|
+
```ruby
|
5413
|
+
require 'glimmer-dsl-libui'
|
5605
5414
|
|
5606
|
-
|
5415
|
+
include Glimmer
|
5607
5416
|
|
5608
|
-
|
5417
|
+
window('Basic Transform', 350, 350) {
|
5418
|
+
area {
|
5419
|
+
square(0, 0, 350) {
|
5420
|
+
fill r: 255, g: 255, b: 0
|
5421
|
+
}
|
5422
|
+
40.times do |n|
|
5423
|
+
square(0, 0, 100) {
|
5424
|
+
fill r: [255 - n*5, 0].max, g: [n*5, 255].min, b: 0, a: 0.5
|
5425
|
+
stroke :black, thickness: 2
|
5426
|
+
|
5427
|
+
transform {
|
5428
|
+
unless OS.windows?
|
5429
|
+
skew 0.15, 0.15
|
5430
|
+
translate 50, 50
|
5431
|
+
end
|
5432
|
+
rotate 100, 100, -9 * n
|
5433
|
+
scale 1.1, 1.1
|
5434
|
+
if OS.windows?
|
5435
|
+
skew 0.15, 0.15
|
5436
|
+
translate 50, 50
|
5437
|
+
end
|
5438
|
+
}
|
5439
|
+
}
|
5440
|
+
end
|
5441
|
+
}
|
5442
|
+
}.show
|
5443
|
+
```
|
5609
5444
|
|
5610
|
-
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
5445
|
+
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version 2:
|
5611
5446
|
|
5612
5447
|
```ruby
|
5613
5448
|
require 'glimmer-dsl-libui'
|
@@ -5627,11 +5462,18 @@ window('Basic Transform', 350, 350) {
|
|
5627
5462
|
|
5628
5463
|
fill r: [255 - n*5, 0].max, g: [n*5, 255].min, b: 0, a: 0.5
|
5629
5464
|
stroke :black, thickness: 2
|
5465
|
+
|
5630
5466
|
transform {
|
5631
|
-
|
5632
|
-
|
5467
|
+
unless OS.windows?
|
5468
|
+
skew 0.15, 0.15
|
5469
|
+
translate 50, 50
|
5470
|
+
end
|
5633
5471
|
rotate 100, 100, -9 * n
|
5634
5472
|
scale 1.1, 1.1
|
5473
|
+
if OS.windows?
|
5474
|
+
skew 0.15, 0.15
|
5475
|
+
translate 50, 50
|
5476
|
+
end
|
5635
5477
|
}
|
5636
5478
|
}
|
5637
5479
|
end
|
@@ -5655,20 +5497,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
5655
5497
|
ruby -r glimmer-dsl-libui -e "require 'examples/login'"
|
5656
5498
|
```
|
5657
5499
|
|
5658
|
-
Mac
|
5659
|
-
|
5660
|
-
![glimmer-dsl-libui-mac-login.png](images/glimmer-dsl-libui-mac-login.png)
|
5661
|
-
![glimmer-dsl-libui-mac-login-logged-in.png](images/glimmer-dsl-libui-mac-login-logged-in.png)
|
5662
|
-
|
5663
|
-
Windows
|
5664
|
-
|
5665
|
-
![glimmer-dsl-libui-windows-login.png](images/glimmer-dsl-libui-windows-login.png)
|
5666
|
-
![glimmer-dsl-libui-windows-login-logged-in.png](images/glimmer-dsl-libui-windows-login-logged-in.png)
|
5667
|
-
|
5668
|
-
Linux
|
5669
|
-
|
5670
|
-
![glimmer-dsl-libui-linux-login.png](images/glimmer-dsl-libui-linux-login.png)
|
5671
|
-
![glimmer-dsl-libui-linux-login-logged-in.png](images/glimmer-dsl-libui-linux-login-logged-in.png)
|
5500
|
+
Mac | Windows | Linux
|
5501
|
+
----|---------|------
|
5502
|
+
![glimmer-dsl-libui-mac-login.png](images/glimmer-dsl-libui-mac-login.png) ![glimmer-dsl-libui-mac-login-logged-in.png](images/glimmer-dsl-libui-mac-login-logged-in.png) | ![glimmer-dsl-libui-windows-login.png](images/glimmer-dsl-libui-windows-login.png) ![glimmer-dsl-libui-windows-login-logged-in.png](images/glimmer-dsl-libui-windows-login-logged-in.png) | ![glimmer-dsl-libui-linux-login.png](images/glimmer-dsl-libui-linux-login.png) ![glimmer-dsl-libui-linux-login-logged-in.png](images/glimmer-dsl-libui-linux-login-logged-in.png)
|
5672
5503
|
|
5673
5504
|
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
5674
5505
|
|
@@ -5736,20 +5567,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
5736
5567
|
ruby -r glimmer-dsl-libui -e "require 'examples/timer'"
|
5737
5568
|
```
|
5738
5569
|
|
5739
|
-
Mac
|
5740
|
-
|
5741
|
-
![glimmer-dsl-libui-mac-timer.png](images/glimmer-dsl-libui-mac-timer.png)
|
5742
|
-
![glimmer-dsl-libui-mac-timer-in-progress.png](images/glimmer-dsl-libui-mac-timer-in-progress.png)
|
5743
|
-
|
5744
|
-
Windows
|
5745
|
-
|
5746
|
-
![glimmer-dsl-libui-windows-timer.png](images/glimmer-dsl-libui-windows-timer.png)
|
5747
|
-
![glimmer-dsl-libui-windows-timer-in-progress.png](images/glimmer-dsl-libui-windows-timer-in-progress.png)
|
5748
|
-
|
5749
|
-
Linux
|
5750
|
-
|
5751
|
-
![glimmer-dsl-libui-linux-timer.png](images/glimmer-dsl-libui-linux-timer.png)
|
5752
|
-
![glimmer-dsl-libui-linux-timer-in-progress.png](images/glimmer-dsl-libui-linux-timer-in-progress.png)
|
5570
|
+
Mac | Windows | Linux
|
5571
|
+
----|---------|------
|
5572
|
+
![glimmer-dsl-libui-mac-timer.png](images/glimmer-dsl-libui-mac-timer.png) ![glimmer-dsl-libui-mac-timer-in-progress.png](images/glimmer-dsl-libui-mac-timer-in-progress.png) | ![glimmer-dsl-libui-windows-timer.png](images/glimmer-dsl-libui-windows-timer.png) ![glimmer-dsl-libui-windows-timer-in-progress.png](images/glimmer-dsl-libui-windows-timer-in-progress.png) | ![glimmer-dsl-libui-linux-timer.png](images/glimmer-dsl-libui-linux-timer.png) ![glimmer-dsl-libui-linux-timer-in-progress.png](images/glimmer-dsl-libui-linux-timer-in-progress.png)
|
5753
5573
|
|
5754
5574
|
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
5755
5575
|
|
@@ -5905,23 +5725,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
5905
5725
|
ruby -r glimmer-dsl-libui -e "require 'examples/color_the_circles'"
|
5906
5726
|
```
|
5907
5727
|
|
5908
|
-
Mac
|
5909
|
-
|
5910
|
-
![glimmer-dsl-libui-mac-color-the-circles.png](images/glimmer-dsl-libui-mac-color-the-circles.png)
|
5911
|
-
![glimmer-dsl-libui-mac-color-the-circles-lost.png](images/glimmer-dsl-libui-mac-color-the-circles-lost.png)
|
5912
|
-
![glimmer-dsl-libui-mac-color-the-circles-won.png](images/glimmer-dsl-libui-mac-color-the-circles-won.png)
|
5913
|
-
|
5914
|
-
Windows
|
5915
|
-
|
5916
|
-
![glimmer-dsl-libui-windows-color-the-circles.png](images/glimmer-dsl-libui-windows-color-the-circles.png)
|
5917
|
-
![glimmer-dsl-libui-windows-color-the-circles-lost.png](images/glimmer-dsl-libui-windows-color-the-circles-lost.png)
|
5918
|
-
![glimmer-dsl-libui-windows-color-the-circles-won.png](images/glimmer-dsl-libui-windows-color-the-circles-won.png)
|
5919
|
-
|
5920
|
-
Linux
|
5921
|
-
|
5922
|
-
![glimmer-dsl-libui-linux-color-the-circles.png](images/glimmer-dsl-libui-linux-color-the-circles.png)
|
5923
|
-
![glimmer-dsl-libui-linux-color-the-circles-lost.png](images/glimmer-dsl-libui-linux-color-the-circles-lost.png)
|
5924
|
-
![glimmer-dsl-libui-linux-color-the-circles-won.png](images/glimmer-dsl-libui-linux-color-the-circles-won.png)
|
5728
|
+
Mac | Windows | Linux
|
5729
|
+
----|---------|------
|
5730
|
+
![glimmer-dsl-libui-mac-color-the-circles.png](images/glimmer-dsl-libui-mac-color-the-circles.png) ![glimmer-dsl-libui-mac-color-the-circles-lost.png](images/glimmer-dsl-libui-mac-color-the-circles-lost.png) ![glimmer-dsl-libui-mac-color-the-circles-won.png](images/glimmer-dsl-libui-mac-color-the-circles-won.png) | ![glimmer-dsl-libui-windows-color-the-circles.png](images/glimmer-dsl-libui-windows-color-the-circles.png) ![glimmer-dsl-libui-windows-color-the-circles-lost.png](images/glimmer-dsl-libui-windows-color-the-circles-lost.png) ![glimmer-dsl-libui-windows-color-the-circles-won.png](images/glimmer-dsl-libui-windows-color-the-circles-won.png) | ![glimmer-dsl-libui-linux-color-the-circles.png](images/glimmer-dsl-libui-linux-color-the-circles.png) ![glimmer-dsl-libui-linux-color-the-circles-lost.png](images/glimmer-dsl-libui-linux-color-the-circles-lost.png) ![glimmer-dsl-libui-linux-color-the-circles-won.png](images/glimmer-dsl-libui-linux-color-the-circles-won.png)
|
5925
5731
|
|
5926
5732
|
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
5927
5733
|
|
@@ -5955,15 +5761,17 @@ class ColorTheCircles
|
|
5955
5761
|
|
5956
5762
|
def register_observers
|
5957
5763
|
observer = Glimmer::DataBinding::Observer.proc do |new_score|
|
5958
|
-
|
5959
|
-
|
5960
|
-
|
5961
|
-
|
5962
|
-
|
5963
|
-
|
5964
|
-
|
5965
|
-
|
5966
|
-
|
5764
|
+
Glimmer::LibUI.queue_main do
|
5765
|
+
@score_label.text = new_score.to_s
|
5766
|
+
if new_score == -20
|
5767
|
+
@game_over = true
|
5768
|
+
msg_box('You Lost!', 'Sorry! Your score reached -20')
|
5769
|
+
restart_game
|
5770
|
+
elsif new_score == 0
|
5771
|
+
@game_over = true
|
5772
|
+
msg_box('You Won!', 'Congratulations! Your score reached 0')
|
5773
|
+
restart_game
|
5774
|
+
end
|
5967
5775
|
end
|
5968
5776
|
end
|
5969
5777
|
observer.observe(self, :score) # automatically enhances self to become Glimmer::DataBinding::ObservableModel and notify observer on score attribute changes
|
@@ -6127,9 +5935,7 @@ class ColorTheCircles
|
|
6127
5935
|
}
|
6128
5936
|
|
6129
5937
|
@circles_data.each do |circle_data|
|
6130
|
-
|
6131
|
-
circle_data[:circle] = circle(*circle_data[:args])
|
6132
|
-
|
5938
|
+
circle_data[:circle] = circle(*circle_data[:args]) {
|
6133
5939
|
fill circle_data[:fill]
|
6134
5940
|
stroke circle_data[:stroke]
|
6135
5941
|
}
|
@@ -6164,17 +5970,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
6164
5970
|
ruby -r glimmer-dsl-libui -e "require 'examples/basic_draw_text'"
|
6165
5971
|
```
|
6166
5972
|
|
6167
|
-
Mac
|
6168
|
-
|
6169
|
-
![glimmer-dsl-libui-mac-basic-draw-text.png](images/glimmer-dsl-libui-mac-basic-draw-text.png)
|
6170
|
-
|
6171
|
-
Windows
|
6172
|
-
|
6173
|
-
![glimmer-dsl-libui-windows-basic-draw-text.png](images/glimmer-dsl-libui-windows-basic-draw-text.png)
|
6174
|
-
|
6175
|
-
Linux
|
6176
|
-
|
6177
|
-
![glimmer-dsl-libui-linux-basic-draw-text.png](images/glimmer-dsl-libui-linux-basic-draw-text.png)
|
5973
|
+
Mac | Windows | Linux
|
5974
|
+
----|---------|------
|
5975
|
+
![glimmer-dsl-libui-mac-basic-draw-text.png](images/glimmer-dsl-libui-mac-basic-draw-text.png) | ![glimmer-dsl-libui-windows-basic-draw-text.png](images/glimmer-dsl-libui-windows-basic-draw-text.png) | ![glimmer-dsl-libui-linux-basic-draw-text.png](images/glimmer-dsl-libui-linux-basic-draw-text.png)
|
6178
5976
|
|
6179
5977
|
[LibUI](https://github.com/kojix2/LibUI) Original Version:
|
6180
5978
|
|
@@ -6450,20 +6248,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
6450
6248
|
ruby -r glimmer-dsl-libui -e "require 'examples/custom_draw_text'"
|
6451
6249
|
```
|
6452
6250
|
|
6453
|
-
Mac
|
6454
|
-
|
6455
|
-
![glimmer-dsl-libui-mac-custom-draw-text.png](images/glimmer-dsl-libui-mac-custom-draw-text.png)
|
6456
|
-
![glimmer-dsl-libui-mac-custom-draw-text-changed.png](images/glimmer-dsl-libui-mac-custom-draw-text-changed.png)
|
6457
|
-
|
6458
|
-
Windows
|
6459
|
-
|
6460
|
-
![glimmer-dsl-libui-windows-custom-draw-text.png](images/glimmer-dsl-libui-windows-custom-draw-text.png)
|
6461
|
-
![glimmer-dsl-libui-windows-custom-draw-text-changed.png](images/glimmer-dsl-libui-windows-custom-draw-text-changed.png)
|
6462
|
-
|
6463
|
-
Linux
|
6464
|
-
|
6465
|
-
![glimmer-dsl-libui-linux-custom-draw-text.png](images/glimmer-dsl-libui-linux-custom-draw-text.png)
|
6466
|
-
![glimmer-dsl-libui-linux-custom-draw-text-changed.png](images/glimmer-dsl-libui-linux-custom-draw-text-changed.png)
|
6251
|
+
Mac | Windows | Linux
|
6252
|
+
----|---------|------
|
6253
|
+
![glimmer-dsl-libui-mac-custom-draw-text.png](images/glimmer-dsl-libui-mac-custom-draw-text.png) ![glimmer-dsl-libui-mac-custom-draw-text-changed.png](images/glimmer-dsl-libui-mac-custom-draw-text-changed.png) | ![glimmer-dsl-libui-windows-custom-draw-text.png](images/glimmer-dsl-libui-windows-custom-draw-text.png) ![glimmer-dsl-libui-windows-custom-draw-text-changed.png](images/glimmer-dsl-libui-windows-custom-draw-text-changed.png) | ![glimmer-dsl-libui-linux-custom-draw-text.png](images/glimmer-dsl-libui-linux-custom-draw-text.png) ![glimmer-dsl-libui-linux-custom-draw-text-changed.png](images/glimmer-dsl-libui-linux-custom-draw-text-changed.png)
|
6467
6254
|
|
6468
6255
|
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
6469
6256
|
|
@@ -6670,17 +6457,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
6670
6457
|
ruby -r glimmer-dsl-libui -e "require 'examples/method_based_custom_keyword'"
|
6671
6458
|
```
|
6672
6459
|
|
6673
|
-
Mac
|
6674
|
-
|
6675
|
-
![glimmer-dsl-libui-mac-method-based-custom-keyword.png](images/glimmer-dsl-libui-mac-method-based-custom-keyword.png)
|
6676
|
-
|
6677
|
-
Windows
|
6678
|
-
|
6679
|
-
![glimmer-dsl-libui-windows-method-based-custom-keyword.png](images/glimmer-dsl-libui-windows-method-based-custom-keyword.png)
|
6680
|
-
|
6681
|
-
Linux
|
6682
|
-
|
6683
|
-
![glimmer-dsl-libui-linux-method-based-custom-keyword.png](images/glimmer-dsl-libui-linux-method-based-custom-keyword.png)
|
6460
|
+
Mac | Windows | Linux
|
6461
|
+
----|---------|------
|
6462
|
+
![glimmer-dsl-libui-mac-method-based-custom-keyword.png](images/glimmer-dsl-libui-mac-method-based-custom-keyword.png) | ![glimmer-dsl-libui-windows-method-based-custom-keyword.png](images/glimmer-dsl-libui-windows-method-based-custom-keyword.png) | ![glimmer-dsl-libui-linux-method-based-custom-keyword.png](images/glimmer-dsl-libui-linux-method-based-custom-keyword.png)
|
6684
6463
|
|
6685
6464
|
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
6686
6465
|
|
@@ -6802,29 +6581,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
6802
6581
|
ruby -r glimmer-dsl-libui -e "require 'examples/tetris'"
|
6803
6582
|
```
|
6804
6583
|
|
6805
|
-
Mac
|
6806
|
-
|
6807
|
-
![glimmer-dsl-libui-mac-tetris.png](images/glimmer-dsl-libui-mac-tetris.png)
|
6808
|
-
|
6809
|
-
![glimmer-dsl-libui-mac-tetris-game-over.png](images/glimmer-dsl-libui-mac-tetris-game-over.png)
|
6810
|
-
|
6811
|
-
![glimmer-dsl-libui-mac-tetris-high-scores.png](images/glimmer-dsl-libui-mac-tetris-high-scores.png)
|
6812
|
-
|
6813
|
-
Windows
|
6814
|
-
|
6815
|
-
![glimmer-dsl-libui-windows-tetris.png](images/glimmer-dsl-libui-windows-tetris.png)
|
6816
|
-
|
6817
|
-
![glimmer-dsl-libui-windows-tetris-game-over.png](images/glimmer-dsl-libui-windows-tetris-game-over.png)
|
6818
|
-
|
6819
|
-
![glimmer-dsl-libui-windows-tetris-high-scores.png](images/glimmer-dsl-libui-windows-tetris-high-scores.png)
|
6820
|
-
|
6821
|
-
Linux
|
6822
|
-
|
6823
|
-
![glimmer-dsl-libui-linux-tetris.png](images/glimmer-dsl-libui-linux-tetris.png)
|
6824
|
-
|
6825
|
-
![glimmer-dsl-libui-linux-tetris-game-over.png](images/glimmer-dsl-libui-linux-tetris-game-over.png)
|
6826
|
-
|
6827
|
-
![glimmer-dsl-libui-linux-tetris-high-scores.png](images/glimmer-dsl-libui-linux-tetris-high-scores.png)
|
6584
|
+
Mac | Windows | Linux
|
6585
|
+
----|---------|------
|
6586
|
+
![glimmer-dsl-libui-mac-tetris.png](images/glimmer-dsl-libui-mac-tetris.png) ![glimmer-dsl-libui-mac-tetris-game-over.png](images/glimmer-dsl-libui-mac-tetris-game-over.png) ![glimmer-dsl-libui-mac-tetris-high-scores.png](images/glimmer-dsl-libui-mac-tetris-high-scores.png) | ![glimmer-dsl-libui-windows-tetris.png](images/glimmer-dsl-libui-windows-tetris.png) ![glimmer-dsl-libui-windows-tetris-game-over.png](images/glimmer-dsl-libui-windows-tetris-game-over.png) ![glimmer-dsl-libui-windows-tetris-high-scores.png](images/glimmer-dsl-libui-windows-tetris-high-scores.png) | ![glimmer-dsl-libui-linux-tetris.png](images/glimmer-dsl-libui-linux-tetris.png) ![glimmer-dsl-libui-linux-tetris-game-over.png](images/glimmer-dsl-libui-linux-tetris-game-over.png) ![glimmer-dsl-libui-linux-tetris-high-scores.png](images/glimmer-dsl-libui-linux-tetris-high-scores.png)
|
6828
6587
|
|
6829
6588
|
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
6830
6589
|
|
@@ -6984,6 +6743,8 @@ class Tetris
|
|
6984
6743
|
end
|
6985
6744
|
}
|
6986
6745
|
radio_menu_item('Rotate Left on Up Arrow') {
|
6746
|
+
checked true
|
6747
|
+
|
6987
6748
|
on_clicked do
|
6988
6749
|
@game.rotate_left_on_up = true
|
6989
6750
|
end
|
@@ -7032,34 +6793,31 @@ class Tetris
|
|
7032
6793
|
bevel_pixel_size = 0.16 * block_size.to_f
|
7033
6794
|
color = Glimmer::LibUI.interpret_color(Model::Block::COLOR_CLEAR)
|
7034
6795
|
area {
|
7035
|
-
block[:background_square] =
|
7036
|
-
square(0, 0, block_size)
|
7037
|
-
|
6796
|
+
block[:background_square] = square(0, 0, block_size) {
|
7038
6797
|
fill color
|
7039
6798
|
}
|
7040
|
-
|
7041
|
-
|
7042
|
-
|
6799
|
+
|
6800
|
+
block[:top_bevel_edge] = polygon {
|
6801
|
+
point_array 0, 0, block_size, 0, block_size - bevel_pixel_size, bevel_pixel_size, bevel_pixel_size, bevel_pixel_size
|
7043
6802
|
fill r: color[:r] + 4*BEVEL_CONSTANT, g: color[:g] + 4*BEVEL_CONSTANT, b: color[:b] + 4*BEVEL_CONSTANT
|
7044
6803
|
}
|
7045
|
-
|
7046
|
-
|
7047
|
-
|
6804
|
+
|
6805
|
+
block[:right_bevel_edge] = polygon {
|
6806
|
+
point_array block_size, 0, block_size - bevel_pixel_size, bevel_pixel_size, block_size - bevel_pixel_size, block_size - bevel_pixel_size, block_size, block_size
|
7048
6807
|
fill r: color[:r] - BEVEL_CONSTANT, g: color[:g] - BEVEL_CONSTANT, b: color[:b] - BEVEL_CONSTANT
|
7049
6808
|
}
|
7050
|
-
|
7051
|
-
|
7052
|
-
|
6809
|
+
|
6810
|
+
block[:bottom_bevel_edge] = polygon {
|
6811
|
+
point_array block_size, block_size, 0, block_size, bevel_pixel_size, block_size - bevel_pixel_size, block_size - bevel_pixel_size, block_size - bevel_pixel_size
|
7053
6812
|
fill r: color[:r] - BEVEL_CONSTANT, g: color[:g] - BEVEL_CONSTANT, b: color[:b] - BEVEL_CONSTANT
|
7054
6813
|
}
|
7055
|
-
|
7056
|
-
|
7057
|
-
|
6814
|
+
|
6815
|
+
block[:left_bevel_edge] = polygon {
|
6816
|
+
point_array 0, 0, 0, block_size, bevel_pixel_size, block_size - bevel_pixel_size, bevel_pixel_size, bevel_pixel_size
|
7058
6817
|
fill r: color[:r] - BEVEL_CONSTANT, g: color[:g] - BEVEL_CONSTANT, b: color[:b] - BEVEL_CONSTANT
|
7059
6818
|
}
|
7060
|
-
|
7061
|
-
|
7062
|
-
|
6819
|
+
|
6820
|
+
block[:border_square] = square(0, 0, block_size) {
|
7063
6821
|
stroke COLOR_GRAY
|
7064
6822
|
}
|
7065
6823
|
|
@@ -7219,35 +6977,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
7219
6977
|
ruby -r glimmer-dsl-libui -e "require 'examples/tic_tac_toe'"
|
7220
6978
|
```
|
7221
6979
|
|
7222
|
-
Mac
|
7223
|
-
|
7224
|
-
![glimmer-dsl-libui-mac-tic-tac-toe.png](images/glimmer-dsl-libui-mac-tic-tac-toe.png)
|
7225
|
-
|
7226
|
-
![glimmer-dsl-libui-mac-tic-tac-toe-player-o-wins.png](images/glimmer-dsl-libui-mac-tic-tac-toe-player-o-wins.png)
|
7227
|
-
|
7228
|
-
![glimmer-dsl-libui-mac-tic-tac-toe-player-x-wins.png](images/glimmer-dsl-libui-mac-tic-tac-toe-player-x-wins.png)
|
7229
|
-
|
7230
|
-
![glimmer-dsl-libui-mac-tic-tac-toe-draw.png](images/glimmer-dsl-libui-mac-tic-tac-toe-draw.png)
|
7231
|
-
|
7232
|
-
Windows
|
7233
|
-
|
7234
|
-
![glimmer-dsl-libui-windows-tic-tac-toe.png](images/glimmer-dsl-libui-windows-tic-tac-toe.png)
|
7235
|
-
|
7236
|
-
![glimmer-dsl-libui-windows-tic-tac-toe-player-o-wins.png](images/glimmer-dsl-libui-windows-tic-tac-toe-player-o-wins.png)
|
7237
|
-
|
7238
|
-
![glimmer-dsl-libui-windows-tic-tac-toe-player-x-wins.png](images/glimmer-dsl-libui-windows-tic-tac-toe-player-x-wins.png)
|
7239
|
-
|
7240
|
-
![glimmer-dsl-libui-windows-tic-tac-toe-draw.png](images/glimmer-dsl-libui-windows-tic-tac-toe-draw.png)
|
7241
|
-
|
7242
|
-
Linux
|
7243
|
-
|
7244
|
-
![glimmer-dsl-libui-linux-tic-tac-toe.png](images/glimmer-dsl-libui-linux-tic-tac-toe.png)
|
7245
|
-
|
7246
|
-
![glimmer-dsl-libui-linux-tic-tac-toe-player-o-wins.png](images/glimmer-dsl-libui-linux-tic-tac-toe-player-o-wins.png)
|
7247
|
-
|
7248
|
-
![glimmer-dsl-libui-linux-tic-tac-toe-player-x-wins.png](images/glimmer-dsl-libui-linux-tic-tac-toe-player-x-wins.png)
|
7249
|
-
|
7250
|
-
![glimmer-dsl-libui-linux-tic-tac-toe-draw.png](images/glimmer-dsl-libui-linux-tic-tac-toe-draw.png)
|
6980
|
+
Mac | Windows | Linux
|
6981
|
+
----|---------|------
|
6982
|
+
![glimmer-dsl-libui-mac-tic-tac-toe.png](images/glimmer-dsl-libui-mac-tic-tac-toe.png) ![glimmer-dsl-libui-mac-tic-tac-toe-player-o-wins.png](images/glimmer-dsl-libui-mac-tic-tac-toe-player-o-wins.png) ![glimmer-dsl-libui-mac-tic-tac-toe-player-x-wins.png](images/glimmer-dsl-libui-mac-tic-tac-toe-player-x-wins.png) ![glimmer-dsl-libui-mac-tic-tac-toe-draw.png](images/glimmer-dsl-libui-mac-tic-tac-toe-draw.png) | ![glimmer-dsl-libui-windows-tic-tac-toe.png](images/glimmer-dsl-libui-windows-tic-tac-toe.png) ![glimmer-dsl-libui-windows-tic-tac-toe-player-o-wins.png](images/glimmer-dsl-libui-windows-tic-tac-toe-player-o-wins.png) ![glimmer-dsl-libui-windows-tic-tac-toe-player-x-wins.png](images/glimmer-dsl-libui-windows-tic-tac-toe-player-x-wins.png) ![glimmer-dsl-libui-windows-tic-tac-toe-draw.png](images/glimmer-dsl-libui-windows-tic-tac-toe-draw.png) | ![glimmer-dsl-libui-linux-tic-tac-toe.png](images/glimmer-dsl-libui-linux-tic-tac-toe.png) ![glimmer-dsl-libui-linux-tic-tac-toe-player-o-wins.png](images/glimmer-dsl-libui-linux-tic-tac-toe-player-o-wins.png) ![glimmer-dsl-libui-linux-tic-tac-toe-player-x-wins.png](images/glimmer-dsl-libui-linux-tic-tac-toe-player-x-wins.png) ![glimmer-dsl-libui-linux-tic-tac-toe-draw.png](images/glimmer-dsl-libui-linux-tic-tac-toe-draw.png)
|
7251
6983
|
|
7252
6984
|
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
7253
6985
|
|
@@ -7299,14 +7031,12 @@ class TicTacToe
|
|
7299
7031
|
|
7300
7032
|
3.times.map do |column|
|
7301
7033
|
area {
|
7302
|
-
|
7303
|
-
square(0, 0, 60)
|
7304
|
-
|
7034
|
+
square(0, 0, 60) {
|
7305
7035
|
stroke :black, thickness: 2
|
7306
7036
|
}
|
7307
7037
|
text(23, 19) {
|
7308
7038
|
@cells[row] << string('') {
|
7309
|
-
font family: 'Arial', size: 20
|
7039
|
+
font family: 'Arial', size: OS.mac? ? 20 : 16
|
7310
7040
|
}
|
7311
7041
|
}
|
7312
7042
|
on_mouse_up do
|
@@ -7357,23 +7087,9 @@ Run with this command if you installed the [Ruby gem](https://rubygems.org/gems/
|
|
7357
7087
|
ruby -r glimmer-dsl-libui -e "require 'examples/snake'"
|
7358
7088
|
```
|
7359
7089
|
|
7360
|
-
Mac
|
7361
|
-
|
7362
|
-
![glimmer-dsl-libui-mac-snake.png](images/glimmer-dsl-libui-mac-snake.png)
|
7363
|
-
|
7364
|
-
![glimmer-dsl-libui-mac-snake-game-over.png](images/glimmer-dsl-libui-mac-snake-game-over.png)
|
7365
|
-
|
7366
|
-
Windows
|
7367
|
-
|
7368
|
-
![glimmer-dsl-libui-windows-snake.png](images/glimmer-dsl-libui-windows-snake.png)
|
7369
|
-
|
7370
|
-
![glimmer-dsl-libui-windows-snake-game-over.png](images/glimmer-dsl-libui-windows-snake-game-over.png)
|
7371
|
-
|
7372
|
-
Linux
|
7373
|
-
|
7374
|
-
![glimmer-dsl-libui-linux-snake.png](images/glimmer-dsl-libui-linux-snake.png)
|
7375
|
-
|
7376
|
-
![glimmer-dsl-libui-linux-snake-game-over.png](images/glimmer-dsl-libui-linux-snake-game-over.png)
|
7090
|
+
Mac | Windows | Linux
|
7091
|
+
----|---------|------
|
7092
|
+
![glimmer-dsl-libui-mac-snake.png](images/glimmer-dsl-libui-mac-snake.png) ![glimmer-dsl-libui-mac-snake-game-over.png](images/glimmer-dsl-libui-mac-snake-game-over.png) | ![glimmer-dsl-libui-windows-snake.png](images/glimmer-dsl-libui-windows-snake.png) ![glimmer-dsl-libui-windows-snake-game-over.png](images/glimmer-dsl-libui-windows-snake-game-over.png) | ![glimmer-dsl-libui-linux-snake.png](images/glimmer-dsl-libui-linux-snake.png) ![glimmer-dsl-libui-linux-snake-game-over.png](images/glimmer-dsl-libui-linux-snake-game-over.png)
|
7377
7093
|
|
7378
7094
|
New [Glimmer DSL for LibUI](https://rubygems.org/gems/glimmer-dsl-libui) Version:
|
7379
7095
|
|