glimmer-dsl-libui 0.1.4 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +55 -0
  3. data/README.md +939 -255
  4. data/VERSION +1 -1
  5. data/examples/area_gallery.rb +72 -38
  6. data/examples/area_gallery2.rb +126 -92
  7. data/examples/area_gallery3.rb +74 -40
  8. data/examples/area_gallery4.rb +132 -98
  9. data/examples/basic_area2.rb +1 -1
  10. data/examples/basic_button.rb +2 -2
  11. data/examples/basic_entry.rb +2 -2
  12. data/examples/basic_transform.rb +27 -0
  13. data/examples/control_gallery.rb +3 -3
  14. data/examples/dynamic_area.rb +1 -1
  15. data/examples/form.rb +2 -2
  16. data/examples/histogram.rb +118 -0
  17. data/examples/meta_example.rb +71 -20
  18. data/examples/midi_player.rb +8 -10
  19. data/glimmer-dsl-libui.gemspec +0 -0
  20. data/lib/glimmer/dsl/libui/control_expression.rb +0 -2
  21. data/lib/glimmer/dsl/libui/file_expression.rb +5 -1
  22. data/lib/glimmer/dsl/libui/shape_expression.rb +2 -4
  23. data/lib/glimmer/dsl/libui/tab_item_expression.rb +2 -2
  24. data/lib/glimmer/libui/control_proxy/area_proxy.rb +166 -0
  25. data/lib/glimmer/libui/{menu_item_proxy.rb → control_proxy/box/horizontal_box_proxy.rb} +9 -12
  26. data/lib/glimmer/libui/{horizontal_box_proxy.rb → control_proxy/box/vertical_box_proxy.rb} +10 -6
  27. data/lib/glimmer/libui/{box.rb → control_proxy/box.rb} +31 -27
  28. data/lib/glimmer/libui/{button_proxy.rb → control_proxy/button_proxy.rb} +14 -12
  29. data/lib/glimmer/libui/{checkbox_proxy.rb → control_proxy/checkbox_proxy.rb} +14 -12
  30. data/lib/glimmer/libui/control_proxy/color_button_proxy.rb +118 -0
  31. data/lib/glimmer/libui/control_proxy/column/button_column_proxy.rb +76 -0
  32. data/lib/glimmer/libui/control_proxy/column/checkbox_column_proxy.rb +46 -0
  33. data/lib/glimmer/libui/control_proxy/column/checkbox_text_column_proxy.rb +80 -0
  34. data/lib/glimmer/libui/{radio_buttons_proxy.rb → control_proxy/column/image_column_proxy.rb} +14 -13
  35. data/lib/glimmer/libui/control_proxy/column/image_text_column_proxy.rb +48 -0
  36. data/lib/glimmer/libui/control_proxy/column/progress_bar_column_proxy.rb +44 -0
  37. data/lib/glimmer/libui/{checkbox_column_proxy.rb → control_proxy/column/text_column_proxy.rb} +17 -13
  38. data/lib/glimmer/libui/control_proxy/column.rb +55 -0
  39. data/lib/glimmer/libui/control_proxy/combobox_proxy.rb +45 -0
  40. data/lib/glimmer/libui/control_proxy/date_time_picker_proxy/date_picker_proxy.rb +43 -0
  41. data/lib/glimmer/libui/control_proxy/date_time_picker_proxy/time_picker_proxy.rb +43 -0
  42. data/lib/glimmer/libui/control_proxy/date_time_picker_proxy.rb +72 -0
  43. data/lib/glimmer/libui/control_proxy/dual_column.rb +40 -0
  44. data/lib/glimmer/libui/control_proxy/editable_column.rb +46 -0
  45. data/lib/glimmer/libui/control_proxy/editable_combobox_proxy.rb +45 -0
  46. data/lib/glimmer/libui/{dual_column.rb → control_proxy/enableable_column.rb} +18 -10
  47. data/lib/glimmer/libui/control_proxy/font_button_proxy.rb +70 -0
  48. data/lib/glimmer/libui/{form_proxy.rb → control_proxy/form_proxy.rb} +26 -24
  49. data/lib/glimmer/libui/{grid_proxy.rb → control_proxy/grid_proxy.rb} +29 -27
  50. data/lib/glimmer/libui/{group_proxy.rb → control_proxy/group_proxy.rb} +24 -22
  51. data/lib/glimmer/libui/{image_part_proxy.rb → control_proxy/image_part_proxy.rb} +20 -18
  52. data/lib/glimmer/libui/{image_proxy.rb → control_proxy/image_proxy.rb} +32 -30
  53. data/lib/glimmer/libui/{combobox_proxy.rb → control_proxy/label_proxy.rb} +13 -13
  54. data/lib/glimmer/libui/control_proxy/matrix_proxy.rb +147 -0
  55. data/lib/glimmer/libui/{editable_column.rb → control_proxy/menu_item_proxy/about_menu_item_proxy.rb} +13 -16
  56. data/lib/glimmer/libui/control_proxy/menu_item_proxy/check_menu_item_proxy.rb +41 -0
  57. data/lib/glimmer/libui/{date_picker_proxy.rb → control_proxy/menu_item_proxy/preferences_menu_item_proxy.rb} +10 -10
  58. data/lib/glimmer/libui/{quit_menu_item_proxy.rb → control_proxy/menu_item_proxy/quit_menu_item_proxy.rb} +33 -29
  59. data/lib/glimmer/libui/control_proxy/menu_item_proxy/separator_menu_item_proxy.rb +41 -0
  60. data/lib/glimmer/libui/control_proxy/menu_item_proxy.rb +45 -0
  61. data/lib/glimmer/libui/{editable_combobox_proxy.rb → control_proxy/menu_proxy.rb} +13 -13
  62. data/lib/glimmer/libui/{vertical_box_proxy.rb → control_proxy/message_box/msg_box_error_proxy.rb} +9 -6
  63. data/lib/glimmer/libui/{multiline_entry_proxy.rb → control_proxy/message_box/msg_box_proxy.rb} +8 -6
  64. data/lib/glimmer/libui/{time_picker_proxy.rb → control_proxy/message_box.rb} +9 -10
  65. data/lib/glimmer/libui/{rectangle.rb → control_proxy/multiline_entry_proxy/non_wrapping_multiline_entry_proxy.rb} +6 -8
  66. data/lib/glimmer/libui/{progress_bar_column_proxy.rb → control_proxy/multiline_entry_proxy.rb} +10 -11
  67. data/lib/glimmer/libui/control_proxy/path_proxy.rb +190 -0
  68. data/lib/glimmer/libui/control_proxy/radio_buttons_proxy.rb +45 -0
  69. data/lib/glimmer/libui/{button_column_proxy.rb → control_proxy/tab_item_proxy.rb} +37 -40
  70. data/lib/glimmer/libui/control_proxy/table_proxy.rb +182 -0
  71. data/lib/glimmer/libui/control_proxy/transformable.rb +74 -0
  72. data/lib/glimmer/libui/control_proxy/window_proxy.rb +128 -0
  73. data/lib/glimmer/libui/control_proxy.rb +72 -21
  74. data/lib/glimmer/libui/{enableable_column.rb → parent.rb} +7 -15
  75. data/lib/glimmer/libui/{arc.rb → shape/arc.rb} +13 -11
  76. data/lib/glimmer/libui/shape/bezier.rb +38 -0
  77. data/lib/glimmer/libui/{figure.rb → shape/figure.rb} +23 -21
  78. data/lib/glimmer/libui/{line.rb → shape/line.rb} +9 -7
  79. data/lib/glimmer/libui/{bezier.rb → shape/rectangle.rb} +9 -7
  80. data/lib/glimmer/libui/{square.rb → shape/square.rb} +9 -7
  81. data/lib/glimmer/libui/shape.rb +16 -15
  82. data/lib/glimmer/libui.rb +92 -0
  83. data/lib/glimmer-dsl-libui.rb +3 -0
  84. metadata +76 -53
  85. data/lib/glimmer/libui/about_menu_item_proxy.rb +0 -37
  86. data/lib/glimmer/libui/area_proxy.rb +0 -105
  87. data/lib/glimmer/libui/check_menu_item_proxy.rb +0 -37
  88. data/lib/glimmer/libui/checkbox_text_column_proxy.rb +0 -76
  89. data/lib/glimmer/libui/color_button_proxy.rb +0 -64
  90. data/lib/glimmer/libui/column.rb +0 -51
  91. data/lib/glimmer/libui/date_time_picker_proxy.rb +0 -68
  92. data/lib/glimmer/libui/font_button_proxy.rb +0 -68
  93. data/lib/glimmer/libui/image_column_proxy.rb +0 -40
  94. data/lib/glimmer/libui/image_text_column_proxy.rb +0 -44
  95. data/lib/glimmer/libui/label_proxy.rb +0 -41
  96. data/lib/glimmer/libui/menu_proxy.rb +0 -41
  97. data/lib/glimmer/libui/non_wrapping_multiline_entry_proxy.rb +0 -32
  98. data/lib/glimmer/libui/path_proxy.rb +0 -169
  99. data/lib/glimmer/libui/preferences_menu_item_proxy.rb +0 -37
  100. data/lib/glimmer/libui/separator_menu_item_proxy.rb +0 -37
  101. data/lib/glimmer/libui/tab_item_proxy.rb +0 -67
  102. data/lib/glimmer/libui/table_proxy.rb +0 -180
  103. data/lib/glimmer/libui/text_column_proxy.rb +0 -42
  104. data/lib/glimmer/libui/window_proxy.rb +0 -119
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.4
1
+ 0.1.8
@@ -3,50 +3,84 @@ require 'glimmer-dsl-libui'
3
3
  include Glimmer
