gglib 1.1.0 → 1.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +22 -0
- data/NEWS +75 -0
- data/TODO +5 -0
- data/{lib/examples → examples}/BasicExample.rb +70 -70
- data/examples/CheckBoxAndRadio.rb +54 -0
- data/{lib/examples → examples}/ConsoleDemo.rb +25 -25
- data/{lib/examples → examples}/FadeIn.rb +41 -39
- data/examples/README +1 -0
- data/{lib/examples → examples}/SplashScreen.rb +29 -29
- data/examples/img/bg.png +0 -0
- data/examples/img/bgblue.png +0 -0
- data/examples/img/bggray.png +0 -0
- data/examples/img/splash.png +0 -0
- data/lib/LICENSE +22 -0
- data/lib/NEWS +75 -0
- data/lib/TODO +5 -0
- data/lib/camera.rb +6 -6
- data/lib/carray.rb +70 -70
- data/lib/doc/classes/Camera.html +155 -0
- data/lib/doc/classes/Camera.src/M000012.html +19 -0
- data/lib/doc/classes/ConsoleDemoState.html +139 -0
- data/lib/doc/classes/ConsoleDemoState.src/M000008.html +19 -0
- data/lib/doc/classes/ConsoleDemoWindow.html +139 -0
- data/lib/doc/classes/ConsoleDemoWindow.src/M000013.html +20 -0
- data/lib/doc/classes/EndMenu.html +145 -0
- data/lib/doc/classes/EndMenu.src/M000010.html +19 -0
- data/lib/doc/classes/FadeExample.html +139 -0
- data/lib/doc/classes/FadeExample.src/M000009.html +20 -0
- data/lib/doc/classes/GGLib.html +196 -0
- data/lib/doc/classes/GGLib/Animation.html +287 -0
- data/lib/doc/classes/GGLib/Animation.src/M000235.html +27 -0
- data/lib/doc/classes/GGLib/Animation.src/M000236.html +18 -0
- data/lib/doc/classes/GGLib/Animation.src/M000237.html +24 -0
- data/lib/doc/classes/GGLib/Animation.src/M000238.html +18 -0
- data/lib/doc/classes/GGLib/Animation.src/M000239.html +20 -0
- data/lib/doc/classes/GGLib/Animation.src/M000240.html +19 -0
- data/lib/doc/classes/GGLib/Animation.src/M000241.html +47 -0
- data/lib/doc/classes/GGLib/Animation.src/M000242.html +18 -0
- data/lib/doc/classes/GGLib/Button.html +272 -0
- data/lib/doc/classes/GGLib/Button.src/M000187.html +22 -0
- data/lib/doc/classes/GGLib/Button.src/M000188.html +19 -0
- data/lib/doc/classes/GGLib/Button.src/M000189.html +19 -0
- data/lib/doc/classes/GGLib/Button.src/M000190.html +18 -0
- data/lib/doc/classes/GGLib/Button.src/M000191.html +23 -0
- data/lib/doc/classes/GGLib/Button.src/M000192.html +18 -0
- data/lib/doc/classes/GGLib/Button.src/M000193.html +18 -0
- data/lib/doc/classes/GGLib/Button.src/M000194.html +18 -0
- data/lib/doc/classes/GGLib/CArray.html +269 -0
- data/lib/doc/classes/GGLib/CArray.src/M000150.html +19 -0
- data/lib/doc/classes/GGLib/CArray.src/M000151.html +20 -0
- data/lib/doc/classes/GGLib/CArray.src/M000152.html +20 -0
- data/lib/doc/classes/GGLib/CArray.src/M000153.html +24 -0
- data/lib/doc/classes/GGLib/CArray.src/M000154.html +28 -0
- data/lib/doc/classes/GGLib/CArray.src/M000155.html +21 -0
- data/lib/doc/classes/GGLib/CArray.src/M000156.html +27 -0
- data/lib/doc/classes/GGLib/CArray.src/M000157.html +18 -0
- data/lib/doc/classes/GGLib/CArray.src/M000158.html +18 -0
- data/lib/doc/classes/GGLib/CheckBox.html +252 -0
- data/lib/doc/classes/GGLib/CheckBox.src/M000134.html +20 -0
- data/lib/doc/classes/GGLib/CheckBox.src/M000135.html +18 -0
- data/lib/doc/classes/GGLib/CheckBox.src/M000136.html +18 -0
- data/lib/doc/classes/GGLib/CheckBox.src/M000137.html +18 -0
- data/lib/doc/classes/GGLib/CheckBox.src/M000138.html +18 -0
- data/lib/doc/classes/GGLib/CheckBox.src/M000139.html +18 -0
- data/lib/doc/classes/GGLib/CheckBox.src/M000140.html +24 -0
- data/lib/doc/classes/GGLib/CheckBox.src/M000141.html +18 -0
- data/lib/doc/classes/GGLib/CheckBox/CheckedHk.html +165 -0
- data/lib/doc/classes/GGLib/CheckBox/CheckedHk.src/M000142.html +18 -0
- data/lib/doc/classes/GGLib/Cursor.html +252 -0
- data/lib/doc/classes/GGLib/Cursor.src/M000143.html +21 -0
- data/lib/doc/classes/GGLib/Cursor.src/M000144.html +20 -0
- data/lib/doc/classes/GGLib/Cursor.src/M000145.html +19 -0
- data/lib/doc/classes/GGLib/Cursor.src/M000146.html +18 -0
- data/lib/doc/classes/GGLib/Cursor.src/M000147.html +18 -0
- data/lib/doc/classes/GGLib/Cursor.src/M000148.html +20 -0
- data/lib/doc/classes/GGLib/Cursor.src/M000149.html +20 -0
- data/lib/doc/classes/GGLib/DebugConsole.html +321 -0
- data/lib/doc/classes/GGLib/DebugConsole.src/M000260.html +23 -0
- data/lib/doc/classes/GGLib/DebugConsole.src/M000261.html +61 -0
- data/lib/doc/classes/GGLib/DebugConsole.src/M000262.html +18 -0
- data/lib/doc/classes/GGLib/DebugConsole.src/M000263.html +25 -0
- data/lib/doc/classes/GGLib/DebugConsole.src/M000264.html +34 -0
- data/lib/doc/classes/GGLib/DebugConsole.src/M000265.html +24 -0
- data/lib/doc/classes/GGLib/DebugConsole.src/M000266.html +21 -0
- data/lib/doc/classes/GGLib/DebugConsole.src/M000267.html +23 -0
- data/lib/doc/classes/GGLib/DebugConsole.src/M000268.html +18 -0
- data/lib/doc/classes/GGLib/DebugConsole.src/M000269.html +18 -0
- data/lib/doc/classes/GGLib/DebugConsole.src/M000270.html +18 -0
- data/lib/doc/classes/GGLib/DebugConsole.src/M000271.html +18 -0
- data/lib/doc/classes/GGLib/DebugConsole.src/M000272.html +22 -0
- data/lib/doc/classes/GGLib/DrawnTheme.html +214 -0
- data/lib/doc/classes/GGLib/DrawnTheme.src/M000274.html +19 -0
- data/lib/doc/classes/GGLib/DrawnTheme.src/M000275.html +18 -0
- data/lib/doc/classes/GGLib/DrawnTheme.src/M000276.html +18 -0
- data/lib/doc/classes/GGLib/DrawnTheme.src/M000277.html +18 -0
- data/lib/doc/classes/GGLib/DrawnTheme.src/M000278.html +17 -0
- data/lib/doc/classes/GGLib/DrawnThemeInstance.html +139 -0
- data/lib/doc/classes/GGLib/DrawnThemeInstance.src/M000273.html +18 -0
- data/lib/doc/classes/GGLib/FadeScreen.html +220 -0
- data/lib/doc/classes/GGLib/FadeScreen.src/M000227.html +23 -0
- data/lib/doc/classes/GGLib/FadeScreen.src/M000228.html +18 -0
- data/lib/doc/classes/GGLib/FadeScreen.src/M000229.html +19 -0
- data/lib/doc/classes/GGLib/FadeScreen.src/M000230.html +29 -0
- data/lib/doc/classes/GGLib/FadeScreen.src/M000231.html +21 -0
- data/lib/doc/classes/GGLib/FadeScreen/FadeIn.html +169 -0
- data/lib/doc/classes/GGLib/FadeScreen/FadeIn.src/M000232.html +25 -0
- data/lib/doc/classes/GGLib/FadeScreen/FadeIn.src/M000233.html +26 -0
- data/lib/doc/classes/GGLib/FadeScreen/FadeIn.src/M000234.html +21 -0
- data/lib/doc/classes/GGLib/GUIWindow.html +633 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000034.html +35 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000035.html +20 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000036.html +18 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000037.html +18 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000038.html +20 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000039.html +20 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000040.html +18 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000041.html +18 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000042.html +19 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000043.html +19 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000044.html +20 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000045.html +20 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000046.html +21 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000047.html +18 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000048.html +18 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000049.html +18 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000050.html +19 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000051.html +21 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000052.html +18 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000053.html +18 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000054.html +19 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000055.html +22 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000056.html +20 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000057.html +18 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000058.html +25 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000059.html +24 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000060.html +18 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000061.html +18 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000062.html +37 -0
- data/lib/doc/classes/GGLib/GUIWindow.src/M000063.html +23 -0
- data/lib/doc/classes/GGLib/Image.html +227 -0
- data/lib/doc/classes/GGLib/Image.src/M000180.html +24 -0
- data/lib/doc/classes/GGLib/Image.src/M000181.html +18 -0
- data/lib/doc/classes/GGLib/Image.src/M000182.html +20 -0
- data/lib/doc/classes/GGLib/Image.src/M000183.html +18 -0
- data/lib/doc/classes/GGLib/ImageTheme.html +184 -0
- data/lib/doc/classes/GGLib/ImageTheme.src/M000185.html +22 -0
- data/lib/doc/classes/GGLib/ImageTheme.src/M000186.html +18 -0
- data/lib/doc/classes/GGLib/ImageThemeInstance.html +246 -0
- data/lib/doc/classes/GGLib/ImageThemeInstance.src/M000126.html +19 -0
- data/lib/doc/classes/GGLib/ImageThemeInstance.src/M000127.html +26 -0
- data/lib/doc/classes/GGLib/ImageThemeInstance.src/M000128.html +19 -0
- data/lib/doc/classes/GGLib/ImageThemeInstance.src/M000129.html +19 -0
- data/lib/doc/classes/GGLib/ImageThemeInstance.src/M000130.html +19 -0
- data/lib/doc/classes/GGLib/ImageThemeInstance.src/M000131.html +20 -0
- data/lib/doc/classes/GGLib/ImageThemeInstance.src/M000132.html +19 -0
- data/lib/doc/classes/GGLib/ImageThemeInstance.src/M000133.html +18 -0
- data/lib/doc/classes/GGLib/Label.html +169 -0
- data/lib/doc/classes/GGLib/Label.src/M000091.html +19 -0
- data/lib/doc/classes/GGLib/Label.src/M000092.html +18 -0
- data/lib/doc/classes/GGLib/MapImage.html +219 -0
- data/lib/doc/classes/GGLib/MapImage.src/M000285.html +19 -0
- data/lib/doc/classes/GGLib/MapImage.src/M000286.html +22 -0
- data/lib/doc/classes/GGLib/MapImage.src/M000287.html +22 -0
- data/lib/doc/classes/GGLib/MapImage.src/M000288.html +18 -0
- data/lib/doc/classes/GGLib/MenuBase.html +154 -0
- data/lib/doc/classes/GGLib/MenuBase.src/M000159.html +22 -0
- data/lib/doc/classes/GGLib/MenuBase.src/M000160.html +18 -0
- data/lib/doc/classes/GGLib/MouseDragEvent.html +237 -0
- data/lib/doc/classes/GGLib/MouseDragEvent.src/M000171.html +21 -0
- data/lib/doc/classes/GGLib/MouseDragEvent.src/M000172.html +19 -0
- data/lib/doc/classes/GGLib/MouseDragEvent.src/M000173.html +19 -0
- data/lib/doc/classes/GGLib/MouseDragEvent.src/M000174.html +19 -0
- data/lib/doc/classes/GGLib/MouseDragEvent.src/M000175.html +18 -0
- data/lib/doc/classes/GGLib/RadioButton.html +270 -0
- data/lib/doc/classes/GGLib/RadioButton.src/M000082.html +22 -0
- data/lib/doc/classes/GGLib/RadioButton.src/M000083.html +18 -0
- data/lib/doc/classes/GGLib/RadioButton.src/M000084.html +18 -0
- data/lib/doc/classes/GGLib/RadioButton.src/M000085.html +18 -0
- data/lib/doc/classes/GGLib/RadioButton.src/M000086.html +18 -0
- data/lib/doc/classes/GGLib/RadioButton.src/M000087.html +18 -0
- data/lib/doc/classes/GGLib/RadioButton.src/M000088.html +32 -0
- data/lib/doc/classes/GGLib/RadioButton.src/M000089.html +18 -0
- data/lib/doc/classes/GGLib/RadioButton/CheckedHk.html +165 -0
- data/lib/doc/classes/GGLib/RadioButton/CheckedHk.src/M000090.html +18 -0
- data/lib/doc/classes/GGLib/RadioGroup.html +238 -0
- data/lib/doc/classes/GGLib/RadioGroup.src/M000243.html +37 -0
- data/lib/doc/classes/GGLib/RadioGroup.src/M000244.html +19 -0
- data/lib/doc/classes/GGLib/RadioGroup.src/M000245.html +20 -0
- data/lib/doc/classes/GGLib/RadioGroup.src/M000246.html +19 -0
- data/lib/doc/classes/GGLib/RadioGroup.src/M000247.html +21 -0
- data/lib/doc/classes/GGLib/RadioGroup.src/M000248.html +18 -0
- data/lib/doc/classes/GGLib/RadioGroup.src/M000249.html +18 -0
- data/lib/doc/classes/GGLib/RadioGroup/Layout.html +123 -0
- data/lib/doc/classes/GGLib/RadioGroup/Spacing.html +123 -0
- data/lib/doc/classes/GGLib/SplashScreen.html +207 -0
- data/lib/doc/classes/GGLib/SplashScreen.src/M000077.html +21 -0
- data/lib/doc/classes/GGLib/SplashScreen.src/M000078.html +18 -0
- data/lib/doc/classes/GGLib/SplashScreen.src/M000079.html +18 -0
- data/lib/doc/classes/GGLib/SplashScreen.src/M000080.html +30 -0
- data/lib/doc/classes/GGLib/SplashScreen.src/M000081.html +18 -0
- data/lib/doc/classes/GGLib/StateObject.html +314 -0
- data/lib/doc/classes/GGLib/StateObject.src/M000161.html +20 -0
- data/lib/doc/classes/GGLib/StateObject.src/M000162.html +23 -0
- data/lib/doc/classes/GGLib/StateObject.src/M000163.html +18 -0
- data/lib/doc/classes/GGLib/StateObject.src/M000164.html +18 -0
- data/lib/doc/classes/GGLib/StateObject.src/M000165.html +17 -0
- data/lib/doc/classes/GGLib/StateObject.src/M000166.html +18 -0
- data/lib/doc/classes/GGLib/StateObject.src/M000167.html +17 -0
- data/lib/doc/classes/GGLib/StateObject.src/M000168.html +17 -0
- data/lib/doc/classes/GGLib/StateObject.src/M000169.html +17 -0
- data/lib/doc/classes/GGLib/StateObject.src/M000170.html +17 -0
- data/lib/doc/classes/GGLib/TextBox.html +304 -0
- data/lib/doc/classes/GGLib/TextBox.src/M000250.html +32 -0
- data/lib/doc/classes/GGLib/TextBox.src/M000251.html +18 -0
- data/lib/doc/classes/GGLib/TextBox.src/M000252.html +18 -0
- data/lib/doc/classes/GGLib/TextBox.src/M000253.html +18 -0
- data/lib/doc/classes/GGLib/TextBox.src/M000254.html +19 -0
- data/lib/doc/classes/GGLib/TextBox.src/M000255.html +19 -0
- data/lib/doc/classes/GGLib/TextBox.src/M000256.html +18 -0
- data/lib/doc/classes/GGLib/TextBox.src/M000257.html +18 -0
- data/lib/doc/classes/GGLib/TextBox.src/M000258.html +19 -0
- data/lib/doc/classes/GGLib/TextBox.src/M000259.html +37 -0
- data/lib/doc/classes/GGLib/Texture.html +239 -0
- data/lib/doc/classes/GGLib/Texture.src/M000176.html +26 -0
- data/lib/doc/classes/GGLib/Texture.src/M000177.html +18 -0
- data/lib/doc/classes/GGLib/Texture.src/M000178.html +18 -0
- data/lib/doc/classes/GGLib/Texture.src/M000179.html +18 -0
- data/lib/doc/classes/GGLib/Theme.html +235 -0
- data/lib/doc/classes/GGLib/Theme.src/M000279.html +17 -0
- data/lib/doc/classes/GGLib/Theme.src/M000280.html +17 -0
- data/lib/doc/classes/GGLib/Theme.src/M000281.html +17 -0
- data/lib/doc/classes/GGLib/Theme.src/M000282.html +17 -0
- data/lib/doc/classes/GGLib/Theme.src/M000283.html +17 -0
- data/lib/doc/classes/GGLib/Theme.src/M000284.html +18 -0
- data/lib/doc/classes/GGLib/ThemeFontGroup.html +170 -0
- data/lib/doc/classes/GGLib/ThemeFontGroup.src/M000064.html +22 -0
- data/lib/doc/classes/GGLib/ThemeImageGroup.html +160 -0
- data/lib/doc/classes/GGLib/ThemeImageGroup.src/M000184.html +20 -0
- data/lib/doc/classes/GGLib/ThemeInstance.html +304 -0
- data/lib/doc/classes/GGLib/ThemeInstance.src/M000065.html +25 -0
- data/lib/doc/classes/GGLib/ThemeInstance.src/M000066.html +21 -0
- data/lib/doc/classes/GGLib/ThemeInstance.src/M000067.html +18 -0
- data/lib/doc/classes/GGLib/ThemeInstance.src/M000068.html +18 -0
- data/lib/doc/classes/GGLib/ThemeInstance.src/M000069.html +18 -0
- data/lib/doc/classes/GGLib/ThemeInstance.src/M000070.html +17 -0
- data/lib/doc/classes/GGLib/ThemeInstance.src/M000071.html +18 -0
- data/lib/doc/classes/GGLib/ThemeInstance.src/M000072.html +18 -0
- data/lib/doc/classes/GGLib/ThemeInstance.src/M000073.html +18 -0
- data/lib/doc/classes/GGLib/ThemeInstance.src/M000074.html +18 -0
- data/lib/doc/classes/GGLib/ThemeInstance.src/M000075.html +18 -0
- data/lib/doc/classes/GGLib/ThemeInstance.src/M000076.html +17 -0
- data/lib/doc/classes/GGLib/Themes.html +164 -0
- data/lib/doc/classes/GGLib/Themes.src/M000014.html +30 -0
- data/lib/doc/classes/GGLib/Themes.src/M000015.html +30 -0
- data/lib/doc/classes/GGLib/Themes/BlueSteelTheme.html +154 -0
- data/lib/doc/classes/GGLib/Themes/BlueSteelTheme.src/M000023.html +24 -0
- data/lib/doc/classes/GGLib/Themes/BlueSteelTheme.src/M000024.html +94 -0
- data/lib/doc/classes/GGLib/Themes/RubygooLabelTheme.html +137 -0
- data/lib/doc/classes/GGLib/Themes/RubygooLabelTheme.src/M000019.html +25 -0
- data/lib/doc/classes/GGLib/Themes/RubygooTextTheme.html +154 -0
- data/lib/doc/classes/GGLib/Themes/RubygooTextTheme.src/M000025.html +25 -0
- data/lib/doc/classes/GGLib/Themes/RubygooTextTheme.src/M000026.html +26 -0
- data/lib/doc/classes/GGLib/Themes/RubygooTheme.html +169 -0
- data/lib/doc/classes/GGLib/Themes/RubygooTheme.src/M000020.html +25 -0
- data/lib/doc/classes/GGLib/Themes/RubygooTheme.src/M000021.html +27 -0
- data/lib/doc/classes/GGLib/Themes/RubygooTheme.src/M000022.html +24 -0
- data/lib/doc/classes/GGLib/Themes/ShadeCheckGenCTheme.html +154 -0
- data/lib/doc/classes/GGLib/Themes/ShadeCheckGenCTheme.src/M000027.html +25 -0
- data/lib/doc/classes/GGLib/Themes/ShadeCheckGenCTheme.src/M000028.html +28 -0
- data/lib/doc/classes/GGLib/Themes/ShadeCheckGenTheme.html +154 -0
- data/lib/doc/classes/GGLib/Themes/ShadeCheckGenTheme.src/M000016.html +25 -0
- data/lib/doc/classes/GGLib/Themes/ShadeCheckGenTheme.src/M000017.html +30 -0
- data/lib/doc/classes/GGLib/Themes/ShadeLabelTheme.html +137 -0
- data/lib/doc/classes/GGLib/Themes/ShadeLabelTheme.src/M000018.html +25 -0
- data/lib/doc/classes/GGLib/Themes/ShadeTheme.html +169 -0
- data/lib/doc/classes/GGLib/Themes/ShadeTheme.src/M000031.html +25 -0
- data/lib/doc/classes/GGLib/Themes/ShadeTheme.src/M000032.html +30 -0
- data/lib/doc/classes/GGLib/Themes/ShadeTheme.src/M000033.html +26 -0
- data/lib/doc/classes/GGLib/Themes/WindowsTheme.html +154 -0
- data/lib/doc/classes/GGLib/Themes/WindowsTheme.src/M000029.html +24 -0
- data/lib/doc/classes/GGLib/Themes/WindowsTheme.src/M000030.html +94 -0
- data/lib/doc/classes/GGLib/Tile.html +568 -0
- data/lib/doc/classes/GGLib/Tile.src/M000105.html +34 -0
- data/lib/doc/classes/GGLib/Tile.src/M000106.html +22 -0
- data/lib/doc/classes/GGLib/Tile.src/M000108.html +18 -0
- data/lib/doc/classes/GGLib/Tile.src/M000109.html +18 -0
- data/lib/doc/classes/GGLib/Tile.src/M000110.html +21 -0
- data/lib/doc/classes/GGLib/Tile.src/M000111.html +23 -0
- data/lib/doc/classes/GGLib/Tile.src/M000112.html +18 -0
- data/lib/doc/classes/GGLib/Tile.src/M000113.html +18 -0
- data/lib/doc/classes/GGLib/Tile.src/M000114.html +18 -0
- data/lib/doc/classes/GGLib/Tile.src/M000115.html +18 -0
- data/lib/doc/classes/GGLib/Tile.src/M000116.html +22 -0
- data/lib/doc/classes/GGLib/Tile.src/M000117.html +32 -0
- data/lib/doc/classes/GGLib/Tile.src/M000118.html +18 -0
- data/lib/doc/classes/GGLib/Tile.src/M000119.html +18 -0
- data/lib/doc/classes/GGLib/Tile.src/M000120.html +22 -0
- data/lib/doc/classes/GGLib/Tile.src/M000121.html +24 -0
- data/lib/doc/classes/GGLib/Tile.src/M000122.html +18 -0
- data/lib/doc/classes/GGLib/Tile.src/M000123.html +18 -0
- data/lib/doc/classes/GGLib/Tile.src/M000124.html +18 -0
- data/lib/doc/classes/GGLib/Tile.src/M000125.html +19 -0
- data/lib/doc/classes/GGLib/TracePanel.html +306 -0
- data/lib/doc/classes/GGLib/TracePanel.src/M000093.html +19 -0
- data/lib/doc/classes/GGLib/TracePanel.src/M000094.html +22 -0
- data/lib/doc/classes/GGLib/TracePanel.src/M000095.html +19 -0
- data/lib/doc/classes/GGLib/TracePanel.src/M000096.html +20 -0
- data/lib/doc/classes/GGLib/TracePanel.src/M000097.html +18 -0
- data/lib/doc/classes/GGLib/TracePanel.src/M000098.html +18 -0
- data/lib/doc/classes/GGLib/TracePanel.src/M000099.html +18 -0
- data/lib/doc/classes/GGLib/TracePanel.src/M000100.html +18 -0
- data/lib/doc/classes/GGLib/TracePanel.src/M000101.html +21 -0
- data/lib/doc/classes/GGLib/TracePanel.src/M000102.html +22 -0
- data/lib/doc/classes/GGLib/TracePanel.src/M000103.html +18 -0
- data/lib/doc/classes/GGLib/TracePanel.src/M000104.html +22 -0
- data/lib/doc/classes/GGLib/Widget.html +687 -0
- data/lib/doc/classes/GGLib/Widget.src/M000195.html +25 -0
- data/lib/doc/classes/GGLib/Widget.src/M000196.html +22 -0
- data/lib/doc/classes/GGLib/Widget.src/M000197.html +22 -0
- data/lib/doc/classes/GGLib/Widget.src/M000198.html +20 -0
- data/lib/doc/classes/GGLib/Widget.src/M000199.html +18 -0
- data/lib/doc/classes/GGLib/Widget.src/M000200.html +18 -0
- data/lib/doc/classes/GGLib/Widget.src/M000201.html +22 -0
- data/lib/doc/classes/GGLib/Widget.src/M000202.html +27 -0
- data/lib/doc/classes/GGLib/Widget.src/M000203.html +22 -0
- data/lib/doc/classes/GGLib/Widget.src/M000204.html +17 -0
- data/lib/doc/classes/GGLib/Widget.src/M000205.html +17 -0
- data/lib/doc/classes/GGLib/Widget.src/M000206.html +17 -0
- data/lib/doc/classes/GGLib/Widget.src/M000207.html +17 -0
- data/lib/doc/classes/GGLib/Widget.src/M000208.html +17 -0
- data/lib/doc/classes/GGLib/Widget.src/M000209.html +17 -0
- data/lib/doc/classes/GGLib/Widget.src/M000210.html +17 -0
- data/lib/doc/classes/GGLib/Widget.src/M000211.html +17 -0
- data/lib/doc/classes/GGLib/Widget.src/M000212.html +17 -0
- data/lib/doc/classes/GGLib/Widget.src/M000213.html +17 -0
- data/lib/doc/classes/GGLib/Widget.src/M000214.html +17 -0
- data/lib/doc/classes/GGLib/Widget.src/M000215.html +17 -0
- data/lib/doc/classes/GGLib/Widget.src/M000216.html +17 -0
- data/lib/doc/classes/GGLib/Widget.src/M000217.html +17 -0
- data/lib/doc/classes/GGLib/Widget.src/M000218.html +18 -0
- data/lib/doc/classes/GGLib/Widget.src/M000219.html +18 -0
- data/lib/doc/classes/GGLib/Widget.src/M000220.html +21 -0
- data/lib/doc/classes/GGLib/Widget.src/M000221.html +17 -0
- data/lib/doc/classes/GGLib/Widget.src/M000222.html +24 -0
- data/lib/doc/classes/GGLib/Widget.src/M000223.html +18 -0
- data/lib/doc/classes/GGLib/Widget.src/M000224.html +21 -0
- data/lib/doc/classes/GGLib/Widget.src/M000225.html +18 -0
- data/lib/doc/classes/GGLib/Widget.src/M000226.html +24 -0
- data/lib/doc/classes/GGLib/WidgetEvent.html +209 -0
- data/lib/doc/classes/GGLib/ZOrder.html +209 -0
- data/lib/doc/classes/MyGUIWindow.html +139 -0
- data/lib/doc/classes/MyGUIWindow.src/M000011.html +26 -0
- data/lib/doc/classes/MySplashScreen.html +171 -0
- data/lib/doc/classes/MySplashScreen.src/M000005.html +18 -0
- data/lib/doc/classes/MySplashScreen.src/M000006.html +21 -0
- data/lib/doc/classes/MySplashScreen.src/M000007.html +21 -0
- data/lib/doc/classes/MyStateObj.html +191 -0
- data/lib/doc/classes/MyStateObj.src/M000001.html +19 -0
- data/lib/doc/classes/MyStateObj.src/M000002.html +29 -0
- data/lib/doc/classes/MyStateObj.src/M000003.html +18 -0
- data/lib/doc/classes/StartMenu.html +145 -0
- data/lib/doc/classes/StartMenu.src/M000004.html +19 -0
- data/lib/doc/created.rid +1 -0
- data/lib/doc/files/gglib/camera_rb.html +101 -0
- data/lib/doc/files/gglib/carray_rb.html +101 -0
- data/lib/doc/files/gglib/examples/BasicExample_rb.html +112 -0
- data/lib/doc/files/gglib/examples/ConsoleDemo_rb.html +112 -0
- data/lib/doc/files/gglib/examples/FadeIn_rb.html +111 -0
- data/lib/doc/files/gglib/examples/SplashScreen_rb.html +112 -0
- data/lib/doc/files/gglib/ext/menus_rb.html +101 -0
- data/lib/doc/files/gglib/ext/splash_rb.html +101 -0
- data/lib/doc/files/gglib/ext/themes_rb.html +101 -0
- data/lib/doc/files/gglib/ext/widgets_rb.html +101 -0
- data/lib/doc/files/gglib/gglib_rb.html +101 -0
- data/lib/doc/files/gglib/image_rb.html +101 -0
- data/lib/doc/files/gglib/mouse_rb.html +101 -0
- data/lib/doc/files/gglib/null_rb.html +107 -0
- data/lib/doc/files/gglib/state_rb.html +101 -0
- data/lib/doc/files/gglib/theme_rb.html +101 -0
- data/lib/doc/files/gglib/tile_rb.html +101 -0
- data/lib/doc/files/gglib/widget_rb.html +101 -0
- data/lib/doc/files/gglib/window_rb.html +101 -0
- data/lib/doc/fr_class_index.html +83 -0
- data/lib/doc/fr_file_index.html +45 -0
- data/lib/doc/fr_method_index.html +314 -0
- data/lib/doc/index.html +24 -0
- data/lib/doc/rdoc-style.css +208 -0
- data/lib/ext/splash.rb +41 -41
- data/lib/ext/themes.rb +422 -158
- data/lib/ext/widgets.rb +527 -348
- data/lib/gglib.rb +12 -12
- data/lib/image.rb +176 -176
- data/lib/media/black.bmp +0 -0
- data/lib/media/bluesteel/button/button.png +0 -0
- data/lib/media/bluesteel/button/buttondown.png +0 -0
- data/lib/media/bluesteel/button/buttonup.png +0 -0
- data/lib/media/bluesteel/checkbox/checkbox.png +0 -0
- data/lib/media/bluesteel/checkbox/checkboxc.png +0 -0
- data/lib/media/bluesteel/checkbox/checkboxcdown.png +0 -0
- data/lib/media/bluesteel/checkbox/checkboxcup.png +0 -0
- data/lib/media/bluesteel/checkbox/checkboxdown.png +0 -0
- data/lib/media/bluesteel/checkbox/checkboxup.png +0 -0
- data/lib/media/bluesteel/generic/menularge.png +0 -0
- data/lib/media/bluesteel/generic/menumed.png +0 -0
- data/lib/media/bluesteel/generic/menusmall.png +0 -0
- data/lib/media/bluesteel/radio/radiobtn.png +0 -0
- data/lib/media/bluesteel/radio/radiobtnc.png +0 -0
- data/lib/media/bluesteel/radio/radiobtncdown.png +0 -0
- data/lib/media/bluesteel/radio/radiobtncup.png +0 -0
- data/lib/media/bluesteel/radio/radiobtndown.png +0 -0
- data/lib/media/bluesteel/radio/radiobtnup.png +0 -0
- data/lib/media/bluesteel/textbox/textbox.png +0 -0
- data/lib/media/bluesteel/textbox/textboxactive.png +0 -0
- data/lib/media/cursor.bmp +0 -0
- data/lib/media/windows/button/button - Copy.png +0 -0
- data/lib/media/windows/button/button.png +0 -0
- data/lib/media/windows/button/buttondown.png +0 -0
- data/lib/media/windows/button/buttonup.png +0 -0
- data/lib/media/windows/checkbox/checkbox.png +0 -0
- data/lib/media/windows/checkbox/checkboxc.png +0 -0
- data/lib/media/windows/checkbox/checkboxcdown.png +0 -0
- data/lib/media/windows/checkbox/checkboxcup.png +0 -0
- data/lib/media/windows/checkbox/checkboxdown.png +0 -0
- data/lib/media/windows/checkbox/checkboxup.png +0 -0
- data/lib/media/windows/generic/menusmall.png +0 -0
- data/lib/media/windows/radio/radiobtn.png +0 -0
- data/lib/media/windows/radio/radiobtnc.png +0 -0
- data/lib/media/windows/radio/radiobtncdown.png +0 -0
- data/lib/media/windows/radio/radiobtncup.png +0 -0
- data/lib/media/windows/radio/radiobtndown.png +0 -0
- data/lib/media/windows/radio/radiobtnup.png +0 -0
- data/lib/media/windows/textbox/textbox.png +0 -0
- data/lib/media/windows/textbox/textboxup.png +0 -0
- data/lib/mouse.rb +62 -62
- data/lib/null.bmp +0 -0
- data/lib/null.png +0 -0
- data/lib/state.rb +136 -136
- data/lib/theme.rb +204 -204
- data/lib/tile.rb +169 -169
- data/lib/widget.rb +217 -205
- data/lib/window.rb +333 -324
- metadata +523 -21
- data/gemspec.txt +0 -15
- data/gglib-1.1.tar.gz +0 -0
- data/gglib.gemspec +0 -15
- data/gglib.tar +0 -0
data/lib/ext/widgets.rb
CHANGED
@@ -1,349 +1,528 @@
|
|
1
|
-
module GGLib
|
2
|
-
|
3
|
-
class DebugConsole < Widget
|
4
|
-
@@allow=false
|
5
|
-
def initialize(name="unnamed", theme=Themes::blank)
|
6
|
-
super(name, 0, 0, 640, 480, theme)
|
7
|
-
@vline=0
|
8
|
-
@oldtext=[]
|
9
|
-
@textm=false
|
10
|
-
clear
|
11
|
-
stickFocus
|
12
|
-
end
|
13
|
-
def onKeyPress(key)
|
14
|
-
if key==WidgetEvent::KeyDelete
|
15
|
-
thisline=@text[@line]
|
16
|
-
if @textm and thisline.length>0
|
17
|
-
@text[@line]=thisline.slice(0,thisline.length-1)
|
18
|
-
elsif thisline.length>3
|
19
|
-
@text[@line]=thisline.slice(0,thisline.length-1)
|
20
|
-
end
|
21
|
-
elsif key==WidgetEvent::KeySpace
|
22
|
-
@text[@line]+=" "
|
23
|
-
elsif key==WidgetEvent::KeyEscape
|
24
|
-
sleep
|
25
|
-
elsif key==WidgetEvent::KeyEnter
|
26
|
-
if @textm
|
27
|
-
if @text[@line]=="/endtext"
|
28
|
-
@textm=false
|
29
|
-
@line+=1
|
30
|
-
@text[@line]=">> "
|
31
|
-
else
|
32
|
-
@line+=1
|
33
|
-
@text[@line]=""
|
34
|
-
end
|
35
|
-
return
|
36
|
-
end
|
37
|
-
@oldtext.push @text[@line]
|
38
|
-
cmd=@text[@line].slice(3,@text[@line].length-3)
|
39
|
-
if cmd.slice(cmd.size-3,3)=="/nl"
|
40
|
-
@text[@line]=@text[@line].slice(0,@text[@line].length-3)
|
41
|
-
@text[@line+1]="|> "
|
42
|
-
@line+=1
|
43
|
-
else
|
44
|
-
runcmd(cmd)
|
45
|
-
end
|
46
|
-
@vline=@oldtext.size
|
47
|
-
elsif key==WidgetEvent::KeyUp
|
48
|
-
if @vline-1 >= 0 and
|
49
|
-
@vline-=1
|
50
|
-
@text[@line]=@oldtext[@vline]
|
51
|
-
end
|
52
|
-
elsif key==WidgetEvent::KeyDown
|
53
|
-
if @vline+1 < @oldtext.size and
|
54
|
-
@vline+=1
|
55
|
-
@text[@line]=@oldtext[@vline]
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
def feedText(char)
|
60
|
-
@text[@line]+=char.to_s unless char=="`"
|
61
|
-
end
|
62
|
-
def justify(ln)
|
63
|
-
fin=""
|
64
|
-
size=ln.size
|
65
|
-
while ln.size>70
|
66
|
-
fin+=ln.slice(0,70)+"\fNL"
|
67
|
-
ln=ln.slice(70,ln.size)
|
68
|
-
end
|
69
|
-
fin+=ln.to_s
|
70
|
-
return fin
|
71
|
-
end
|
72
|
-
def respond(text)
|
73
|
-
text=text.to_s
|
74
|
-
@line+=1
|
75
|
-
if text==""
|
76
|
-
text="<no output>"
|
77
|
-
end
|
78
|
-
text=justify(text) if text.index("\fNL")==nil
|
79
|
-
text=text.split("\fNL")
|
80
|
-
mult=false
|
81
|
-
text.each { |ln|
|
82
|
-
if ln.slice(0,4)=="\fERR"
|
83
|
-
@text[@line]="!> "+ln.strip
|
84
|
-
else
|
85
|
-
@text[@line]="^> "+ln
|
86
|
-
end
|
87
|
-
@line+=1
|
88
|
-
@text[@line]=">> "
|
89
|
-
}
|
90
|
-
end
|
91
|
-
def clear
|
92
|
-
@text=[]
|
93
|
-
@text[0]="CONSOLE"
|
94
|
-
@text[1]="#########"
|
95
|
-
@text[2]="<Press ` (backquote) or enter '/exit' to exit>"
|
96
|
-
@text[3]=">> "
|
97
|
-
@line=3
|
98
|
-
@vline=@oldtext.size-1
|
99
|
-
end
|
100
|
-
private
|
101
|
-
def runcmd(cmd)
|
102
|
-
if cmd.slice(0,1)=="/"
|
103
|
-
if cmd=="/exit"
|
104
|
-
sleep
|
105
|
-
return
|
106
|
-
elsif cmd=="/clear"
|
107
|
-
clear
|
108
|
-
return
|
109
|
-
elsif cmd=="/help"
|
110
|
-
respond("Enter a Ruby command to execute it\fNLEnter '/' followed by a word to execute a console command\fNLFor a list of console commands, enter '/list'")
|
111
|
-
return
|
112
|
-
elsif cmd=="/list"
|
113
|
-
respond("/clear\fNL/clearhist\fNL/endtext\fNL/exit\fNL/help\fNL/hist\fNL/list\fNL/text")
|
114
|
-
return
|
115
|
-
elsif cmd=="/hist"
|
116
|
-
resp=""
|
117
|
-
@oldtext.each { |item|
|
118
|
-
resp+="\fNL"
|
119
|
-
resp+=item
|
120
|
-
}
|
121
|
-
respond(resp)
|
122
|
-
return
|
123
|
-
elsif cmd=="/text"
|
124
|
-
@textm=true
|
125
|
-
@line+=1
|
126
|
-
@text[@line]=""
|
127
|
-
return
|
128
|
-
elsif cmd=="/clearhist"
|
129
|
-
@oldtext=[]
|
130
|
-
@vline=0
|
131
|
-
return
|
132
|
-
end
|
133
|
-
return
|
134
|
-
end
|
135
|
-
output=eval("begin\n"+cmd+"\nrescue\n'\fERR: '+$@[0]+': '+$!\nend",TOPLEVEL_BINDING)
|
136
|
-
respond(output)
|
137
|
-
end
|
138
|
-
public
|
139
|
-
def sleep
|
140
|
-
@text=[]
|
141
|
-
@line=0
|
142
|
-
@vline=0
|
143
|
-
super
|
144
|
-
end
|
145
|
-
def wakeUp
|
146
|
-
@oldtext=[]
|
147
|
-
@vline=0
|
148
|
-
@text=false
|
149
|
-
clear
|
150
|
-
stickFocus
|
151
|
-
super
|
152
|
-
end
|
153
|
-
def onStickyFocus
|
154
|
-
$window.setTextInput(@textinput)
|
155
|
-
end
|
156
|
-
def onStickyBlur
|
157
|
-
$window.setTextInput(nil)
|
158
|
-
end
|
159
|
-
def DebugConsole.enabled=(bool)
|
160
|
-
@@allow=bool
|
161
|
-
end
|
162
|
-
def DebugConsole.enabled
|
163
|
-
return @@allow
|
164
|
-
end
|
165
|
-
def draw
|
166
|
-
i=0
|
167
|
-
@text.each {|line|
|
168
|
-
@theme.font.default.draw(line, 10, 10+i*@theme.font.default.height, ZOrder::Text, 1.0, 1.0, 0xffffffff)
|
169
|
-
i+=1
|
170
|
-
}
|
171
|
-
end
|
172
|
-
end
|
173
|
-
|
174
|
-
class TracePanel < Widget
|
175
|
-
@@allow=false
|
176
|
-
def initialize(name)
|
177
|
-
super(name, 0,0,640,60, Themes::tracePanel)
|
178
|
-
clear
|
179
|
-
end
|
180
|
-
def onKeyPress(key)
|
181
|
-
if key==WidgetEvent::KeyDelete
|
182
|
-
sleep
|
183
|
-
elsif key==WidgetEvent::KeyEnter
|
184
|
-
clear
|
185
|
-
end
|
186
|
-
end
|
187
|
-
def sput(text)
|
188
|
-
@line+=1
|
189
|
-
@text[@line]=text.to_s
|
190
|
-
end
|
191
|
-
def put(text)
|
192
|
-
@line+=1
|
193
|
-
@text[@line]=text.to_s
|
194
|
-
wakeUp
|
195
|
-
end
|
196
|
-
def <<(text)
|
197
|
-
sput(text)
|
198
|
-
end
|
199
|
-
def *(nullarg=nil)
|
200
|
-
wakeUp
|
201
|
-
end
|
202
|
-
def ~()
|
203
|
-
sleep
|
204
|
-
end
|
205
|
-
def pause
|
206
|
-
gets
|
207
|
-
end
|
208
|
-
def clear
|
209
|
-
@text=[]
|
210
|
-
@text[0]="TRACE OUTPUT"
|
211
|
-
@text[1]="Press DELETE to close, ENTER to clear. (Click to activate.)"
|
212
|
-
@line=2
|
213
|
-
end
|
214
|
-
def TracePanel.enabled=(bool)
|
215
|
-
if bool==true
|
216
|
-
@@allow=true
|
217
|
-
else
|
218
|
-
@@allow=false
|
219
|
-
end
|
220
|
-
end
|
221
|
-
def TracePanel.enabled
|
222
|
-
return @@allow
|
223
|
-
end
|
224
|
-
def draw
|
225
|
-
i=0
|
226
|
-
@text.each {|line|
|
227
|
-
@them.font.default.draw(line, 10, 10+i*@font.height, ZOrder::Text, 1.0, 1.0, 0xffffffff)
|
228
|
-
i+=1
|
229
|
-
}
|
230
|
-
end
|
231
|
-
end
|
232
|
-
|
233
|
-
class TextBox < Widget
|
234
|
-
CaretColor=0xff646464
|
235
|
-
TextColor=0xff646464
|
236
|
-
SelColor=0xff33FFFF
|
237
|
-
TextPadding=5
|
238
|
-
def initialize(name, x, y, len=12, theme=Themes::blank, w=nil,height=nil)
|
239
|
-
if width!=nil and height!=nil
|
240
|
-
super(name, x, y, x+w, y+h, theme)
|
241
|
-
else
|
242
|
-
@theme = theme.newInstance(self) #Get specialized instance early
|
243
|
-
@theme.setCoords(1,1,1,1)
|
244
|
-
super(name, x, y, x+@theme.width, y+@theme.height, theme)
|
245
|
-
@theme.setCoords(@x1, @y1, @x2, @y2)
|
246
|
-
end
|
247
|
-
@textinput=Gosu::TextInput.new
|
248
|
-
@offsety=((@theme.height-@theme.font.editable.height)/2).floor
|
249
|
-
@maxlength=len
|
250
|
-
@x=x
|
251
|
-
@y=y
|
252
|
-
@drawcursor=0
|
253
|
-
@realwidth=@x + TextPadding
|
254
|
-
end
|
255
|
-
def onMouseOver
|
256
|
-
@theme.setOverState unless self.hasStickyFocus?
|
257
|
-
end
|
258
|
-
def onMouseOut
|
259
|
-
@theme.setDefaultState unless self.hasStickyFocus?
|
260
|
-
end
|
261
|
-
def onMouseClick
|
262
|
-
stickFocus
|
263
|
-
end
|
264
|
-
def onStickyFocus
|
265
|
-
@theme.setOverState
|
266
|
-
$window.setTextInput(@textinput)
|
267
|
-
end
|
268
|
-
def onStickyBlur
|
269
|
-
@theme.setDefaultState
|
270
|
-
$window.setTextInput(nil)
|
271
|
-
end
|
272
|
-
def width
|
273
|
-
return @maxlength
|
274
|
-
end
|
275
|
-
def text
|
276
|
-
return @textinput.text
|
277
|
-
end
|
278
|
-
def text=(val)
|
279
|
-
val=val.slice(0,12) if val.size>12
|
280
|
-
@textinput.text = val
|
281
|
-
end
|
282
|
-
def draw
|
283
|
-
text=@textinput.text.slice(0,12)
|
284
|
-
if self.hasStickyFocus?
|
285
|
-
pos_x = @x + @theme.font.editable.text_width(@textinput.text[0...@textinput.caret_pos]) + TextPadding
|
286
|
-
sel_x = @x + @theme.font.editable.text_width(@textinput.text[0...@textinput.selection_start]) + TextPadding
|
287
|
-
@realwidth+=@theme.font.editable.text_width(text)
|
288
|
-
if pos_x > @realwidth
|
289
|
-
pos_x=@realwidth+1
|
290
|
-
sel_x=@realwidth+1
|
291
|
-
@textinput.text=text
|
292
|
-
end
|
293
|
-
@realwidth-=@theme.font.editable.text_width(text)
|
294
|
-
if @drawcursor < 18
|
295
|
-
$window.draw_line(pos_x, @y+@offsety, CaretColor, pos_x, @y+@theme.font.editable.height+@offsety, CaretColor, ZOrder::Text)
|
296
|
-
elsif @drawcursor > 36
|
297
|
-
@drawcursor=0
|
298
|
-
end
|
299
|
-
@drawcursor+=1
|
300
|
-
$window.draw_quad(sel_x, @y+@offsety, @theme.font.selcolor, pos_x, @y+@offsety, @theme.font.selcolor, sel_x, @y+@theme.font.editable.height+@offsety, @theme.font.selcolor, pos_x, @y+@theme.font.editable.height+@offsety, @theme.font.selcolor, ZOrder::Text-0.5)
|
301
|
-
end
|
302
|
-
@theme.font.editable.draw(text, @x+TextPadding, @y+@offsety, ZOrder::Text, 1, 1, @theme.font.color)
|
303
|
-
end
|
304
|
-
end
|
305
|
-
|
306
|
-
class Button < Widget
|
307
|
-
TextColor=0xff000000
|
308
|
-
attr_accessor :text
|
309
|
-
def initialize(name, text, x, y, onClickPrc=Proc.new{}, theme = Themes::blank)
|
310
|
-
super(name, x, y, x+100, y+30, theme)
|
311
|
-
@text=text
|
312
|
-
@onClickPrc=onClickPrc
|
313
|
-
@drawx=x+((100-@theme.font.default.text_width(@text))/2).floor
|
314
|
-
@drawy=y+((30-@theme.font.default.height)/2).floor
|
315
|
-
end
|
316
|
-
def x1=
|
317
|
-
super
|
318
|
-
@drawx=x+((100-@theme.font.default.text_width(@text))/2).floor
|
319
|
-
end
|
320
|
-
def y1=
|
321
|
-
super
|
322
|
-
@drawy=y+((30-@theme.font.default.height)/2).floor
|
323
|
-
end
|
324
|
-
def
|
325
|
-
@
|
326
|
-
end
|
327
|
-
def
|
328
|
-
@
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
end
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
1
|
+
module GGLib
|
2
|
+
|
3
|
+
class DebugConsole < Widget
|
4
|
+
@@allow=false
|
5
|
+
def initialize(name="unnamed", theme=Themes::blank)
|
6
|
+
super(name, 0, 0, 640, 480, theme)
|
7
|
+
@vline=0
|
8
|
+
@oldtext=[]
|
9
|
+
@textm=false
|
10
|
+
clear
|
11
|
+
stickFocus
|
12
|
+
end
|
13
|
+
def onKeyPress(key)
|
14
|
+
if key==WidgetEvent::KeyDelete
|
15
|
+
thisline=@text[@line]
|
16
|
+
if @textm and thisline.length>0
|
17
|
+
@text[@line]=thisline.slice(0,thisline.length-1)
|
18
|
+
elsif thisline.length>3
|
19
|
+
@text[@line]=thisline.slice(0,thisline.length-1)
|
20
|
+
end
|
21
|
+
elsif key==WidgetEvent::KeySpace
|
22
|
+
@text[@line]+=" "
|
23
|
+
elsif key==WidgetEvent::KeyEscape
|
24
|
+
sleep
|
25
|
+
elsif key==WidgetEvent::KeyEnter
|
26
|
+
if @textm
|
27
|
+
if @text[@line]=="/endtext"
|
28
|
+
@textm=false
|
29
|
+
@line+=1
|
30
|
+
@text[@line]=">> "
|
31
|
+
else
|
32
|
+
@line+=1
|
33
|
+
@text[@line]=""
|
34
|
+
end
|
35
|
+
return
|
36
|
+
end
|
37
|
+
@oldtext.push @text[@line]
|
38
|
+
cmd=@text[@line].slice(3,@text[@line].length-3)
|
39
|
+
if cmd.slice(cmd.size-3,3)=="/nl"
|
40
|
+
@text[@line]=@text[@line].slice(0,@text[@line].length-3)
|
41
|
+
@text[@line+1]="|> "
|
42
|
+
@line+=1
|
43
|
+
else
|
44
|
+
runcmd(cmd)
|
45
|
+
end
|
46
|
+
@vline=@oldtext.size
|
47
|
+
elsif key==WidgetEvent::KeyUp
|
48
|
+
if @vline-1 >= 0 and
|
49
|
+
@vline-=1
|
50
|
+
@text[@line]=@oldtext[@vline]
|
51
|
+
end
|
52
|
+
elsif key==WidgetEvent::KeyDown
|
53
|
+
if @vline+1 < @oldtext.size and
|
54
|
+
@vline+=1
|
55
|
+
@text[@line]=@oldtext[@vline]
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
def feedText(char)
|
60
|
+
@text[@line]+=char.to_s unless char=="`"
|
61
|
+
end
|
62
|
+
def justify(ln)
|
63
|
+
fin=""
|
64
|
+
size=ln.size
|
65
|
+
while ln.size>70
|
66
|
+
fin+=ln.slice(0,70)+"\fNL"
|
67
|
+
ln=ln.slice(70,ln.size)
|
68
|
+
end
|
69
|
+
fin+=ln.to_s
|
70
|
+
return fin
|
71
|
+
end
|
72
|
+
def respond(text)
|
73
|
+
text=text.to_s
|
74
|
+
@line+=1
|
75
|
+
if text==""
|
76
|
+
text="<no output>"
|
77
|
+
end
|
78
|
+
text=justify(text) if text.index("\fNL")==nil
|
79
|
+
text=text.split("\fNL")
|
80
|
+
mult=false
|
81
|
+
text.each { |ln|
|
82
|
+
if ln.slice(0,4)=="\fERR"
|
83
|
+
@text[@line]="!> "+ln.strip
|
84
|
+
else
|
85
|
+
@text[@line]="^> "+ln
|
86
|
+
end
|
87
|
+
@line+=1
|
88
|
+
@text[@line]=">> "
|
89
|
+
}
|
90
|
+
end
|
91
|
+
def clear
|
92
|
+
@text=[]
|
93
|
+
@text[0]="CONSOLE"
|
94
|
+
@text[1]="#########"
|
95
|
+
@text[2]="<Press ` (backquote) or enter '/exit' to exit>"
|
96
|
+
@text[3]=">> "
|
97
|
+
@line=3
|
98
|
+
@vline=@oldtext.size-1
|
99
|
+
end
|
100
|
+
private
|
101
|
+
def runcmd(cmd)
|
102
|
+
if cmd.slice(0,1)=="/"
|
103
|
+
if cmd=="/exit"
|
104
|
+
sleep
|
105
|
+
return
|
106
|
+
elsif cmd=="/clear"
|
107
|
+
clear
|
108
|
+
return
|
109
|
+
elsif cmd=="/help"
|
110
|
+
respond("Enter a Ruby command to execute it\fNLEnter '/' followed by a word to execute a console command\fNLFor a list of console commands, enter '/list'")
|
111
|
+
return
|
112
|
+
elsif cmd=="/list"
|
113
|
+
respond("/clear\fNL/clearhist\fNL/endtext\fNL/exit\fNL/help\fNL/hist\fNL/list\fNL/text")
|
114
|
+
return
|
115
|
+
elsif cmd=="/hist"
|
116
|
+
resp=""
|
117
|
+
@oldtext.each { |item|
|
118
|
+
resp+="\fNL"
|
119
|
+
resp+=item
|
120
|
+
}
|
121
|
+
respond(resp)
|
122
|
+
return
|
123
|
+
elsif cmd=="/text"
|
124
|
+
@textm=true
|
125
|
+
@line+=1
|
126
|
+
@text[@line]=""
|
127
|
+
return
|
128
|
+
elsif cmd=="/clearhist"
|
129
|
+
@oldtext=[]
|
130
|
+
@vline=0
|
131
|
+
return
|
132
|
+
end
|
133
|
+
return
|
134
|
+
end
|
135
|
+
output=eval("begin\n"+cmd+"\nrescue\n'\fERR: '+$@[0]+': '+$!\nend",TOPLEVEL_BINDING)
|
136
|
+
respond(output)
|
137
|
+
end
|
138
|
+
public
|
139
|
+
def sleep
|
140
|
+
@text=[]
|
141
|
+
@line=0
|
142
|
+
@vline=0
|
143
|
+
super
|
144
|
+
end
|
145
|
+
def wakeUp
|
146
|
+
@oldtext=[]
|
147
|
+
@vline=0
|
148
|
+
@text=false
|
149
|
+
clear
|
150
|
+
stickFocus
|
151
|
+
super
|
152
|
+
end
|
153
|
+
def onStickyFocus
|
154
|
+
$window.setTextInput(@textinput)
|
155
|
+
end
|
156
|
+
def onStickyBlur
|
157
|
+
$window.setTextInput(nil)
|
158
|
+
end
|
159
|
+
def DebugConsole.enabled=(bool)
|
160
|
+
@@allow=bool
|
161
|
+
end
|
162
|
+
def DebugConsole.enabled
|
163
|
+
return @@allow
|
164
|
+
end
|
165
|
+
def draw
|
166
|
+
i=0
|
167
|
+
@text.each {|line|
|
168
|
+
@theme.font.default.draw(line, 10, 10+i*@theme.font.default.height, ZOrder::Text, 1.0, 1.0, 0xffffffff)
|
169
|
+
i+=1
|
170
|
+
}
|
171
|
+
end
|
172
|
+
end
|
173
|
+
|
174
|
+
class TracePanel < Widget
|
175
|
+
@@allow=false
|
176
|
+
def initialize(name)
|
177
|
+
super(name, 0,0,640,60, Themes::tracePanel)
|
178
|
+
clear
|
179
|
+
end
|
180
|
+
def onKeyPress(key)
|
181
|
+
if key==WidgetEvent::KeyDelete
|
182
|
+
sleep
|
183
|
+
elsif key==WidgetEvent::KeyEnter
|
184
|
+
clear
|
185
|
+
end
|
186
|
+
end
|
187
|
+
def sput(text)
|
188
|
+
@line+=1
|
189
|
+
@text[@line]=text.to_s
|
190
|
+
end
|
191
|
+
def put(text)
|
192
|
+
@line+=1
|
193
|
+
@text[@line]=text.to_s
|
194
|
+
wakeUp
|
195
|
+
end
|
196
|
+
def <<(text)
|
197
|
+
sput(text)
|
198
|
+
end
|
199
|
+
def *(nullarg=nil)
|
200
|
+
wakeUp
|
201
|
+
end
|
202
|
+
def ~()
|
203
|
+
sleep
|
204
|
+
end
|
205
|
+
def pause
|
206
|
+
gets
|
207
|
+
end
|
208
|
+
def clear
|
209
|
+
@text=[]
|
210
|
+
@text[0]="TRACE OUTPUT"
|
211
|
+
@text[1]="Press DELETE to close, ENTER to clear. (Click to activate.)"
|
212
|
+
@line=2
|
213
|
+
end
|
214
|
+
def TracePanel.enabled=(bool)
|
215
|
+
if bool==true
|
216
|
+
@@allow=true
|
217
|
+
else
|
218
|
+
@@allow=false
|
219
|
+
end
|
220
|
+
end
|
221
|
+
def TracePanel.enabled
|
222
|
+
return @@allow
|
223
|
+
end
|
224
|
+
def draw
|
225
|
+
i=0
|
226
|
+
@text.each {|line|
|
227
|
+
@them.font.default.draw(line, 10, 10+i*@font.height, ZOrder::Text, 1.0, 1.0, 0xffffffff)
|
228
|
+
i+=1
|
229
|
+
}
|
230
|
+
end
|
231
|
+
end
|
232
|
+
|
233
|
+
class TextBox < Widget
|
234
|
+
CaretColor=0xff646464
|
235
|
+
TextColor=0xff646464
|
236
|
+
SelColor=0xff33FFFF
|
237
|
+
TextPadding=5
|
238
|
+
def initialize(name, x, y, len=12, theme=Themes::blank, w=nil,height=nil)
|
239
|
+
if width!=nil and height!=nil
|
240
|
+
super(name, x, y, x+w, y+h, theme)
|
241
|
+
else
|
242
|
+
@theme = theme.newInstance(self) #Get specialized instance early
|
243
|
+
@theme.setCoords(1,1,1,1)
|
244
|
+
super(name, x, y, x+@theme.width, y+@theme.height, theme)
|
245
|
+
@theme.setCoords(@x1, @y1, @x2, @y2)
|
246
|
+
end
|
247
|
+
@textinput=Gosu::TextInput.new
|
248
|
+
@offsety=((@theme.height-@theme.font.editable.height)/2).floor
|
249
|
+
@maxlength=len
|
250
|
+
@x=x
|
251
|
+
@y=y
|
252
|
+
@drawcursor=0
|
253
|
+
@realwidth=@x + TextPadding
|
254
|
+
end
|
255
|
+
def onMouseOver
|
256
|
+
@theme.setOverState unless self.hasStickyFocus?
|
257
|
+
end
|
258
|
+
def onMouseOut
|
259
|
+
@theme.setDefaultState unless self.hasStickyFocus?
|
260
|
+
end
|
261
|
+
def onMouseClick
|
262
|
+
stickFocus
|
263
|
+
end
|
264
|
+
def onStickyFocus
|
265
|
+
@theme.setOverState
|
266
|
+
$window.setTextInput(@textinput)
|
267
|
+
end
|
268
|
+
def onStickyBlur
|
269
|
+
@theme.setDefaultState
|
270
|
+
$window.setTextInput(nil)
|
271
|
+
end
|
272
|
+
def width
|
273
|
+
return @maxlength
|
274
|
+
end
|
275
|
+
def text
|
276
|
+
return @textinput.text
|
277
|
+
end
|
278
|
+
def text=(val)
|
279
|
+
val=val.slice(0,12) if val.size>12
|
280
|
+
@textinput.text = val
|
281
|
+
end
|
282
|
+
def draw
|
283
|
+
text=@textinput.text.slice(0,12)
|
284
|
+
if self.hasStickyFocus?
|
285
|
+
pos_x = @x + @theme.font.editable.text_width(@textinput.text[0...@textinput.caret_pos]) + TextPadding
|
286
|
+
sel_x = @x + @theme.font.editable.text_width(@textinput.text[0...@textinput.selection_start]) + TextPadding
|
287
|
+
@realwidth+=@theme.font.editable.text_width(text)
|
288
|
+
if pos_x > @realwidth
|
289
|
+
pos_x=@realwidth+1
|
290
|
+
sel_x=@realwidth+1
|
291
|
+
@textinput.text=text
|
292
|
+
end
|
293
|
+
@realwidth-=@theme.font.editable.text_width(text)
|
294
|
+
if @drawcursor < 18
|
295
|
+
$window.draw_line(pos_x, @y+@offsety, CaretColor, pos_x, @y+@theme.font.editable.height+@offsety, CaretColor, ZOrder::Text)
|
296
|
+
elsif @drawcursor > 36
|
297
|
+
@drawcursor=0
|
298
|
+
end
|
299
|
+
@drawcursor+=1
|
300
|
+
$window.draw_quad(sel_x, @y+@offsety, @theme.font.selcolor, pos_x, @y+@offsety, @theme.font.selcolor, sel_x, @y+@theme.font.editable.height+@offsety, @theme.font.selcolor, pos_x, @y+@theme.font.editable.height+@offsety, @theme.font.selcolor, ZOrder::Text-0.5)
|
301
|
+
end
|
302
|
+
@theme.font.editable.draw(text, @x+TextPadding, @y+@offsety, ZOrder::Text, 1, 1, @theme.font.color)
|
303
|
+
end
|
304
|
+
end
|
305
|
+
|
306
|
+
class Button < Widget
|
307
|
+
TextColor=0xff000000
|
308
|
+
attr_accessor :text
|
309
|
+
def initialize(name, text, x, y, onClickPrc=Proc.new{}, theme = Themes::blank)
|
310
|
+
super(name, x, y, x+100, y+30, theme)
|
311
|
+
@text=text
|
312
|
+
@onClickPrc=onClickPrc
|
313
|
+
@drawx=x+((100-@theme.font.default.text_width(@text))/2).floor
|
314
|
+
@drawy=y+((30-@theme.font.default.height)/2).floor
|
315
|
+
end
|
316
|
+
def x1=
|
317
|
+
super
|
318
|
+
@drawx=x+((100-@theme.font.default.text_width(@text))/2).floor
|
319
|
+
end
|
320
|
+
def y1=
|
321
|
+
super
|
322
|
+
@drawy=y+((30-@theme.font.default.height)/2).floor
|
323
|
+
end
|
324
|
+
def onMouseDown
|
325
|
+
@theme.setDownState
|
326
|
+
end
|
327
|
+
def onClick
|
328
|
+
@onClickPrc.call(self)
|
329
|
+
if self.hasFocus?
|
330
|
+
@theme.setOverState
|
331
|
+
else
|
332
|
+
@theme.setDefaultState
|
333
|
+
end
|
334
|
+
end
|
335
|
+
def onMouseOver
|
336
|
+
@theme.setOverState
|
337
|
+
end
|
338
|
+
def onMouseOut
|
339
|
+
@theme.setDefaultState
|
340
|
+
end
|
341
|
+
def draw
|
342
|
+
@theme.font.default.draw(@text, @drawx, @drawy, ZOrder::Text, 1, 1, @theme.font.color)
|
343
|
+
end
|
344
|
+
end
|
345
|
+
|
346
|
+
class Label < Widget
|
347
|
+
attr_accessor :text
|
348
|
+
def initialize(name, x, y, text="", theme = Themes::blank)
|
349
|
+
@text = text
|
350
|
+
super(name, x, y, x+100,y+30,theme)
|
351
|
+
end
|
352
|
+
def draw
|
353
|
+
@theme.font.default.draw(@text, x, y, ZOrder::Text, 1, 1, @theme.font.color)
|
354
|
+
end
|
355
|
+
end
|
356
|
+
|
357
|
+
class CheckBox < Widget
|
358
|
+
|
359
|
+
class CheckedHk < Widget
|
360
|
+
attr_reader :x1,:y1,:x2,:y2
|
361
|
+
def initialize(x1,y1,x2,y2)
|
362
|
+
@x1,@y1,@x2,@y2 = x1,y1,x2,y2
|
363
|
+
end
|
364
|
+
end
|
365
|
+
|
366
|
+
def initialize(name, x, y, text="", checked=false, theme = Themes::blank)
|
367
|
+
@themek = theme
|
368
|
+
super(name,x,y,x+13,y+13,theme)
|
369
|
+
@checked = checked
|
370
|
+
end
|
371
|
+
def onClick
|
372
|
+
self.checked = !@checked
|
373
|
+
end
|
374
|
+
def onMouseDown
|
375
|
+
@theme.setDownState
|
376
|
+
end
|
377
|
+
def onMouseOver
|
378
|
+
@theme.setOverState
|
379
|
+
end
|
380
|
+
def onMouseOut
|
381
|
+
@theme.setDefaultState
|
382
|
+
end
|
383
|
+
def checked?
|
384
|
+
return @checked
|
385
|
+
end
|
386
|
+
def checked=(val)
|
387
|
+
return if val == @checked
|
388
|
+
@checked = val
|
389
|
+
if @checked
|
390
|
+
@theme = @themek.newInstance(CheckedHk.new(@x1,@y1,@x2,@y2))
|
391
|
+
else
|
392
|
+
@theme = @themek.newInstance(self)
|
393
|
+
end
|
394
|
+
end
|
395
|
+
def draw
|
396
|
+
@theme.font.default.draw(name, @x1+13+1, @y1-2, ZOrder::Text)
|
397
|
+
end
|
398
|
+
end
|
399
|
+
|
400
|
+
class RadioButton < Widget
|
401
|
+
|
402
|
+
class CheckedHk < Widget
|
403
|
+
attr_reader :x1,:y1,:x2,:y2
|
404
|
+
def initialize(x1,y1,x2,y2)
|
405
|
+
@x1,@y1,@x2,@y2 = x1,y1,x2,y2
|
406
|
+
end
|
407
|
+
end
|
408
|
+
attr_reader :parent, :value
|
409
|
+
def initialize(name, x, y, value, parent, checked=false, theme = Themes::blank)
|
410
|
+
@themek = theme
|
411
|
+
super(name,x,y,x+12,y+12,theme)
|
412
|
+
@value = value
|
413
|
+
@checked = checked
|
414
|
+
@parent = parent
|
415
|
+
end
|
416
|
+
def onClick
|
417
|
+
self.checked=!@checked
|
418
|
+
end
|
419
|
+
def onMouseDown
|
420
|
+
@theme.setDownState
|
421
|
+
end
|
422
|
+
def onMouseOver
|
423
|
+
@theme.setOverState
|
424
|
+
end
|
425
|
+
def onMouseOut
|
426
|
+
@theme.setDefaultState
|
427
|
+
end
|
428
|
+
def checked?
|
429
|
+
return @checked
|
430
|
+
end
|
431
|
+
def checked=(val)
|
432
|
+
@checked = val
|
433
|
+
if @checked
|
434
|
+
if @parent.selected.nil?
|
435
|
+
@theme = @themek.newInstance(CheckedHk.new(@x1,@y1,@x2,@y2))
|
436
|
+
@parent.selected = self
|
437
|
+
return
|
438
|
+
end
|
439
|
+
return if @parent.selected == self
|
440
|
+
@theme = @themek.newInstance(CheckedHk.new(@x1,@y1,@x2,@y2))
|
441
|
+
@parent.selected.checked = false
|
442
|
+
@parent.selected = self
|
443
|
+
else
|
444
|
+
return if @parent.selected != self
|
445
|
+
@theme = @themek.newInstance(self)
|
446
|
+
end
|
447
|
+
end
|
448
|
+
def draw
|
449
|
+
@theme.font.default.draw(name, @x1+12+1, @y1-2, ZOrder::Text)
|
450
|
+
end
|
451
|
+
end
|
452
|
+
|
453
|
+
class RadioGroup < Widget
|
454
|
+
module Layout
|
455
|
+
Horizontal = 0
|
456
|
+
Vertical = 1
|
457
|
+
end
|
458
|
+
module Spacing
|
459
|
+
Auto = -1
|
460
|
+
Automatic = -1
|
461
|
+
end
|
462
|
+
def initialize(name, x, y, buttons = {}, layout = Layout::Vertical, spacing = -1, theme = Themes::blank)
|
463
|
+
super(name,x,y,x,y,Themes::blank,false)
|
464
|
+
@buttons = Array.new(buttons.size)
|
465
|
+
i = 0
|
466
|
+
if layout == Layout::Horizontal
|
467
|
+
if spacing == -1
|
468
|
+
spacing = 75
|
469
|
+
end
|
470
|
+
buttons.each { |k,v|
|
471
|
+
@buttons.push(RadioButton.new(k, x+i, y, v, self, false, theme))
|
472
|
+
i+=spacing
|
473
|
+
}
|
474
|
+
else
|
475
|
+
if spacing == -1
|
476
|
+
spacing = 25
|
477
|
+
end
|
478
|
+
buttons.each { |k,v|
|
479
|
+
@buttons.push(RadioButton.new(k, x, y+i, v, self, false, theme))
|
480
|
+
i+=spacing
|
481
|
+
}
|
482
|
+
end
|
483
|
+
end
|
484
|
+
def theme
|
485
|
+
return @buttons[0].theme if @buttons.size > 0
|
486
|
+
return Themes::blank
|
487
|
+
end
|
488
|
+
def theme=(val)
|
489
|
+
@buttons.each { |button|
|
490
|
+
button.theme = val
|
491
|
+
}
|
492
|
+
end
|
493
|
+
def value
|
494
|
+
return @selected.value unless @selected.nil?
|
495
|
+
return nil
|
496
|
+
end
|
497
|
+
def value=(val)
|
498
|
+
@buttons.each { |button|
|
499
|
+
self.selected = button if button.value == val
|
500
|
+
}
|
501
|
+
raise RuntimeException.new("No value #{val} in #{self.inspect} (#{self.name})")
|
502
|
+
end
|
503
|
+
def selected
|
504
|
+
return @selected
|
505
|
+
end
|
506
|
+
def selected=(val)
|
507
|
+
@selected = val
|
508
|
+
end
|
509
|
+
=begin
|
510
|
+
def selected=(val)
|
511
|
+
if val.kind_of?(Widget)
|
512
|
+
raise RuntimeException.new("No option #{val} in #{self.inspect} (#{self.name})") unless val.parent == self
|
513
|
+
val.checked = true
|
514
|
+
return true
|
515
|
+
else
|
516
|
+
@buttons.each { |button|
|
517
|
+
if button.name == val
|
518
|
+
val.checked = true
|
519
|
+
return
|
520
|
+
end
|
521
|
+
}
|
522
|
+
raise RuntimeException.new("No option #{val} in #{self.inspect} (#{self.name})")
|
523
|
+
end
|
524
|
+
end
|
525
|
+
=end
|
526
|
+
end
|
527
|
+
|
349
528
|
end #module GGLib
|