whirled_peas 0.10.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/README.md +88 -24
  4. data/examples/components.rb +35 -0
  5. data/examples/scrolling.rb +8 -19
  6. data/lib/whirled_peas.rb +30 -16
  7. data/lib/whirled_peas/command/config_command.rb +3 -2
  8. data/lib/whirled_peas/command/play.rb +3 -2
  9. data/lib/whirled_peas/command/themes.rb +3 -2
  10. data/lib/whirled_peas/component.rb +35 -0
  11. data/lib/whirled_peas/component/list_with_active.rb +88 -0
  12. data/lib/whirled_peas/graphics/box_painter.rb +4 -4
  13. data/lib/whirled_peas/graphics/composer.rb +4 -0
  14. data/lib/whirled_peas/graphics/container_coords.rb +24 -2
  15. data/lib/whirled_peas/graphics/container_painter.rb +9 -119
  16. data/lib/whirled_peas/graphics/debugger.rb +1 -7
  17. data/lib/whirled_peas/graphics/scrollbar_helper.rb +124 -0
  18. data/lib/whirled_peas/null_logger.rb +0 -1
  19. data/lib/whirled_peas/settings/container_settings.rb +12 -5
  20. data/lib/whirled_peas/settings/debugger.rb +1 -1
  21. data/lib/whirled_peas/settings/position.rb +17 -5
  22. data/lib/whirled_peas/version.rb +1 -1
  23. data/screen_test/components/list_with_active/l2r_active_color.frame +1 -0
  24. data/screen_test/components/list_with_active/l2r_active_color.rb +18 -0
  25. data/screen_test/components/list_with_active/l2r_position_end.frame +1 -0
  26. data/screen_test/components/list_with_active/l2r_position_end.rb +16 -0
  27. data/screen_test/components/list_with_active/l2r_position_middle.frame +1 -0
  28. data/screen_test/components/list_with_active/l2r_position_middle.rb +16 -0
  29. data/screen_test/components/list_with_active/l2r_position_start.frame +1 -0
  30. data/screen_test/components/list_with_active/l2r_position_start.rb +16 -0
  31. data/screen_test/components/list_with_active/l2r_separator.frame +1 -0
  32. data/screen_test/components/list_with_active/l2r_separator.rb +17 -0
  33. data/screen_test/components/list_with_active/t2b_active_color.frame +1 -0
  34. data/screen_test/components/list_with_active/t2b_active_color.rb +19 -0
  35. data/screen_test/components/list_with_active/t2b_position_end.frame +1 -0
  36. data/screen_test/components/list_with_active/t2b_position_end.rb +17 -0
  37. data/screen_test/components/list_with_active/t2b_position_middle.frame +1 -0
  38. data/screen_test/components/list_with_active/t2b_position_middle.rb +17 -0
  39. data/screen_test/components/list_with_active/t2b_position_start.frame +1 -0
  40. data/screen_test/components/list_with_active/t2b_position_start.rb +17 -0
  41. data/screen_test/components/list_with_active/t2b_separator.frame +1 -0
  42. data/screen_test/components/list_with_active/t2b_separator.rb +18 -0
  43. data/screen_test/elements/theme.rb +1 -1
  44. data/screen_test/settings/{position/box_top_negative.frame → content_start/box_bottom.frame} +0 -0
  45. data/screen_test/settings/content_start/box_bottom.rb +17 -0
  46. data/screen_test/settings/{position → content_start}/box_left.frame +0 -0
  47. data/screen_test/settings/{position/box_top.rb → content_start/box_left.rb} +1 -1
  48. data/screen_test/settings/{position → content_start}/box_left_negative.frame +0 -0
  49. data/screen_test/settings/{position → content_start}/box_left_negative.rb +1 -1
  50. data/screen_test/settings/content_start/box_right.frame +1 -0
  51. data/screen_test/settings/content_start/box_right.rb +17 -0
  52. data/screen_test/settings/{position → content_start}/box_top.frame +0 -0
  53. data/screen_test/settings/{position/box_left.rb → content_start/box_top.rb} +1 -1
  54. data/screen_test/settings/content_start/box_top_negative.frame +1 -0
  55. data/screen_test/settings/{position → content_start}/box_top_negative.rb +1 -1
  56. data/screen_test/settings/{position → content_start}/grid_left.frame +0 -0
  57. data/screen_test/settings/{position → content_start}/grid_left.rb +1 -1
  58. data/screen_test/settings/{position → content_start}/grid_left_negative.frame +0 -0
  59. data/screen_test/settings/{position → content_start}/grid_left_negative.rb +1 -1
  60. data/screen_test/settings/{position → content_start}/grid_top.frame +0 -0
  61. data/screen_test/settings/{position → content_start}/grid_top.rb +1 -1
  62. data/screen_test/settings/{position → content_start}/grid_top_negative.frame +0 -0
  63. data/screen_test/settings/{position → content_start}/grid_top_negative.rb +1 -1
  64. data/screen_test/settings/scroll/horiz_box.frame +1 -1
  65. data/screen_test/settings/scroll/horiz_box.rb +2 -4
  66. data/screen_test/settings/scroll/horiz_box_align_center.rb +2 -4
  67. data/screen_test/settings/scroll/horiz_box_align_right.rb +2 -4
  68. data/screen_test/settings/scroll/vert_box.frame +1 -1
  69. data/screen_test/settings/scroll/vert_box.rb +5 -7
  70. metadata +46 -18
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: whirled_peas
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Collier
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-01-30 00:00:00.000000000 Z
11
+ date: 2021-01-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: highline
@@ -74,6 +74,7 @@ files:
74
74
  - bin/reset_cursor