4
4
 
5
5
  window('Area Gallery', 400, 400) {
6
- vertical_box {
7
- area {
8
- path { # declarative stable path
9
- square(0, 0, 100)
10
- square(100, 100, 400)
11
-
12
- fill r: 102, g: 102, b: 204
13
- }
14
- path { # declarative stable path
15
- rectangle(0, 100, 100, 400)
16
- rectangle(100, 0, 400, 100)
17
-
18
- fill r: 204, g: 102, b: 204
19
- }
20
- path { # declarative stable path
21
- figure(100, 100) {
22
- line(100, 400)
23
- line(400, 100)
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
- fill r: 202, g: 102, b: 104, a: 0.5
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
- closed true
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
- fill r: 202, g: 102, b: 204, a: 0.5
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
- fill r: 202, g: 102, b: 204, a: 0.5
48
- stroke thickness: 2, r: 0, g: 0, b: 0
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
@@ -3,111 +3,145 @@ require 'glimmer-dsl-libui'
3
3
  include Glimmer
4
4
 
5
5
  window('Area Gallery', 400, 400) {
6
- vertical_box {
7
- area {
8
- path { # declarative stable path
9
- square {
10
- x 0
11
- y 0
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
- path { # declarative stable path
23
- rectangle {
24
- x 0
25
- y 100
26
- width 100
27
- height 400
28
- }
29
- rectangle {
30
- x 100
31
- y 0
32
- width 400
33
- height 100
34
- }
35
-
36
- fill r: 204, g: 102, b: 204
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
- path { # declarative stable path
39
- figure {
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
- line {
44
- x 100
45
- y 400
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
- fill r: 202, g: 102, b: 104, a: 0.5
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
- closed true
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
- fill r: 202, g: 102, b: 204, a: 0.5
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
- fill r: 202, g: 102, b: 204, a: 0.5
109
- stroke thickness: 2, r: 0, g: 0, b: 0
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
@@ -3,52 +3,86 @@ require 'glimmer-dsl-libui'
3
3
  include Glimmer
4
4
 
5
5
  window('Area Gallery', 400, 400) {
6
- vertical_box {
7
- area {
8
- on_draw do |area_draw_params|
9
- path(area_draw_params) { # a dynamic path is added semi-declaratively inside on_draw block
10
- square(0, 0, 100)
11
- square(100, 100, 400)
12
-
13
- fill r: 102, g: 102, b: 204
14
- }
15
- path(area_draw_params) { # a dynamic path is added semi-declaratively inside on_draw block
16
- rectangle(0, 100, 100, 400)
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
- closed true
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
- fill r: 202, g: 102, b: 104, a: 0.5
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
- closed true
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
- fill r: 202, g: 102, b: 204, a: 0.5
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
- fill r: 202, g: 102, b: 204, a: 0.5
49
- stroke thickness: 2, r: 0, g: 0, b: 0
50
- }
51
- end
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