gglib 1.1.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (446) hide show
  1. data/LICENSE +22 -0
  2. data/NEWS +75 -0
  3. data/TODO +5 -0
  4. data/{lib/examples → examples}/BasicExample.rb +70 -70
  5. data/examples/CheckBoxAndRadio.rb +54 -0
  6. data/{lib/examples → examples}/ConsoleDemo.rb +25 -25
  7. data/{lib/examples → examples}/FadeIn.rb +41 -39
  8. data/examples/README +1 -0
  9. data/{lib/examples → examples}/SplashScreen.rb +29 -29
  10. data/examples/img/bg.png +0 -0
  11. data/examples/img/bgblue.png +0 -0
  12. data/examples/img/bggray.png +0 -0
  13. data/examples/img/splash.png +0 -0
  14. data/lib/LICENSE +22 -0
  15. data/lib/NEWS +75 -0
  16. data/lib/TODO +5 -0
  17. data/lib/camera.rb +6 -6
  18. data/lib/carray.rb +70 -70
  19. data/lib/doc/classes/Camera.html +155 -0
  20. data/lib/doc/classes/Camera.src/M000012.html +19 -0
  21. data/lib/doc/classes/ConsoleDemoState.html +139 -0
  22. data/lib/doc/classes/ConsoleDemoState.src/M000008.html +19 -0
  23. data/lib/doc/classes/ConsoleDemoWindow.html +139 -0
  24. data/lib/doc/classes/ConsoleDemoWindow.src/M000013.html +20 -0
  25. data/lib/doc/classes/EndMenu.html +145 -0
  26. data/lib/doc/classes/EndMenu.src/M000010.html +19 -0
  27. data/lib/doc/classes/FadeExample.html +139 -0
  28. data/lib/doc/classes/FadeExample.src/M000009.html +20 -0
  29. data/lib/doc/classes/GGLib.html +196 -0
  30. data/lib/doc/classes/GGLib/Animation.html +287 -0
  31. data/lib/doc/classes/GGLib/Animation.src/M000235.html +27 -0
  32. data/lib/doc/classes/GGLib/Animation.src/M000236.html +18 -0
  33. data/lib/doc/classes/GGLib/Animation.src/M000237.html +24 -0
  34. data/lib/doc/classes/GGLib/Animation.src/M000238.html +18 -0
  35. data/lib/doc/classes/GGLib/Animation.src/M000239.html +20 -0
  36. data/lib/doc/classes/GGLib/Animation.src/M000240.html +19 -0
  37. data/lib/doc/classes/GGLib/Animation.src/M000241.html +47 -0
  38. data/lib/doc/classes/GGLib/Animation.src/M000242.html +18 -0
  39. data/lib/doc/classes/GGLib/Button.html +272 -0
  40. data/lib/doc/classes/GGLib/Button.src/M000187.html +22 -0
  41. data/lib/doc/classes/GGLib/Button.src/M000188.html +19 -0
  42. data/lib/doc/classes/GGLib/Button.src/M000189.html +19 -0
  43. data/lib/doc/classes/GGLib/Button.src/M000190.html +18 -0
  44. data/lib/doc/classes/GGLib/Button.src/M000191.html +23 -0
  45. data/lib/doc/classes/GGLib/Button.src/M000192.html +18 -0
  46. data/lib/doc/classes/GGLib/Button.src/M000193.html +18 -0
  47. data/lib/doc/classes/GGLib/Button.src/M000194.html +18 -0
  48. data/lib/doc/classes/GGLib/CArray.html +269 -0
  49. data/lib/doc/classes/GGLib/CArray.src/M000150.html +19 -0
  50. data/lib/doc/classes/GGLib/CArray.src/M000151.html +20 -0
  51. data/lib/doc/classes/GGLib/CArray.src/M000152.html +20 -0
  52. data/lib/doc/classes/GGLib/CArray.src/M000153.html +24 -0
  53. data/lib/doc/classes/GGLib/CArray.src/M000154.html +28 -0
  54. data/lib/doc/classes/GGLib/CArray.src/M000155.html +21 -0
  55. data/lib/doc/classes/GGLib/CArray.src/M000156.html +27 -0
  56. data/lib/doc/classes/GGLib/CArray.src/M000157.html +18 -0
  57. data/lib/doc/classes/GGLib/CArray.src/M000158.html +18 -0
  58. data/lib/doc/classes/GGLib/CheckBox.html +252 -0
  59. data/lib/doc/classes/GGLib/CheckBox.src/M000134.html +20 -0
  60. data/lib/doc/classes/GGLib/CheckBox.src/M000135.html +18 -0
  61. data/lib/doc/classes/GGLib/CheckBox.src/M000136.html +18 -0
  62. data/lib/doc/classes/GGLib/CheckBox.src/M000137.html +18 -0
  63. data/lib/doc/classes/GGLib/CheckBox.src/M000138.html +18 -0
  64. data/lib/doc/classes/GGLib/CheckBox.src/M000139.html +18 -0
  65. data/lib/doc/classes/GGLib/CheckBox.src/M000140.html +24 -0
  66. data/lib/doc/classes/GGLib/CheckBox.src/M000141.html +18 -0
  67. data/lib/doc/classes/GGLib/CheckBox/CheckedHk.html +165 -0
  68. data/lib/doc/classes/GGLib/CheckBox/CheckedHk.src/M000142.html +18 -0
  69. data/lib/doc/classes/GGLib/Cursor.html +252 -0
  70. data/lib/doc/classes/GGLib/Cursor.src/M000143.html +21 -0
  71. data/lib/doc/classes/GGLib/Cursor.src/M000144.html +20 -0
  72. data/lib/doc/classes/GGLib/Cursor.src/M000145.html +19 -0
  73. data/lib/doc/classes/GGLib/Cursor.src/M000146.html +18 -0
  74. data/lib/doc/classes/GGLib/Cursor.src/M000147.html +18 -0
  75. data/lib/doc/classes/GGLib/Cursor.src/M000148.html +20 -0
  76. data/lib/doc/classes/GGLib/Cursor.src/M000149.html +20 -0
  77. data/lib/doc/classes/GGLib/DebugConsole.html +321 -0
  78. data/lib/doc/classes/GGLib/DebugConsole.src/M000260.html +23 -0
  79. data/lib/doc/classes/GGLib/DebugConsole.src/M000261.html +61 -0
  80. data/lib/doc/classes/GGLib/DebugConsole.src/M000262.html +18 -0
  81. data/lib/doc/classes/GGLib/DebugConsole.src/M000263.html +25 -0
  82. data/lib/doc/classes/GGLib/DebugConsole.src/M000264.html +34 -0
  83. data/lib/doc/classes/GGLib/DebugConsole.src/M000265.html +24 -0
  84. data/lib/doc/classes/GGLib/DebugConsole.src/M000266.html +21 -0
  85. data/lib/doc/classes/GGLib/DebugConsole.src/M000267.html +23 -0
  86. data/lib/doc/classes/GGLib/DebugConsole.src/M000268.html +18 -0
  87. data/lib/doc/classes/GGLib/DebugConsole.src/M000269.html +18 -0
  88. data/lib/doc/classes/GGLib/DebugConsole.src/M000270.html +18 -0
  89. data/lib/doc/classes/GGLib/DebugConsole.src/M000271.html +18 -0
  90. data/lib/doc/classes/GGLib/DebugConsole.src/M000272.html +22 -0
  91. data/lib/doc/classes/GGLib/DrawnTheme.html +214 -0
  92. data/lib/doc/classes/GGLib/DrawnTheme.src/M000274.html +19 -0
  93. data/lib/doc/classes/GGLib/DrawnTheme.src/M000275.html +18 -0
  94. data/lib/doc/classes/GGLib/DrawnTheme.src/M000276.html +18 -0
  95. data/lib/doc/classes/GGLib/DrawnTheme.src/M000277.html +18 -0
  96. data/lib/doc/classes/GGLib/DrawnTheme.src/M000278.html +17 -0
  97. data/lib/doc/classes/GGLib/DrawnThemeInstance.html +139 -0
  98. data/lib/doc/classes/GGLib/DrawnThemeInstance.src/M000273.html +18 -0
  99. data/lib/doc/classes/GGLib/FadeScreen.html +220 -0
  100. data/lib/doc/classes/GGLib/FadeScreen.src/M000227.html +23 -0
  101. data/lib/doc/classes/GGLib/FadeScreen.src/M000228.html +18 -0
  102. data/lib/doc/classes/GGLib/FadeScreen.src/M000229.html +19 -0
  103. data/lib/doc/classes/GGLib/FadeScreen.src/M000230.html +29 -0
  104. data/lib/doc/classes/GGLib/FadeScreen.src/M000231.html +21 -0
  105. data/lib/doc/classes/GGLib/FadeScreen/FadeIn.html +169 -0
  106. data/lib/doc/classes/GGLib/FadeScreen/FadeIn.src/M000232.html +25 -0
  107. data/lib/doc/classes/GGLib/FadeScreen/FadeIn.src/M000233.html +26 -0
  108. data/lib/doc/classes/GGLib/FadeScreen/FadeIn.src/M000234.html +21 -0
  109. data/lib/doc/classes/GGLib/GUIWindow.html +633 -0
  110. data/lib/doc/classes/GGLib/GUIWindow.src/M000034.html +35 -0
  111. data/lib/doc/classes/GGLib/GUIWindow.src/M000035.html +20 -0
  112. data/lib/doc/classes/GGLib/GUIWindow.src/M000036.html +18 -0
  113. data/lib/doc/classes/GGLib/GUIWindow.src/M000037.html +18 -0
  114. data/lib/doc/classes/GGLib/GUIWindow.src/M000038.html +20 -0
  115. data/lib/doc/classes/GGLib/GUIWindow.src/M000039.html +20 -0
  116. data/lib/doc/classes/GGLib/GUIWindow.src/M000040.html +18 -0
  117. data/lib/doc/classes/GGLib/GUIWindow.src/M000041.html +18 -0
  118. data/lib/doc/classes/GGLib/GUIWindow.src/M000042.html +19 -0
  119. data/lib/doc/classes/GGLib/GUIWindow.src/M000043.html +19 -0
  120. data/lib/doc/classes/GGLib/GUIWindow.src/M000044.html +20 -0
  121. data/lib/doc/classes/GGLib/GUIWindow.src/M000045.html +20 -0
  122. data/lib/doc/classes/GGLib/GUIWindow.src/M000046.html +21 -0
  123. data/lib/doc/classes/GGLib/GUIWindow.src/M000047.html +18 -0
  124. data/lib/doc/classes/GGLib/GUIWindow.src/M000048.html +18 -0
  125. data/lib/doc/classes/GGLib/GUIWindow.src/M000049.html +18 -0
  126. data/lib/doc/classes/GGLib/GUIWindow.src/M000050.html +19 -0
  127. data/lib/doc/classes/GGLib/GUIWindow.src/M000051.html +21 -0
  128. data/lib/doc/classes/GGLib/GUIWindow.src/M000052.html +18 -0
  129. data/lib/doc/classes/GGLib/GUIWindow.src/M000053.html +18 -0
  130. data/lib/doc/classes/GGLib/GUIWindow.src/M000054.html +19 -0
  131. data/lib/doc/classes/GGLib/GUIWindow.src/M000055.html +22 -0
  132. data/lib/doc/classes/GGLib/GUIWindow.src/M000056.html +20 -0
  133. data/lib/doc/classes/GGLib/GUIWindow.src/M000057.html +18 -0
  134. data/lib/doc/classes/GGLib/GUIWindow.src/M000058.html +25 -0
  135. data/lib/doc/classes/GGLib/GUIWindow.src/M000059.html +24 -0
  136. data/lib/doc/classes/GGLib/GUIWindow.src/M000060.html +18 -0
  137. data/lib/doc/classes/GGLib/GUIWindow.src/M000061.html +18 -0
  138. data/lib/doc/classes/GGLib/GUIWindow.src/M000062.html +37 -0
  139. data/lib/doc/classes/GGLib/GUIWindow.src/M000063.html +23 -0
  140. data/lib/doc/classes/GGLib/Image.html +227 -0
  141. data/lib/doc/classes/GGLib/Image.src/M000180.html +24 -0
  142. data/lib/doc/classes/GGLib/Image.src/M000181.html +18 -0
  143. data/lib/doc/classes/GGLib/Image.src/M000182.html +20 -0
  144. data/lib/doc/classes/GGLib/Image.src/M000183.html +18 -0
  145. data/lib/doc/classes/GGLib/ImageTheme.html +184 -0
  146. data/lib/doc/classes/GGLib/ImageTheme.src/M000185.html +22 -0
  147. data/lib/doc/classes/GGLib/ImageTheme.src/M000186.html +18 -0
  148. data/lib/doc/classes/GGLib/ImageThemeInstance.html +246 -0
  149. data/lib/doc/classes/GGLib/ImageThemeInstance.src/M000126.html +19 -0
  150. data/lib/doc/classes/GGLib/ImageThemeInstance.src/M000127.html +26 -0
  151. data/lib/doc/classes/GGLib/ImageThemeInstance.src/M000128.html +19 -0
  152. data/lib/doc/classes/GGLib/ImageThemeInstance.src/M000129.html +19 -0
  153. data/lib/doc/classes/GGLib/ImageThemeInstance.src/M000130.html +19 -0
  154. data/lib/doc/classes/GGLib/ImageThemeInstance.src/M000131.html +20 -0
  155. data/lib/doc/classes/GGLib/ImageThemeInstance.src/M000132.html +19 -0
  156. data/lib/doc/classes/GGLib/ImageThemeInstance.src/M000133.html +18 -0
  157. data/lib/doc/classes/GGLib/Label.html +169 -0
  158. data/lib/doc/classes/GGLib/Label.src/M000091.html +19 -0
  159. data/lib/doc/classes/GGLib/Label.src/M000092.html +18 -0
  160. data/lib/doc/classes/GGLib/MapImage.html +219 -0
  161. data/lib/doc/classes/GGLib/MapImage.src/M000285.html +19 -0
  162. data/lib/doc/classes/GGLib/MapImage.src/M000286.html +22 -0
  163. data/lib/doc/classes/GGLib/MapImage.src/M000287.html +22 -0
  164. data/lib/doc/classes/GGLib/MapImage.src/M000288.html +18 -0
  165. data/lib/doc/classes/GGLib/MenuBase.html +154 -0
  166. data/lib/doc/classes/GGLib/MenuBase.src/M000159.html +22 -0
  167. data/lib/doc/classes/GGLib/MenuBase.src/M000160.html +18 -0
  168. data/lib/doc/classes/GGLib/MouseDragEvent.html +237 -0
  169. data/lib/doc/classes/GGLib/MouseDragEvent.src/M000171.html +21 -0
  170. data/lib/doc/classes/GGLib/MouseDragEvent.src/M000172.html +19 -0
  171. data/lib/doc/classes/GGLib/MouseDragEvent.src/M000173.html +19 -0
  172. data/lib/doc/classes/GGLib/MouseDragEvent.src/M000174.html +19 -0
  173. data/lib/doc/classes/GGLib/MouseDragEvent.src/M000175.html +18 -0
  174. data/lib/doc/classes/GGLib/RadioButton.html +270 -0
  175. data/lib/doc/classes/GGLib/RadioButton.src/M000082.html +22 -0
  176. data/lib/doc/classes/GGLib/RadioButton.src/M000083.html +18 -0
  177. data/lib/doc/classes/GGLib/RadioButton.src/M000084.html +18 -0
  178. data/lib/doc/classes/GGLib/RadioButton.src/M000085.html +18 -0
  179. data/lib/doc/classes/GGLib/RadioButton.src/M000086.html +18 -0
  180. data/lib/doc/classes/GGLib/RadioButton.src/M000087.html +18 -0
  181. data/lib/doc/classes/GGLib/RadioButton.src/M000088.html +32 -0
  182. data/lib/doc/classes/GGLib/RadioButton.src/M000089.html +18 -0
  183. data/lib/doc/classes/GGLib/RadioButton/CheckedHk.html +165 -0
  184. data/lib/doc/classes/GGLib/RadioButton/CheckedHk.src/M000090.html +18 -0
  185. data/lib/doc/classes/GGLib/RadioGroup.html +238 -0
  186. data/lib/doc/classes/GGLib/RadioGroup.src/M000243.html +37 -0
  187. data/lib/doc/classes/GGLib/RadioGroup.src/M000244.html +19 -0
  188. data/lib/doc/classes/GGLib/RadioGroup.src/M000245.html +20 -0
  189. data/lib/doc/classes/GGLib/RadioGroup.src/M000246.html +19 -0
  190. data/lib/doc/classes/GGLib/RadioGroup.src/M000247.html +21 -0
  191. data/lib/doc/classes/GGLib/RadioGroup.src/M000248.html +18 -0
  192. data/lib/doc/classes/GGLib/RadioGroup.src/M000249.html +18 -0
  193. data/lib/doc/classes/GGLib/RadioGroup/Layout.html +123 -0
  194. data/lib/doc/classes/GGLib/RadioGroup/Spacing.html +123 -0
  195. data/lib/doc/classes/GGLib/SplashScreen.html +207 -0
  196. data/lib/doc/classes/GGLib/SplashScreen.src/M000077.html +21 -0
  197. data/lib/doc/classes/GGLib/SplashScreen.src/M000078.html +18 -0
  198. data/lib/doc/classes/GGLib/SplashScreen.src/M000079.html +18 -0
  199. data/lib/doc/classes/GGLib/SplashScreen.src/M000080.html +30 -0
  200. data/lib/doc/classes/GGLib/SplashScreen.src/M000081.html +18 -0
  201. data/lib/doc/classes/GGLib/StateObject.html +314 -0
  202. data/lib/doc/classes/GGLib/StateObject.src/M000161.html +20 -0
  203. data/lib/doc/classes/GGLib/StateObject.src/M000162.html +23 -0
  204. data/lib/doc/classes/GGLib/StateObject.src/M000163.html +18 -0
  205. data/lib/doc/classes/GGLib/StateObject.src/M000164.html +18 -0
  206. data/lib/doc/classes/GGLib/StateObject.src/M000165.html +17 -0
  207. data/lib/doc/classes/GGLib/StateObject.src/M000166.html +18 -0
  208. data/lib/doc/classes/GGLib/StateObject.src/M000167.html +17 -0
  209. data/lib/doc/classes/GGLib/StateObject.src/M000168.html +17 -0
  210. data/lib/doc/classes/GGLib/StateObject.src/M000169.html +17 -0
  211. data/lib/doc/classes/GGLib/StateObject.src/M000170.html +17 -0
  212. data/lib/doc/classes/GGLib/TextBox.html +304 -0
  213. data/lib/doc/classes/GGLib/TextBox.src/M000250.html +32 -0
  214. data/lib/doc/classes/GGLib/TextBox.src/M000251.html +18 -0
  215. data/lib/doc/classes/GGLib/TextBox.src/M000252.html +18 -0
  216. data/lib/doc/classes/GGLib/TextBox.src/M000253.html +18 -0
  217. data/lib/doc/classes/GGLib/TextBox.src/M000254.html +19 -0
  218. data/lib/doc/classes/GGLib/TextBox.src/M000255.html +19 -0
  219. data/lib/doc/classes/GGLib/TextBox.src/M000256.html +18 -0
  220. data/lib/doc/classes/GGLib/TextBox.src/M000257.html +18 -0
  221. data/lib/doc/classes/GGLib/TextBox.src/M000258.html +19 -0
  222. data/lib/doc/classes/GGLib/TextBox.src/M000259.html +37 -0
  223. data/lib/doc/classes/GGLib/Texture.html +239 -0
  224. data/lib/doc/classes/GGLib/Texture.src/M000176.html +26 -0
  225. data/lib/doc/classes/GGLib/Texture.src/M000177.html +18 -0
  226. data/lib/doc/classes/GGLib/Texture.src/M000178.html +18 -0
  227. data/lib/doc/classes/GGLib/Texture.src/M000179.html +18 -0
  228. data/lib/doc/classes/GGLib/Theme.html +235 -0
  229. data/lib/doc/classes/GGLib/Theme.src/M000279.html +17 -0
  230. data/lib/doc/classes/GGLib/Theme.src/M000280.html +17 -0
  231. data/lib/doc/classes/GGLib/Theme.src/M000281.html +17 -0
  232. data/lib/doc/classes/GGLib/Theme.src/M000282.html +17 -0
  233. data/lib/doc/classes/GGLib/Theme.src/M000283.html +17 -0
  234. data/lib/doc/classes/GGLib/Theme.src/M000284.html +18 -0
  235. data/lib/doc/classes/GGLib/ThemeFontGroup.html +170 -0
  236. data/lib/doc/classes/GGLib/ThemeFontGroup.src/M000064.html +22 -0
  237. data/lib/doc/classes/GGLib/ThemeImageGroup.html +160 -0
  238. data/lib/doc/classes/GGLib/ThemeImageGroup.src/M000184.html +20 -0
  239. data/lib/doc/classes/GGLib/ThemeInstance.html +304 -0
  240. data/lib/doc/classes/GGLib/ThemeInstance.src/M000065.html +25 -0
  241. data/lib/doc/classes/GGLib/ThemeInstance.src/M000066.html +21 -0
  242. data/lib/doc/classes/GGLib/ThemeInstance.src/M000067.html +18 -0
  243. data/lib/doc/classes/GGLib/ThemeInstance.src/M000068.html +18 -0
  244. data/lib/doc/classes/GGLib/ThemeInstance.src/M000069.html +18 -0
  245. data/lib/doc/classes/GGLib/ThemeInstance.src/M000070.html +17 -0
  246. data/lib/doc/classes/GGLib/ThemeInstance.src/M000071.html +18 -0
  247. data/lib/doc/classes/GGLib/ThemeInstance.src/M000072.html +18 -0
  248. data/lib/doc/classes/GGLib/ThemeInstance.src/M000073.html +18 -0
  249. data/lib/doc/classes/GGLib/ThemeInstance.src/M000074.html +18 -0
  250. data/lib/doc/classes/GGLib/ThemeInstance.src/M000075.html +18 -0
  251. data/lib/doc/classes/GGLib/ThemeInstance.src/M000076.html +17 -0
  252. data/lib/doc/classes/GGLib/Themes.html +164 -0
  253. data/lib/doc/classes/GGLib/Themes.src/M000014.html +30 -0
  254. data/lib/doc/classes/GGLib/Themes.src/M000015.html +30 -0
  255. data/lib/doc/classes/GGLib/Themes/BlueSteelTheme.html +154 -0
  256. data/lib/doc/classes/GGLib/Themes/BlueSteelTheme.src/M000023.html +24 -0
  257. data/lib/doc/classes/GGLib/Themes/BlueSteelTheme.src/M000024.html +94 -0
  258. data/lib/doc/classes/GGLib/Themes/RubygooLabelTheme.html +137 -0
  259. data/lib/doc/classes/GGLib/Themes/RubygooLabelTheme.src/M000019.html +25 -0
  260. data/lib/doc/classes/GGLib/Themes/RubygooTextTheme.html +154 -0
  261. data/lib/doc/classes/GGLib/Themes/RubygooTextTheme.src/M000025.html +25 -0
  262. data/lib/doc/classes/GGLib/Themes/RubygooTextTheme.src/M000026.html +26 -0
  263. data/lib/doc/classes/GGLib/Themes/RubygooTheme.html +169 -0
  264. data/lib/doc/classes/GGLib/Themes/RubygooTheme.src/M000020.html +25 -0
  265. data/lib/doc/classes/GGLib/Themes/RubygooTheme.src/M000021.html +27 -0
  266. data/lib/doc/classes/GGLib/Themes/RubygooTheme.src/M000022.html +24 -0
  267. data/lib/doc/classes/GGLib/Themes/ShadeCheckGenCTheme.html +154 -0
  268. data/lib/doc/classes/GGLib/Themes/ShadeCheckGenCTheme.src/M000027.html +25 -0
  269. data/lib/doc/classes/GGLib/Themes/ShadeCheckGenCTheme.src/M000028.html +28 -0
  270. data/lib/doc/classes/GGLib/Themes/ShadeCheckGenTheme.html +154 -0
  271. data/lib/doc/classes/GGLib/Themes/ShadeCheckGenTheme.src/M000016.html +25 -0
  272. data/lib/doc/classes/GGLib/Themes/ShadeCheckGenTheme.src/M000017.html +30 -0
  273. data/lib/doc/classes/GGLib/Themes/ShadeLabelTheme.html +137 -0
  274. data/lib/doc/classes/GGLib/Themes/ShadeLabelTheme.src/M000018.html +25 -0
  275. data/lib/doc/classes/GGLib/Themes/ShadeTheme.html +169 -0
  276. data/lib/doc/classes/GGLib/Themes/ShadeTheme.src/M000031.html +25 -0
  277. data/lib/doc/classes/GGLib/Themes/ShadeTheme.src/M000032.html +30 -0
  278. data/lib/doc/classes/GGLib/Themes/ShadeTheme.src/M000033.html +26 -0
  279. data/lib/doc/classes/GGLib/Themes/WindowsTheme.html +154 -0
  280. data/lib/doc/classes/GGLib/Themes/WindowsTheme.src/M000029.html +24 -0
  281. data/lib/doc/classes/GGLib/Themes/WindowsTheme.src/M000030.html +94 -0
  282. data/lib/doc/classes/GGLib/Tile.html +568 -0
  283. data/lib/doc/classes/GGLib/Tile.src/M000105.html +34 -0
  284. data/lib/doc/classes/GGLib/Tile.src/M000106.html +22 -0
  285. data/lib/doc/classes/GGLib/Tile.src/M000108.html +18 -0
  286. data/lib/doc/classes/GGLib/Tile.src/M000109.html +18 -0
  287. data/lib/doc/classes/GGLib/Tile.src/M000110.html +21 -0
  288. data/lib/doc/classes/GGLib/Tile.src/M000111.html +23 -0
  289. data/lib/doc/classes/GGLib/Tile.src/M000112.html +18 -0
  290. data/lib/doc/classes/GGLib/Tile.src/M000113.html +18 -0
  291. data/lib/doc/classes/GGLib/Tile.src/M000114.html +18 -0
  292. data/lib/doc/classes/GGLib/Tile.src/M000115.html +18 -0
  293. data/lib/doc/classes/GGLib/Tile.src/M000116.html +22 -0
  294. data/lib/doc/classes/GGLib/Tile.src/M000117.html +32 -0
  295. data/lib/doc/classes/GGLib/Tile.src/M000118.html +18 -0
  296. data/lib/doc/classes/GGLib/Tile.src/M000119.html +18 -0
  297. data/lib/doc/classes/GGLib/Tile.src/M000120.html +22 -0
  298. data/lib/doc/classes/GGLib/Tile.src/M000121.html +24 -0
  299. data/lib/doc/classes/GGLib/Tile.src/M000122.html +18 -0
  300. data/lib/doc/classes/GGLib/Tile.src/M000123.html +18 -0
  301. data/lib/doc/classes/GGLib/Tile.src/M000124.html +18 -0
  302. data/lib/doc/classes/GGLib/Tile.src/M000125.html +19 -0
  303. data/lib/doc/classes/GGLib/TracePanel.html +306 -0
  304. data/lib/doc/classes/GGLib/TracePanel.src/M000093.html +19 -0
  305. data/lib/doc/classes/GGLib/TracePanel.src/M000094.html +22 -0
  306. data/lib/doc/classes/GGLib/TracePanel.src/M000095.html +19 -0
  307. data/lib/doc/classes/GGLib/TracePanel.src/M000096.html +20 -0
  308. data/lib/doc/classes/GGLib/TracePanel.src/M000097.html +18 -0
  309. data/lib/doc/classes/GGLib/TracePanel.src/M000098.html +18 -0
  310. data/lib/doc/classes/GGLib/TracePanel.src/M000099.html +18 -0
  311. data/lib/doc/classes/GGLib/TracePanel.src/M000100.html +18 -0
  312. data/lib/doc/classes/GGLib/TracePanel.src/M000101.html +21 -0
  313. data/lib/doc/classes/GGLib/TracePanel.src/M000102.html +22 -0
  314. data/lib/doc/classes/GGLib/TracePanel.src/M000103.html +18 -0
  315. data/lib/doc/classes/GGLib/TracePanel.src/M000104.html +22 -0
  316. data/lib/doc/classes/GGLib/Widget.html +687 -0
  317. data/lib/doc/classes/GGLib/Widget.src/M000195.html +25 -0
  318. data/lib/doc/classes/GGLib/Widget.src/M000196.html +22 -0
  319. data/lib/doc/classes/GGLib/Widget.src/M000197.html +22 -0
  320. data/lib/doc/classes/GGLib/Widget.src/M000198.html +20 -0
  321. data/lib/doc/classes/GGLib/Widget.src/M000199.html +18 -0
  322. data/lib/doc/classes/GGLib/Widget.src/M000200.html +18 -0
  323. data/lib/doc/classes/GGLib/Widget.src/M000201.html +22 -0
  324. data/lib/doc/classes/GGLib/Widget.src/M000202.html +27 -0
  325. data/lib/doc/classes/GGLib/Widget.src/M000203.html +22 -0
  326. data/lib/doc/classes/GGLib/Widget.src/M000204.html +17 -0
  327. data/lib/doc/classes/GGLib/Widget.src/M000205.html +17 -0
  328. data/lib/doc/classes/GGLib/Widget.src/M000206.html +17 -0
  329. data/lib/doc/classes/GGLib/Widget.src/M000207.html +17 -0
  330. data/lib/doc/classes/GGLib/Widget.src/M000208.html +17 -0
  331. data/lib/doc/classes/GGLib/Widget.src/M000209.html +17 -0
  332. data/lib/doc/classes/GGLib/Widget.src/M000210.html +17 -0
  333. data/lib/doc/classes/GGLib/Widget.src/M000211.html +17 -0
  334. data/lib/doc/classes/GGLib/Widget.src/M000212.html +17 -0
  335. data/lib/doc/classes/GGLib/Widget.src/M000213.html +17 -0
  336. data/lib/doc/classes/GGLib/Widget.src/M000214.html +17 -0
  337. data/lib/doc/classes/GGLib/Widget.src/M000215.html +17 -0
  338. data/lib/doc/classes/GGLib/Widget.src/M000216.html +17 -0
  339. data/lib/doc/classes/GGLib/Widget.src/M000217.html +17 -0
  340. data/lib/doc/classes/GGLib/Widget.src/M000218.html +18 -0
  341. data/lib/doc/classes/GGLib/Widget.src/M000219.html +18 -0
  342. data/lib/doc/classes/GGLib/Widget.src/M000220.html +21 -0
  343. data/lib/doc/classes/GGLib/Widget.src/M000221.html +17 -0
  344. data/lib/doc/classes/GGLib/Widget.src/M000222.html +24 -0
  345. data/lib/doc/classes/GGLib/Widget.src/M000223.html +18 -0
  346. data/lib/doc/classes/GGLib/Widget.src/M000224.html +21 -0
  347. data/lib/doc/classes/GGLib/Widget.src/M000225.html +18 -0
  348. data/lib/doc/classes/GGLib/Widget.src/M000226.html +24 -0
  349. data/lib/doc/classes/GGLib/WidgetEvent.html +209 -0
  350. data/lib/doc/classes/GGLib/ZOrder.html +209 -0
  351. data/lib/doc/classes/MyGUIWindow.html +139 -0
  352. data/lib/doc/classes/MyGUIWindow.src/M000011.html +26 -0
  353. data/lib/doc/classes/MySplashScreen.html +171 -0
  354. data/lib/doc/classes/MySplashScreen.src/M000005.html +18 -0
  355. data/lib/doc/classes/MySplashScreen.src/M000006.html +21 -0
  356. data/lib/doc/classes/MySplashScreen.src/M000007.html +21 -0
  357. data/lib/doc/classes/MyStateObj.html +191 -0
  358. data/lib/doc/classes/MyStateObj.src/M000001.html +19 -0
  359. data/lib/doc/classes/MyStateObj.src/M000002.html +29 -0
  360. data/lib/doc/classes/MyStateObj.src/M000003.html +18 -0
  361. data/lib/doc/classes/StartMenu.html +145 -0
  362. data/lib/doc/classes/StartMenu.src/M000004.html +19 -0
  363. data/lib/doc/created.rid +1 -0
  364. data/lib/doc/files/gglib/camera_rb.html +101 -0
  365. data/lib/doc/files/gglib/carray_rb.html +101 -0
  366. data/lib/doc/files/gglib/examples/BasicExample_rb.html +112 -0
  367. data/lib/doc/files/gglib/examples/ConsoleDemo_rb.html +112 -0
  368. data/lib/doc/files/gglib/examples/FadeIn_rb.html +111 -0
  369. data/lib/doc/files/gglib/examples/SplashScreen_rb.html +112 -0
  370. data/lib/doc/files/gglib/ext/menus_rb.html +101 -0
  371. data/lib/doc/files/gglib/ext/splash_rb.html +101 -0
  372. data/lib/doc/files/gglib/ext/themes_rb.html +101 -0
  373. data/lib/doc/files/gglib/ext/widgets_rb.html +101 -0
  374. data/lib/doc/files/gglib/gglib_rb.html +101 -0
  375. data/lib/doc/files/gglib/image_rb.html +101 -0
  376. data/lib/doc/files/gglib/mouse_rb.html +101 -0
  377. data/lib/doc/files/gglib/null_rb.html +107 -0
  378. data/lib/doc/files/gglib/state_rb.html +101 -0
  379. data/lib/doc/files/gglib/theme_rb.html +101 -0
  380. data/lib/doc/files/gglib/tile_rb.html +101 -0
  381. data/lib/doc/files/gglib/widget_rb.html +101 -0
  382. data/lib/doc/files/gglib/window_rb.html +101 -0
  383. data/lib/doc/fr_class_index.html +83 -0
  384. data/lib/doc/fr_file_index.html +45 -0
  385. data/lib/doc/fr_method_index.html +314 -0
  386. data/lib/doc/index.html +24 -0
  387. data/lib/doc/rdoc-style.css +208 -0
  388. data/lib/ext/splash.rb +41 -41
  389. data/lib/ext/themes.rb +422 -158
  390. data/lib/ext/widgets.rb +527 -348
  391. data/lib/gglib.rb +12 -12
  392. data/lib/image.rb +176 -176
  393. data/lib/media/black.bmp +0 -0
  394. data/lib/media/bluesteel/button/button.png +0 -0
  395. data/lib/media/bluesteel/button/buttondown.png +0 -0
  396. data/lib/media/bluesteel/button/buttonup.png +0 -0
  397. data/lib/media/bluesteel/checkbox/checkbox.png +0 -0
  398. data/lib/media/bluesteel/checkbox/checkboxc.png +0 -0
  399. data/lib/media/bluesteel/checkbox/checkboxcdown.png +0 -0
  400. data/lib/media/bluesteel/checkbox/checkboxcup.png +0 -0
  401. data/lib/media/bluesteel/checkbox/checkboxdown.png +0 -0
  402. data/lib/media/bluesteel/checkbox/checkboxup.png +0 -0
  403. data/lib/media/bluesteel/generic/menularge.png +0 -0
  404. data/lib/media/bluesteel/generic/menumed.png +0 -0
  405. data/lib/media/bluesteel/generic/menusmall.png +0 -0
  406. data/lib/media/bluesteel/radio/radiobtn.png +0 -0
  407. data/lib/media/bluesteel/radio/radiobtnc.png +0 -0
  408. data/lib/media/bluesteel/radio/radiobtncdown.png +0 -0
  409. data/lib/media/bluesteel/radio/radiobtncup.png +0 -0
  410. data/lib/media/bluesteel/radio/radiobtndown.png +0 -0
  411. data/lib/media/bluesteel/radio/radiobtnup.png +0 -0
  412. data/lib/media/bluesteel/textbox/textbox.png +0 -0
  413. data/lib/media/bluesteel/textbox/textboxactive.png +0 -0
  414. data/lib/media/cursor.bmp +0 -0
  415. data/lib/media/windows/button/button - Copy.png +0 -0
  416. data/lib/media/windows/button/button.png +0 -0
  417. data/lib/media/windows/button/buttondown.png +0 -0
  418. data/lib/media/windows/button/buttonup.png +0 -0
  419. data/lib/media/windows/checkbox/checkbox.png +0 -0
  420. data/lib/media/windows/checkbox/checkboxc.png +0 -0
  421. data/lib/media/windows/checkbox/checkboxcdown.png +0 -0
  422. data/lib/media/windows/checkbox/checkboxcup.png +0 -0
  423. data/lib/media/windows/checkbox/checkboxdown.png +0 -0
  424. data/lib/media/windows/checkbox/checkboxup.png +0 -0
  425. data/lib/media/windows/generic/menusmall.png +0 -0
  426. data/lib/media/windows/radio/radiobtn.png +0 -0
  427. data/lib/media/windows/radio/radiobtnc.png +0 -0
  428. data/lib/media/windows/radio/radiobtncdown.png +0 -0
  429. data/lib/media/windows/radio/radiobtncup.png +0 -0
  430. data/lib/media/windows/radio/radiobtndown.png +0 -0
  431. data/lib/media/windows/radio/radiobtnup.png +0 -0
  432. data/lib/media/windows/textbox/textbox.png +0 -0
  433. data/lib/media/windows/textbox/textboxup.png +0 -0
  434. data/lib/mouse.rb +62 -62
  435. data/lib/null.bmp +0 -0
  436. data/lib/null.png +0 -0
  437. data/lib/state.rb +136 -136
  438. data/lib/theme.rb +204 -204
  439. data/lib/tile.rb +169 -169
  440. data/lib/widget.rb +217 -205
  441. data/lib/window.rb +333 -324
  442. metadata +523 -21
  443. data/gemspec.txt +0 -15
  444. data/gglib-1.1.tar.gz +0 -0
  445. data/gglib.gemspec +0 -15
  446. data/gglib.tar +0 -0
