lacci 0.2.1 → 0.3.0

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.
Files changed (597) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -2
  3. data/Gemfile.lock +79 -0
  4. data/Rakefile +1 -4
  5. data/lib/lacci/scarpe_cli.rb +71 -0
  6. data/lib/lacci/scarpe_core.rb +22 -0
  7. data/lib/lacci/version.rb +13 -0
  8. data/lib/scarpe/niente/app.rb +23 -0
  9. data/lib/scarpe/niente/display_service.rb +62 -0
  10. data/lib/scarpe/niente/drawable.rb +57 -0
  11. data/lib/scarpe/niente/logger.rb +29 -0
  12. data/lib/scarpe/niente/shoes_spec.rb +87 -0
  13. data/lib/scarpe/niente.rb +20 -0
  14. data/lib/shoes/app.rb +165 -43
  15. data/lib/{scarpe → shoes}/background.rb +2 -2
  16. data/lib/{scarpe → shoes}/border.rb +2 -2
  17. data/lib/shoes/builtins.rb +63 -0
  18. data/lib/shoes/changelog.rb +52 -0
  19. data/lib/{scarpe → shoes}/colors.rb +3 -1
  20. data/lib/shoes/constants.rb +24 -3
  21. data/lib/{scarpe → shoes}/display_service.rb +45 -23
  22. data/lib/{scarpe → shoes}/download.rb +7 -7
  23. data/lib/shoes/drawable.rb +380 -0
  24. data/lib/shoes/drawables/arc.rb +49 -0
  25. data/lib/shoes/drawables/arrow.rb +41 -0
  26. data/lib/shoes/drawables/button.rb +73 -0
  27. data/lib/shoes/drawables/check.rb +29 -0
  28. data/lib/{scarpe → shoes/drawables}/document_root.rb +5 -5
  29. data/lib/{scarpe → shoes/drawables}/edit_box.rb +6 -6
  30. data/lib/{scarpe → shoes/drawables}/edit_line.rb +6 -6
  31. data/lib/shoes/drawables/flow.rb +22 -0
  32. data/lib/{scarpe → shoes/drawables}/image.rb +7 -13
  33. data/lib/shoes/drawables/line.rb +20 -0
  34. data/lib/shoes/drawables/link.rb +34 -0
  35. data/lib/shoes/drawables/list_box.rb +56 -0
  36. data/lib/shoes/drawables/para.rb +118 -0
  37. data/lib/shoes/drawables/progress.rb +14 -0
  38. data/lib/shoes/drawables/radio.rb +33 -0
  39. data/lib/shoes/drawables/rect.rb +17 -0
  40. data/lib/shoes/drawables/shape.rb +36 -0
  41. data/lib/shoes/drawables/slot.rb +87 -0
  42. data/lib/{scarpe → shoes/drawables}/span.rb +8 -7
  43. data/lib/{scarpe → shoes/drawables}/stack.rb +10 -4
  44. data/lib/shoes/drawables/star.rb +50 -0
  45. data/lib/shoes/drawables/subscription_item.rb +93 -0
  46. data/lib/shoes/drawables/text_drawable.rb +63 -0
  47. data/lib/shoes/drawables/video.rb +16 -0
  48. data/lib/shoes/drawables/widget.rb +69 -0
  49. data/lib/shoes/drawables.rb +31 -0
  50. data/lib/shoes/errors.rb +28 -0
  51. data/lib/shoes/log.rb +71 -0
  52. data/lib/shoes/ruby_extensions.rb +15 -0
  53. data/lib/shoes/spacing.rb +9 -0
  54. data/lib/shoes-spec.rb +93 -0
  55. data/lib/shoes.rb +93 -11
  56. metadata +67 -557
  57. data/.rubocop.yml +0 -85
  58. data/.ruby-version +0 -1
  59. data/.vscode/extensions.json +0 -5
  60. data/.yardopts +0 -12
  61. data/CHANGELOG.md +0 -19
  62. data/CODE_OF_CONDUCT.md +0 -84
  63. data/CONTRIBUTING.md +0 -20
  64. data/LICENSE.txt +0 -21
  65. data/README.md +0 -178
  66. data/bin/console +0 -15
  67. data/bin/setup +0 -8
  68. data/dev.yml +0 -7
  69. data/docs/static/PKGBUILD +0 -47
  70. data/docs/static/Shoes.icns +0 -0
  71. data/docs/static/avatar.png +0 -0
  72. data/docs/static/code_highlighter.js +0 -188
  73. data/docs/static/code_highlighter_ruby.js +0 -26
  74. data/docs/static/icon-debug.png +0 -0
  75. data/docs/static/icon-error.png +0 -0
  76. data/docs/static/icon-info.png +0 -0
  77. data/docs/static/icon-warn.png +0 -0
  78. data/docs/static/listbox_button1.png +0 -0
  79. data/docs/static/listbox_button2.png +0 -0
  80. data/docs/static/man-app.png +0 -0
  81. data/docs/static/man-builds.png +0 -0
  82. data/docs/static/man-builds1.png +0 -0
  83. data/docs/static/man-editor-notepad.png +0 -0
  84. data/docs/static/man-editor-osx.png +0 -0
  85. data/docs/static/man-ele-background.png +0 -0
  86. data/docs/static/man-ele-border.png +0 -0
  87. data/docs/static/man-ele-button.png +0 -0
  88. data/docs/static/man-ele-check.png +0 -0
  89. data/docs/static/man-ele-editbox.png +0 -0
  90. data/docs/static/man-ele-editline.png +0 -0
  91. data/docs/static/man-ele-image.png +0 -0
  92. data/docs/static/man-ele-listbox.png +0 -0
  93. data/docs/static/man-ele-progress.png +0 -0
  94. data/docs/static/man-ele-radio.png +0 -0
  95. data/docs/static/man-ele-shape.png +0 -0
  96. data/docs/static/man-ele-textblock.png +0 -0
  97. data/docs/static/man-ele-video.png +0 -0
  98. data/docs/static/man-intro-dmg.png +0 -0
  99. data/docs/static/man-intro-exe.png +0 -0
  100. data/docs/static/man-look-tiger.png +0 -0
  101. data/docs/static/man-look-ubuntu.png +0 -0
  102. data/docs/static/man-look-vista.png +0 -0
  103. data/docs/static/man-run-osx.png +0 -0
  104. data/docs/static/man-run-vista.png +0 -0
  105. data/docs/static/man-run-xp.png +0 -0
  106. data/docs/static/man-shot1.png +0 -0
  107. data/docs/static/manual-en.txt +0 -3529
  108. data/docs/static/manual-ja.txt +0 -2829
  109. data/docs/static/manual.css +0 -171
  110. data/docs/static/manual.md +0 -3528
  111. data/docs/static/menu-corner1.png +0 -0
  112. data/docs/static/menu-corner2.png +0 -0
  113. data/docs/static/menu-gray.png +0 -0
  114. data/docs/static/menu-left.png +0 -0
  115. data/docs/static/menu-right.png +0 -0
  116. data/docs/static/menu-top.png +0 -0
  117. data/docs/static/shoes-dmg.jpg +0 -0
  118. data/docs/static/shoes-icon-blue.png +0 -0
  119. data/docs/static/shoes-icon.png +0 -0
  120. data/docs/static/shoes-manual-apps.gif +0 -0
  121. data/docs/static/shoes_main_window.png +0 -0
  122. data/docs/static/stripe.png +0 -0
  123. data/docs/static/stubs/blank.exe +0 -0
  124. data/docs/static/stubs/blank.hfz +0 -0
  125. data/docs/static/stubs/blank.run +0 -375
  126. data/docs/static/stubs/cocoa-install +0 -0
  127. data/docs/static/stubs/sh-install +0 -49
  128. data/docs/static/stubs/shoes-stub-inject.exe +0 -0
  129. data/docs/static/stubs/shoes-stub.exe +0 -0
  130. data/docs/static/tutor-back.png +0 -0
  131. data/docs/yard/catscradle.md +0 -44
  132. data/docs/yard/template/default/fulldoc/html/setup.rb +0 -13
  133. data/docs/yard/template/default/layout/html/setup.rb +0 -9
  134. data/examples/backdround_with_image.rb +0 -16
  135. data/examples/bloopsaphone/working/1901_by_Aanand_Prasad.rb +0 -478
  136. data/examples/bloopsaphone/working/b1.rb +0 -64
  137. data/examples/bloopsaphone/working/b2.rb +0 -36
  138. data/examples/bloopsaphone/working/bloops_test.rb +0 -41
  139. data/examples/bloopsaphone/working/bloopsaphone_theme_song_by_why.rb +0 -31
  140. data/examples/bloopsaphone/working/feepogram.rb +0 -67
  141. data/examples/bloopsaphone/working/simpsons_theme_song_by_why.rb +0 -14
  142. data/examples/bloopsaphone/working/tune_cheeky_drat.rb +0 -210
  143. data/examples/button.rb +0 -10
  144. data/examples/button_alert.rb +0 -6
  145. data/examples/button_go_away.rb +0 -6
  146. data/examples/button_with_position_and_size.rb +0 -7
  147. data/examples/coffee.rb +0 -14
  148. data/examples/download.rb +0 -5
  149. data/examples/download_and_show_image.rb +0 -28
  150. data/examples/edit_box.rb +0 -8
  151. data/examples/edit_line.rb +0 -8
  152. data/examples/fill.rb +0 -25
  153. data/examples/flow.rb +0 -11
  154. data/examples/fonts.rb +0 -6
  155. data/examples/gen.rb +0 -140
  156. data/examples/get_headers.rb +0 -10
  157. data/examples/hello_world.rb +0 -3
  158. data/examples/highlander.rb +0 -87
  159. data/examples/image/clickable_image.rb +0 -5
  160. data/examples/image/image.rb +0 -3
  161. data/examples/image/image_size.rb +0 -7
  162. data/examples/image/image_with_position_and_size.rb +0 -3
  163. data/examples/info.rb +0 -9
  164. data/examples/legacy/not_checked/expert/colours.rb +0 -105
  165. data/examples/legacy/not_checked/expert/curve-animation.rb +0 -31
  166. data/examples/legacy/not_checked/expert/curve-control-point.rb +0 -51
  167. data/examples/legacy/not_checked/expert/custom-list-box.rb +0 -53
  168. data/examples/legacy/not_checked/expert/definr.rb +0 -23
  169. data/examples/legacy/not_checked/expert/funnies.rb +0 -56
  170. data/examples/legacy/not_checked/expert/minesweeper.rb +0 -267
  171. data/examples/legacy/not_checked/expert/othello.rb +0 -318
  172. data/examples/legacy/not_checked/expert/pong.rb +0 -62
  173. data/examples/legacy/not_checked/expert/tankspank.rb +0 -385
  174. data/examples/legacy/not_checked/expert/tooltips.rb +0 -45
  175. data/examples/legacy/not_checked/expert/url.rb +0 -37
  176. data/examples/legacy/not_checked/expert/video-player.rb +0 -256
  177. data/examples/legacy/not_checked/good/_why-stories.rb +0 -44
  178. data/examples/legacy/not_checked/good/_why-stories.yaml +0 -387
  179. data/examples/legacy/not_checked/good/arc.rb +0 -37
  180. data/examples/legacy/not_checked/good/cardflip.rb +0 -141
  181. data/examples/legacy/not_checked/good/clock.rb +0 -51
  182. data/examples/legacy/not_checked/good/console.rb +0 -21
  183. data/examples/legacy/not_checked/good/follow.rb +0 -26
  184. data/examples/legacy/not_checked/good/image-rotate.rb +0 -14
  185. data/examples/legacy/not_checked/good/paris.svg +0 -7236
  186. data/examples/legacy/not_checked/good/path-animation.rb +0 -46
  187. data/examples/legacy/not_checked/good/plots.rb +0 -100
  188. data/examples/legacy/not_checked/good/reminder.rb +0 -174
  189. data/examples/legacy/not_checked/good/svgview.rb +0 -113
  190. data/examples/legacy/not_checked/good/vjot.rb +0 -56
  191. data/examples/legacy/not_checked/shoes-contrib/.gitignore +0 -2
  192. data/examples/legacy/not_checked/shoes-contrib/README.md +0 -34
  193. data/examples/legacy/not_checked/shoes-contrib/animation/animate-ovals.rb +0 -21
  194. data/examples/legacy/not_checked/shoes-contrib/animation/flowers.rb +0 -59
  195. data/examples/legacy/not_checked/shoes-contrib/animation/happy-trails.rb +0 -31
  196. data/examples/legacy/not_checked/shoes-contrib/animation/mice-satellites.rb +0 -27
  197. data/examples/legacy/not_checked/shoes-contrib/animation/oval-motion.rb +0 -12
  198. data/examples/legacy/not_checked/shoes-contrib/animation/pink-bubbles.rb +0 -34
  199. data/examples/legacy/not_checked/shoes-contrib/animation/pulsate.rb +0 -18
  200. data/examples/legacy/not_checked/shoes-contrib/animation/rotating-star.rb +0 -18
  201. data/examples/legacy/not_checked/shoes-contrib/app/download-and-save.rb +0 -11
  202. data/examples/legacy/not_checked/shoes-contrib/app/download.rb +0 -10
  203. data/examples/legacy/not_checked/shoes-contrib/app/get-google.rb +0 -11
  204. data/examples/legacy/not_checked/shoes-contrib/app/mouse-detection.rb +0 -7
  205. data/examples/legacy/not_checked/shoes-contrib/app/resizeable-false.rb +0 -6
  206. data/examples/legacy/not_checked/shoes-contrib/art/bubble-bullseye.rb +0 -23
  207. data/examples/legacy/not_checked/shoes-contrib/art/faded.rb +0 -17
  208. data/examples/legacy/not_checked/shoes-contrib/art/fill-oval.rb +0 -5
  209. data/examples/legacy/not_checked/shoes-contrib/art/mask.rb +0 -15
  210. data/examples/legacy/not_checked/shoes-contrib/art/oval-gradient.rb +0 -6
  211. data/examples/legacy/not_checked/shoes-contrib/art/star-gradient.rb +0 -4
  212. data/examples/legacy/not_checked/shoes-contrib/basic/basic-edit-box.rb +0 -8
  213. data/examples/legacy/not_checked/shoes-contrib/basic/basic-new-window.rb +0 -8
  214. data/examples/legacy/not_checked/shoes-contrib/basic/basic-oval-image.rb +0 -8
  215. data/examples/legacy/not_checked/shoes-contrib/basic/basic-oval-shape.rb +0 -8
  216. data/examples/legacy/not_checked/shoes-contrib/basic/basic-oval.rb +0 -6
  217. data/examples/legacy/not_checked/shoes-contrib/basic/class-book.rb +0 -43
  218. data/examples/legacy/not_checked/shoes-contrib/basic/class-book.yaml +0 -387
  219. data/examples/legacy/not_checked/shoes-contrib/basic/clock.rb +0 -6
  220. data/examples/legacy/not_checked/shoes-contrib/basic/edit-stack +0 -14
  221. data/examples/legacy/not_checked/shoes-contrib/basic/gradient-shoes.rb +0 -7
  222. data/examples/legacy/not_checked/shoes-contrib/basic/list_box-shape-report.rb +0 -19
  223. data/examples/legacy/not_checked/shoes-contrib/basic/rect-arrow.rb +0 -7
  224. data/examples/legacy/not_checked/shoes-contrib/basic/scribble.rb +0 -8
  225. data/examples/legacy/not_checked/shoes-contrib/basic/search.rb +0 -32
  226. data/examples/legacy/not_checked/shoes-contrib/basic/shoes-notes.rb +0 -16
  227. data/examples/legacy/not_checked/shoes-contrib/basic/url-shoes-subclassing.rb +0 -24
  228. data/examples/legacy/not_checked/shoes-contrib/browser.rb +0 -21
  229. data/examples/legacy/not_checked/shoes-contrib/elements/background-column.rb +0 -3
  230. data/examples/legacy/not_checked/shoes-contrib/elements/background.rb +0 -4
  231. data/examples/legacy/not_checked/shoes-contrib/elements/basic-fps.rb +0 -6
  232. data/examples/legacy/not_checked/shoes-contrib/elements/border-cat.rb +0 -6
  233. data/examples/legacy/not_checked/shoes-contrib/elements/button-block.rb +0 -8
  234. data/examples/legacy/not_checked/shoes-contrib/elements/check-mate.rb +0 -15
  235. data/examples/legacy/not_checked/shoes-contrib/elements/common-styles.rb +0 -13
  236. data/examples/legacy/not_checked/shoes-contrib/elements/displace-animation.rb +0 -13
  237. data/examples/legacy/not_checked/shoes-contrib/elements/edit_box-character-count.rb +0 -7
  238. data/examples/legacy/not_checked/shoes-contrib/elements/edit_line-character-count.rb +0 -7
  239. data/examples/legacy/not_checked/shoes-contrib/elements/image-icon.rb +0 -3
  240. data/examples/legacy/not_checked/shoes-contrib/elements/list_box-select-class.rb +0 -13
  241. data/examples/legacy/not_checked/shoes-contrib/elements/list_box.rb +0 -6
  242. data/examples/legacy/not_checked/shoes-contrib/elements/move-flow-animate.rb +0 -13
  243. data/examples/legacy/not_checked/shoes-contrib/elements/phat-button.rb +0 -7
  244. data/examples/legacy/not_checked/shoes-contrib/elements/popup.rb +0 -7
  245. data/examples/legacy/not_checked/shoes-contrib/elements/progress-bar.rb +0 -10
  246. data/examples/legacy/not_checked/shoes-contrib/elements/radio-dreamcast-favs.rb +0 -17
  247. data/examples/legacy/not_checked/shoes-contrib/elements/timer.rb +0 -6
  248. data/examples/legacy/not_checked/shoes-contrib/elements/width-introspec.rb +0 -8
  249. data/examples/legacy/not_checked/shoes-contrib/events/background-hover.rb +0 -11
  250. data/examples/legacy/not_checked/shoes-contrib/events/motion-detect.rb +0 -9
  251. data/examples/legacy/not_checked/shoes-contrib/events/pressed-key.rb +0 -6
  252. data/examples/legacy/not_checked/shoes-contrib/expert/expert-funnies.rb +0 -51
  253. data/examples/legacy/not_checked/shoes-contrib/expert/expert-irb.rb +0 -112
  254. data/examples/legacy/not_checked/shoes-contrib/expert/expert-othello.rb +0 -319
  255. data/examples/legacy/not_checked/shoes-contrib/good/good-arc.rb +0 -37
  256. data/examples/legacy/not_checked/shoes-contrib/good/good-clock.rb +0 -51
  257. data/examples/legacy/not_checked/shoes-contrib/good/good-follow.rb +0 -26
  258. data/examples/legacy/not_checked/shoes-contrib/good/good-reminder.rb +0 -174
  259. data/examples/legacy/not_checked/shoes-contrib/good/good-vjot.rb +0 -56
  260. data/examples/legacy/not_checked/shoes-contrib/kernel/ask.rb +0 -4
  261. data/examples/legacy/not_checked/shoes-contrib/kernel/ask_color.rb +0 -4
  262. data/examples/legacy/not_checked/shoes-contrib/kernel/ask_open_file.rb +0 -4
  263. data/examples/legacy/not_checked/shoes-contrib/kernel/ask_save_file.rb +0 -7
  264. data/examples/legacy/not_checked/shoes-contrib/kernel/confirm.rb +0 -3
  265. data/examples/legacy/not_checked/shoes-contrib/kernel/debug.rb +0 -4
  266. data/examples/legacy/not_checked/shoes-contrib/kernel/exit.rb +0 -5
  267. data/examples/legacy/not_checked/shoes-contrib/kernel/font.rb +0 -5
  268. data/examples/legacy/not_checked/shoes-contrib/kernel/fonts.rb +0 -3
  269. data/examples/legacy/not_checked/shoes-contrib/manipulation/append-slot.rb +0 -9
  270. data/examples/legacy/not_checked/shoes-contrib/manipulation/clear-slot.rb +0 -6
  271. data/examples/legacy/not_checked/shoes-contrib/manipulation/prepend-slot.rb +0 -6
  272. data/examples/legacy/not_checked/shoes-contrib/manipulation/roll.rb +0 -17
  273. data/examples/legacy/not_checked/shoes-contrib/position/gutter-margin.rb +0 -5
  274. data/examples/legacy/not_checked/shoes-contrib/position/stack-width.rb +0 -3
  275. data/examples/legacy/not_checked/shoes-contrib/simple/simple-accordion.rb +0 -75
  276. data/examples/legacy/not_checked/shoes-contrib/simple/simple-anim-shapes.rb +0 -17
  277. data/examples/legacy/not_checked/shoes-contrib/simple/simple-anim-text.rb +0 -13
  278. data/examples/legacy/not_checked/shoes-contrib/simple/simple-arc.rb +0 -23
  279. data/examples/legacy/not_checked/shoes-contrib/simple/simple-bounce.rb +0 -24
  280. data/examples/legacy/not_checked/shoes-contrib/simple/simple-calc.rb +0 -70
  281. data/examples/legacy/not_checked/shoes-contrib/simple/simple-chipmunk.rb +0 -26
  282. data/examples/legacy/not_checked/shoes-contrib/simple/simple-control-sizes.rb +0 -24
  283. data/examples/legacy/not_checked/shoes-contrib/simple/simple-curve.rb +0 -26
  284. data/examples/legacy/not_checked/shoes-contrib/simple/simple-dialogs.rb +0 -29
  285. data/examples/legacy/not_checked/shoes-contrib/simple/simple-downloader.rb +0 -27
  286. data/examples/legacy/not_checked/shoes-contrib/simple/simple-draw.rb +0 -13
  287. data/examples/legacy/not_checked/shoes-contrib/simple/simple-editor.rb +0 -28
  288. data/examples/legacy/not_checked/shoes-contrib/simple/simple-form.rb +0 -28
  289. data/examples/legacy/not_checked/shoes-contrib/simple/simple-form.shy +0 -0
  290. data/examples/legacy/not_checked/shoes-contrib/simple/simple-mask.rb +0 -21
  291. data/examples/legacy/not_checked/shoes-contrib/simple/simple-menu.rb +0 -31
  292. data/examples/legacy/not_checked/shoes-contrib/simple/simple-menu1.rb +0 -35
  293. data/examples/legacy/not_checked/shoes-contrib/simple/simple-rubygems.rb +0 -29
  294. data/examples/legacy/not_checked/shoes-contrib/simple/simple-slide.rb +0 -45
  295. data/examples/legacy/not_checked/shoes-contrib/simple/simple-sphere.rb +0 -28
  296. data/examples/legacy/not_checked/shoes-contrib/simple/simple-sqlite3.rb +0 -13
  297. data/examples/legacy/not_checked/shoes-contrib/simple/simple-timer.rb +0 -13
  298. data/examples/legacy/not_checked/shoes-contrib/simple/simple-video.rb +0 -13
  299. data/examples/legacy/not_checked/shoes-contrib/styles/alignment.rb +0 -4
  300. data/examples/legacy/not_checked/shoes-contrib/styles/attachment.rb +0 -5
  301. data/examples/legacy/not_checked/shoes-contrib/styles/emphasis.rb +0 -3
  302. data/examples/legacy/not_checked/shoes-contrib/styles/gradient-angle.rb +0 -3
  303. data/examples/legacy/not_checked/shoes-contrib/styles/para-methods.rb +0 -5
  304. data/examples/legacy/not_checked/shoes-contrib/styles/para-red-underlined.rb +0 -3
  305. data/examples/legacy/not_checked/shoes-contrib/styles/para-style-method.rb +0 -4
  306. data/examples/legacy/not_checked/shoes-dep-samples/expert-game-of-life.rb +0 -243
  307. data/examples/legacy/not_checked/shoes-dep-samples/expert-othello.rb +0 -319
  308. data/examples/legacy/not_checked/shoes-dep-samples/good-clock.rb +0 -51
  309. data/examples/legacy/not_checked/shoes-dep-samples/good-follow.rb +0 -26
  310. data/examples/legacy/not_checked/shoes-dep-samples/good-reminder.rb +0 -174
  311. data/examples/legacy/not_checked/shoes-dep-samples/good-vjot.rb +0 -56
  312. data/examples/legacy/not_checked/shoes-dep-samples/simple-accordion.rb +0 -75
  313. data/examples/legacy/not_checked/shoes-dep-samples/simple-anim-shapes.rb +0 -17
  314. data/examples/legacy/not_checked/shoes-dep-samples/simple-anim-text.rb +0 -13
  315. data/examples/legacy/not_checked/shoes-dep-samples/simple-arc.rb +0 -23
  316. data/examples/legacy/not_checked/shoes-dep-samples/simple-bounce.rb +0 -24
  317. data/examples/legacy/not_checked/shoes-dep-samples/simple-calc.rb +0 -70
  318. data/examples/legacy/not_checked/shoes-dep-samples/simple-chipmunk.rb +0 -26
  319. data/examples/legacy/not_checked/shoes-dep-samples/simple-control-sizes.rb +0 -24
  320. data/examples/legacy/not_checked/shoes-dep-samples/simple-curve.rb +0 -26
  321. data/examples/legacy/not_checked/shoes-dep-samples/simple-dialogs.rb +0 -29
  322. data/examples/legacy/not_checked/shoes-dep-samples/simple-draw.rb +0 -13
  323. data/examples/legacy/not_checked/shoes-dep-samples/simple-editor.rb +0 -28
  324. data/examples/legacy/not_checked/shoes-dep-samples/simple-form.rb +0 -28
  325. data/examples/legacy/not_checked/shoes-dep-samples/simple-form.shy +0 -0
  326. data/examples/legacy/not_checked/shoes-dep-samples/simple-mask.rb +0 -21
  327. data/examples/legacy/not_checked/shoes-dep-samples/simple-menu.rb +0 -31
  328. data/examples/legacy/not_checked/shoes-dep-samples/simple-menu1.rb +0 -35
  329. data/examples/legacy/not_checked/shoes-dep-samples/simple-rubygems.rb +0 -29
  330. data/examples/legacy/not_checked/shoes-dep-samples/simple-slide.rb +0 -45
  331. data/examples/legacy/not_checked/shoes-dep-samples/simple-sphere.rb +0 -28
  332. data/examples/legacy/not_checked/shoes-dep-samples/simple-sqlite3.rb +0 -13
  333. data/examples/legacy/not_checked/shoes-dep-samples/simple-timer.rb +0 -13
  334. data/examples/legacy/not_checked/shoes-dep-samples/simple-video.rb +0 -13
  335. data/examples/legacy/not_checked/shoes3-tests/AnemicCinema1926marcelDuchampCut.mp4 +0 -0
  336. data/examples/legacy/not_checked/shoes3-tests/button/button.rb +0 -53
  337. data/examples/legacy/not_checked/shoes3-tests/cache/cache.rb +0 -41
  338. data/examples/legacy/not_checked/shoes3-tests/combo/combo.rb +0 -24
  339. data/examples/legacy/not_checked/shoes3-tests/curl/bare.rb +0 -34
  340. data/examples/legacy/not_checked/shoes3-tests/curl/downloader.rb +0 -40
  341. data/examples/legacy/not_checked/shoes3-tests/curl/m1.rb +0 -11
  342. data/examples/legacy/not_checked/shoes3-tests/curl/m2.rb +0 -12
  343. data/examples/legacy/not_checked/shoes3-tests/curl/m3.rb +0 -11
  344. data/examples/legacy/not_checked/shoes3-tests/curl/m4.rb +0 -5
  345. data/examples/legacy/not_checked/shoes3-tests/curl/typ.rb +0 -30
  346. data/examples/legacy/not_checked/shoes3-tests/cursor/c1.rb +0 -21
  347. data/examples/legacy/not_checked/shoes3-tests/decoration.rb +0 -14
  348. data/examples/legacy/not_checked/shoes3-tests/dialogs/ask.rb +0 -6
  349. data/examples/legacy/not_checked/shoes3-tests/dialogs/confirm.rb +0 -6
  350. data/examples/legacy/not_checked/shoes3-tests/editbox/editbox.rb +0 -36
  351. data/examples/legacy/not_checked/shoes3-tests/editline/editline.rb +0 -27
  352. data/examples/legacy/not_checked/shoes3-tests/events/button.rb +0 -32
  353. data/examples/legacy/not_checked/shoes3-tests/events/button.yaml +0 -40
  354. data/examples/legacy/not_checked/shoes3-tests/events/capture.rb +0 -57
  355. data/examples/legacy/not_checked/shoes3-tests/events/chipmunk.yaml +0 -47
  356. data/examples/legacy/not_checked/shoes3-tests/events/event0.rb +0 -8
  357. data/examples/legacy/not_checked/shoes3-tests/events/event1.rb +0 -51
  358. data/examples/legacy/not_checked/shoes3-tests/events/event1.yaml +0 -26
  359. data/examples/legacy/not_checked/shoes3-tests/events/event2.rb +0 -46
  360. data/examples/legacy/not_checked/shoes3-tests/events/event3.rb +0 -44
  361. data/examples/legacy/not_checked/shoes3-tests/events/event4.rb +0 -65
  362. data/examples/legacy/not_checked/shoes3-tests/events/event5.rb +0 -17
  363. data/examples/legacy/not_checked/shoes3-tests/events/event6.rb +0 -51
  364. data/examples/legacy/not_checked/shoes3-tests/events/replay.rb +0 -60
  365. data/examples/legacy/not_checked/shoes3-tests/gapp/fullscreen.rb +0 -38
  366. data/examples/legacy/not_checked/shoes3-tests/gapp/icon.rb +0 -56
  367. data/examples/legacy/not_checked/shoes3-tests/gapp/mon1.rb +0 -46
  368. data/examples/legacy/not_checked/shoes3-tests/gapp/settings1.rb +0 -22
  369. data/examples/legacy/not_checked/shoes3-tests/gapp/title1.rb +0 -34
  370. data/examples/legacy/not_checked/shoes3-tests/indian.m4a +0 -0
  371. data/examples/legacy/not_checked/shoes3-tests/menus/event.rb +0 -33
  372. data/examples/legacy/not_checked/shoes3-tests/menus/menu1.rb +0 -8
  373. data/examples/legacy/not_checked/shoes3-tests/menus/menu2.rb +0 -25
  374. data/examples/legacy/not_checked/shoes3-tests/menus/menu3.rb +0 -103
  375. data/examples/legacy/not_checked/shoes3-tests/menus/menu4.rb +0 -41
  376. data/examples/legacy/not_checked/shoes3-tests/menus/tests.txt +0 -42
  377. data/examples/legacy/not_checked/shoes3-tests/opacity.rb +0 -13
  378. data/examples/legacy/not_checked/shoes3-tests/plot/^IRX.R +0 -5219
  379. data/examples/legacy/not_checked/shoes3-tests/plot/^SPX +0 -5219
  380. data/examples/legacy/not_checked/shoes3-tests/plot/cstest.rb +0 -51
  381. data/examples/legacy/not_checked/shoes3-tests/plot/gr1.rb +0 -73
  382. data/examples/legacy/not_checked/shoes3-tests/plot/gr2.rb +0 -40
  383. data/examples/legacy/not_checked/shoes3-tests/plot/gr3.rb +0 -47
  384. data/examples/legacy/not_checked/shoes3-tests/plot/gr4.rb +0 -35
  385. data/examples/legacy/not_checked/shoes3-tests/plot/gr5.rb +0 -31
  386. data/examples/legacy/not_checked/shoes3-tests/plot/gr6.rb +0 -35
  387. data/examples/legacy/not_checked/shoes3-tests/plot/gr7.rb +0 -37
  388. data/examples/legacy/not_checked/shoes3-tests/plot/grcsv.rb +0 -219
  389. data/examples/legacy/not_checked/shoes3-tests/plot/manual.rb +0 -40
  390. data/examples/legacy/not_checked/shoes3-tests/progress/progress.rb +0 -29
  391. data/examples/legacy/not_checked/shoes3-tests/radio/clear.rb +0 -20
  392. data/examples/legacy/not_checked/shoes3-tests/radio/group.rb +0 -18
  393. data/examples/legacy/not_checked/shoes3-tests/radio/multiple.rb +0 -32
  394. data/examples/legacy/not_checked/shoes3-tests/radio/nogroup.rb +0 -9
  395. data/examples/legacy/not_checked/shoes3-tests/simpletest.svg +0 -14
  396. data/examples/legacy/not_checked/shoes3-tests/spinner.rb +0 -15
  397. data/examples/legacy/not_checked/shoes3-tests/svg.rb +0 -208
  398. data/examples/legacy/not_checked/shoes3-tests/switch/switch.rb +0 -28
  399. data/examples/legacy/not_checked/shoes3-tests/systray/back.rb +0 -20
  400. data/examples/legacy/not_checked/shoes3-tests/systray/note.rb +0 -17
  401. data/examples/legacy/not_checked/shoes3-tests/terminal/cursor.rb +0 -27
  402. data/examples/legacy/not_checked/shoes3-tests/terminal/ed.rb +0 -65
  403. data/examples/legacy/not_checked/shoes3-tests/terminal/el.rb +0 -50
  404. data/examples/legacy/not_checked/shoes3-tests/terminal/logattr.rb +0 -31
  405. data/examples/legacy/not_checked/shoes3-tests/tests_color.rb +0 -138
  406. data/examples/legacy/not_checked/shoes3-tests/tests_svg.rb +0 -228
  407. data/examples/legacy/not_checked/shoes3-tests/tests_video_vlc.rb +0 -186
  408. data/examples/legacy/not_checked/shoes3-tests/tooltips.rb +0 -20
  409. data/examples/legacy/not_checked/shoes3-tests/video_vlc.rb +0 -242
  410. data/examples/legacy/not_checked/shoes3-tests/wheel/wheel1.rb +0 -21
  411. data/examples/legacy/not_checked/simple/accordion.rb +0 -81
  412. data/examples/legacy/not_checked/simple/anim-shapes.rb +0 -17
  413. data/examples/legacy/not_checked/simple/anim-text.rb +0 -13
  414. data/examples/legacy/not_checked/simple/arc.rb +0 -23
  415. data/examples/legacy/not_checked/simple/bounce.rb +0 -24
  416. data/examples/legacy/not_checked/simple/chipmunk.rb +0 -26
  417. data/examples/legacy/not_checked/simple/control-sizes.rb +0 -24
  418. data/examples/legacy/not_checked/simple/curve-control-points.rb +0 -24
  419. data/examples/legacy/not_checked/simple/curve.rb +0 -26
  420. data/examples/legacy/not_checked/simple/dialogs.rb +0 -29
  421. data/examples/legacy/not_checked/simple/downloader.rb +0 -40
  422. data/examples/legacy/not_checked/simple/downloader1.rb +0 -31
  423. data/examples/legacy/not_checked/simple/draw.rb +0 -13
  424. data/examples/legacy/not_checked/simple/editor.rb +0 -28
  425. data/examples/legacy/not_checked/simple/form.rb +0 -30
  426. data/examples/legacy/not_checked/simple/image.rb +0 -21
  427. data/examples/legacy/not_checked/simple/info.rb +0 -78
  428. data/examples/legacy/not_checked/simple/mask.rb +0 -21
  429. data/examples/legacy/not_checked/simple/mask2.rb +0 -27
  430. data/examples/legacy/not_checked/simple/menu.rb +0 -31
  431. data/examples/legacy/not_checked/simple/menu1.rb +0 -35
  432. data/examples/legacy/not_checked/simple/slide.rb +0 -45
  433. data/examples/legacy/not_checked/simple/sphere.rb +0 -28
  434. data/examples/legacy/not_checked/superleg.rb +0 -244
  435. data/examples/legacy/working/shoes-contrib/basic/a-poem.rb +0 -24
  436. data/examples/legacy/working/shoes-contrib/basic/basic-blocks-instances.rb +0 -7
  437. data/examples/legacy/working/shoes-contrib/basic/basic-blocks.rb +0 -7
  438. data/examples/legacy/working/shoes-contrib/basic/basic-slot.rb +0 -8
  439. data/examples/legacy/working/shoes-contrib/basic/intro.rb +0 -20
  440. data/examples/legacy/working/shoes-contrib/basic/two-column.rb +0 -12
  441. data/examples/legacy/working/shoes-contrib/elements/edit_box.rb +0 -6
  442. data/examples/legacy/working/shoes-contrib/kernel/alert.rb +0 -3
  443. data/examples/legacy/working/simple/calc.rb +0 -71
  444. data/examples/legacy/working/simple/sqlite3.rb +0 -27
  445. data/examples/legacy/working/simple/timer.rb +0 -13
  446. data/examples/line.rb +0 -5
  447. data/examples/link.rb +0 -20
  448. data/examples/list_box.rb +0 -8
  449. data/examples/local_fonts.rb +0 -4
  450. data/examples/local_images.rb +0 -4
  451. data/examples/motion_events.rb +0 -20
  452. data/examples/para/collection_of_arguments.rb +0 -9
  453. data/examples/para/hello_world.rb +0 -5
  454. data/examples/para/hide_and_show.rb +0 -9
  455. data/examples/para/rainbow.rb +0 -11
  456. data/examples/para/rainbow_2.rb +0 -11
  457. data/examples/para/sizes.rb +0 -11
  458. data/examples/para/sizes_2.rb +0 -12
  459. data/examples/para/strong.rb +0 -3
  460. data/examples/para_text_widgets.rb +0 -4
  461. data/examples/parse_xl_funnies.rb +0 -58
  462. data/examples/pirate.png +0 -0
  463. data/examples/raw_flow.rb +0 -11
  464. data/examples/ruby_racer.rb +0 -50
  465. data/examples/selfitude.rb +0 -18
  466. data/examples/shapes/arc.rb +0 -8
  467. data/examples/shapes/shapes.rb +0 -8
  468. data/examples/shapes/shapes_fill.rb +0 -10
  469. data/examples/shapes/star.rb +0 -5
  470. data/examples/shoes_school.rb +0 -66
  471. data/examples/shoes_splorer.rb +0 -150
  472. data/examples/simple_slides.rb +0 -73
  473. data/examples/skip_ci/parrot.rb +0 -22
  474. data/examples/skip_ci/say.rb +0 -20
  475. data/examples/sleepless.rb +0 -26
  476. data/examples/slots.rb +0 -10
  477. data/examples/spacing.rb +0 -18
  478. data/examples/span.rb +0 -6
  479. data/examples/stack/background.rb +0 -35
  480. data/examples/stack/border.rb +0 -11
  481. data/examples/stack/gradients.rb +0 -6
  482. data/examples/stack/raw_stack.rb +0 -8
  483. data/examples/stack/stack.rb +0 -27
  484. data/examples/text_change.rb +0 -4
  485. data/examples/text_sizes.rb +0 -10
  486. data/examples/timmy.rb +0 -109
  487. data/examples/title_and_resize.rb +0 -3
  488. data/examples/video.rb +0 -10
  489. data/exe/scarpe +0 -107
  490. data/fonts/Pacifico.ttf +0 -0
  491. data/lib/scarpe/alert.rb +0 -19
  492. data/lib/scarpe/arc.rb +0 -49
  493. data/lib/scarpe/base64.rb +0 -27
  494. data/lib/scarpe/button.rb +0 -35
  495. data/lib/scarpe/cats_cradle.rb +0 -255
  496. data/lib/scarpe/fill.rb +0 -23
  497. data/lib/scarpe/flow.rb +0 -18
  498. data/lib/scarpe/font.rb +0 -14
  499. data/lib/scarpe/glibui/README.md +0 -34
  500. data/lib/scarpe/glibui/alert.rb +0 -65
  501. data/lib/scarpe/glibui/app.rb +0 -27
  502. data/lib/scarpe/glibui/background.rb +0 -18
  503. data/lib/scarpe/glibui/border.rb +0 -22
  504. data/lib/scarpe/glibui/button.rb +0 -38
  505. data/lib/scarpe/glibui/dimensions.rb +0 -22
  506. data/lib/scarpe/glibui/document_root.rb +0 -33
  507. data/lib/scarpe/glibui/edit_box.rb +0 -44
  508. data/lib/scarpe/glibui/edit_line.rb +0 -43
  509. data/lib/scarpe/glibui/flow.rb +0 -33
  510. data/lib/scarpe/glibui/html.rb +0 -77
  511. data/lib/scarpe/glibui/image.rb +0 -36
  512. data/lib/scarpe/glibui/link.rb +0 -29
  513. data/lib/scarpe/glibui/local_display.rb +0 -62
  514. data/lib/scarpe/glibui/para.rb +0 -84
  515. data/lib/scarpe/glibui/spacing.rb +0 -41
  516. data/lib/scarpe/glibui/stack.rb +0 -33
  517. data/lib/scarpe/glibui/text_widget.rb +0 -30
  518. data/lib/scarpe/glibui/widget.rb +0 -81
  519. data/lib/scarpe/glibui.rb +0 -29
  520. data/lib/scarpe/libui/alert.rb +0 -9
  521. data/lib/scarpe/libui/button.rb +0 -18
  522. data/lib/scarpe/libui/colors.rb +0 -157
  523. data/lib/scarpe/libui/core.rb +0 -66
  524. data/lib/scarpe/libui/flow.rb +0 -16
  525. data/lib/scarpe/libui/libui.rb +0 -45
  526. data/lib/scarpe/libui/notepad.md +0 -26
  527. data/lib/scarpe/libui/para.rb +0 -154
  528. data/lib/scarpe/libui/stack.rb +0 -34
  529. data/lib/scarpe/line.rb +0 -25
  530. data/lib/scarpe/link.rb +0 -25
  531. data/lib/scarpe/list_box.rb +0 -25
  532. data/lib/scarpe/logger.rb +0 -159
  533. data/lib/scarpe/para.rb +0 -92
  534. data/lib/scarpe/promises.rb +0 -405
  535. data/lib/scarpe/shape.rb +0 -20
  536. data/lib/scarpe/slot.rb +0 -7
  537. data/lib/scarpe/spacing.rb +0 -9
  538. data/lib/scarpe/star.rb +0 -47
  539. data/lib/scarpe/subscription_item.rb +0 -60
  540. data/lib/scarpe/unit_test_helpers.rb +0 -236
  541. data/lib/scarpe/version.rb +0 -5
  542. data/lib/scarpe/video.rb +0 -15
  543. data/lib/scarpe/widgets.rb +0 -35
  544. data/lib/scarpe/wv/alert.rb +0 -65
  545. data/lib/scarpe/wv/app.rb +0 -104
  546. data/lib/scarpe/wv/arc.rb +0 -57
  547. data/lib/scarpe/wv/background.rb +0 -27
  548. data/lib/scarpe/wv/border.rb +0 -24
  549. data/lib/scarpe/wv/button.rb +0 -50
  550. data/lib/scarpe/wv/control_interface.rb +0 -147
  551. data/lib/scarpe/wv/control_interface_test.rb +0 -234
  552. data/lib/scarpe/wv/dimensions.rb +0 -22
  553. data/lib/scarpe/wv/document_root.rb +0 -8
  554. data/lib/scarpe/wv/edit_box.rb +0 -44
  555. data/lib/scarpe/wv/edit_line.rb +0 -43
  556. data/lib/scarpe/wv/fill.rb +0 -30
  557. data/lib/scarpe/wv/flow.rb +0 -24
  558. data/lib/scarpe/wv/font.rb +0 -36
  559. data/lib/scarpe/wv/html.rb +0 -108
  560. data/lib/scarpe/wv/image.rb +0 -41
  561. data/lib/scarpe/wv/line.rb +0 -38
  562. data/lib/scarpe/wv/link.rb +0 -29
  563. data/lib/scarpe/wv/list_box.rb +0 -50
  564. data/lib/scarpe/wv/para.rb +0 -90
  565. data/lib/scarpe/wv/shape.rb +0 -35
  566. data/lib/scarpe/wv/shape_helper.rb +0 -44
  567. data/lib/scarpe/wv/slot.rb +0 -81
  568. data/lib/scarpe/wv/spacing.rb +0 -41
  569. data/lib/scarpe/wv/span.rb +0 -66
  570. data/lib/scarpe/wv/stack.rb +0 -24
  571. data/lib/scarpe/wv/star.rb +0 -64
  572. data/lib/scarpe/wv/subscription_item.rb +0 -50
  573. data/lib/scarpe/wv/text_widget.rb +0 -30
  574. data/lib/scarpe/wv/video.rb +0 -42
  575. data/lib/scarpe/wv/web_wrangler.rb +0 -683
  576. data/lib/scarpe/wv/webview_local_display.rb +0 -73
  577. data/lib/scarpe/wv/webview_relay_display.rb +0 -185
  578. data/lib/scarpe/wv/widget.rb +0 -185
  579. data/lib/scarpe/wv/wv_display_worker.rb +0 -65
  580. data/lib/scarpe/wv.rb +0 -43
  581. data/lib/scarpe/wv_local.rb +0 -6
  582. data/lib/scarpe/wv_relay.rb +0 -6
  583. data/lib/scarpe.rb +0 -29
  584. data/lib/shoes/text_widget.rb +0 -52
  585. data/lib/shoes/widget.rb +0 -209
  586. data/logger/debug_web_wrangler.json +0 -4
  587. data/logger/scarpe_wv_test.json +0 -4
  588. data/scarpe-0.2.0.gem +0 -0
  589. data/scarpe.gemspec +0 -44
  590. data/scarpegen.rb +0 -193
  591. data/sig/scarpe.rbs +0 -4
  592. data/templates/basic_class_template.erb +0 -38
  593. data/templates/class_template_with_event_bind.erb +0 -27
  594. data/templates/class_template_with_shapes.erb +0 -43
  595. data/templates/example_template.erb +0 -3
  596. data/templates/module_template.erb +0 -12
  597. data/templates/webview_template.erb +0 -27