75
75
  - bin/screen_test
76
76
  - bin/setup
77
+ - examples/components.rb
77
78
  - examples/graph.rb
78
79
  - examples/intro.rb
79
80
  - examples/scrolling.rb
@@ -100,6 +101,8 @@ files:
100
101
  - lib/whirled_peas/command/still.rb
101
102
  - lib/whirled_peas/command/themes.rb
102
103
  - lib/whirled_peas/command_line.rb
104
+ - lib/whirled_peas/component.rb
105
+ - lib/whirled_peas/component/list_with_active.rb
103
106
  - lib/whirled_peas/config.rb
104
107
  - lib/whirled_peas/device.rb
105
108
  - lib/whirled_peas/device/null_device.rb
@@ -122,6 +125,7 @@ files:
122
125
  - lib/whirled_peas/graphics/mock_screen.rb
123
126
  - lib/whirled_peas/graphics/painter.rb
124
127
  - lib/whirled_peas/graphics/renderer.rb
128
+ - lib/whirled_peas/graphics/scrollbar_helper.rb
125
129
  - lib/whirled_peas/graphics/text_painter.rb
126
130
  - lib/whirled_peas/null_logger.rb
127
131
  - lib/whirled_peas/settings.rb
@@ -153,6 +157,26 @@ files:
153
157
  - lib/whirled_peas/utils/formatted_string.rb
154
158
  - lib/whirled_peas/utils/title_font.rb
155
159
  - lib/whirled_peas/version.rb