@@ -1,170 +1,170 @@
1
- module GGLib
2
-
3
- #The Tile class represents a rectangular region on the screen.
4
- #It is synonymous with the Rect structure used in many C programs.
5
- class Tile
6
- @@tiles = CArray.new
7
- #@@tile = []
8
- attr_accessor :x1,:y1,:x2,:y2,:inclusive,:id
9
- #@inclusive decides whether or not tile edges are considered part of the tile
10
- def initialize(x1=0,y1=0,x2=1,y2=1,inclusive=true,id=nil) #id parameter is for use by saveload ONLY!!!!
11
- @x1,@y1,@x2,@y2=x1,y1,x2,y2
12
- #begin
13
- # @x1+=0;@y1+=0;@x2+=0;@y2+=0 #check if coordinate is actually a proc (damn dynamic typing...)
14
- #rescue
15
- # raise "Bad coord: ID#{@@tiles.size+1}"
16
- #end
17
- @inclusive=inclusive
18
- #@name=name
19
- if id==nil
20
- @id=@@tiles.size #volatile, id overwritten by derived classes
21
- @tileno=@id #secure copy of id
22
- @@tiles << self
23
- else
24
- @id=id
25
- @tileno=id
26
- @@tiles[id]=self
27
- end
28
- end
29
-
30
- #Find out if a point is located in the tile
31
- def isInTile?(x,y)
32
- if @inclusive
33
- return iTile(x,y)
34
- else
35
- return xTile(x,y)
36
- end
37
- end
38
-
39
- alias contains? isInTile?
40
-
41
- #Redefine the tile
42
- def setCoordinates(x1,y1,x2,y2)
43
- @x1,@y1,@x2,@y2=x1,y1,x2,y2
44
- end
45
-
46
- #Redefine the tile
47
- def setTile(x1,y1,x2,y2)
48
- @x1,@y1,@x2,@y2=x1,y1,x2,y2
49
- end
50
-
51
- #Translate the coordinates of the tile so that the thop left corner of the tile is at the given coordinates
52
- def move(x,y=@y)
53
- @x2=x+(@x2-@x1)
54
- @y2=y+(@y2-@y1)
55
- @y1=y
56
- @x1=x
57
- end
58
-
59
- #translate the cordinates of the tile so that the center of the tile is at the given point
60
- def centerOn(x, y)
61
- hwidth=((@x2-@x1)/2).ceil.abs
62
- hheight=((@y2-@y1)/2).ceil.abs
63
- @x2=x+hwidth
64
- @y2=y+hheight
65
- @y1=y-hheight
66
- @x1=x-hwidth
67
- end
68
-
69
- #Returns the width of the tile
70
- def height
71
- return (@y2-@y1).abs
72
- end
73
-
74
- #Returns the hiehgt of the tile
75
- def width
76
- return (@x2-@x1).abs
77
- end
78
-
79
- #Find out if a point is located in the tile, including the edges of the tile
80
- def iTile(x,y)
81
- return (x>=@x1 and x<=@x2 and y>=@y1 and y<=@y2)
82
- end
83
-
84
- #Find out if a point is located in the tile, *not* including the edges of the tile
85
- def xTile(x,y)
86
- return (x>@x1 and x<@x2 and y>@y1 and y<@y2)
87
- end
88
-
89
- #Iterates over all of the encompased by the tile
90
- def each
91
- @x1.upto(@x2) { |x|
92
- @y1.upto(@y2) { |y|
93
- yield x,y
94
- }
95
- }
96
- end
97
-
98
- #Iterates over all of the points on the edges of the tile
99
- def eachBorder(xindent=0,yindent=0)
100
- (@x1+xindent).upto(@x2-xindent) { |x|
101
- yield x, @y1+yindent
102
- }
103
-
104
- (@x1+xindent).upto(@x2-xindent) { |x|
105
- yield x, @y2+yindent
106
- }
107
-
108
- (@y1+xindent).upto(@y2-xindent) { |y|
109
- yield @x1+xindent, y
110
- }
111
-
112
- (@y1+xindent).upto(@y2-xindent) { |y|
113
- yield @x2+xindent, y
114
- }
115
- end
116
-
117
- public
118
- #See Tile::intersect?
119
- def intersect?(tile)
120
- return Tile::intersect?(self,tile)
121
- end
122
-
123
- #Find out if the given two tiles intersect.
124
- def Tile.intersect?(tile1,tile2)
125
- return ((tile2.x1 < tile1.x2) and (tile2.x2 > tile1.x1) and (tile2.y1 < tile1.y2) and (tile2.y2 > tile1.y1))
126
- end
127
-
128
- #Returns the tile with the given index
129
- def Tile.getById(id)
130
- if @@tiles[id]!=nil
131
- return @@tiles[id]
132
- else
133
- return false
134
- end
135
- end
136
-
137
- #Deletes the tile with the given index
138
- def Tile.deleteById(id)
139
- if @@tiles[id]!=nil
140
- @@tiles[id].del
141
- @@tiles.delete_at(id)
142
- return true
143
- else
144
- return false
145
- end
146
- end
147
-
148
- #Returns an array of all tiles
149
- def Tile.getAllInstances
150
- return @@tiles
151
- end
152
-
153
- #Override the internal array of tiles with a new one
154
- def Tile.setAllInstances(ntiles)
155
- @@tiles=ntiles
156
- end
157
-
158
- #Delete all tiles int the program. (Includes classes derived from tiles)
159
- def Tile.deleteAllInstances
160
- @@tiles=CArray.new
161
- end
162
-
163
- #Deletes the calling tile
164
- def del
165
- @@tiles.delete_at(@tileno)
166
- @x1,@y1,@x2,@y2,@inclusive,@id,@tileno=nil
167
- end
168
- end
169
-
1
+ module GGLib
2
+
3
+ #The Tile class represents a rectangular region on the screen.
4
+ #It is synonymous with the Rect structure used in many C programs.
5
+ class Tile
6
+ @@tiles = CArray.new
7
+ #@@tile = []
8
+ attr_accessor :x1,:y1,:x2,:y2,:inclusive,:id
9
+ #@inclusive decides whether or not tile edges are considered part of the tile
10
+ def initialize(x1=0,y1=0,x2=1,y2=1,inclusive=true,id=nil) #id parameter is for use by saveload ONLY!!!!
11
+ @x1,@y1,@x2,@y2=x1,y1,x2,y2
12
+ #begin
13
+ # @x1+=0;@y1+=0;@x2+=0;@y2+=0 #check if coordinate is actually a proc (damn dynamic typing...)
14
+ #rescue
15
+ # raise "Bad coord: ID#{@@tiles.size+1}"
16
+ #end
17
+ @inclusive=inclusive
18
+ #@name=name
19
+ if id==nil
20
+ @id=@@tiles.size #volatile, id overwritten by derived classes
21
+ @tileno=@id #secure copy of id
22
+ @@tiles << self
23
+ else
24
+ @id=id
25
+ @tileno=id
26
+ @@tiles[id]=self
27
+ end
28
+ end
29
+
30
+ #Find out if a point is located in the tile
31
+ def isInTile?(x,y)
32
+ if @inclusive
33
+ return iTile(x,y)
34
+ else
35
+ return xTile(x,y)
36
+ end
37
+ end
38
+
39
+ alias contains? isInTile?
40
+
41
+ #Redefine the tile
42
+ def setCoordinates(x1,y1,x2,y2)
43
+ @x1,@y1,@x2,@y2=x1,y1,x2,y2
44
+ end
45
+
46
+ #Redefine the tile
47
+ def setTile(x1,y1,x2,y2)
48
+ @x1,@y1,@x2,@y2=x1,y1,x2,y2
49
+ end
50
+
51
+ #Translate the coordinates of the tile so that the thop left corner of the tile is at the given coordinates
52
+ def move(x,y=@y)
53
+ @x2=x+(@x2-@x1)
54
+ @y2=y+(@y2-@y1)
55
+ @y1=y
56
+ @x1=x
57
+ end
58
+
59
+ #translate the cordinates of the tile so that the center of the tile is at the given point
60
+ def centerOn(x, y)
61
+ hwidth=((@x2-@x1)/2).ceil.abs
62
+ hheight=((@y2-@y1)/2).ceil.abs
63
+ @x2=x+hwidth
64
+ @y2=y+hheight
65
+ @y1=y-hheight
66
+ @x1=x-hwidth
67
+ end
68
+
69
+ #Returns the width of the tile
70
+ def height
71
+ return (@y2-@y1).abs
72
+ end
73
+
74
+ #Returns the hiehgt of the tile
75
+ def width
76
+ return (@x2-@x1).abs
77
+ end
78
+
79
+ #Find out if a point is located in the tile, including the edges of the tile
80
+ def iTile(x,y)
81
+ return (x>=@x1 and x<=@x2 and y>=@y1 and y<=@y2)
82
+ end
83
+
84
+ #Find out if a point is located in the tile, *not* including the edges of the tile
85
+ def xTile(x,y)
86
+ return (x>@x1 and x<@x2 and y>@y1 and y<@y2)
87
+ end
88
+
89
+ #Iterates over all of the encompased by the tile
90
+ def each
91
+ @x1.upto(@x2) { |x|
92
+ @y1.upto(@y2) { |y|
93
+ yield x,y
94
+ }
95
+ }
96
+ end
97
+
98
+ #Iterates over all of the points on the edges of the tile
99
+ def eachBorder(xindent=0,yindent=0)
100
+ (@x1+xindent).upto(@x2-xindent) { |x|
101
+ yield x, @y1+yindent
102
+ }
103
+
104
+ (@x1+xindent).upto(@x2-xindent) { |x|
105
+ yield x, @y2+yindent
106
+ }
107
+
108
+ (@y1+xindent).upto(@y2-xindent) { |y|
109
+ yield @x1+xindent, y
110
+ }
111
+
112
+ (@y1+xindent).upto(@y2-xindent) { |y|
113
+ yield @x2+xindent, y
114
+ }
115
+ end
116
+
117
+ public
118
+ #See Tile::intersect?
119
+ def intersect?(tile)
120
+ return Tile::intersect?(self,tile)
121
+ end
122
+
123
+ #Find out if the given two tiles intersect.
124
+ def Tile.intersect?(tile1,tile2)
125
+ return ((tile2.x1 < tile1.x2) and (tile2.x2 > tile1.x1) and (tile2.y1 < tile1.y2) and (tile2.y2 > tile1.y1))
126
+ end
127
+
128
+ #Returns the tile with the given index
129
+ def Tile.getById(id)
130
+ if @@tiles[id]!=nil
131
+ return @@tiles[id]
132
+ else
133
+ return false
134
+ end
135
+ end
136
+
137
+ #Deletes the tile with the given index
138
+ def Tile.deleteById(id)
139
+ if @@tiles[id]!=nil
140
+ @@tiles[id].del
141
+ @@tiles.delete_at(id)
142
+ return true
143
+ else
144
+ return false
145
+ end
146
+ end
147
+
148
+ #Returns an array of all tiles
149
+ def Tile.getAllInstances
150
+ return @@tiles
151
+ end
152
+
153
+ #Override the internal array of tiles with a new one
154
+ def Tile.setAllInstances(ntiles)
155
+ @@tiles=ntiles
156
+ end
157
+
158
+ #Delete all tiles int the program. (Includes classes derived from tiles)
159
+ def Tile.deleteAllInstances
160
+ @@tiles=CArray.new
161
+ end
162
+
163
+ #Deletes the calling tile
164
+ def del
165
+ @@tiles.delete_at(@tileno)
166
+ @x1,@y1,@x2,@y2,@inclusive,@id,@tileno=nil
167
+ end
168
+ end
169
+
170
170
  end #module GGLib
