glimmer-dsl-libui 0.1.4 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +55 -0
- data/README.md +939 -255
- data/VERSION +1 -1
- data/examples/area_gallery.rb +72 -38
- data/examples/area_gallery2.rb +126 -92
- data/examples/area_gallery3.rb +74 -40
- data/examples/area_gallery4.rb +132 -98
- data/examples/basic_area2.rb +1 -1
- data/examples/basic_button.rb +2 -2
- data/examples/basic_entry.rb +2 -2
- data/examples/basic_transform.rb +27 -0
- data/examples/control_gallery.rb +3 -3
- data/examples/dynamic_area.rb +1 -1
- data/examples/form.rb +2 -2
- data/examples/histogram.rb +118 -0
- data/examples/meta_example.rb +71 -20
- data/examples/midi_player.rb +8 -10
- data/glimmer-dsl-libui.gemspec +0 -0
- data/lib/glimmer/dsl/libui/control_expression.rb +0 -2
- data/lib/glimmer/dsl/libui/file_expression.rb +5 -1
- data/lib/glimmer/dsl/libui/shape_expression.rb +2 -4
- data/lib/glimmer/dsl/libui/tab_item_expression.rb +2 -2
- data/lib/glimmer/libui/control_proxy/area_proxy.rb +166 -0
- data/lib/glimmer/libui/{menu_item_proxy.rb → control_proxy/box/horizontal_box_proxy.rb} +9 -12
- data/lib/glimmer/libui/{horizontal_box_proxy.rb → control_proxy/box/vertical_box_proxy.rb} +10 -6
- data/lib/glimmer/libui/{box.rb → control_proxy/box.rb} +31 -27
- data/lib/glimmer/libui/{button_proxy.rb → control_proxy/button_proxy.rb} +14 -12
- data/lib/glimmer/libui/{checkbox_proxy.rb → control_proxy/checkbox_proxy.rb} +14 -12
- data/lib/glimmer/libui/control_proxy/color_button_proxy.rb +118 -0
- data/lib/glimmer/libui/control_proxy/column/button_column_proxy.rb +76 -0
- data/lib/glimmer/libui/control_proxy/column/checkbox_column_proxy.rb +46 -0
- data/lib/glimmer/libui/control_proxy/column/checkbox_text_column_proxy.rb +80 -0
- data/lib/glimmer/libui/{radio_buttons_proxy.rb → control_proxy/column/image_column_proxy.rb} +14 -13
- data/lib/glimmer/libui/control_proxy/column/image_text_column_proxy.rb +48 -0
- data/lib/glimmer/libui/control_proxy/column/progress_bar_column_proxy.rb +44 -0
- data/lib/glimmer/libui/{checkbox_column_proxy.rb → control_proxy/column/text_column_proxy.rb} +17 -13
- data/lib/glimmer/libui/control_proxy/column.rb +55 -0
- data/lib/glimmer/libui/control_proxy/combobox_proxy.rb +45 -0
- data/lib/glimmer/libui/control_proxy/date_time_picker_proxy/date_picker_proxy.rb +43 -0
- data/lib/glimmer/libui/control_proxy/date_time_picker_proxy/time_picker_proxy.rb +43 -0
- data/lib/glimmer/libui/control_proxy/date_time_picker_proxy.rb +72 -0
- data/lib/glimmer/libui/control_proxy/dual_column.rb +40 -0
- data/lib/glimmer/libui/control_proxy/editable_column.rb +46 -0
- data/lib/glimmer/libui/control_proxy/editable_combobox_proxy.rb +45 -0
- data/lib/glimmer/libui/{dual_column.rb → control_proxy/enableable_column.rb} +18 -10
- data/lib/glimmer/libui/control_proxy/font_button_proxy.rb +70 -0
- data/lib/glimmer/libui/{form_proxy.rb → control_proxy/form_proxy.rb} +26 -24
- data/lib/glimmer/libui/{grid_proxy.rb → control_proxy/grid_proxy.rb} +29 -27
- data/lib/glimmer/libui/{group_proxy.rb → control_proxy/group_proxy.rb} +24 -22
- data/lib/glimmer/libui/{image_part_proxy.rb → control_proxy/image_part_proxy.rb} +20 -18
- data/lib/glimmer/libui/{image_proxy.rb → control_proxy/image_proxy.rb} +32 -30
- data/lib/glimmer/libui/{combobox_proxy.rb → control_proxy/label_proxy.rb} +13 -13
- data/lib/glimmer/libui/control_proxy/matrix_proxy.rb +147 -0
- data/lib/glimmer/libui/{editable_column.rb → control_proxy/menu_item_proxy/about_menu_item_proxy.rb} +13 -16
- data/lib/glimmer/libui/control_proxy/menu_item_proxy/check_menu_item_proxy.rb +41 -0
- data/lib/glimmer/libui/{date_picker_proxy.rb → control_proxy/menu_item_proxy/preferences_menu_item_proxy.rb} +10 -10
- data/lib/glimmer/libui/{quit_menu_item_proxy.rb → control_proxy/menu_item_proxy/quit_menu_item_proxy.rb} +33 -29
- data/lib/glimmer/libui/control_proxy/menu_item_proxy/separator_menu_item_proxy.rb +41 -0
- data/lib/glimmer/libui/control_proxy/menu_item_proxy.rb +45 -0
- data/lib/glimmer/libui/{editable_combobox_proxy.rb → control_proxy/menu_proxy.rb} +13 -13
- data/lib/glimmer/libui/{vertical_box_proxy.rb → control_proxy/message_box/msg_box_error_proxy.rb} +9 -6
- data/lib/glimmer/libui/{multiline_entry_proxy.rb → control_proxy/message_box/msg_box_proxy.rb} +8 -6
- data/lib/glimmer/libui/{time_picker_proxy.rb → control_proxy/message_box.rb} +9 -10
- data/lib/glimmer/libui/{rectangle.rb → control_proxy/multiline_entry_proxy/non_wrapping_multiline_entry_proxy.rb} +6 -8
- data/lib/glimmer/libui/{progress_bar_column_proxy.rb → control_proxy/multiline_entry_proxy.rb} +10 -11
- data/lib/glimmer/libui/control_proxy/path_proxy.rb +190 -0
- data/lib/glimmer/libui/control_proxy/radio_buttons_proxy.rb +45 -0
- data/lib/glimmer/libui/{button_column_proxy.rb → control_proxy/tab_item_proxy.rb} +37 -40
- data/lib/glimmer/libui/control_proxy/table_proxy.rb +182 -0
- data/lib/glimmer/libui/control_proxy/transformable.rb +74 -0
- data/lib/glimmer/libui/control_proxy/window_proxy.rb +128 -0
- data/lib/glimmer/libui/control_proxy.rb +72 -21
- data/lib/glimmer/libui/{enableable_column.rb → parent.rb} +7 -15
- data/lib/glimmer/libui/{arc.rb → shape/arc.rb} +13 -11
- data/lib/glimmer/libui/shape/bezier.rb +38 -0
- data/lib/glimmer/libui/{figure.rb → shape/figure.rb} +23 -21
- data/lib/glimmer/libui/{line.rb → shape/line.rb} +9 -7
- data/lib/glimmer/libui/{bezier.rb → shape/rectangle.rb} +9 -7
- data/lib/glimmer/libui/{square.rb → shape/square.rb} +9 -7
- data/lib/glimmer/libui/shape.rb +16 -15
- data/lib/glimmer/libui.rb +92 -0
- data/lib/glimmer-dsl-libui.rb +3 -0
- metadata +76 -53
- data/lib/glimmer/libui/about_menu_item_proxy.rb +0 -37
- data/lib/glimmer/libui/area_proxy.rb +0 -105
- data/lib/glimmer/libui/check_menu_item_proxy.rb +0 -37
- data/lib/glimmer/libui/checkbox_text_column_proxy.rb +0 -76
- data/lib/glimmer/libui/color_button_proxy.rb +0 -64
- data/lib/glimmer/libui/column.rb +0 -51
- data/lib/glimmer/libui/date_time_picker_proxy.rb +0 -68
- data/lib/glimmer/libui/font_button_proxy.rb +0 -68
- data/lib/glimmer/libui/image_column_proxy.rb +0 -40
- data/lib/glimmer/libui/image_text_column_proxy.rb +0 -44
- data/lib/glimmer/libui/label_proxy.rb +0 -41
- data/lib/glimmer/libui/menu_proxy.rb +0 -41
- data/lib/glimmer/libui/non_wrapping_multiline_entry_proxy.rb +0 -32
- data/lib/glimmer/libui/path_proxy.rb +0 -169
- data/lib/glimmer/libui/preferences_menu_item_proxy.rb +0 -37
- data/lib/glimmer/libui/separator_menu_item_proxy.rb +0 -37
- data/lib/glimmer/libui/tab_item_proxy.rb +0 -67
- data/lib/glimmer/libui/table_proxy.rb +0 -180
- data/lib/glimmer/libui/text_column_proxy.rb +0 -42
- data/lib/glimmer/libui/window_proxy.rb +0 -119
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.8
|
data/examples/area_gallery.rb
CHANGED
@@ -3,50 +3,84 @@ require 'glimmer-dsl-libui'
|
|
3
3
|
include Glimmer
|
4
4
|
|
5
5
|
window('Area Gallery', 400, 400) {
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
line(400, 400)
|
25
|
-
|
26
|
-
closed true
|
27
|
-
}
|
6
|
+
area {
|
7
|
+
path { # declarative stable path
|
8
|
+
square(0, 0, 100)
|
9
|
+
square(100, 100, 400)
|
10
|
+
|
11
|
+
fill r: 102, g: 102, b: 204
|
12
|
+
}
|
13
|
+
path { # declarative stable path
|
14
|
+
rectangle(0, 100, 100, 400)
|
15
|
+
rectangle(100, 0, 400, 100)
|
16
|
+
|
17
|
+
fill r: 204, g: 102, b: 204
|
18
|
+
}
|
19
|
+
path { # declarative stable path
|
20
|
+
figure(100, 100) {
|
21
|
+
line(100, 400)
|
22
|
+
line(400, 100)
|
23
|
+
line(400, 400)
|
28
24
|
|
29
|
-
|
30
|
-
stroke r: 0, g: 0, b: 0
|
25
|
+
closed true
|
31
26
|
}
|
32
|
-
path { # declarative stable path
|
33
|
-
figure(0, 0) {
|
34
|
-
bezier(200, 100, 100, 200, 400, 100)
|
35
|
-
bezier(300, 100, 100, 300, 100, 400)
|
36
|
-
bezier(100, 300, 300, 100, 400, 400)
|
37
27
|
|
38
|
-
|
39
|
-
|
28
|
+
fill r: 202, g: 102, b: 104, a: 0.5
|
29
|
+
stroke r: 0, g: 0, b: 0
|
30
|
+
}
|
31
|
+
path { # declarative stable path
|
32
|
+
figure(0, 0) {
|
33
|
+
bezier(200, 100, 100, 200, 400, 100)
|
34
|
+
bezier(300, 100, 100, 300, 100, 400)
|
35
|
+
bezier(100, 300, 300, 100, 400, 400)
|
40
36
|
|
41
|
-
|
42
|
-
stroke thickness: 2, r: 0, g: 0, b: 0
|
37
|
+
closed true
|
43
38
|
}
|
44
|
-
path { # declarative stable path
|
45
|
-
arc(200, 200, 90, 0, 360, false)
|
46
39
|
|
47
|
-
|
48
|
-
|
49
|
-
|
40
|
+
fill r: 202, g: 102, b: 204, a: 0.5
|
41
|
+
stroke r: 0, g: 0, b: 0, thickness: 2, dashes: [50, 10, 10, 10], dash_phase: -50.0
|
42
|
+
}
|
43
|
+
path { # declarative stable path
|
44
|
+
arc(200, 200, 90, 0, 360, false)
|
45
|
+
|
46
|
+
fill r: 202, g: 102, b: 204, a: 0.5
|
47
|
+
stroke r: 0, g: 0, b: 0, thickness: 2
|
50
48
|
}
|
49
|
+
|
50
|
+
on_mouse_event do |area_mouse_event|
|
51
|
+
p area_mouse_event
|
52
|
+
end
|
53
|
+
|
54
|
+
on_mouse_moved do |area_mouse_event|
|
55
|
+
puts 'moved'
|
56
|
+
end
|
57
|
+
|
58
|
+
on_mouse_down do |area_mouse_event|
|
59
|
+
puts 'mouse down'
|
60
|
+
end
|
61
|
+
|
62
|
+
on_mouse_up do |area_mouse_event|
|
63
|
+
puts 'mouse up'
|
64
|
+
end
|
65
|
+
|
66
|
+
on_mouse_drag_started do |area_mouse_event|
|
67
|
+
puts 'drag started'
|
68
|
+
end
|
69
|
+
|
70
|
+
on_mouse_dragged do |area_mouse_event|
|
71
|
+
puts 'dragged'
|
72
|
+
end
|
73
|
+
|
74
|
+
on_mouse_dropped do |area_mouse_event|
|
75
|
+
puts 'dropped'
|
76
|
+
end
|
77
|
+
|
78
|
+
on_mouse_entered do
|
79
|
+
puts 'entered'
|
80
|
+
end
|
81
|
+
|
82
|
+
on_mouse_exited do
|
83
|
+
puts 'exited'
|
84
|
+
end
|
51
85
|
}
|
52
86
|
}.show
|
data/examples/area_gallery2.rb
CHANGED
@@ -3,111 +3,145 @@ require 'glimmer-dsl-libui'
|
|
3
3
|
include Glimmer
|
4
4
|
|
5
5
|
window('Area Gallery', 400, 400) {
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
length 100
|
13
|
-
}
|
14
|
-
square {
|
15
|
-
x 100
|
16
|
-
y 100
|
17
|
-
length 400
|
18
|
-
}
|
19
|
-
|
20
|
-
fill r: 102, g: 102, b: 204
|
6
|
+
area {
|
7
|
+
path { # declarative stable path
|
8
|
+
square {
|
9
|
+
x 0
|
10
|
+
y 0
|
11
|
+
length 100
|
21
12
|
}
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
13
|
+
square {
|
14
|
+
x 100
|
15
|
+
y 100
|
16
|
+
length 400
|
17
|
+
}
|
18
|
+
|
19
|
+
fill r: 102, g: 102, b: 204
|
20
|
+
}
|
21
|
+
path { # declarative stable path
|
22
|
+
rectangle {
|
23
|
+
x 0
|
24
|
+
y 100
|
25
|
+
width 100
|
26
|
+
height 400
|
27
|
+
}
|
28
|
+
rectangle {
|
29
|
+
x 100
|
30
|
+
y 0
|
31
|
+
width 400
|
32
|
+
height 100
|
37
33
|
}
|
38
|
-
|
39
|
-
|
34
|
+
|
35
|
+
fill r: 204, g: 102, b: 204
|
36
|
+
}
|
37
|
+
path { # declarative stable path
|
38
|
+
figure {
|
39
|
+
x 100
|
40
|
+
y 100
|
41
|
+
|
42
|
+
line {
|
40
43
|
x 100
|
44
|
+
y 400
|
45
|
+
}
|
46
|
+
line {
|
47
|
+
x 400
|
41
48
|
y 100
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
}
|
47
|
-
line {
|
48
|
-
x 400
|
49
|
-
y 100
|
50
|
-
}
|
51
|
-
line {
|
52
|
-
x 400
|
53
|
-
y 400
|
54
|
-
}
|
55
|
-
|
56
|
-
closed true
|
49
|
+
}
|
50
|
+
line {
|
51
|
+
x 400
|
52
|
+
y 400
|
57
53
|
}
|
58
54
|
|
59
|
-
|
60
|
-
stroke r: 0, g: 0, b: 0
|
55
|
+
closed true
|
61
56
|
}
|
62
|
-
path { # declarative stable path
|
63
|
-
figure {
|
64
|
-
x 0
|
65
|
-
y 0
|
66
|
-
|
67
|
-
bezier {
|
68
|
-
c1_x 200
|
69
|
-
c1_y 100
|
70
|
-
c2_x 100
|
71
|
-
c2_y 200
|
72
|
-
end_x 400
|
73
|
-
end_y 100
|
74
|
-
}
|
75
|
-
bezier {
|
76
|
-
c1_x 300
|
77
|
-
c1_y 100
|
78
|
-
c2_x 100
|
79
|
-
c2_y 300
|
80
|
-
end_x 100
|
81
|
-
end_y 400
|
82
|
-
}
|
83
|
-
bezier {
|
84
|
-
c1_x 100
|
85
|
-
c1_y 300
|
86
|
-
c2_x 300
|
87
|
-
c2_y 100
|
88
|
-
end_x 400
|
89
|
-
end_y 400
|
90
|
-
}
|
91
57
|
|
92
|
-
|
58
|
+
fill r: 202, g: 102, b: 104, a: 0.5
|
59
|
+
stroke r: 0, g: 0, b: 0
|
60
|
+
}
|
61
|
+
path { # declarative stable path
|
62
|
+
figure {
|
63
|
+
x 0
|
64
|
+
y 0
|
65
|
+
|
66
|
+
bezier {
|
67
|
+
c1_x 200
|
68
|
+
c1_y 100
|
69
|
+
c2_x 100
|
70
|
+
c2_y 200
|
71
|
+
end_x 400
|
72
|
+
end_y 100
|
73
|
+
}
|
74
|
+
bezier {
|
75
|
+
c1_x 300
|
76
|
+
c1_y 100
|
77
|
+
c2_x 100
|
78
|
+
c2_y 300
|
79
|
+
end_x 100
|
80
|
+
end_y 400
|
81
|
+
}
|
82
|
+
bezier {
|
83
|
+
c1_x 100
|
84
|
+
c1_y 300
|
85
|
+
c2_x 300
|
86
|
+
c2_y 100
|
87
|
+
end_x 400
|
88
|
+
end_y 400
|
93
89
|
}
|
94
90
|
|
95
|
-
|
96
|
-
stroke thickness: 2, r: 0, g: 0, b: 0
|
91
|
+
closed true
|
97
92
|
}
|
98
|
-
path { # declarative stable path
|
99
|
-
arc {
|
100
|
-
x_center 200
|
101
|
-
y_center 200
|
102
|
-
radius 90
|
103
|
-
start_angle 0
|
104
|
-
sweep 360
|
105
|
-
is_negative false
|
106
|
-
}
|
107
93
|
|
108
|
-
|
109
|
-
|
94
|
+
fill r: 202, g: 102, b: 204, a: 0.5
|
95
|
+
stroke r: 0, g: 0, b: 0, thickness: 2, dashes: [50, 10, 10, 10], dash_phase: -50.0
|
96
|
+
}
|
97
|
+
path { # declarative stable path
|
98
|
+
arc {
|
99
|
+
x_center 200
|
100
|
+
y_center 200
|
101
|
+
radius 90
|
102
|
+
start_angle 0
|
103
|
+
sweep 360
|
104
|
+
is_negative false
|
110
105
|
}
|
106
|
+
|
107
|
+
fill r: 202, g: 102, b: 204, a: 0.5
|
108
|
+
stroke r: 0, g: 0, b: 0, thickness: 2
|
111
109
|
}
|
110
|
+
|
111
|
+
on_mouse_event do |area_mouse_event|
|
112
|
+
p area_mouse_event
|
113
|
+
end
|
114
|
+
|
115
|
+
on_mouse_moved do |area_mouse_event|
|
116
|
+
puts 'moved'
|
117
|
+
end
|
118
|
+
|
119
|
+
on_mouse_down do |area_mouse_event|
|
120
|
+
puts 'mouse down'
|
121
|
+
end
|
122
|
+
|
123
|
+
on_mouse_up do |area_mouse_event|
|
124
|
+
puts 'mouse up'
|
125
|
+
end
|
126
|
+
|
127
|
+
on_mouse_drag_started do |area_mouse_event|
|
128
|
+
puts 'drag started'
|
129
|
+
end
|
130
|
+
|
131
|
+
on_mouse_dragged do |area_mouse_event|
|
132
|
+
puts 'dragged'
|
133
|
+
end
|
134
|
+
|
135
|
+
on_mouse_dropped do |area_mouse_event|
|
136
|
+
puts 'dropped'
|
137
|
+
end
|
138
|
+
|
139
|
+
on_mouse_entered do
|
140
|
+
puts 'entered'
|
141
|
+
end
|
142
|
+
|
143
|
+
on_mouse_exited do
|
144
|
+
puts 'exited'
|
145
|
+
end
|
112
146
|
}
|
113
147
|
}.show
|
data/examples/area_gallery3.rb
CHANGED
@@ -3,52 +3,86 @@ require 'glimmer-dsl-libui'
|
|
3
3
|
include Glimmer
|
4
4
|
|
5
5
|
window('Area Gallery', 400, 400) {
|
6
|
-
|
7
|
-
|
8
|
-
on_draw
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
rectangle(100, 0, 400, 100)
|
18
|
-
|
19
|
-
fill r: 204, g: 102, b: 204
|
20
|
-
}
|
21
|
-
path(area_draw_params) { # a dynamic path is added semi-declaratively inside on_draw block
|
22
|
-
figure(100, 100) {
|
23
|
-
line(100, 400)
|
24
|
-
line(400, 100)
|
25
|
-
line(400, 400)
|
6
|
+
area {
|
7
|
+
on_draw do |area_draw_params|
|
8
|
+
path { # a dynamic path is added semi-declaratively inside on_draw block
|
9
|
+
square(0, 0, 100)
|
10
|
+
square(100, 100, 400)
|
11
|
+
|
12
|
+
fill r: 102, g: 102, b: 204
|
13
|
+
}
|
14
|
+
path { # a dynamic path is added semi-declaratively inside on_draw block
|
15
|
+
rectangle(0, 100, 100, 400)
|
16
|
+
rectangle(100, 0, 400, 100)
|
26
17
|
|
27
|
-
|
28
|
-
|
18
|
+
fill r: 204, g: 102, b: 204
|
19
|
+
}
|
20
|
+
path { # a dynamic path is added semi-declaratively inside on_draw block
|
21
|
+
figure(100, 100) {
|
22
|
+
line(100, 400)
|
23
|
+
line(400, 100)
|
24
|
+
line(400, 400)
|
29
25
|
|
30
|
-
|
31
|
-
stroke r: 0, g: 0, b: 0
|
26
|
+
closed true
|
32
27
|
}
|
33
|
-
path(area_draw_params) { # a dynamic path is added semi-declaratively inside on_draw block
|
34
|
-
figure(0, 0) {
|
35
|
-
bezier(200, 100, 100, 200, 400, 100)
|
36
|
-
bezier(300, 100, 100, 300, 100, 400)
|
37
|
-
bezier(100, 300, 300, 100, 400, 400)
|
38
28
|
|
39
|
-
|
40
|
-
|
29
|
+
fill r: 202, g: 102, b: 104, a: 0.5
|
30
|
+
stroke r: 0, g: 0, b: 0
|
31
|
+
}
|
32
|
+
path { # a dynamic path is added semi-declaratively inside on_draw block
|
33
|
+
figure(0, 0) {
|
34
|
+
bezier(200, 100, 100, 200, 400, 100)
|
35
|
+
bezier(300, 100, 100, 300, 100, 400)
|
36
|
+
bezier(100, 300, 300, 100, 400, 400)
|
41
37
|
|
42
|
-
|
43
|
-
stroke thickness: 2, r: 0, g: 0, b: 0
|
38
|
+
closed true
|
44
39
|
}
|
45
|
-
path(area_draw_params) { # a dynamic path is added semi-declaratively inside on_draw block
|
46
|
-
arc(200, 200, 90, 0, 360, false)
|
47
40
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
41
|
+
fill r: 202, g: 102, b: 204, a: 0.5
|
42
|
+
stroke r: 0, g: 0, b: 0, thickness: 2, dashes: [50, 10, 10, 10], dash_phase: -50.0
|
43
|
+
}
|
44
|
+
path { # a dynamic path is added semi-declaratively inside on_draw block
|
45
|
+
arc(200, 200, 90, 0, 360, false)
|
46
|
+
|
47
|
+
fill r: 202, g: 102, b: 204, a: 0.5
|
48
|
+
stroke r: 0, g: 0, b: 0, thickness: 2
|
49
|
+
}
|
50
|
+
end
|
51
|
+
|
52
|
+
on_mouse_event do |area_mouse_event|
|
53
|
+
p area_mouse_event
|
54
|
+
end
|
55
|
+
|
56
|
+
on_mouse_moved do |area_mouse_event|
|
57
|
+
puts 'moved'
|
58
|
+
end
|
59
|
+
|
60
|
+
on_mouse_down do |area_mouse_event|
|
61
|
+
puts 'mouse down'
|
62
|
+
end
|
63
|
+
|
64
|
+
on_mouse_up do |area_mouse_event|
|
65
|
+
puts 'mouse up'
|
66
|
+
end
|
67
|
+
|
68
|
+
on_mouse_drag_started do |area_mouse_event|
|
69
|
+
puts 'drag started'
|
70
|
+
end
|
71
|
+
|
72
|
+
on_mouse_dragged do |area_mouse_event|
|
73
|
+
puts 'dragged'
|
74
|
+
end
|
75
|
+
|
76
|
+
on_mouse_dropped do |area_mouse_event|
|
77
|
+
puts 'dropped'
|
78
|
+
end
|
79
|
+
|
80
|
+
on_mouse_entered do
|
81
|
+
puts 'entered'
|
82
|
+
end
|
83
|
+
|
84
|
+
on_mouse_exited do
|
85
|
+
puts 'exited'
|
86
|
+
end
|
53
87
|
}
|
54
88
|
}.show
|