@@ -1,27 +0,0 @@
1
- Shoes.app do
2
- stack margin: 50 do
3
- button "with 50px margin"
4
- end
5
-
6
- stack width: 0.5 do
7
- button "50% width"
8
- end
9
-
10
- stack width: 80, height: 100 do
11
- para "This para is in a stack that's 80px wide and 100px high"
12
- end
13
-
14
- stack width: -80 do
15
- button "100% - 80px width"
16
- end
17
-
18
- flow do
19
- stack width: 0.33 do
20
- button "inside flow left 1/3"
21
- end
22
-
23
- stack width: 0.67 do
24
- button "inside flow right 2/3"
25
- end
26
- end
27
- end
@@ -1,4 +0,0 @@
1
- Shoes.app do
2
- p = para "Hello"
3
- p.replace "Goodbye"
4
- end
@@ -1,10 +0,0 @@
1
- Shoes.app(title: "Text Sizes") do
2
- banner "Banner"
3
- title "Title"
4
- subtitle "Subtitle"
5
- tagline "Tagline"
6
- caption "Caption"
7
- para "Para"
8
- inscription "Inscription"
9
- ins "Inscription via ins"
10
- end
data/examples/timmy.rb DELETED
@@ -1,109 +0,0 @@
1
- # Timmy 1
2
-
3
- # Shoes.app do
4
- # para "You've downloaded a virus!"
5
- # end
6
-
7
- # Timmy 2
8
-
9
- # Shoes.app title: "Cookies Recipe", height: 1000, width: 1000 do
10
- # banner "You've downloaded a virus!", :align => "center"
11
- # end
12
-
13
- # Timmy 3
14
-
15
- # Shoes.app title: "Cookies Recipe", height: 1000, width: 1000 do
16
- # background "black"
17
- # @header = banner "You've downloaded a virus!", align: "center", stroke: red
18
-
19
- # flow height: "30%" do
20
- # stack width: "100%" do
21
- # background "white"
22
- # title "You thought this was a recipe for cookies, but it was me, your arch nemesis!\n\n", align: "center"
23
- # para "I have taken over your computer and will not give it back until you pay me $1,000,000.",
24
- # align: "center",
25
- # size: 30
26
- # end
27
- # end
28
- # flow height: "20%" do
29
- # stack width: "100%" do
30
- # background "white"
31
- # para "Pay me now or I will delete all your files!\n",
32
- # "Courtesy, your friends in the Mafia",
33
- # align: "center", size: 30
34
- # banner "💰", align: "center"
35
- # end
36
- # end
37
- # flow height: "45%" do
38
- # border "black", strokewidth: 10
39
- # background "black"
40
- # stack width: "33.33%" do
41
- # background "green"
42
- # end
43
- # stack width: "33.33%" do
44
- # background "white"
45
- # end
46
- # stack width: "33.33%" do
47
- # background "red"
48
- # end
49
- # end
50
- # end
51
-
52
-
53
- # Timmy 4 (more interactive)
54
- # Timmy hasn't quite learned about variables yet, so he's using global variables.
55
-
56
- Shoes.app title: "Cookies Recipe", height: 1000, width: 1000 do
57
- $main_background = background "black"
58
- $header = banner "You've downloaded a virus!", align: "center", stroke: red
59
-
60
- flow height: "30%" do
61
- stack width: "100%" do
62
- background "white"
63
- $header_one = title "You thought this was a recipe for cookies, but it was me, your arch nemesis!\n\n", align: "center"
64
- $header_two = para "I have taken over your computer and will not give it back until you pay me $1,000,000.",
65
- align: "center",
66
- size: 30
67
- end
68
- end
69
- flow height: "30%" do
70
- stack width: "33.33%" do
71
- background "blue"
72
- star 230, 100, 6, 150, 50
73
- end
74
- stack width: "33.33%" do
75
- background "white"
76
- $body_one = para "Pay me now or I will delete all your files!\n",
77
- "Courtesy, the Pirates of the Highlands 🏴‍☠️",
78
- align: "center", size: 30
79
- $body_two = banner "💰", align: "center"
80
- end
81
- stack width: "33.33%" do
82
- background "blue"
83
- star 230, 100, 6, 150, 50
84
- end
85
- end
86
- flow height: "30%" do
87
- stack width: "33.33%" do
88
- $pirate_image = image "https://i.imgur.com/mIaqQaF.png"
89
- end
90
- stack width: "33.33%" do
91
- @push = button "Pay up 💸", width: 335, height: 300, size: 80 do
92
- $header.replace "Just kidding Grandma! I love you! ❤️❤️❤️"
93
- $header.stroke = white
94
- $body_one.replace "I'm sorry for scaring you. I hope you have a great day!"
95
- $body_two.replace "🍪"
96
- $header_one.replace "❤️"
97
- $header_two.replace ""
98
- $pirate_image.replace "https://media.tenor.com/ZVJxuXJOczIAAAAd/kazoo-kid.gif"
99
- $pirate_image_two.replace "https://media.tenor.com/ZVJxuXJOczIAAAAd/kazoo-kid.gif"
100
- @push.text = "🍪"
101
- end
102
- end
103
- stack width: "33.33%" do
104
- $pirate_image_two = image "https://i.imgur.com/mIaqQaF.png"
105
- end
106
- end
107
- end
108
-
109
-
@@ -1,3 +0,0 @@
1
- Shoes.app(title: "Schwad's app!", width: 1000, height: 800) do
2
- para "Boy howdy! Now we're talking!"
3
- end
data/examples/video.rb DELETED
@@ -1,10 +0,0 @@
1
- Shoes.app do
2
- stack do
3
- para "Video"
4
- video "http://techslides.com/demos/sample-videos/small.mp4"
5
- end
6
- stack do
7
- para "Video 2"
8
- video "https://samplelib.com/lib/preview/mp4/sample-5s.mp4"
9
- end
10
- end
data/exe/scarpe DELETED
@@ -1,107 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- # We need to not use syntactic features of very recent Rubies in this file, so that it parses
4
- # correctly in earlier Rubies and can successfully give the version-check error.
5
- if RUBY_VERSION[0..2] < "3.2"
6
- $stderr.puts("Scarpe requires Ruby 3.2 or higher!")
7
- exit(-1)
8
- end
9
-
10
- def print_usage
11
- puts <<USAGE
12
- Usage: scarpe [OPTIONS] <scarpe app file> # Same as "scarpe run"
13
- scarpe [OPTIONS] run <scarpe app file>
14
- scarpe [OPTIONS] env # print Scarpe environment settings
15
- scarpe -v # print the Scarpe gem version and exit
16
- Options:
17
- --dev Use development local scarpe, not an installed gem
18
- --debug Turn on application debug mode
19
- USAGE
20
- end
21
-
22
- def env_or_default(env_var, default_val)
23
- "#{env_var}: #{ENV[env_var] || default_val}"
24
- end
25
-
26
- def env_or_none(env_var)
27
- env_or_default(env_var, "(none)")
28
- end
29
-
30
- def print_env
31
- puts <<~SCARPE_ENV
32
- Scarpe environment:
33
- #{env_or_default("SCARPE_DISPLAY_SERVICE", "(default)wv_local")}
34
- #{env_or_default("SCARPE_LOG_CONFIG", "(default)#{Scarpe::Log::DEFAULT_LOG_CONFIG.inspect}")}
35
- #{env_or_none("SCARPE_APP_TEST")}
36
- Scarpe::WV environment:
37
- #{env_or_none("SCARPE_TEST_CONTROL")}
38
- #{env_or_none("SCARPE_TEST_RESULTS")}
39
- #{env_or_none("SCARPE_DEBUG")}
40
- Ruby and shell environment:
41
- RUBY_DESCRIPTION: #{RUBY_DESCRIPTION.inspect}
42
- RUBY_PLATFORM: #{RUBY_PLATFORM.inspect}
43
- RUBY_ENGINE: #{RUBY_ENGINE.inspect}
44
- #{env_or_none("SHELL")}
45
- #{env_or_none("PATH")}
46
- #{env_or_none("LD_LIBRARY_PATH")}
47
- #{env_or_none("DYLD_LIBRARY_PATH")}
48
- #{env_or_none("GEM_ROOT")}
49
- #{env_or_none("GEM_HOME")}
50
- #{env_or_none("GEM_PATH")}
51
- SCARPE_ENV
52
- end
53
-
54
- # --dev option applies to all actions
55
- use_dev = ARGV.delete("--dev") ? true : false
56
- use_debug = ARGV.delete("--debug") ? true : false
57
-
58
- verb = "run"
59
- verb_target = nil
60
-
61
- case ARGV[0]
62
- when "-v"
63
- # This will be fine, pass it through.
64
- verb = "-v"
65
- when "env"
66
- if ARGV.length != 1
67
- print_usage
68
- exit -1
69
- end
70
-
71
- verb = "env"
72
- when "run"
73
- if ARGV.length != 2
74
- print_usage
75
- exit -1
76
- end
77
- verb_target = ARGV[1]
78
- else
79
- # Default to run
80
- if ARGV.length != 1
81
- print_usage
82
- exit -1
83
- end
84
- verb_target = ARGV[0]
85
- end
86
-
87
- if use_debug
88
- ENV['SCARPE_DEBUG'] = 'true'
89
- end
90
- if use_dev
91
- dev_path = File.expand_path("../lib", __dir__)
92
- $LOAD_PATH.prepend dev_path
93
- end
94
- # We mustn't require Scarpe sooner than this so that the --dev setting is respected
95
- require "scarpe"
96
-
97
- case verb
98
- when "-v"
99
- puts "Scarpe #{Scarpe::VERSION}"
100
- when "run"
101
- # Run the Scarpe app file
102
- load ARGV[0]
103
- when "env"
104
- print_env
105
- else
106
- raise "Internal error! Unknown ./exe/scarpe verb!"
107
- end
data/fonts/Pacifico.ttf DELETED
Binary file
data/lib/scarpe/alert.rb DELETED
@@ -1,19 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Scarpe
4
- class Alert < Shoes::Widget
5
- display_property :text
6
-
7
- def initialize(text)
8
- @text = text
9
-
10
- super
11
-
12
- bind_self_event("click") do
13
- destroy_self
14
- end
15
-
16
- create_display_widget
17
- end
18
- end
19
- end
data/lib/scarpe/arc.rb DELETED
@@ -1,49 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Scarpe
4
- class InvalidAttributeValueError < Scarpe::Error; end
5
-
6
- class Arc < Shoes::Widget
7
- display_properties :left, :top, :width, :height, :angle1, :angle2
8
-
9
- def initialize(*args)
10
- @left, @top, @width, @height, @angle1, @angle2 = args
11
-
12
- @left = convert_to_integer(@left, "left")
13
- @top = convert_to_integer(@top, "top")
14
- @width = convert_to_integer(@width, "width")
15
- @height = convert_to_integer(@height, "height")
16
- @angle1 = convert_to_float(@angle1, "angle1")
17
- @angle2 = convert_to_float(@angle2, "angle2")
18
-
19
- super()
20
- create_display_widget
21
- end
22
-
23
- private
24
-
25
- def convert_to_integer(value, attribute_name)
26
- begin
27
- value = Integer(value)
28
- raise InvalidAttributeValueError, "Negative number '#{value}' not allowed for attribute '#{attribute_name}'" if value < 0
29
-
30
- value
31
- rescue ArgumentError
32
- error_message = "Invalid value '#{value}' provided for attribute '#{attribute_name}'. The value should be a number."
33
- raise InvalidAttributeValueError, error_message
34
- end
35
- end
36
-
37
- def convert_to_float(value, attribute_name)
38
- begin
39
- value = Float(value)
40
- raise InvalidAttributeValueError, "Negative number '#{value}' not allowed for attribute '#{attribute_name}'" if value < 0
41
-
42
- value
43
- rescue ArgumentError
44
- error_message = "Invalid value '#{value}' provided for attribute '#{attribute_name}'. The value should be a number."
45
- raise InvalidAttributeValueError, error_message
46
- end
47
- end
48
- end
49
- end
data/lib/scarpe/base64.rb DELETED
@@ -1,27 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "base64"
4
- require "uri"
5
-
6
- class Scarpe
7
- module Base64
8
- def valid_url?(string)
9
- uri = URI.parse(string)
10
- uri.is_a?(URI::HTTP) || uri.is_a?(URI::HTTPS)
11
- rescue URI::InvalidURIError, URI::BadURIError
12
- false
13
- end
14
-
15
- def encode_file_to_base64(image_filename)
16
- directory_path = File.dirname(__FILE__, 3)
17
-
18
- image_path = File.join(directory_path, image_filename)
19
-
20
- image_data = File.binread(image_path)
21
-
22
- encoded_data = ::Base64.strict_encode64(image_data)
23
-
24
- encoded_data
25
- end
26
- end
27
- end
data/lib/scarpe/button.rb DELETED
@@ -1,35 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Scarpe
4
- class Button < Shoes::Widget
5
- include Scarpe::Log
6
- display_properties :text, :width, :height, :top, :left, :color, :padding_top, :padding_bottom, :text_color, :size, :font_size
7
-
8
- def initialize(text, width: nil, height: nil, top: nil, left: nil, color: nil, padding_top: nil, padding_bottom: nil, size: 12, text_color: nil,
9
- font_size: nil, & block)
10
-
11
- log_init("Button")
12
-
13
- # Properties passed as positional args, not keywords, don't get auto-set
14
- @text = text
15
- @color = color
16
-
17
- @block = block
18
-
19
- super
20
-
21
- # Bind to a handler named "click"
22
- bind_self_event("click") do
23
- @log.debug("Button clicked, calling handler") if @block
24
- @block&.call
25
- end
26
-
27
- create_display_widget
28
- end
29
-
30
- # Set the click handler
31
- def click(&block)
32
- @block = block
33
- end
34
- end
35
- end
@@ -1,255 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "scarpe/unit_test_helpers"
4
-
5
- require "fiber"
6
-
7
- # "Cat's Cradle" is a children's game where they interlace string between
8
- # their fingers to make beautiful complicated shapes. The interlacing
9
- # of fibers made it a good name for a prototype.
10
-
11
- # An attempt at an experimental Fiber-based testing system to deal with
12
- # Shoes, Display and JS all at the same time.
13
- #
14
- # In general, we'll use Fiber.transfer to bounce control back and forth
15
- # between the evented implementations (e.g. waiting for redraw) that
16
- # need to return control to Webview, and the procedural test flows
17
- # that look far better if we don't do that explicitly.
18
- #
19
- # Ruby Fiber basic docs: https://ruby-doc.org/core-3.0.0/Fiber.html
20
- #
21
- module Scarpe::Test
22
- # We'd like something we can call Shoes widget methods on, such as para.replace.
23
- # But we'd also like to be able to grab the corresponding display widget and
24
- # call some of *those* methods.
25
- class CCProxy
26
- attr_reader :display
27
-
28
- def initialize(obj)
29
- @obj = obj
30
- # TODO: how to do this with Webview relay? Proxy object to send a message, maybe?
31
- @display = ::Shoes::DisplayService.display_service.query_display_widget_for(obj.linkable_id)
32
- end
33
-
34
- def method_missing(method, ...)
35
- if @obj.respond_to?(method)
36
- self.singleton_class.define_method(method) do |*args, **kwargs, &block|
37
- @obj.send(method, *args, **kwargs, &block)
38
- end
39
- send(method, ...)
40
- else
41
- super # raise an exception
42
- end
43
- end
44
-
45
- def respond_to_missing?(method_name, include_private = false)
46
- @obj.respond_to_missing?(method_name, include_private)
47
- end
48
- end
49
-
50
- # This class defines the CatsCradle DSL. It also holds a "bag of fibers"
51
- # with promises for when they should next resume.
52
- class CCInstance
53
- include Scarpe::Log
54
- include Scarpe::Test::Helpers
55
-
56
- def self.instance
57
- @instance ||= CCInstance.new
58
- end
59
-
60
- def initialize
61
- log_init("CatsCradle")
62
-
63
- @assertion_data = []
64
- @assertions_passed = 0
65
- @assertions_failed = []
66
-
67
- @waiting_fibers = []
68
- @event_promises = {}
69
-
70
- @manager_fiber = Fiber.new do
71
- loop do
72
- # A fiber can run briefly and then exit. It can run and then block on an API call.
73
- # These fibers return promises to indicate to CatsCradle when they can run again.
74
- # A fiber that is no longer #alive? is assumed to be successfully finished.
75
- @waiting_fibers.each do |fiber_data|
76
- next unless fiber_data[:promise].fulfilled?
77
-
78
- @log.debug("Resuming fiber with value #{fiber_data[:promise].returned_value.inspect}")
79
- result = fiber_data[:fiber].transfer fiber_data[:promise].returned_value
80
-
81
- # Dead fibers will be removed later, just leave it
82
- next unless fiber_data[:fiber].alive?
83
-
84
- case result
85
- when ::Scarpe::Promise
86
- fiber_data[:promise] = result
87
- else
88
- raise "Unexpected object returned from Fiber#transfer for still-living Fiber! #{result.inspect}"
89
- end
90
- end
91
-
92
- # Throw out dead fibers or those that will never wake
93
- @waiting_fibers.select! do |fiber_data|
94
- fiber_data[:fiber].alive? && !fiber_data[:promise].rejected?
95
- end
96
-
97
- # Done with this iteration
98
- Fiber.yield
99
- end
100
- end
101
- end
102
-
103
- # If we add "every" events, that's likely to complicate timing and event_promise handling.
104
- EVENT_TYPES = [:next_heartbeat, :next_redraw]
105
-
106
- # This needs to be called after the basic display service objects exist
107
- # and we can find the control interface.
108
- def event_init
109
- return if @cc_init_done
110
-
111
- @cc_init_done = true
112
-
113
- @control_interface = ::Shoes::DisplayService.display_service.control_interface
114
- @wrangler = @control_interface.wrangler
115
-
116
- cc_instance = self # ControlInterface#on_event does an instance eval. We'll reset self with another.
117
-
118
- @control_interface.on_event(:every_heartbeat) do
119
- cc_instance.instance_eval do
120
- p = @event_promises.delete(:next_heartbeat)
121
- p&.fulfilled!
122
-
123
- # Give every ready fiber a chance to run once.
124
- @manager_fiber.resume
125
- end
126
- end
127
-
128
- @control_interface.on_event(:every_redraw) do
129
- cc_instance.instance_eval do
130
- p = @event_promises.delete(:next_redraw)
131
- p&.fulfilled!
132
-
133
- # Give every ready fiber a chance to run once.
134
- @manager_fiber.resume
135
- end
136
- end
137
- end
138
-
139
- def event_promise(event)
140
- @event_promises[event] ||= ::Scarpe::Promise.new
141
- end
142
-
143
- def on_event(event, &block)
144
- raise "Unknown event type: #{event.inspect}!" unless EVENT_TYPES.include?(event)
145
-
146
- f = Fiber.new do
147
- CCInstance.instance.instance_eval(&block)
148
- end
149
- @waiting_fibers << { promise: event_promise(event), fiber: f }
150
- end
151
-
152
- WIDGET_FINDERS = {
153
- "alert" => ::Scarpe::Alert,
154
- "button" => ::Scarpe::Button,
155
- "edit_box" => ::Scarpe::EditBox,
156
- "edit_line" => ::Scarpe::EditLine,
157
- "flow" => ::Scarpe::Flow,
158
- "image" => ::Scarpe::Image,
159
- "list_box" => ::Scarpe::ListBox,
160
- "para" => ::Scarpe::Para,
161
- "shape" => ::Scarpe::Shape,
162
- "stack" => ::Scarpe::Stack,
163
- "star" => ::Scarpe::Star,
164
- }
165
- # What to do about TextWidgets? Link, code, em, strong?
166
- # Also, wait, what's up with span? What *is* that?
167
- Shoes::Widget.widget_classes.each do |widget_class|
168
- finder_name = widget_class.dsl_name
169
-
170
- define_method(finder_name) do |*args|
171
- app = Shoes::App.instance
172
-
173
- widgets = app.find_widgets_by(widget_class, *args)
174
- raise "Found more than one #{finder_name} matching #{args.inspect}!" if widgets.size > 1
175
- raise "Found no #{finder_name} matching #{args.inspect}!" if widgets.empty?
176
-
177
- CCProxy.new(widgets[0])
178
- end
179
- end
180
-
181
- def wait(promise)
182
- raise("Must supply a promise to wait!") unless promise.is_a?(::Scarpe::Promise)
183
-
184
- # Wait until this promise is complete before running again
185
- @manager_fiber.transfer(promise)
186
- end
187
-
188
- # This returns a promise, which can be waited on using wait()
189
- def fully_updated
190
- @wrangler.promise_dom_fully_updated
191
- end
192
-
193
- def dom_html(timeout: 1.0)
194
- query_js_value("document.getElementById('wrapper-wvroot').innerHTML", timeout:)
195
- end
196
-
197
- def query_js_value(js_code, timeout: 1.0)
198
- js_promise = @wrangler.eval_js_async(js_code, timeout:)
199
-
200
- # This promise will return the string, so we can just pass it to #transfer
201
- @manager_fiber.transfer(js_promise)
202
- end
203
-
204
- def assert(value, msg = nil)
205
- msg ||= "Assertion #{value ? "succeeded" : "failed"}"
206
- @assertion_data << [value ? true : false, msg]
207
- if value
208
- @assertions_passed += 1
209
- else
210
- @assertions_failed << msg
211
- end
212
- end
213
-
214
- def assert_equal(expected, actual, msg = nil)
215
- msg ||= "Expected #{actual.inspect} to equal #{expected.inspect}!"
216
- assert actual == expected, msg
217
- end
218
-
219
- def assertion_data_as_a_struct
220
- {
221
- still_pending: 0,
222
- succeeded: @assertions_passed,
223
- failed: @assertions_failed.size,
224
- failures: @assertions_failed,
225
- }
226
- end
227
-
228
- def test_metadata
229
- {}
230
- end
231
-
232
- def test_finished
233
- if !@assertions_failed.empty?
234
- return_results(false, "Assertions failed", assertion_data_as_a_struct)
235
- elsif @assertions_passed > 0
236
- return_results(true, "All assertions passed", assertion_data_as_a_struct)
237
- else
238
- return_results(true, "Test finished successfully")
239
- end
240
- ::Shoes::DisplayService.dispatch_event("destroy", nil)
241
- end
242
- end
243
-
244
- # This module is mixed into Shoes::App if we're running CC-based tests
245
- module CatsCradle
246
- def event_init
247
- @cc_instance = CCInstance.instance
248
- @cc_instance.event_init
249
- end
250
-
251
- def on_heartbeat(&block)
252
- @cc_instance.on_event(:next_heartbeat, &block)
253
- end
254
- end
255
- end
data/lib/scarpe/fill.rb DELETED
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Scarpe
4
- class Fill < Shoes::Widget
5
- display_properties :color
6
-
7
- def initialize(color)
8
- @color = color
9
- super
10
- create_display_widget
11
- end
12
-
13
- def element
14
- HTML.render do |h|
15
- h.style(<<~CSS)
16
- ##{html_id} {
17
- background-color: #{@color};
18
- }
19
- CSS
20
- end
21
- end
22
- end
23
- end