@@ -1,206 +1,218 @@
1
- module GGLib
2
-
3
- #The Widget class is an interface between the button class and the window class which allows for user interaction with an area of the screen. This area is referred to as the widget.
4
- #To make a Widget, simply create a class derived from Widget and override methods as needed:
5
- #
6
- # class MyWidget < Widget #all widgets are subclasses of Widget
7
- # attr_reader :text,:font #most widgets will have text and font attributes
8
- # def initialize(window,text)
9
- # super(window,Button::Image,0,400,640,480,"img/gui/mywidget image.png",name="My Widget") #use super to initialize the button
10
- # @text=text; @font=Gosu::Font.new(window, "arial", 50) #initialize widget specific variables
11
- # end
12
- # def draw #the window will call draw every time it executes GameWindow::draw
13
- # font.draw(text,0,0) #you do not have to draw the image here, Button class does that for you
14
- # if clicked? #here you do widget specific things like drawing text,
15
- # setImage(Gosu::Image.new) #changing the picture on mouse over or click, etc
16
- # end
17
- # end
18
- # def onDelete #onDelete is called when the window wants to delete the widget
19
- # puts "deleted" #execute widget specific code here
20
- # end #or leave the function alone if there is no widget specific code
21
- # end
22
- #
23
- #See the `Widget Programmer's Handbook` for more info.
24
-
25
- class Widget < Tile
26
- attr_reader :window, :name, :sleeping, :defimage, :buttonId, :id, :zfocus
27
- attr_accessor :theme
28
- def initialize(name="unnamed",x1=0,y1=0,x2=1,y2=1,theme=Theme::BlankTheme,acceptsticky=true,z=0) #do not modify
29
- super(x1,y1,x2,y2)
30
- @id=$window.newWidget(self)
31
- @theme=theme.newInstance(self)
32
- @name=name
33
- @sleeping=false
34
- @zfocus=z
35
- @acceptstickyfocus=acceptsticky
36
- onInitialize
37
- end
38
- def hasFocus? #do not modify
39
- if $window.hasFocus == self
40
- return true
41
- else
42
- return false
43
- end
44
- end
45
- def hasStickyFocus? #do not modify
46
- if $window.hasStickyFocus == self
47
- return true
48
- else
49
- return false
50
- end
51
- end
52
- def focus #do not modify
53
- #debugger
54
- $window.setFocus(@id)
55
- onMouseOver #focus is triggered by the onMouseOver event, so when the window gives a widget focus, it must preform the mouseover event
56
- end
57
- def blur #do not modify
58
- onMouseOut #blur is triggered by the onMouseOut event, so when the window blurs a widget, it must preform the mouseout event
59
- end
60
-
61
- def over?(x,y)
62
- return iTile(x,y)
63
- end
64
- def clicked?(x,y)
65
- if $window.button_down?(Gosu::Button::MsLeft)
66
- return xTile(x,y)
67
- else
68
- return false
69
- end
70
- end
71
-
72
- def event(type) #do not modify
73
- if type==WidgetEvent::MsLeft
74
- if @acceptstickyfocus
75
- stickFocus
76
- end
77
- onClick
78
- elsif type==WidgetEvent::MsRight
79
- onRightClick
80
- else
81
- onKeyPress(type)
82
- end
83
- end
84
-
85
- def feedText(char)
86
- end
87
- def onClick
88
- end
89
- def onRightClick
90
- end
91
- def onDrag(x1, y1, x2, y2)
92
- end
93
- def onRightDrag(x1, y1, x2, y2)
94
- end
95
- def onMouseOver
96
- end
97
- def onStickyFocus
98
- end
99
- def onMouseOut
100
- end
101
- def onStickyBlur
102
- end
103
- def onInitialize
104
- end
105
- def onDelete
106
- end
107
- def onKeyPress(key)
108
- end
109
-
110
- def stickFocus
111
- $window.setStickyFocus(self)
112
- end
113
- def unstickFocus
114
- $window.setStickyFocus(nil)
115
- end
116
-
117
- def intDraw
118
- if not @sleeping
119
- @theme.draw
120
- draw
121
- end
122
- end
123
-
124
- def draw
125
- end
126
-
127
- def sleep
128
- if not @sleeping
129
- if hasStickyFocus?
130
- $window.setStickyFocus(nil)
131
- end
132
- @theme.setSleepState
133
- @sleeping=true
134
- end
135
- end
136
- def sleeping?
137
- return @sleeping
138
- end
139
- def wakeUp
140
- if @sleeping
141
- @theme.setWakeState
142
- @sleeping=false
143
- end
144
- end
145
-
146
- def button
147
- return Button.getButton(buttonId)
148
- end
149
-
150
- def del
151
- onDelete
152
- if $window.nil?
153
- raise "Window assigned to nil" #Very strange bug. Should be dead by now. (This is just in case.)
154
- return
155
- end
156
- $window.deleteWidget(self)
157
- super
158
- end
159
- end
160
-
161
- class WidgetEvent
162
- MsLeft=0
163
- MsRight=1
164
- KeyUp=2
165
- KeyDown=3
166
- KeyLeft=4
167
- KeyRight=5
168
- KeyEscape=6
169
- KeyEnter=7
170
- KeyAlt=8
171
- KeyControl=9
172
- KeyShift=10
173
- KeySpace=11
174
- GpEnter=12
175
- GpCancel=13
176
- KeyText=14
177
- KeyDelete=15
178
- MsLeftDrag=16
179
- MsRightDrag=17
180
- end
181
-
182
- WidgetTextCaps = {
183
- ","=>"<",
184
- "."=>">",
185
- "/"=>"?",
186
- "'"=>"\"",
187
- ";"=>":",
188
- "["=>"{",
189
- "]"=>"}",
190
- "\\"=>"|",
191
- "="=>"+",
192
- "-"=>"_",
193
- "0"=>")",
194
- "9"=>"(",
195
- "8"=>"*",
196
- "7"=>"&",
197
- "6"=>"^",
198
- "5"=>"%",
199
- "4"=>"$",
200
- "3"=>"#",
201
- "2"=>"@",
202
- "1"=>"!",
203
- "`"=>"~"
204
- }
205
-
1
+ module GGLib
2
+
3
+ #The Widget class is an interface between the button class and the window class which allows for user interaction with an area of the screen. This area is referred to as the widget.
4
+ #To make a Widget, simply create a class derived from Widget and override methods as needed:
5
+ #
6
+ # class MyWidget < Widget #all widgets are subclasses of Widget
7
+ # attr_reader :text,:font #most widgets will have text and font attributes
8
+ # def initialize(window,text)
9
+ # super(window,Button::Image,0,400,640,480,"img/gui/mywidget image.png",name="My Widget") #use super to initialize the button
10
+ # @text=text; @font=Gosu::Font.new(window, "arial", 50) #initialize widget specific variables
11
+ # end
12
+ # def draw #the window will call draw every time it executes GameWindow::draw
13
+ # font.draw(text,0,0) #you do not have to draw the image here, Button class does that for you
14
+ # if clicked? #here you do widget specific things like drawing text,
15
+ # setImage(Gosu::Image.new) #changing the picture on mouse over or click, etc
16
+ # end
17
+ # end
18
+ # def onDelete #onDelete is called when the window wants to delete the widget
19
+ # puts "deleted" #execute widget specific code here
20
+ # end #or leave the function alone if there is no widget specific code
21
+ # end
22
+ #
23
+ #See the `Widget Programmer's Handbook` for more info.
24
+
25
+ class Widget < Tile
26
+ attr_reader :window, :name, :sleeping, :defimage, :buttonId, :id, :zfocus
27
+ attr_accessor :theme
28
+ def initialize(name="unnamed",x1=0,y1=0,x2=1,y2=1,theme=Themes::blank,acceptsticky=true,z=0) #do not modify
29
+ super(x1,y1,x2,y2)
30
+ @id=$window.newWidget(self)
31
+ @theme=theme.newInstance(self)
32
+ @name=name
33
+ @sleeping=false
34
+ @zfocus=z
35
+ @acceptstickyfocus=acceptsticky
36
+ onInitialize
37
+ end
38
+ def hasFocus? #do not modify
39
+ if $window.hasFocus == self
40
+ return true
41
+ else
42
+ return false
43
+ end
44
+ end
45
+ def hasStickyFocus? #do not modify
46
+ if $window.hasStickyFocus == self
47
+ return true
48
+ else
49
+ return false
50
+ end
51
+ end
52
+ def focus #do not modify
53
+ #debugger
54
+ $window.setFocus(@id)
55
+ onMouseOver #focus is triggered by the onMouseOver event, so when the window gives a widget focus, it must preform the mouseover event
56
+ end
57
+ def blur #do not modify
58
+ onMouseOut #blur is triggered by the onMouseOut event, so when the window blurs a widget, it must preform the mouseout event
59
+ end
60
+
61
+ def over?(x,y)
62
+ return iTile(x,y)
63
+ end
64
+ def clicked?(x,y)
65
+ if $window.button_down?(Gosu::Button::MsLeft)
66
+ return xTile(x,y)
67
+ else
68
+ return false
69
+ end
70
+ end
71
+
72
+ def event(type) #do not modify
73
+ if type==WidgetEvent::MsLeft
74
+ if @acceptstickyfocus
75
+ stickFocus
76
+ end
77
+ onClick
78
+ elsif type==WidgetEvent::MsRight
79
+ onRightClick
80
+ else
81
+ onKeyPress(type)
82
+ end
83
+ end
84
+
85
+ def downevent(type)
86
+ if type==WidgetEvent::MsLeft
87
+ onMouseDown
88
+ elsif type==WidgetEvent::MsRight
89
+ onRightMouseDown
90
+ end
91
+ end
92
+
93
+ def feedText(char)
94
+ end
95
+ def onMouseDown
96
+ end
97
+ def onRightMouseDown
98
+ end
99
+ def onClick
100
+ end
101
+ def onRightClick
102
+ end
103
+ def onDrag(x1, y1, x2, y2)
104
+ end
105
+ def onRightDrag(x1, y1, x2, y2)
106
+ end
107
+ def onMouseOver
108
+ end
109
+ def onStickyFocus
110
+ end
111
+ def onMouseOut
112
+ end
113
+ def onStickyBlur
114
+ end
115
+ def onInitialize
116
+ end
117
+ def onDelete
118
+ end
119
+ def onKeyPress(key)
120
+ end
121
+
122
+ def stickFocus
123
+ $window.setStickyFocus(self)
124
+ end
125
+ def unstickFocus
126
+ $window.setStickyFocus(nil)
127
+ end
128
+
129
+ def intDraw
130
+ if not @sleeping
131
+ @theme.draw
132
+ draw
133
+ end
134
+ end
135
+
136
+ def draw
137
+ end
138
+
139
+ def sleep
140
+ if not @sleeping
141
+ if hasStickyFocus?
142
+ $window.setStickyFocus(nil)
143
+ end
144
+ @theme.setSleepState
145
+ @sleeping=true
146
+ end
147
+ end
148
+ def sleeping?
149
+ return @sleeping
150
+ end
151
+ def wakeUp
152
+ if @sleeping
153
+ @theme.setWakeState
154
+ @sleeping=false
155
+ end
156
+ end
157
+
158
+ def button
159
+ return Button.getButton(buttonId)
160
+ end
161
+
162
+ def del
163
+ onDelete
164
+ if $window.nil?
165
+ raise "Window assigned to nil" #Very strange bug. Should be dead by now. (This is just in case.)
166
+ return
167
+ end
168
+ $window.deleteWidget(self)
169
+ super
170
+ end
171
+ end
172
+
173
+ class WidgetEvent
174
+ MsLeft=0
175
+ MsRight=1
176
+ KeyUp=2
177
+ KeyDown=3
178
+ KeyLeft=4
179
+ KeyRight=5
180
+ KeyEscape=6
181
+ KeyEnter=7
182
+ KeyAlt=8
183
+ KeyControl=9
184
+ KeyShift=10
185
+ KeySpace=11
186
+ GpEnter=12
187
+ GpCancel=13
188
+ KeyText=14
189
+ KeyDelete=15
190
+ MsLeftDrag=16
191
+ MsRightDrag=17
192
+ end
193
+
194
+ WidgetTextCaps = {
195
+ ","=>"<",
196
+ "."=>">",
197
+ "/"=>"?",
198
+ "'"=>"\"",
199
+ ";"=>":",
200
+ "["=>"{",
201
+ "]"=>"}",
202
+ "\\"=>"|",
203
+ "="=>"+",
204
+ "-"=>"_",
205
+ "0"=>")",
206
+ "9"=>"(",
207
+ "8"=>"*",
208
+ "7"=>"&",
209
+ "6"=>"^",
210
+ "5"=>"%",
211
+ "4"=>"$",
212
+ "3"=>"#",
213
+ "2"=>"@",
214
+ "1"=>"!",
215
+ "`"=>"~"
216
+ }
217
+
206
218
  end #module GGLib