lacci 0.2.1

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 (559) hide show
  1. checksums.yaml +7 -0
  2. data/.rubocop.yml +85 -0
  3. data/.ruby-version +1 -0
  4. data/.vscode/extensions.json +5 -0
  5. data/.yardopts +12 -0
  6. data/CHANGELOG.md +19 -0
  7. data/CODE_OF_CONDUCT.md +84 -0
  8. data/CONTRIBUTING.md +20 -0
  9. data/Gemfile +24 -0
  10. data/LICENSE.txt +21 -0
  11. data/README.md +178 -0
  12. data/Rakefile +15 -0
  13. data/bin/console +15 -0
  14. data/bin/setup +8 -0
  15. data/dev.yml +7 -0
  16. data/docs/static/PKGBUILD +47 -0
  17. data/docs/static/Shoes.icns +0 -0
  18. data/docs/static/avatar.png +0 -0
  19. data/docs/static/code_highlighter.js +188 -0
  20. data/docs/static/code_highlighter_ruby.js +26 -0
  21. data/docs/static/icon-debug.png +0 -0
  22. data/docs/static/icon-error.png +0 -0
  23. data/docs/static/icon-info.png +0 -0
  24. data/docs/static/icon-warn.png +0 -0
  25. data/docs/static/listbox_button1.png +0 -0
  26. data/docs/static/listbox_button2.png +0 -0
  27. data/docs/static/man-app.png +0 -0
  28. data/docs/static/man-builds.png +0 -0
  29. data/docs/static/man-builds1.png +0 -0
  30. data/docs/static/man-editor-notepad.png +0 -0
  31. data/docs/static/man-editor-osx.png +0 -0
  32. data/docs/static/man-ele-background.png +0 -0
  33. data/docs/static/man-ele-border.png +0 -0
  34. data/docs/static/man-ele-button.png +0 -0
  35. data/docs/static/man-ele-check.png +0 -0
  36. data/docs/static/man-ele-editbox.png +0 -0
  37. data/docs/static/man-ele-editline.png +0 -0
  38. data/docs/static/man-ele-image.png +0 -0
  39. data/docs/static/man-ele-listbox.png +0 -0
  40. data/docs/static/man-ele-progress.png +0 -0
  41. data/docs/static/man-ele-radio.png +0 -0
  42. data/docs/static/man-ele-shape.png +0 -0
  43. data/docs/static/man-ele-textblock.png +0 -0
  44. data/docs/static/man-ele-video.png +0 -0
  45. data/docs/static/man-intro-dmg.png +0 -0
  46. data/docs/static/man-intro-exe.png +0 -0
  47. data/docs/static/man-look-tiger.png +0 -0
  48. data/docs/static/man-look-ubuntu.png +0 -0
  49. data/docs/static/man-look-vista.png +0 -0
  50. data/docs/static/man-run-osx.png +0 -0
  51. data/docs/static/man-run-vista.png +0 -0
  52. data/docs/static/man-run-xp.png +0 -0
  53. data/docs/static/man-shot1.png +0 -0
  54. data/docs/static/manual-en.txt +3529 -0
  55. data/docs/static/manual-ja.txt +2829 -0
  56. data/docs/static/manual.css +171 -0
  57. data/docs/static/manual.md +3528 -0
  58. data/docs/static/menu-corner1.png +0 -0
  59. data/docs/static/menu-corner2.png +0 -0
  60. data/docs/static/menu-gray.png +0 -0
  61. data/docs/static/menu-left.png +0 -0
  62. data/docs/static/menu-right.png +0 -0
  63. data/docs/static/menu-top.png +0 -0
  64. data/docs/static/shoes-dmg.jpg +0 -0
  65. data/docs/static/shoes-icon-blue.png +0 -0
  66. data/docs/static/shoes-icon.png +0 -0
  67. data/docs/static/shoes-manual-apps.gif +0 -0
  68. data/docs/static/shoes_main_window.png +0 -0
  69. data/docs/static/stripe.png +0 -0
  70. data/docs/static/stubs/blank.exe +0 -0
  71. data/docs/static/stubs/blank.hfz +0 -0
  72. data/docs/static/stubs/blank.run +375 -0
  73. data/docs/static/stubs/cocoa-install +0 -0
  74. data/docs/static/stubs/sh-install +49 -0
  75. data/docs/static/stubs/shoes-stub-inject.exe +0 -0
  76. data/docs/static/stubs/shoes-stub.exe +0 -0
  77. data/docs/static/tutor-back.png +0 -0
  78. data/docs/yard/catscradle.md +44 -0
  79. data/docs/yard/template/default/fulldoc/html/setup.rb +13 -0
  80. data/docs/yard/template/default/layout/html/setup.rb +9 -0
  81. data/examples/backdround_with_image.rb +16 -0
  82. data/examples/bloopsaphone/working/1901_by_Aanand_Prasad.rb +478 -0
  83. data/examples/bloopsaphone/working/b1.rb +64 -0
  84. data/examples/bloopsaphone/working/b2.rb +36 -0
  85. data/examples/bloopsaphone/working/bloops_test.rb +41 -0
  86. data/examples/bloopsaphone/working/bloopsaphone_theme_song_by_why.rb +31 -0
  87. data/examples/bloopsaphone/working/feepogram.rb +67 -0
  88. data/examples/bloopsaphone/working/simpsons_theme_song_by_why.rb +14 -0
  89. data/examples/bloopsaphone/working/tune_cheeky_drat.rb +210 -0
  90. data/examples/button.rb +10 -0
  91. data/examples/button_alert.rb +6 -0
  92. data/examples/button_go_away.rb +6 -0
  93. data/examples/button_with_position_and_size.rb +7 -0
  94. data/examples/coffee.rb +14 -0
  95. data/examples/download.rb +5 -0
  96. data/examples/download_and_show_image.rb +28 -0
  97. data/examples/edit_box.rb +8 -0
  98. data/examples/edit_line.rb +8 -0
  99. data/examples/fill.rb +25 -0
  100. data/examples/flow.rb +11 -0
  101. data/examples/fonts.rb +6 -0
  102. data/examples/gen.rb +140 -0
  103. data/examples/get_headers.rb +10 -0
  104. data/examples/hello_world.rb +3 -0
  105. data/examples/highlander.rb +87 -0
  106. data/examples/image/clickable_image.rb +5 -0
  107. data/examples/image/image.rb +3 -0
  108. data/examples/image/image_size.rb +7 -0
  109. data/examples/image/image_with_position_and_size.rb +3 -0
  110. data/examples/info.rb +9 -0
  111. data/examples/legacy/not_checked/expert/colours.rb +105 -0
  112. data/examples/legacy/not_checked/expert/curve-animation.rb +31 -0
  113. data/examples/legacy/not_checked/expert/curve-control-point.rb +51 -0
  114. data/examples/legacy/not_checked/expert/custom-list-box.rb +53 -0
  115. data/examples/legacy/not_checked/expert/definr.rb +23 -0
  116. data/examples/legacy/not_checked/expert/funnies.rb +56 -0
  117. data/examples/legacy/not_checked/expert/minesweeper.rb +267 -0
  118. data/examples/legacy/not_checked/expert/othello.rb +318 -0
  119. data/examples/legacy/not_checked/expert/pong.rb +62 -0
  120. data/examples/legacy/not_checked/expert/tankspank.rb +385 -0
  121. data/examples/legacy/not_checked/expert/tooltips.rb +45 -0
  122. data/examples/legacy/not_checked/expert/url.rb +37 -0
  123. data/examples/legacy/not_checked/expert/video-player.rb +256 -0
  124. data/examples/legacy/not_checked/good/_why-stories.rb +44 -0
  125. data/examples/legacy/not_checked/good/_why-stories.yaml +387 -0
  126. data/examples/legacy/not_checked/good/arc.rb +37 -0
  127. data/examples/legacy/not_checked/good/cardflip.rb +141 -0
  128. data/examples/legacy/not_checked/good/clock.rb +51 -0
  129. data/examples/legacy/not_checked/good/console.rb +21 -0
  130. data/examples/legacy/not_checked/good/follow.rb +26 -0
  131. data/examples/legacy/not_checked/good/image-rotate.rb +14 -0
  132. data/examples/legacy/not_checked/good/paris.svg +7236 -0
  133. data/examples/legacy/not_checked/good/path-animation.rb +46 -0
  134. data/examples/legacy/not_checked/good/plots.rb +100 -0
  135. data/examples/legacy/not_checked/good/reminder.rb +174 -0
  136. data/examples/legacy/not_checked/good/svgview.rb +113 -0
  137. data/examples/legacy/not_checked/good/vjot.rb +56 -0
  138. data/examples/legacy/not_checked/shoes-contrib/.gitignore +2 -0
  139. data/examples/legacy/not_checked/shoes-contrib/README.md +34 -0
  140. data/examples/legacy/not_checked/shoes-contrib/animation/animate-ovals.rb +21 -0
  141. data/examples/legacy/not_checked/shoes-contrib/animation/flowers.rb +59 -0
  142. data/examples/legacy/not_checked/shoes-contrib/animation/happy-trails.rb +31 -0
  143. data/examples/legacy/not_checked/shoes-contrib/animation/mice-satellites.rb +27 -0
  144. data/examples/legacy/not_checked/shoes-contrib/animation/oval-motion.rb +12 -0
  145. data/examples/legacy/not_checked/shoes-contrib/animation/pink-bubbles.rb +34 -0
  146. data/examples/legacy/not_checked/shoes-contrib/animation/pulsate.rb +18 -0
  147. data/examples/legacy/not_checked/shoes-contrib/animation/rotating-star.rb +18 -0
  148. data/examples/legacy/not_checked/shoes-contrib/app/download-and-save.rb +11 -0
  149. data/examples/legacy/not_checked/shoes-contrib/app/download.rb +10 -0
  150. data/examples/legacy/not_checked/shoes-contrib/app/get-google.rb +11 -0
  151. data/examples/legacy/not_checked/shoes-contrib/app/mouse-detection.rb +7 -0
  152. data/examples/legacy/not_checked/shoes-contrib/app/resizeable-false.rb +6 -0
  153. data/examples/legacy/not_checked/shoes-contrib/art/bubble-bullseye.rb +23 -0
  154. data/examples/legacy/not_checked/shoes-contrib/art/faded.rb +17 -0
  155. data/examples/legacy/not_checked/shoes-contrib/art/fill-oval.rb +5 -0
  156. data/examples/legacy/not_checked/shoes-contrib/art/mask.rb +15 -0
  157. data/examples/legacy/not_checked/shoes-contrib/art/oval-gradient.rb +6 -0
  158. data/examples/legacy/not_checked/shoes-contrib/art/star-gradient.rb +4 -0
  159. data/examples/legacy/not_checked/shoes-contrib/basic/basic-edit-box.rb +8 -0
  160. data/examples/legacy/not_checked/shoes-contrib/basic/basic-new-window.rb +8 -0
  161. data/examples/legacy/not_checked/shoes-contrib/basic/basic-oval-image.rb +8 -0
  162. data/examples/legacy/not_checked/shoes-contrib/basic/basic-oval-shape.rb +8 -0
  163. data/examples/legacy/not_checked/shoes-contrib/basic/basic-oval.rb +6 -0
  164. data/examples/legacy/not_checked/shoes-contrib/basic/class-book.rb +43 -0
  165. data/examples/legacy/not_checked/shoes-contrib/basic/class-book.yaml +387 -0
  166. data/examples/legacy/not_checked/shoes-contrib/basic/clock.rb +6 -0
  167. data/examples/legacy/not_checked/shoes-contrib/basic/edit-stack +14 -0
  168. data/examples/legacy/not_checked/shoes-contrib/basic/gradient-shoes.rb +7 -0
  169. data/examples/legacy/not_checked/shoes-contrib/basic/list_box-shape-report.rb +19 -0
  170. data/examples/legacy/not_checked/shoes-contrib/basic/rect-arrow.rb +7 -0
  171. data/examples/legacy/not_checked/shoes-contrib/basic/scribble.rb +8 -0
  172. data/examples/legacy/not_checked/shoes-contrib/basic/search.rb +32 -0
  173. data/examples/legacy/not_checked/shoes-contrib/basic/shoes-notes.rb +16 -0
  174. data/examples/legacy/not_checked/shoes-contrib/basic/url-shoes-subclassing.rb +24 -0
  175. data/examples/legacy/not_checked/shoes-contrib/browser.rb +21 -0
  176. data/examples/legacy/not_checked/shoes-contrib/elements/background-column.rb +3 -0
  177. data/examples/legacy/not_checked/shoes-contrib/elements/background.rb +4 -0
  178. data/examples/legacy/not_checked/shoes-contrib/elements/basic-fps.rb +6 -0
  179. data/examples/legacy/not_checked/shoes-contrib/elements/border-cat.rb +6 -0
  180. data/examples/legacy/not_checked/shoes-contrib/elements/button-block.rb +8 -0
  181. data/examples/legacy/not_checked/shoes-contrib/elements/check-mate.rb +15 -0
  182. data/examples/legacy/not_checked/shoes-contrib/elements/common-styles.rb +13 -0
  183. data/examples/legacy/not_checked/shoes-contrib/elements/displace-animation.rb +13 -0
  184. data/examples/legacy/not_checked/shoes-contrib/elements/edit_box-character-count.rb +7 -0
  185. data/examples/legacy/not_checked/shoes-contrib/elements/edit_line-character-count.rb +7 -0
  186. data/examples/legacy/not_checked/shoes-contrib/elements/image-icon.rb +3 -0
  187. data/examples/legacy/not_checked/shoes-contrib/elements/list_box-select-class.rb +13 -0
  188. data/examples/legacy/not_checked/shoes-contrib/elements/list_box.rb +6 -0
  189. data/examples/legacy/not_checked/shoes-contrib/elements/move-flow-animate.rb +13 -0
  190. data/examples/legacy/not_checked/shoes-contrib/elements/phat-button.rb +7 -0
  191. data/examples/legacy/not_checked/shoes-contrib/elements/popup.rb +7 -0
  192. data/examples/legacy/not_checked/shoes-contrib/elements/progress-bar.rb +10 -0
  193. data/examples/legacy/not_checked/shoes-contrib/elements/radio-dreamcast-favs.rb +17 -0
  194. data/examples/legacy/not_checked/shoes-contrib/elements/timer.rb +6 -0
  195. data/examples/legacy/not_checked/shoes-contrib/elements/width-introspec.rb +8 -0
  196. data/examples/legacy/not_checked/shoes-contrib/events/background-hover.rb +11 -0
  197. data/examples/legacy/not_checked/shoes-contrib/events/motion-detect.rb +9 -0
  198. data/examples/legacy/not_checked/shoes-contrib/events/pressed-key.rb +6 -0
  199. data/examples/legacy/not_checked/shoes-contrib/expert/expert-funnies.rb +51 -0
  200. data/examples/legacy/not_checked/shoes-contrib/expert/expert-irb.rb +112 -0
  201. data/examples/legacy/not_checked/shoes-contrib/expert/expert-othello.rb +319 -0
  202. data/examples/legacy/not_checked/shoes-contrib/good/good-arc.rb +37 -0
  203. data/examples/legacy/not_checked/shoes-contrib/good/good-clock.rb +51 -0
  204. data/examples/legacy/not_checked/shoes-contrib/good/good-follow.rb +26 -0
  205. data/examples/legacy/not_checked/shoes-contrib/good/good-reminder.rb +174 -0
  206. data/examples/legacy/not_checked/shoes-contrib/good/good-vjot.rb +56 -0
  207. data/examples/legacy/not_checked/shoes-contrib/kernel/ask.rb +4 -0
  208. data/examples/legacy/not_checked/shoes-contrib/kernel/ask_color.rb +4 -0
  209. data/examples/legacy/not_checked/shoes-contrib/kernel/ask_open_file.rb +4 -0
  210. data/examples/legacy/not_checked/shoes-contrib/kernel/ask_save_file.rb +7 -0
  211. data/examples/legacy/not_checked/shoes-contrib/kernel/confirm.rb +3 -0
  212. data/examples/legacy/not_checked/shoes-contrib/kernel/debug.rb +4 -0
  213. data/examples/legacy/not_checked/shoes-contrib/kernel/exit.rb +5 -0
  214. data/examples/legacy/not_checked/shoes-contrib/kernel/font.rb +5 -0
  215. data/examples/legacy/not_checked/shoes-contrib/kernel/fonts.rb +3 -0
  216. data/examples/legacy/not_checked/shoes-contrib/manipulation/append-slot.rb +9 -0
  217. data/examples/legacy/not_checked/shoes-contrib/manipulation/clear-slot.rb +6 -0
  218. data/examples/legacy/not_checked/shoes-contrib/manipulation/prepend-slot.rb +6 -0
  219. data/examples/legacy/not_checked/shoes-contrib/manipulation/roll.rb +17 -0
  220. data/examples/legacy/not_checked/shoes-contrib/position/gutter-margin.rb +5 -0
  221. data/examples/legacy/not_checked/shoes-contrib/position/stack-width.rb +3 -0
  222. data/examples/legacy/not_checked/shoes-contrib/simple/simple-accordion.rb +75 -0
  223. data/examples/legacy/not_checked/shoes-contrib/simple/simple-anim-shapes.rb +17 -0
  224. data/examples/legacy/not_checked/shoes-contrib/simple/simple-anim-text.rb +13 -0
  225. data/examples/legacy/not_checked/shoes-contrib/simple/simple-arc.rb +23 -0
  226. data/examples/legacy/not_checked/shoes-contrib/simple/simple-bounce.rb +24 -0
  227. data/examples/legacy/not_checked/shoes-contrib/simple/simple-calc.rb +70 -0
  228. data/examples/legacy/not_checked/shoes-contrib/simple/simple-chipmunk.rb +26 -0
  229. data/examples/legacy/not_checked/shoes-contrib/simple/simple-control-sizes.rb +24 -0
  230. data/examples/legacy/not_checked/shoes-contrib/simple/simple-curve.rb +26 -0
  231. data/examples/legacy/not_checked/shoes-contrib/simple/simple-dialogs.rb +29 -0
  232. data/examples/legacy/not_checked/shoes-contrib/simple/simple-downloader.rb +27 -0
  233. data/examples/legacy/not_checked/shoes-contrib/simple/simple-draw.rb +13 -0
  234. data/examples/legacy/not_checked/shoes-contrib/simple/simple-editor.rb +28 -0
  235. data/examples/legacy/not_checked/shoes-contrib/simple/simple-form.rb +28 -0
  236. data/examples/legacy/not_checked/shoes-contrib/simple/simple-form.shy +0 -0
  237. data/examples/legacy/not_checked/shoes-contrib/simple/simple-mask.rb +21 -0
  238. data/examples/legacy/not_checked/shoes-contrib/simple/simple-menu.rb +31 -0
  239. data/examples/legacy/not_checked/shoes-contrib/simple/simple-menu1.rb +35 -0
  240. data/examples/legacy/not_checked/shoes-contrib/simple/simple-rubygems.rb +29 -0
  241. data/examples/legacy/not_checked/shoes-contrib/simple/simple-slide.rb +45 -0
  242. data/examples/legacy/not_checked/shoes-contrib/simple/simple-sphere.rb +28 -0
  243. data/examples/legacy/not_checked/shoes-contrib/simple/simple-sqlite3.rb +13 -0
  244. data/examples/legacy/not_checked/shoes-contrib/simple/simple-timer.rb +13 -0
  245. data/examples/legacy/not_checked/shoes-contrib/simple/simple-video.rb +13 -0
  246. data/examples/legacy/not_checked/shoes-contrib/styles/alignment.rb +4 -0
  247. data/examples/legacy/not_checked/shoes-contrib/styles/attachment.rb +5 -0
  248. data/examples/legacy/not_checked/shoes-contrib/styles/emphasis.rb +3 -0
  249. data/examples/legacy/not_checked/shoes-contrib/styles/gradient-angle.rb +3 -0
  250. data/examples/legacy/not_checked/shoes-contrib/styles/para-methods.rb +5 -0
  251. data/examples/legacy/not_checked/shoes-contrib/styles/para-red-underlined.rb +3 -0
  252. data/examples/legacy/not_checked/shoes-contrib/styles/para-style-method.rb +4 -0
  253. data/examples/legacy/not_checked/shoes-dep-samples/expert-game-of-life.rb +243 -0
  254. data/examples/legacy/not_checked/shoes-dep-samples/expert-othello.rb +319 -0
  255. data/examples/legacy/not_checked/shoes-dep-samples/good-clock.rb +51 -0
  256. data/examples/legacy/not_checked/shoes-dep-samples/good-follow.rb +26 -0
  257. data/examples/legacy/not_checked/shoes-dep-samples/good-reminder.rb +174 -0
  258. data/examples/legacy/not_checked/shoes-dep-samples/good-vjot.rb +56 -0
  259. data/examples/legacy/not_checked/shoes-dep-samples/simple-accordion.rb +75 -0
  260. data/examples/legacy/not_checked/shoes-dep-samples/simple-anim-shapes.rb +17 -0
  261. data/examples/legacy/not_checked/shoes-dep-samples/simple-anim-text.rb +13 -0
  262. data/examples/legacy/not_checked/shoes-dep-samples/simple-arc.rb +23 -0
  263. data/examples/legacy/not_checked/shoes-dep-samples/simple-bounce.rb +24 -0
  264. data/examples/legacy/not_checked/shoes-dep-samples/simple-calc.rb +70 -0
  265. data/examples/legacy/not_checked/shoes-dep-samples/simple-chipmunk.rb +26 -0
  266. data/examples/legacy/not_checked/shoes-dep-samples/simple-control-sizes.rb +24 -0
  267. data/examples/legacy/not_checked/shoes-dep-samples/simple-curve.rb +26 -0
  268. data/examples/legacy/not_checked/shoes-dep-samples/simple-dialogs.rb +29 -0
  269. data/examples/legacy/not_checked/shoes-dep-samples/simple-draw.rb +13 -0
  270. data/examples/legacy/not_checked/shoes-dep-samples/simple-editor.rb +28 -0
  271. data/examples/legacy/not_checked/shoes-dep-samples/simple-form.rb +28 -0
  272. data/examples/legacy/not_checked/shoes-dep-samples/simple-form.shy +0 -0
  273. data/examples/legacy/not_checked/shoes-dep-samples/simple-mask.rb +21 -0
  274. data/examples/legacy/not_checked/shoes-dep-samples/simple-menu.rb +31 -0
  275. data/examples/legacy/not_checked/shoes-dep-samples/simple-menu1.rb +35 -0
  276. data/examples/legacy/not_checked/shoes-dep-samples/simple-rubygems.rb +29 -0
  277. data/examples/legacy/not_checked/shoes-dep-samples/simple-slide.rb +45 -0
  278. data/examples/legacy/not_checked/shoes-dep-samples/simple-sphere.rb +28 -0
  279. data/examples/legacy/not_checked/shoes-dep-samples/simple-sqlite3.rb +13 -0
  280. data/examples/legacy/not_checked/shoes-dep-samples/simple-timer.rb +13 -0
  281. data/examples/legacy/not_checked/shoes-dep-samples/simple-video.rb +13 -0
  282. data/examples/legacy/not_checked/shoes3-tests/AnemicCinema1926marcelDuchampCut.mp4 +0 -0
  283. data/examples/legacy/not_checked/shoes3-tests/button/button.rb +53 -0
  284. data/examples/legacy/not_checked/shoes3-tests/cache/cache.rb +41 -0
  285. data/examples/legacy/not_checked/shoes3-tests/combo/combo.rb +24 -0
  286. data/examples/legacy/not_checked/shoes3-tests/curl/bare.rb +34 -0
  287. data/examples/legacy/not_checked/shoes3-tests/curl/downloader.rb +40 -0
  288. data/examples/legacy/not_checked/shoes3-tests/curl/m1.rb +11 -0
  289. data/examples/legacy/not_checked/shoes3-tests/curl/m2.rb +12 -0
  290. data/examples/legacy/not_checked/shoes3-tests/curl/m3.rb +11 -0
  291. data/examples/legacy/not_checked/shoes3-tests/curl/m4.rb +5 -0
  292. data/examples/legacy/not_checked/shoes3-tests/curl/typ.rb +30 -0
  293. data/examples/legacy/not_checked/shoes3-tests/cursor/c1.rb +21 -0
  294. data/examples/legacy/not_checked/shoes3-tests/decoration.rb +14 -0
  295. data/examples/legacy/not_checked/shoes3-tests/dialogs/ask.rb +6 -0
  296. data/examples/legacy/not_checked/shoes3-tests/dialogs/confirm.rb +6 -0
  297. data/examples/legacy/not_checked/shoes3-tests/editbox/editbox.rb +36 -0
  298. data/examples/legacy/not_checked/shoes3-tests/editline/editline.rb +27 -0
  299. data/examples/legacy/not_checked/shoes3-tests/events/button.rb +32 -0
  300. data/examples/legacy/not_checked/shoes3-tests/events/button.yaml +40 -0
  301. data/examples/legacy/not_checked/shoes3-tests/events/capture.rb +57 -0
  302. data/examples/legacy/not_checked/shoes3-tests/events/chipmunk.yaml +47 -0
  303. data/examples/legacy/not_checked/shoes3-tests/events/event0.rb +8 -0
  304. data/examples/legacy/not_checked/shoes3-tests/events/event1.rb +51 -0
  305. data/examples/legacy/not_checked/shoes3-tests/events/event1.yaml +26 -0
  306. data/examples/legacy/not_checked/shoes3-tests/events/event2.rb +46 -0
  307. data/examples/legacy/not_checked/shoes3-tests/events/event3.rb +44 -0
  308. data/examples/legacy/not_checked/shoes3-tests/events/event4.rb +65 -0
  309. data/examples/legacy/not_checked/shoes3-tests/events/event5.rb +17 -0
  310. data/examples/legacy/not_checked/shoes3-tests/events/event6.rb +51 -0
  311. data/examples/legacy/not_checked/shoes3-tests/events/replay.rb +60 -0
  312. data/examples/legacy/not_checked/shoes3-tests/gapp/fullscreen.rb +38 -0
  313. data/examples/legacy/not_checked/shoes3-tests/gapp/icon.rb +56 -0
  314. data/examples/legacy/not_checked/shoes3-tests/gapp/mon1.rb +46 -0
  315. data/examples/legacy/not_checked/shoes3-tests/gapp/settings1.rb +22 -0
  316. data/examples/legacy/not_checked/shoes3-tests/gapp/title1.rb +34 -0
  317. data/examples/legacy/not_checked/shoes3-tests/indian.m4a +0 -0
  318. data/examples/legacy/not_checked/shoes3-tests/menus/event.rb +33 -0
  319. data/examples/legacy/not_checked/shoes3-tests/menus/menu1.rb +8 -0
  320. data/examples/legacy/not_checked/shoes3-tests/menus/menu2.rb +25 -0
  321. data/examples/legacy/not_checked/shoes3-tests/menus/menu3.rb +103 -0
  322. data/examples/legacy/not_checked/shoes3-tests/menus/menu4.rb +41 -0
  323. data/examples/legacy/not_checked/shoes3-tests/menus/tests.txt +42 -0
  324. data/examples/legacy/not_checked/shoes3-tests/opacity.rb +13 -0
  325. data/examples/legacy/not_checked/shoes3-tests/plot/^IRX.R +5219 -0
  326. data/examples/legacy/not_checked/shoes3-tests/plot/^SPX +5219 -0
  327. data/examples/legacy/not_checked/shoes3-tests/plot/cstest.rb +51 -0
  328. data/examples/legacy/not_checked/shoes3-tests/plot/gr1.rb +73 -0
  329. data/examples/legacy/not_checked/shoes3-tests/plot/gr2.rb +40 -0
  330. data/examples/legacy/not_checked/shoes3-tests/plot/gr3.rb +47 -0
  331. data/examples/legacy/not_checked/shoes3-tests/plot/gr4.rb +35 -0
  332. data/examples/legacy/not_checked/shoes3-tests/plot/gr5.rb +31 -0
  333. data/examples/legacy/not_checked/shoes3-tests/plot/gr6.rb +35 -0
  334. data/examples/legacy/not_checked/shoes3-tests/plot/gr7.rb +37 -0
  335. data/examples/legacy/not_checked/shoes3-tests/plot/grcsv.rb +219 -0
  336. data/examples/legacy/not_checked/shoes3-tests/plot/manual.rb +40 -0
  337. data/examples/legacy/not_checked/shoes3-tests/progress/progress.rb +29 -0
  338. data/examples/legacy/not_checked/shoes3-tests/radio/clear.rb +20 -0
  339. data/examples/legacy/not_checked/shoes3-tests/radio/group.rb +18 -0
  340. data/examples/legacy/not_checked/shoes3-tests/radio/multiple.rb +32 -0
  341. data/examples/legacy/not_checked/shoes3-tests/radio/nogroup.rb +9 -0
  342. data/examples/legacy/not_checked/shoes3-tests/simpletest.svg +14 -0
  343. data/examples/legacy/not_checked/shoes3-tests/spinner.rb +15 -0
  344. data/examples/legacy/not_checked/shoes3-tests/svg.rb +208 -0
  345. data/examples/legacy/not_checked/shoes3-tests/switch/switch.rb +28 -0
  346. data/examples/legacy/not_checked/shoes3-tests/systray/back.rb +20 -0
  347. data/examples/legacy/not_checked/shoes3-tests/systray/note.rb +17 -0
  348. data/examples/legacy/not_checked/shoes3-tests/terminal/cursor.rb +27 -0
  349. data/examples/legacy/not_checked/shoes3-tests/terminal/ed.rb +65 -0
  350. data/examples/legacy/not_checked/shoes3-tests/terminal/el.rb +50 -0
  351. data/examples/legacy/not_checked/shoes3-tests/terminal/logattr.rb +31 -0
  352. data/examples/legacy/not_checked/shoes3-tests/tests_color.rb +138 -0
  353. data/examples/legacy/not_checked/shoes3-tests/tests_svg.rb +228 -0
  354. data/examples/legacy/not_checked/shoes3-tests/tests_video_vlc.rb +186 -0
  355. data/examples/legacy/not_checked/shoes3-tests/tooltips.rb +20 -0
  356. data/examples/legacy/not_checked/shoes3-tests/video_vlc.rb +242 -0
  357. data/examples/legacy/not_checked/shoes3-tests/wheel/wheel1.rb +21 -0
  358. data/examples/legacy/not_checked/simple/accordion.rb +81 -0
  359. data/examples/legacy/not_checked/simple/anim-shapes.rb +17 -0
  360. data/examples/legacy/not_checked/simple/anim-text.rb +13 -0
  361. data/examples/legacy/not_checked/simple/arc.rb +23 -0
  362. data/examples/legacy/not_checked/simple/bounce.rb +24 -0
  363. data/examples/legacy/not_checked/simple/chipmunk.rb +26 -0
  364. data/examples/legacy/not_checked/simple/control-sizes.rb +24 -0
  365. data/examples/legacy/not_checked/simple/curve-control-points.rb +24 -0
  366. data/examples/legacy/not_checked/simple/curve.rb +26 -0
  367. data/examples/legacy/not_checked/simple/dialogs.rb +29 -0
  368. data/examples/legacy/not_checked/simple/downloader.rb +40 -0
  369. data/examples/legacy/not_checked/simple/downloader1.rb +31 -0
  370. data/examples/legacy/not_checked/simple/draw.rb +13 -0
  371. data/examples/legacy/not_checked/simple/editor.rb +28 -0
  372. data/examples/legacy/not_checked/simple/form.rb +30 -0
  373. data/examples/legacy/not_checked/simple/image.rb +21 -0
  374. data/examples/legacy/not_checked/simple/info.rb +78 -0
  375. data/examples/legacy/not_checked/simple/mask.rb +21 -0
  376. data/examples/legacy/not_checked/simple/mask2.rb +27 -0
  377. data/examples/legacy/not_checked/simple/menu.rb +31 -0
  378. data/examples/legacy/not_checked/simple/menu1.rb +35 -0
  379. data/examples/legacy/not_checked/simple/slide.rb +45 -0
  380. data/examples/legacy/not_checked/simple/sphere.rb +28 -0
  381. data/examples/legacy/not_checked/superleg.rb +244 -0
  382. data/examples/legacy/working/shoes-contrib/basic/a-poem.rb +24 -0
  383. data/examples/legacy/working/shoes-contrib/basic/basic-blocks-instances.rb +7 -0
  384. data/examples/legacy/working/shoes-contrib/basic/basic-blocks.rb +7 -0
  385. data/examples/legacy/working/shoes-contrib/basic/basic-slot.rb +8 -0
  386. data/examples/legacy/working/shoes-contrib/basic/intro.rb +20 -0
  387. data/examples/legacy/working/shoes-contrib/basic/two-column.rb +12 -0
  388. data/examples/legacy/working/shoes-contrib/elements/edit_box.rb +6 -0
  389. data/examples/legacy/working/shoes-contrib/kernel/alert.rb +3 -0
  390. data/examples/legacy/working/simple/calc.rb +71 -0
  391. data/examples/legacy/working/simple/sqlite3.rb +27 -0
  392. data/examples/legacy/working/simple/timer.rb +13 -0
  393. data/examples/line.rb +5 -0
  394. data/examples/link.rb +20 -0
  395. data/examples/list_box.rb +8 -0
  396. data/examples/local_fonts.rb +4 -0
  397. data/examples/local_images.rb +4 -0
  398. data/examples/motion_events.rb +20 -0
  399. data/examples/para/collection_of_arguments.rb +9 -0
  400. data/examples/para/hello_world.rb +5 -0
  401. data/examples/para/hide_and_show.rb +9 -0
  402. data/examples/para/rainbow.rb +11 -0
  403. data/examples/para/rainbow_2.rb +11 -0
  404. data/examples/para/sizes.rb +11 -0
  405. data/examples/para/sizes_2.rb +12 -0
  406. data/examples/para/strong.rb +3 -0
  407. data/examples/para_text_widgets.rb +4 -0
  408. data/examples/parse_xl_funnies.rb +58 -0
  409. data/examples/pirate.png +0 -0
  410. data/examples/raw_flow.rb +11 -0
  411. data/examples/ruby_racer.rb +50 -0
  412. data/examples/selfitude.rb +18 -0
  413. data/examples/shapes/arc.rb +8 -0
  414. data/examples/shapes/shapes.rb +8 -0
  415. data/examples/shapes/shapes_fill.rb +10 -0
  416. data/examples/shapes/star.rb +5 -0
  417. data/examples/shoes_school.rb +66 -0
  418. data/examples/shoes_splorer.rb +150 -0
  419. data/examples/simple_slides.rb +73 -0
  420. data/examples/skip_ci/parrot.rb +22 -0
  421. data/examples/skip_ci/say.rb +20 -0
  422. data/examples/sleepless.rb +26 -0
  423. data/examples/slots.rb +10 -0
  424. data/examples/spacing.rb +18 -0
  425. data/examples/span.rb +6 -0
  426. data/examples/stack/background.rb +35 -0
  427. data/examples/stack/border.rb +11 -0
  428. data/examples/stack/gradients.rb +6 -0
  429. data/examples/stack/raw_stack.rb +8 -0
  430. data/examples/stack/stack.rb +27 -0
  431. data/examples/text_change.rb +4 -0
  432. data/examples/text_sizes.rb +10 -0
  433. data/examples/timmy.rb +109 -0
  434. data/examples/title_and_resize.rb +3 -0
  435. data/examples/video.rb +10 -0
  436. data/exe/scarpe +107 -0
  437. data/fonts/Pacifico.ttf +0 -0
  438. data/lib/scarpe/alert.rb +19 -0
  439. data/lib/scarpe/arc.rb +49 -0
  440. data/lib/scarpe/background.rb +14 -0
  441. data/lib/scarpe/base64.rb +27 -0
  442. data/lib/scarpe/border.rb +16 -0
  443. data/lib/scarpe/button.rb +35 -0
  444. data/lib/scarpe/cats_cradle.rb +255 -0
  445. data/lib/scarpe/colors.rb +215 -0
  446. data/lib/scarpe/display_service.rb +185 -0
  447. data/lib/scarpe/document_root.rb +20 -0
  448. data/lib/scarpe/download.rb +123 -0
  449. data/lib/scarpe/edit_box.rb +29 -0
  450. data/lib/scarpe/edit_line.rb +25 -0
  451. data/lib/scarpe/fill.rb +23 -0
  452. data/lib/scarpe/flow.rb +18 -0
  453. data/lib/scarpe/font.rb +14 -0
  454. data/lib/scarpe/glibui/README.md +34 -0
  455. data/lib/scarpe/glibui/alert.rb +65 -0
  456. data/lib/scarpe/glibui/app.rb +27 -0
  457. data/lib/scarpe/glibui/background.rb +18 -0
  458. data/lib/scarpe/glibui/border.rb +22 -0
  459. data/lib/scarpe/glibui/button.rb +38 -0
  460. data/lib/scarpe/glibui/dimensions.rb +22 -0
  461. data/lib/scarpe/glibui/document_root.rb +33 -0
  462. data/lib/scarpe/glibui/edit_box.rb +44 -0
  463. data/lib/scarpe/glibui/edit_line.rb +43 -0
  464. data/lib/scarpe/glibui/flow.rb +33 -0
  465. data/lib/scarpe/glibui/html.rb +77 -0
  466. data/lib/scarpe/glibui/image.rb +36 -0
  467. data/lib/scarpe/glibui/link.rb +29 -0
  468. data/lib/scarpe/glibui/local_display.rb +62 -0
  469. data/lib/scarpe/glibui/para.rb +84 -0
  470. data/lib/scarpe/glibui/spacing.rb +41 -0
  471. data/lib/scarpe/glibui/stack.rb +33 -0
  472. data/lib/scarpe/glibui/text_widget.rb +30 -0
  473. data/lib/scarpe/glibui/widget.rb +81 -0
  474. data/lib/scarpe/glibui.rb +29 -0
  475. data/lib/scarpe/image.rb +35 -0
  476. data/lib/scarpe/libui/alert.rb +9 -0
  477. data/lib/scarpe/libui/button.rb +18 -0
  478. data/lib/scarpe/libui/colors.rb +157 -0
  479. data/lib/scarpe/libui/core.rb +66 -0
  480. data/lib/scarpe/libui/flow.rb +16 -0
  481. data/lib/scarpe/libui/libui.rb +45 -0
  482. data/lib/scarpe/libui/notepad.md +26 -0
  483. data/lib/scarpe/libui/para.rb +154 -0
  484. data/lib/scarpe/libui/stack.rb +34 -0
  485. data/lib/scarpe/line.rb +25 -0
  486. data/lib/scarpe/link.rb +25 -0
  487. data/lib/scarpe/list_box.rb +25 -0
  488. data/lib/scarpe/logger.rb +159 -0
  489. data/lib/scarpe/para.rb +92 -0
  490. data/lib/scarpe/promises.rb +405 -0
  491. data/lib/scarpe/shape.rb +20 -0
  492. data/lib/scarpe/slot.rb +7 -0
  493. data/lib/scarpe/spacing.rb +9 -0
  494. data/lib/scarpe/span.rb +26 -0
  495. data/lib/scarpe/stack.rb +20 -0
  496. data/lib/scarpe/star.rb +47 -0
  497. data/lib/scarpe/subscription_item.rb +60 -0
  498. data/lib/scarpe/unit_test_helpers.rb +236 -0
  499. data/lib/scarpe/version.rb +5 -0
  500. data/lib/scarpe/video.rb +15 -0
  501. data/lib/scarpe/widgets.rb +35 -0
  502. data/lib/scarpe/wv/alert.rb +65 -0
  503. data/lib/scarpe/wv/app.rb +104 -0
  504. data/lib/scarpe/wv/arc.rb +57 -0
  505. data/lib/scarpe/wv/background.rb +27 -0
  506. data/lib/scarpe/wv/border.rb +24 -0
  507. data/lib/scarpe/wv/button.rb +50 -0
  508. data/lib/scarpe/wv/control_interface.rb +147 -0
  509. data/lib/scarpe/wv/control_interface_test.rb +234 -0
  510. data/lib/scarpe/wv/dimensions.rb +22 -0
  511. data/lib/scarpe/wv/document_root.rb +8 -0
  512. data/lib/scarpe/wv/edit_box.rb +44 -0
  513. data/lib/scarpe/wv/edit_line.rb +43 -0
  514. data/lib/scarpe/wv/fill.rb +30 -0
  515. data/lib/scarpe/wv/flow.rb +24 -0
  516. data/lib/scarpe/wv/font.rb +36 -0
  517. data/lib/scarpe/wv/html.rb +108 -0
  518. data/lib/scarpe/wv/image.rb +41 -0
  519. data/lib/scarpe/wv/line.rb +38 -0
  520. data/lib/scarpe/wv/link.rb +29 -0
  521. data/lib/scarpe/wv/list_box.rb +50 -0
  522. data/lib/scarpe/wv/para.rb +90 -0
  523. data/lib/scarpe/wv/shape.rb +35 -0
  524. data/lib/scarpe/wv/shape_helper.rb +44 -0
  525. data/lib/scarpe/wv/slot.rb +81 -0
  526. data/lib/scarpe/wv/spacing.rb +41 -0
  527. data/lib/scarpe/wv/span.rb +66 -0
  528. data/lib/scarpe/wv/stack.rb +24 -0
  529. data/lib/scarpe/wv/star.rb +64 -0
  530. data/lib/scarpe/wv/subscription_item.rb +50 -0
  531. data/lib/scarpe/wv/text_widget.rb +30 -0
  532. data/lib/scarpe/wv/video.rb +42 -0
  533. data/lib/scarpe/wv/web_wrangler.rb +683 -0
  534. data/lib/scarpe/wv/webview_local_display.rb +73 -0
  535. data/lib/scarpe/wv/webview_relay_display.rb +185 -0
  536. data/lib/scarpe/wv/widget.rb +185 -0
  537. data/lib/scarpe/wv/wv_display_worker.rb +65 -0
  538. data/lib/scarpe/wv.rb +43 -0
  539. data/lib/scarpe/wv_local.rb +6 -0
  540. data/lib/scarpe/wv_relay.rb +6 -0
  541. data/lib/scarpe.rb +29 -0
  542. data/lib/shoes/app.rb +187 -0
  543. data/lib/shoes/constants.rb +26 -0
  544. data/lib/shoes/text_widget.rb +52 -0
  545. data/lib/shoes/widget.rb +209 -0
  546. data/lib/shoes.rb +65 -0
  547. data/logger/debug_web_wrangler.json +4 -0
  548. data/logger/scarpe_wv_test.json +4 -0
  549. data/scarpe-0.2.0.gem +0 -0
  550. data/scarpe.gemspec +44 -0
  551. data/scarpegen.rb +193 -0
  552. data/sig/scarpe.rbs +4 -0
  553. data/templates/basic_class_template.erb +38 -0
  554. data/templates/class_template_with_event_bind.erb +27 -0
  555. data/templates/class_template_with_shapes.erb +43 -0
  556. data/templates/example_template.erb +3 -0
  557. data/templates/module_template.erb +12 -0
  558. data/templates/webview_template.erb +27 -0
  559. metadata +606 -0