160
+ - screen_test/components/list_with_active/l2r_active_color.frame
161
+ - screen_test/components/list_with_active/l2r_active_color.rb
162
+ - screen_test/components/list_with_active/l2r_position_end.frame
163
+ - screen_test/components/list_with_active/l2r_position_end.rb
164
+ - screen_test/components/list_with_active/l2r_position_middle.frame
165
+ - screen_test/components/list_with_active/l2r_position_middle.rb
166
+ - screen_test/components/list_with_active/l2r_position_start.frame
167
+ - screen_test/components/list_with_active/l2r_position_start.rb
168
+ - screen_test/components/list_with_active/l2r_separator.frame
169
+ - screen_test/components/list_with_active/l2r_separator.rb
170
+ - screen_test/components/list_with_active/t2b_active_color.frame
171
+ - screen_test/components/list_with_active/t2b_active_color.rb
172
+ - screen_test/components/list_with_active/t2b_position_end.frame
173
+ - screen_test/components/list_with_active/t2b_position_end.rb
174
+ - screen_test/components/list_with_active/t2b_position_middle.frame
175
+ - screen_test/components/list_with_active/t2b_position_middle.rb
176
+ - screen_test/components/list_with_active/t2b_position_start.frame
177
+ - screen_test/components/list_with_active/t2b_position_start.rb
178
+ - screen_test/components/list_with_active/t2b_separator.frame
179
+ - screen_test/components/list_with_active/t2b_separator.rb
156
180
  - screen_test/elements/box.frame
157
181
  - screen_test/elements/box.rb
158
182
  - screen_test/elements/graph.frame
@@ -205,6 +229,26 @@ files:
205
229
  - screen_test/settings/ansi/underline.rb
206
230
  - screen_test/settings/border.frame
207
231
  - screen_test/settings/border.rb
232
+ - screen_test/settings/content_start/box_bottom.frame
233
+ - screen_test/settings/content_start/box_bottom.rb
234
+ - screen_test/settings/content_start/box_left.frame
235
+ - screen_test/settings/content_start/box_left.rb
236
+ - screen_test/settings/content_start/box_left_negative.frame
237
+ - screen_test/settings/content_start/box_left_negative.rb
238
+ - screen_test/settings/content_start/box_right.frame
239
+ - screen_test/settings/content_start/box_right.rb
240
+ - screen_test/settings/content_start/box_top.frame
241
+ - screen_test/settings/content_start/box_top.rb
242
+ - screen_test/settings/content_start/box_top_negative.frame
243
+ - screen_test/settings/content_start/box_top_negative.rb
244
+ - screen_test/settings/content_start/grid_left.frame
245
+ - screen_test/settings/content_start/grid_left.rb
246
+ - screen_test/settings/content_start/grid_left_negative.frame
247
+ - screen_test/settings/content_start/grid_left_negative.rb
248
+ - screen_test/settings/content_start/grid_top.frame
249
+ - screen_test/settings/content_start/grid_top.rb
250
+ - screen_test/settings/content_start/grid_top_negative.frame
251
+ - screen_test/settings/content_start/grid_top_negative.rb
208
252
  - screen_test/settings/flow/box_b2t.frame
209
253
  - screen_test/settings/flow/box_b2t.rb
210
254
  - screen_test/settings/flow/box_l2r.frame
@@ -239,22 +283,6 @@ files:
239
283
  - screen_test/settings/margin.rb
240
284
  - screen_test/settings/padding.frame
241
285
  - screen_test/settings/padding.rb
242
- - screen_test/settings/position/box_left.frame
243
- - screen_test/settings/position/box_left.rb
244
- - screen_test/settings/position/box_left_negative.frame
245
- - screen_test/settings/position/box_left_negative.rb
246
- - screen_test/settings/position/box_top.frame
247
- - screen_test/settings/position/box_top.rb
248
- - screen_test/settings/position/box_top_negative.frame
249
- - screen_test/settings/position/box_top_negative.rb
250
- - screen_test/settings/position/grid_left.frame
251
- - screen_test/settings/position/grid_left.rb
252
- - screen_test/settings/position/grid_left_negative.frame
253
- - screen_test/settings/position/grid_left_negative.rb
254
- - screen_test/settings/position/grid_top.frame
255
- - screen_test/settings/position/grid_top.rb
256
- - screen_test/settings/position/grid_top_negative.frame
257
- - screen_test/settings/position/grid_top_negative.rb
258
286
  - screen_test/settings/scroll/horiz_box.frame
259
287
  - screen_test/settings/scroll/horiz_box.rb
260
288
  - screen_test/settings/scroll/horiz_box_align_center.rb