@@ -0,0 +1,32 @@
1
+ # Works ok with symbols instead of strings in Gtk2 (linux, win7)
2
+ # if the manual says otherwise, fix the manual.
3
+ # OSX bug
4
+ Shoes.app do
5
+ stack do
6
+ flow {
7
+ @r5 = radio; para "default"
8
+ @r6 = radio tooltip: "Useless radio - did you want a Checkbox"; para "still more default"
9
+ }
10
+ flow {
11
+ @r1 = radio :group
12
+ para "one"
13
+ }
14
+ flow {@r2 = radio :group, checked: true; para "two"}
15
+ para "================"
16
+ flow { # horizontal grouping
17
+ @r3 = radio :newgrp; para "near"
18
+ @r4 = radio :newgrp; para "far"
19
+ }
20
+ @r4.checked = true
21
+ start {
22
+ para "checked one = #{@r1.checked?}\n"
23
+ para "checked far = #{@r4.checked?}\n"
24
+ }
25
+ button "Now check" do
26
+ para "One: #{@r1.checked?}\n"
27
+ para "Two: #{@r2.checked?}\n"
28
+ para "near: #{@r3.checked?}\n"
29
+ para "far: #{@r4.checked?}\n"
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,9 @@
1
+ # no group radios
2
+ Shoes.app do
3
+ stack do
4
+ para "Among these films, which do you prefer?"
5
+ flow { radio; para "The Taste of Tea by Katsuhito Ishii" }
6
+ flow { radio; para "Kin-Dza-Dza by Georgi Danelia" }
7
+ flow { radio; para "Children of Heaven by Majid Majidi" }
8
+ end
9
+ end
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" width="1000" height="600" viewBox="0 0 1000 600" id="svg2" version="1.1">
3
+ <defs id="defs4" />
4
+ <metadata id="metadata7">
5
+ <rdf:RDF>
6
+ <cc:Work rdf:about="">
7
+ <dc:format>image/svg+xml</dc:format>
8
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
9
+ <dc:title></dc:title>
10
+ </cc:Work>
11
+ </rdf:RDF>
12
+ </metadata>
13
+ <rect ry="4.9891047" rx="7.1970706" y="45.599087" x="5.599225" height="548.80157" width="978.80157" id="test_rectangle" style="opacity:0.98000004;fill:#e87c00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.1984483;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
14
+ </svg>
@@ -0,0 +1,15 @@
1
+ Shoes.app do
2
+ flow do
3
+ @n = spinner
4
+ @m = spinner
5
+ @o = spinner start: true
6
+ end
7
+
8
+ click do |btn, left, top|
9
+ @m.started? ? @m.stop : @m.start
10
+ end
11
+
12
+ start do
13
+ @n.start
14
+ end
15
+ end
@@ -0,0 +1,208 @@
1
+ # encoding: UTF-8
2
+
3
+ class SvgTestBase < Test::Unit::TestCase
4
+ class << self
5
+ def init(app)
6
+ @@app = app
7
+ end
8
+
9
+ def startup; end
10
+ def shutdown; end
11
+ end
12
+
13
+ def setup; end
14
+ def teardown; end
15
+ end
16
+
17
+ class SvgTest0 < SvgTestBase
18
+
19
+ description "xml, no dimensions"
20
+ def test_svg_basic
21
+
22
+ assert_not_nil @@app.svg_obj
23
+ assert_instance_of Shoes::Svg, @@app.svg_obj
24
+
25
+ assert_equal 190, @@app.svg_obj.width
26
+ assert_equal 110, @@app.svg_obj.height
27
+
28
+ assert_not_nil @@app.svg_obj.handle
29
+ assert_instance_of Shoes::SvgHandle, @@app.svg_obj.handle
30
+ assert_true @@app.svg_obj.group? "#xml_rectangle"
31
+
32
+ # this svg is smaller than app dimensions => preferred_width == width
33
+ assert_equal 190, @@app.svg_obj.preferred_width
34
+ assert_equal 110, @@app.svg_obj.preferred_height
35
+ assert_equal 0, @@app.svg_obj.offset_x
36
+ assert_equal 0, @@app.svg_obj.offset_y
37
+ assert_equal 90, @@app.svg_obj.dpi
38
+ end
39
+ end
40
+
41
+ class SvgTest1 < SvgTestBase
42
+
43
+ description "file, parent dimensions"
44
+ def test_svg_basic
45
+
46
+ assert_not_nil @@app.svg_obj
47
+ assert_instance_of Shoes::Svg, @@app.svg_obj
48
+
49
+ # resized to fit at maximum app dimensions
50
+ assert_equal 600, @@app.svg_obj.width
51
+ assert_equal 360, @@app.svg_obj.height
52
+
53
+ assert_not_nil @@app.svg_obj.handle
54
+ assert_instance_of Shoes::SvgHandle, @@app.svg_obj.handle
55
+ assert_true @@app.svg_obj.group? "#test_rectangle"
56
+
57
+ # this svg is bigger than app dimensions => preferred_width > width
58
+ assert_equal 1000, @@app.svg_obj.preferred_width
59
+ assert_equal 600, @@app.svg_obj.preferred_height
60
+ assert_equal 0, @@app.svg_obj.offset_x
61
+ assert_equal 0, @@app.svg_obj.offset_y
62
+ assert_equal 90, @@app.svg_obj.dpi
63
+ end
64
+ end
65
+
66
+ class SvgTest2 < SvgTestBase
67
+
68
+ description "parent canvas dimensions"
69
+ def test_svg_basic
70
+
71
+ assert_not_nil @@app.svg_obj
72
+ assert_instance_of Shoes::Svg, @@app.svg_obj
73
+
74
+ assert_equal 30, @@app.svg_obj.width
75
+ assert_equal 17, @@app.svg_obj.height
76
+ end
77
+ end
78
+
79
+ class SvgTest3 < SvgTestBase
80
+
81
+ description "svg object dimensions"
82
+ def test_svg_basic
83
+
84
+ assert_not_nil @@app.svg_obj
85
+ assert_instance_of Shoes::Svg, @@app.svg_obj
86
+
87
+ assert_equal 30, @@app.svg_obj.width
88
+ assert_equal 17, @@app.svg_obj.height
89
+ end
90
+ end
91
+
92
+ class SvgTest4 < SvgTestBase
93
+
94
+ description "parent and svg object dimensions"
95
+ def test_svg_basic
96
+
97
+ assert_not_nil @@app.svg_obj
98
+ assert_instance_of Shoes::Svg, @@app.svg_obj
99
+
100
+ assert_equal 25, @@app.svg_obj.width
101
+ assert_equal 14, @@app.svg_obj.height
102
+ end
103
+ end
104
+
105
+ class SvgTest5 < SvgTestBase
106
+
107
+ description "aspect ratio false, Landscape"
108
+ def test_basic_aspectRatioFalse
109
+ assert_equal 48, @@app.svg_obj.width
110
+ assert_equal 32, @@app.svg_obj.height
111
+ end
112
+ end
113
+
114
+ class SvgTest5B < SvgTestBase
115
+
116
+ description "aspect ratio 0.5, Landscape"
117
+ def test_basic_aspectRatio_05
118
+ assert_equal 16, @@app.svg_obj.width
119
+ assert_equal 32, @@app.svg_obj.height
120
+ end
121
+ end
122
+
123
+ class SvgTest5C < SvgTestBase
124
+
125
+ description "aspect ratio 1.5, Landscape"
126
+ def test_basic_aspectRatio_15
127
+ assert_equal 48, @@app.svg_obj.width
128
+ assert_equal 32, @@app.svg_obj.height
129
+ end
130
+ end
131
+
132
+ class SvgTest6 < SvgTestBase
133
+
134
+ description "aspect ratio 0.5, Square"
135
+ def test_basic_aspectRatioCustomLess
136
+ assert_equal 24, @@app.svg_obj.width
137
+ assert_equal 48, @@app.svg_obj.height
138
+ end
139
+ end
140
+
141
+ class SvgTest7 < SvgTestBase
142
+
143
+ description "aspect ratio 1.5, Square"
144
+ def test_basic_aspectRatioCustomMore
145
+ assert_equal 48, @@app.svg_obj.width
146
+ assert_equal 32, @@app.svg_obj.height
147
+ end
148
+ end
149
+
150
+ class SvgTest8 < SvgTestBase
151
+
152
+ description "xml, group"
153
+ def test_xmlGroup
154
+ assert_equal 180, @@app.svg_obj.preferred_width
155
+ assert_equal 100, @@app.svg_obj.preferred_height
156
+ assert_equal 5, @@app.svg_obj.offset_x
157
+ assert_equal 5, @@app.svg_obj.offset_y
158
+ end
159
+ end
160
+
161
+ class SvgTest9 < SvgTestBase
162
+
163
+ description "file, group"
164
+ def test_fileGroup
165
+ assert_equal 980, @@app.svg_obj.preferred_width
166
+ assert_equal 550, @@app.svg_obj.preferred_height
167
+ assert_equal 5, @@app.svg_obj.offset_x
168
+ assert_equal 45, @@app.svg_obj.offset_y
169
+ end
170
+ end
171
+
172
+ class SvgTest10 < SvgTestBase
173
+
174
+ description "aspect ratio true, Portrait"
175
+ def test_aspectRatioTrue
176
+ assert_equal 32, @@app.svg_obj.width
177
+ assert_equal 18, @@app.svg_obj.height
178
+ end
179
+ end
180
+
181
+ class SvgTest11 < SvgTestBase
182
+
183
+ description "aspect ratio false, Portrait"
184
+ def test_aspectRatioFalse
185
+ assert_equal 32, @@app.svg_obj.width
186
+ assert_equal 48, @@app.svg_obj.height
187
+ end
188
+ end
189
+
190
+ class SvgTest12 < SvgTestBase
191
+
192
+ description "aspect ratio 0.5, Portrait"
193
+ def test_aspectRatio_05
194
+ assert_equal 24, @@app.svg_obj.width
195
+ assert_equal 48, @@app.svg_obj.height
196
+ end
197
+ end
198
+
199
+ class SvgTest13 < SvgTestBase
200
+
201
+ description "aspect ratio 1.5, Portrait"
202
+ def test_aspectRatio_15
203
+ assert_equal 32, @@app.svg_obj.width
204
+ assert_equal 21, @@app.svg_obj.height
205
+ end
206
+ end
207
+
208
+
@@ -0,0 +1,28 @@
1
+ Shoes.app width: 300, height: 200 do
2
+ flow do
3
+ switch font: "monospace Italic 10", stroke: red; para
4
+ end
5
+
6
+ flow do
7
+ @n = switch(active: true) do
8
+ @p.text = (@n.active? ? "true": "false") unless @p.nil?
9
+ end
10
+ @p = para
11
+ end
12
+
13
+ flow do
14
+ @m = switch width: 80
15
+ @m.click do
16
+ #$stderr.puts "Click"
17
+ @m.active? ? @e.start : @e.stop
18
+ end
19
+ @e = every(1) { |count| @q.text = count unless @q.nil? & @m.active? }
20
+ @q = para ""
21
+ end
22
+
23
+ start do
24
+ @e.stop
25
+ @p.text = @n.active? ? "true" : "false"
26
+ @m.active = false
27
+ end
28
+ end
@@ -0,0 +1,20 @@
1
+ Shoes.app do
2
+ stack do
3
+ para "Generate 10 systray calls - 30 seconds appart."
4
+ para "Press button to start and cover the app window with another app"
5
+ ctr = 0;
6
+ button "Notify" do
7
+ @ev = every 30 do
8
+ ctr += 1
9
+ icp = ''
10
+ if ctr % 3 != 0
11
+ icp = "#{DIR}/static/shoes-icon.png"
12
+ else
13
+ icp = "#{DIR}/static/shoes-icon-red.png"
14
+ end
15
+ systray title: "Shoes Notify Test", message: "message ##{ctr}", icon: icp
16
+ @ev.stop if ctr >= 10
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,17 @@
1
+ Shoes.app do
2
+ #app.set_window_title "Blitz"
3
+ stack do
4
+ para "Press button and look in your system's notification area"
5
+ ctr = 0;
6
+ button "Notify" do
7
+ ctr += 1
8
+ icp = ''
9
+ if ctr % 3 != 0
10
+ icp = "#{DIR}/static/shoes-icon.png"
11
+ else
12
+ icp = "#{DIR}/static/shoes-icon-red.png"
13
+ end
14
+ systray title: "#{app.name} Notify Test", message: "message ##{ctr}", icon: icp
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,27 @@
1
+ Shoes.app do
2
+ stack do
3
+ para "Game Mode Terminal test"
4
+ button "do it" do
5
+ columns = 80
6
+ rows = 24
7
+ Shoes.terminal columns: columns, rows: rows, fontsize: 12, title: "Test Cursor Movements",
8
+ mode: 'game'
9
+ ruler1 = ''
10
+ ruler2 = ''
11
+ (1..columns).each do |i|
12
+ tens = i/10
13
+ ones = i%10
14
+ ruler1 << (tens == 0 ? ' ' : tens.to_s)
15
+ ruler2 << ones.to_s
16
+ end
17
+ puts ruler1
18
+ puts ruler2
19
+ (3..rows+2).each {|row| puts row }
20
+ (3..rows).each { |ln| $stdout.write "\033[#{ln};1H#{ln}"; $stdout.flush }
21
+ $stdout.write "\033[10;10H10,10\033[20;20H20,20"
22
+ $stdout.flush
23
+ $stdout.write "\033[24;79HEND\033[1;1H"
24
+ $stdout.flush
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,65 @@
1
+ require 'readline'
2
+ Shoes.app do
3
+ stack do
4
+ para "Game Mode Terminal Screen/Line test"
5
+ button "do it" do
6
+ columns = 80
7
+ rows = 24
8
+ Shoes.terminal columns: columns, rows: rows, fontsize: 12, title: "Test Cursor Movements",
9
+ mode: 'game'
10
+ ruler1 = ''
11
+ ruler2 = ''
12
+ (1..columns).each do |i|
13
+ tens = i/10
14
+ ones = i%10
15
+ ruler1 << (tens == 0 ? ' ' : tens.to_s)
16
+ ruler2 << ones.to_s
17
+ end
18
+ puts ruler1
19
+ puts ruler2
20
+ puts "Line 3"
21
+ lcnt = 1
22
+ Thread.new do
23
+ loop do
24
+ $stdout.write "\033[24;78HEND"
25
+ $stdout.write "\033[12;40H"; $stdout.flush
26
+ ans = Readline.readline("Erase Display ?").strip
27
+ exit if ans == 'q'
28
+ if ans != ''
29
+ $stdout.write "\033[2;1H\033[2J\033[2;1HDONE"; $stdout.flush
30
+ end
31
+ $stdout.write "\033[1;1H\033[32m"; $stdout.flush
32
+ ans = Readline.readline("next [rtn/q] ?").strip
33
+ exit if ans == 'q'
34
+
35
+ $stdout.write "\033[20;1H"
36
+ puts ruler1
37
+ puts ruler2
38
+ $stdout.write "\033[24;78HEND"
39
+ $stdout.write "\033[12;40H"; $stdout.flush
40
+ ans = Readline.readline("Erase Display Below [y/q] ?").strip
41
+ if ans == 'y'
42
+ $stdout.write "\033[J"; $stdout.flush
43
+ end
44
+ $stdout.write "\033[1;1H\033[31m"; $stdout.flush
45
+ ans = Readline.readline("continue [rtn/q] ?").strip
46
+ exit if ans == 'q'
47
+
48
+ $stdout.write "\033[1;1H"
49
+ puts ruler1
50
+ puts ruler2
51
+ $stdout.write "\033[12;72HHERE"
52
+ $stdout.write "\033[12;40H"; $stdout.flush
53
+ ans = Readline.readline("Erase Display to HERE [y/q] ?").strip
54
+ if ans == 'y'
55
+ $stdout.write "\033[12;72H\033[1J"; $stdout.flush
56
+ end
57
+ $stdout.write "\033[24;1H"
58
+ ans = Readline.readline("nothing more to do - [rtn] ").strip
59
+ quit
60
+ end
61
+ puts "test finished"
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,50 @@
1
+ require 'readline'
2
+ Shoes.app do
3
+ stack do
4
+ para "Game Mode Terminal Screen/Line test"
5
+ button "do it" do
6
+ columns = 80
7
+ rows = 24
8
+ Shoes.terminal columns: columns, rows: rows, fontsize: 12, title: "Test Cursor Movements",
9
+ mode: 'game'
10
+ ruler1 = ''
11
+ ruler2 = ''
12
+ (1..columns).each do |i|
13
+ tens = i/10
14
+ ones = i%10
15
+ ruler1 << (tens == 0 ? ' ' : tens.to_s)
16
+ ruler2 << ones.to_s
17
+ end
18
+ puts ruler1
19
+ puts ruler2
20
+ puts "Line 3"
21
+ lcnt = 1
22
+ Thread.new do
23
+ loop do
24
+ $stdout.write "\033[12;40H"; $stdout.flush
25
+ ans = Readline.readline("Erase Line 2 [y/n/q] ?").strip
26
+ break if ans == 'n'
27
+ exit if ans == 'q'
28
+ if ans == 'y'
29
+ $stdout.write "\033[2;1H\033[2K\033[2;1HHere"; $stdout.flush
30
+ end
31
+ $stdout.write "\033[12;40H"; $stdout.flush
32
+ ans = Readline.readline("Erase Line 1 Left half [y/n/q] ?").strip
33
+ break if ans == 'n'
34
+ exit if ans == 'q'
35
+ if ans == 'y'
36
+ $stdout.write "\033[1;40H\033[1K\033[2;1HDone"; $stdout.flush
37
+ end
38
+ $stdout.write "\033[12;40H"; $stdout.flush
39
+ ans = Readline.readline("Erase Line 1 Right half [y/n/q] ?").strip
40
+ break if ans == 'n'
41
+ exit if ans == 'q'
42
+ if ans == 'y'
43
+ $stdout.write "\033[1;40H\033[K\033[2;1HAll Finished"; $stdout.flush
44
+ end
45
+ end
46
+ puts "test finished"
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,31 @@
1
+ Shoes.app do
2
+ stack do
3
+ para "Terminal test"
4
+ button "do it" do
5
+ #Shoes.show_console
6
+ columns = 80
7
+ Shoes.terminal columns: columns, rows: 24, fontsize: 12, title: "Bug236",
8
+ fg: "yellow", bg: "black"
9
+ #if RUBY_PLATFORM =~ /darwin/
10
+ # $stderr.puts "Filenums #{STDOUT.fileno} #{STDERR.fileno}"
11
+ # $stdout = $stderr
12
+ #end
13
+ $stderr.puts "STDERR OK"
14
+ $stdout.puts "STDOUT OK"
15
+ puts "Way to go!"
16
+ puts "\033[32mGood in green?\033[00m or is \033\[35mthis better\033\[00m"
17
+ puts "\033[31m\033[40mRed on Black\033[0m OK? \033[01mBold?\033[0m"
18
+ puts "And \033[04;33;46mUnderline joy?\033\[0m"
19
+ ruler1 = ''
20
+ ruler2 = ''
21
+ (1..columns).each do |i|
22
+ tens = i/10
23
+ ones = i%10
24
+ ruler1 << (tens == 0 ? ' ' : tens.to_s)
25
+ ruler2 << ones.to_s
26
+ end
27
+ puts ruler1
28
+ puts ruler2
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,138 @@
1
+ # encoding: UTF-8
2
+
3
+ require 'test/unit'
4
+ require 'test/unit/ui/console/testrunner'
5
+
6
+ class ColorOpaque < Test::Unit::TestCase
7
+ def setup
8
+ @color = rgb(255,254,253)
9
+ end
10
+
11
+ def test_color
12
+ assert_not_nil @color
13
+ assert_instance_of Shoes::Color, @color
14
+
15
+ assert_respond_to(@color, :opaque?)
16
+ assert_true @color.opaque?
17
+ assert_equal @color.red, 255
18
+ assert_equal @color.green, 254
19
+ assert_equal @color.blue, 253
20
+ assert_equal @color.alpha, 255
21
+ end
22
+
23
+ def test_blackandwhite
24
+ @color = rgb(0,0,0)
25
+ assert_true @color.black?
26
+
27
+ @color = rgb(255,255,255)
28
+ assert_true @color.white?
29
+ end
30
+
31
+ def test_lightanddark
32
+ @color = rgb(84,84,84)
33
+ assert_true @color.dark?
34
+
35
+ @color = rgb(171,171,171)
36
+ assert_true @color.light?
37
+ end
38
+
39
+ def test_equality
40
+ color = rgb(255,0,0)
41
+
42
+ # is this desirable ?
43
+ assert_equal 0, rgb(255,0,0) <=> color
44
+ assert_equal 0, rgb(0,0,255) <=> color
45
+
46
+ assert_true rgb(255,0,0) == color
47
+ assert_true rgb(255,0,0).eql? color
48
+ assert_equal rgb(255,0,0), color
49
+
50
+ assert_false rgb(0,0,255) == color
51
+ assert_false rgb(0,0,255).eql? color
52
+ assert_not_equal rgb(0,0,255), color
53
+ end
54
+
55
+ def test_invert
56
+ assert_equal rgb(0,1,2), @color.invert
57
+ end
58
+
59
+ def test_gray
60
+ @color = gray(89)
61
+ assert_equal rgb(89,89,89), @color
62
+ end
63
+ end
64
+
65
+ class ColorAlpha < Test::Unit::TestCase
66
+ def self.init(app)
67
+ @@app = app
68
+ end
69
+
70
+ def setup
71
+ @color = rgb(255,254,253,128)
72
+ end
73
+
74
+ def test_color_alpha
75
+ assert_not_nil @color
76
+ assert_instance_of Shoes::Color, @color
77
+ assert_true @color.alpha < 255
78
+ end
79
+
80
+ def test_color_transparent
81
+ @color = rgb(255,254,253,0)
82
+
83
+ assert_respond_to(@color, :transparent?)
84
+ assert_true @color.transparent?
85
+ end
86
+
87
+ def test_lightanddark
88
+ @color = rgb(84,84,84,128)
89
+ assert_true @color.dark?
90
+
91
+ @color = rgb(171,171,171,128)
92
+ assert_true @color.light?
93
+ end
94
+
95
+ def test_blackandwhite
96
+ @color = rgb(0,0,0,128)
97
+ assert_true @color.black?
98
+
99
+ @color = rgb(255,255,255,128)
100
+ assert_true @color.white?
101
+ end
102
+
103
+ def test_invert
104
+ assert_equal rgb(0,1,2,128), @color.invert
105
+ assert_true rgb(0,1,2,128) == @color.invert
106
+ assert_equal rgb(0,1,2,128), @color.invert
107
+
108
+ color = rgb(157,255,25,57)
109
+ assert_equal rgb(98,0,230,57), color.invert
110
+ end
111
+
112
+ def test_gray
113
+ @color = gray(89, 128)
114
+ assert_equal rgb(89,89,89,128), @color
115
+ end
116
+
117
+ def test_named
118
+ assert_true rgb(255,0,0,255) == @@app.red
119
+
120
+ color = @@app.red(0.5)
121
+ assert_equal rgb(255,0,0,128), color
122
+ assert_not_equal rgb(255,0,0,127), color
123
+ assert_not_equal rgb(255,0,0,129), color
124
+ end
125
+ end
126
+
127
+
128
+
129
+ Shoes.app title: "Testing Shoes::Color" do
130
+
131
+ ColorAlpha.init self
132
+
133
+ tests = Test::Unit::TestSuite.new("All Color methods Tests")
134
+ [ColorOpaque, ColorAlpha].each { |t| tests << t.suite }
135
+
136
+ Shoes.terminal
137
+ @test_result = Test::Unit::UI::Console::TestRunner.run(tests, {use_color: true})
138
+ end