ruby2d-rpeck-windows 0.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/assets/README.md +22 -0
- data/assets/Rakefile +85 -0
- data/assets/app.icns +0 -0
- data/assets/include/SDL2/SDL.h +138 -0
- data/assets/include/SDL2/SDL_assert.h +293 -0
- data/assets/include/SDL2/SDL_atomic.h +295 -0
- data/assets/include/SDL2/SDL_audio.h +859 -0
- data/assets/include/SDL2/SDL_bits.h +121 -0
- data/assets/include/SDL2/SDL_blendmode.h +123 -0
- data/assets/include/SDL2/SDL_clipboard.h +71 -0
- data/assets/include/SDL2/SDL_config.h +55 -0
- data/assets/include/SDL2/SDL_config_android.h +182 -0
- data/assets/include/SDL2/SDL_config_iphoneos.h +207 -0
- data/assets/include/SDL2/SDL_config_macosx.h +266 -0
- data/assets/include/SDL2/SDL_config_minimal.h +85 -0
- data/assets/include/SDL2/SDL_config_os2.h +188 -0
- data/assets/include/SDL2/SDL_config_pandora.h +135 -0
- data/assets/include/SDL2/SDL_config_psp.h +165 -0
- data/assets/include/SDL2/SDL_config_windows.h +288 -0
- data/assets/include/SDL2/SDL_config_winrt.h +243 -0
- data/assets/include/SDL2/SDL_config_wiz.h +149 -0
- data/assets/include/SDL2/SDL_copying.h +20 -0
- data/assets/include/SDL2/SDL_cpuinfo.h +299 -0
- data/assets/include/SDL2/SDL_egl.h +1676 -0
- data/assets/include/SDL2/SDL_endian.h +263 -0
- data/assets/include/SDL2/SDL_error.h +112 -0
- data/assets/include/SDL2/SDL_events.h +827 -0
- data/assets/include/SDL2/SDL_filesystem.h +136 -0
- data/assets/include/SDL2/SDL_gamecontroller.h +541 -0
- data/assets/include/SDL2/SDL_gesture.h +87 -0
- data/assets/include/SDL2/SDL_haptic.h +1247 -0
- data/assets/include/SDL2/SDL_hints.h +1578 -0
- data/assets/include/SDL2/SDL_image.h +161 -0
- data/assets/include/SDL2/SDL_joystick.h +499 -0
- data/assets/include/SDL2/SDL_keyboard.h +217 -0
- data/assets/include/SDL2/SDL_keycode.h +351 -0
- data/assets/include/SDL2/SDL_loadso.h +81 -0
- data/assets/include/SDL2/SDL_locale.h +101 -0
- data/assets/include/SDL2/SDL_log.h +211 -0
- data/assets/include/SDL2/SDL_main.h +180 -0
- data/assets/include/SDL2/SDL_messagebox.h +146 -0
- data/assets/include/SDL2/SDL_metal.h +117 -0
- data/assets/include/SDL2/SDL_misc.h +75 -0
- data/assets/include/SDL2/SDL_mixer.h +651 -0
- data/assets/include/SDL2/SDL_mouse.h +302 -0
- data/assets/include/SDL2/SDL_mutex.h +251 -0
- data/assets/include/SDL2/SDL_name.h +33 -0
- data/assets/include/SDL2/SDL_opengl.h +2183 -0
- data/assets/include/SDL2/SDL_opengl_glext.h +11180 -0
- data/assets/include/SDL2/SDL_opengles.h +39 -0
- data/assets/include/SDL2/SDL_opengles2.h +52 -0
- data/assets/include/SDL2/SDL_opengles2_gl2.h +621 -0
- data/assets/include/SDL2/SDL_opengles2_gl2ext.h +2050 -0
- data/assets/include/SDL2/SDL_opengles2_gl2platform.h +30 -0
- data/assets/include/SDL2/SDL_opengles2_khrplatform.h +282 -0
- data/assets/include/SDL2/SDL_pixels.h +479 -0
- data/assets/include/SDL2/SDL_platform.h +198 -0
- data/assets/include/SDL2/SDL_power.h +75 -0
- data/assets/include/SDL2/SDL_quit.h +58 -0
- data/assets/include/SDL2/SDL_rect.h +174 -0
- data/assets/include/SDL2/SDL_render.h +1158 -0
- data/assets/include/SDL2/SDL_revision.h +2 -0
- data/assets/include/SDL2/SDL_rwops.h +283 -0
- data/assets/include/SDL2/SDL_scancode.h +413 -0
- data/assets/include/SDL2/SDL_sensor.h +267 -0
- data/assets/include/SDL2/SDL_shape.h +144 -0
- data/assets/include/SDL2/SDL_stdinc.h +647 -0
- data/assets/include/SDL2/SDL_surface.h +563 -0
- data/assets/include/SDL2/SDL_system.h +325 -0
- data/assets/include/SDL2/SDL_syswm.h +354 -0
- data/assets/include/SDL2/SDL_test.h +69 -0
- data/assets/include/SDL2/SDL_test_assert.h +105 -0
- data/assets/include/SDL2/SDL_test_common.h +218 -0
- data/assets/include/SDL2/SDL_test_compare.h +69 -0
- data/assets/include/SDL2/SDL_test_crc32.h +124 -0
- data/assets/include/SDL2/SDL_test_font.h +81 -0
- data/assets/include/SDL2/SDL_test_fuzzer.h +384 -0
- data/assets/include/SDL2/SDL_test_harness.h +134 -0
- data/assets/include/SDL2/SDL_test_images.h +78 -0
- data/assets/include/SDL2/SDL_test_log.h +67 -0
- data/assets/include/SDL2/SDL_test_md5.h +129 -0
- data/assets/include/SDL2/SDL_test_memory.h +63 -0
- data/assets/include/SDL2/SDL_test_random.h +115 -0
- data/assets/include/SDL2/SDL_thread.h +366 -0
- data/assets/include/SDL2/SDL_timer.h +115 -0
- data/assets/include/SDL2/SDL_touch.h +102 -0
- data/assets/include/SDL2/SDL_ttf.h +294 -0
- data/assets/include/SDL2/SDL_types.h +29 -0
- data/assets/include/SDL2/SDL_version.h +162 -0
- data/assets/include/SDL2/SDL_video.h +1282 -0
- data/assets/include/SDL2/SDL_vulkan.h +276 -0
- data/assets/include/SDL2/begin_code.h +166 -0
- data/assets/include/SDL2/close_code.h +40 -0
- data/assets/include/glew.h +23686 -0
- data/assets/ios/Assets.xcassets/AppIcon.appiconset/Contents.json +98 -0
- data/assets/ios/Assets.xcassets/Contents.json +6 -0
- data/assets/ios/Base.lproj/LaunchScreen.storyboard +27 -0
- data/assets/ios/Info.plist +43 -0
- data/assets/ios/MRuby.framework/Headers/mrbconf.h +143 -0
- data/assets/ios/MRuby.framework/Headers/mruby/array.h +280 -0
- data/assets/ios/MRuby.framework/Headers/mruby/boxing_nan.h +102 -0
- data/assets/ios/MRuby.framework/Headers/mruby/boxing_no.h +56 -0
- data/assets/ios/MRuby.framework/Headers/mruby/boxing_word.h +144 -0
- data/assets/ios/MRuby.framework/Headers/mruby/class.h +97 -0
- data/assets/ios/MRuby.framework/Headers/mruby/common.h +77 -0
- data/assets/ios/MRuby.framework/Headers/mruby/compile.h +195 -0
- data/assets/ios/MRuby.framework/Headers/mruby/data.h +75 -0
- data/assets/ios/MRuby.framework/Headers/mruby/debug.h +67 -0
- data/assets/ios/MRuby.framework/Headers/mruby/dump.h +196 -0
- data/assets/ios/MRuby.framework/Headers/mruby/error.h +75 -0
- data/assets/ios/MRuby.framework/Headers/mruby/gc.h +91 -0
- data/assets/ios/MRuby.framework/Headers/mruby/hash.h +215 -0
- data/assets/ios/MRuby.framework/Headers/mruby/irep.h +75 -0
- data/assets/ios/MRuby.framework/Headers/mruby/istruct.h +47 -0
- data/assets/ios/MRuby.framework/Headers/mruby/khash.h +274 -0
- data/assets/ios/MRuby.framework/Headers/mruby/numeric.h +161 -0
- data/assets/ios/MRuby.framework/Headers/mruby/object.h +44 -0
- data/assets/ios/MRuby.framework/Headers/mruby/opcode.h +69 -0
- data/assets/ios/MRuby.framework/Headers/mruby/ops.h +117 -0
- data/assets/ios/MRuby.framework/Headers/mruby/proc.h +131 -0
- data/assets/ios/MRuby.framework/Headers/mruby/range.h +49 -0
- data/assets/ios/MRuby.framework/Headers/mruby/re.h +16 -0
- data/assets/ios/MRuby.framework/Headers/mruby/string.h +444 -0
- data/assets/ios/MRuby.framework/Headers/mruby/throw.h +55 -0
- data/assets/ios/MRuby.framework/Headers/mruby/value.h +309 -0
- data/assets/ios/MRuby.framework/Headers/mruby/variable.h +136 -0
- data/assets/ios/MRuby.framework/Headers/mruby/version.h +110 -0
- data/assets/ios/MRuby.framework/Headers/mruby.h +1282 -0
- data/assets/ios/MRuby.framework/Info.plist +20 -0
- data/assets/ios/MRuby.framework/MRuby +0 -0
- data/assets/ios/MyApp.xcodeproj/project.pbxproj +368 -0
- data/assets/ios/MyApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- data/assets/ios/MyApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- data/assets/ios/MyApp.xcodeproj/project.xcworkspace/xcshareddata/MyApp.xcscmblueprint +30 -0
- data/assets/ios/main.c +1 -0
- data/assets/macos/lib/libFLAC.a +0 -0
- data/assets/macos/lib/libSDL2.a +0 -0
- data/assets/macos/lib/libSDL2_image.a +0 -0
- data/assets/macos/lib/libSDL2_mixer.a +0 -0
- data/assets/macos/lib/libSDL2_ttf.a +0 -0
- data/assets/macos/lib/libfreetype.a +0 -0
- data/assets/macos/lib/libjpeg.a +0 -0
- data/assets/macos/lib/libmodplug.a +0 -0
- data/assets/macos/lib/libmpg123.a +0 -0
- data/assets/macos/lib/libogg.a +0 -0
- data/assets/macos/lib/libpng16.a +0 -0
- data/assets/macos/lib/libtiff.a +0 -0
- data/assets/macos/lib/libvorbis.a +0 -0
- data/assets/macos/lib/libvorbisfile.a +0 -0
- data/assets/macos/lib/libwebp.a +0 -0
- data/assets/mingw/bin/SDL2.dll +0 -0
- data/assets/mingw/bin/SDL2_image.dll +0 -0
- data/assets/mingw/bin/SDL2_mixer.dll +0 -0
- data/assets/mingw/bin/SDL2_ttf.dll +0 -0
- data/assets/mingw/bin/glew32.dll +0 -0
- data/assets/mingw/bin/libFLAC-8.dll +0 -0
- data/assets/mingw/bin/libfreetype-6.dll +0 -0
- data/assets/mingw/bin/libjpeg-9.dll +0 -0
- data/assets/mingw/bin/libmodplug-1.dll +0 -0
- data/assets/mingw/bin/libmpg123-0.dll +0 -0
- data/assets/mingw/bin/libogg-0.dll +0 -0
- data/assets/mingw/bin/libopus-0.dll +0 -0
- data/assets/mingw/bin/libopusfile-0.dll +0 -0
- data/assets/mingw/bin/libpng16-16.dll +0 -0
- data/assets/mingw/bin/libtiff-5.dll +0 -0
- data/assets/mingw/bin/libvorbis-0.dll +0 -0
- data/assets/mingw/bin/libvorbisfile-3.dll +0 -0
- data/assets/mingw/bin/libwebp-7.dll +0 -0
- data/assets/mingw/bin/libwinpthread-1.dll +0 -0
- data/assets/mingw/bin/zlib1.dll +0 -0
- data/assets/mingw/lib/libSDL2.a +0 -0
- data/assets/mingw/lib/libSDL2.dll.a +0 -0
- data/assets/mingw/lib/libSDL2_image.a +0 -0
- data/assets/mingw/lib/libSDL2_image.dll.a +0 -0
- data/assets/mingw/lib/libSDL2_mixer.a +0 -0
- data/assets/mingw/lib/libSDL2_mixer.dll.a +0 -0
- data/assets/mingw/lib/libSDL2_test.a +0 -0
- data/assets/mingw/lib/libSDL2_ttf.a +0 -0
- data/assets/mingw/lib/libSDL2_ttf.dll.a +0 -0
- data/assets/mingw/lib/libSDL2main.a +0 -0
- data/assets/mingw/lib/libglew32.a +0 -0
- data/assets/mingw/lib/libglew32.dll.a +0 -0
- data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json +16 -0
- data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json +6 -0
- data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Contents.json +17 -0
- data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json +16 -0
- data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json +6 -0
- data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json +16 -0
- data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json +6 -0
- data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json +16 -0
- data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json +6 -0
- data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Contents.json +17 -0
- data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json +16 -0
- data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json +6 -0
- data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json +16 -0
- data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json +6 -0
- data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json +32 -0
- data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json +16 -0
- data/assets/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json +16 -0
- data/assets/tvos/Assets.xcassets/Contents.json +6 -0
- data/assets/tvos/Assets.xcassets/LaunchImage.launchimage/Contents.json +22 -0
- data/assets/tvos/Info.plist +30 -0
- data/assets/tvos/MRuby.framework/Headers/mrbconf.h +143 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/array.h +280 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/boxing_nan.h +102 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/boxing_no.h +56 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/boxing_word.h +144 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/class.h +97 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/common.h +77 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/compile.h +195 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/data.h +75 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/debug.h +67 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/dump.h +196 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/error.h +75 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/gc.h +91 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/hash.h +215 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/irep.h +75 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/istruct.h +47 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/khash.h +274 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/numeric.h +161 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/object.h +44 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/opcode.h +69 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/ops.h +117 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/proc.h +131 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/range.h +49 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/re.h +16 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/string.h +444 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/throw.h +55 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/value.h +309 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/variable.h +136 -0
- data/assets/tvos/MRuby.framework/Headers/mruby/version.h +110 -0
- data/assets/tvos/MRuby.framework/Headers/mruby.h +1282 -0
- data/assets/tvos/MRuby.framework/Info.plist +20 -0
- data/assets/tvos/MRuby.framework/MRuby +0 -0
- data/assets/tvos/MyApp.xcodeproj/project.pbxproj +350 -0
- data/assets/tvos/MyApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- data/assets/tvos/MyApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- data/assets/tvos/MyApp.xcodeproj/project.xcworkspace/xcshareddata/MyApp.xcscmblueprint +30 -0
- data/assets/tvos/main.c +1 -0
- data/bin/ruby2d +142 -0
- data/ext/ruby2d/common.c +185 -0
- data/ext/ruby2d/controllers.c +110 -0
- data/ext/ruby2d/extconf.rb +147 -0
- data/ext/ruby2d/font.c +35 -0
- data/ext/ruby2d/gl.c +398 -0
- data/ext/ruby2d/gl2.c +86 -0
- data/ext/ruby2d/gl3.c +305 -0
- data/ext/ruby2d/gles.c +249 -0
- data/ext/ruby2d/image.c +58 -0
- data/ext/ruby2d/input.c +48 -0
- data/ext/ruby2d/music.c +127 -0
- data/ext/ruby2d/ruby2d.c +1374 -0
- data/ext/ruby2d/ruby2d.h +656 -0
- data/ext/ruby2d/shapes.c +154 -0
- data/ext/ruby2d/sound.c +118 -0
- data/ext/ruby2d/text.c +22 -0
- data/ext/ruby2d/window.c +414 -0
- data/lib/ruby2d/circle.rb +43 -0
- data/lib/ruby2d/cli/build.rb +237 -0
- data/lib/ruby2d/cli/colorize.rb +10 -0
- data/lib/ruby2d/cli/console.rb +65 -0
- data/lib/ruby2d/cli/enable_console.rb +5 -0
- data/lib/ruby2d/cli/launch.rb +50 -0
- data/lib/ruby2d/color.rb +136 -0
- data/lib/ruby2d/dsl.rb +46 -0
- data/lib/ruby2d/entity.rb +17 -0
- data/lib/ruby2d/exceptions.rb +6 -0
- data/lib/ruby2d/font.rb +96 -0
- data/lib/ruby2d/image.rb +58 -0
- data/lib/ruby2d/line.rb +89 -0
- data/lib/ruby2d/music.rb +67 -0
- data/lib/ruby2d/pixel.rb +17 -0
- data/lib/ruby2d/quad.rb +96 -0
- data/lib/ruby2d/rectangle.rb +65 -0
- data/lib/ruby2d/renderable.rb +40 -0
- data/lib/ruby2d/ruby2d.so +0 -0
- data/lib/ruby2d/sound.rb +55 -0
- data/lib/ruby2d/sprite.rb +232 -0
- data/lib/ruby2d/square.rb +37 -0
- data/lib/ruby2d/text.rb +76 -0
- data/lib/ruby2d/texture.rb +28 -0
- data/lib/ruby2d/tileset.rb +87 -0
- data/lib/ruby2d/triangle.rb +82 -0
- data/lib/ruby2d/version.rb +5 -0
- data/lib/ruby2d/vertices.rb +84 -0
- data/lib/ruby2d/window.rb +673 -0
- data/lib/ruby2d.rb +69 -0
- metadata +346 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
{
|
|
2
|
+
"images" : [
|
|
3
|
+
{
|
|
4
|
+
"idiom" : "iphone",
|
|
5
|
+
"size" : "20x20",
|
|
6
|
+
"scale" : "2x"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"idiom" : "iphone",
|
|
10
|
+
"size" : "20x20",
|
|
11
|
+
"scale" : "3x"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"idiom" : "iphone",
|
|
15
|
+
"size" : "29x29",
|
|
16
|
+
"scale" : "2x"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"idiom" : "iphone",
|
|
20
|
+
"size" : "29x29",
|
|
21
|
+
"scale" : "3x"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"idiom" : "iphone",
|
|
25
|
+
"size" : "40x40",
|
|
26
|
+
"scale" : "2x"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"idiom" : "iphone",
|
|
30
|
+
"size" : "40x40",
|
|
31
|
+
"scale" : "3x"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"idiom" : "iphone",
|
|
35
|
+
"size" : "60x60",
|
|
36
|
+
"scale" : "2x"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"idiom" : "iphone",
|
|
40
|
+
"size" : "60x60",
|
|
41
|
+
"scale" : "3x"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"idiom" : "ipad",
|
|
45
|
+
"size" : "20x20",
|
|
46
|
+
"scale" : "1x"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"idiom" : "ipad",
|
|
50
|
+
"size" : "20x20",
|
|
51
|
+
"scale" : "2x"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"idiom" : "ipad",
|
|
55
|
+
"size" : "29x29",
|
|
56
|
+
"scale" : "1x"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"idiom" : "ipad",
|
|
60
|
+
"size" : "29x29",
|
|
61
|
+
"scale" : "2x"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"idiom" : "ipad",
|
|
65
|
+
"size" : "40x40",
|
|
66
|
+
"scale" : "1x"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"idiom" : "ipad",
|
|
70
|
+
"size" : "40x40",
|
|
71
|
+
"scale" : "2x"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"idiom" : "ipad",
|
|
75
|
+
"size" : "76x76",
|
|
76
|
+
"scale" : "1x"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"idiom" : "ipad",
|
|
80
|
+
"size" : "76x76",
|
|
81
|
+
"scale" : "2x"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"idiom" : "ipad",
|
|
85
|
+
"size" : "83.5x83.5",
|
|
86
|
+
"scale" : "2x"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"idiom" : "ios-marketing",
|
|
90
|
+
"size" : "1024x1024",
|
|
91
|
+
"scale" : "1x"
|
|
92
|
+
}
|
|
93
|
+
],
|
|
94
|
+
"info" : {
|
|
95
|
+
"version" : 1,
|
|
96
|
+
"author" : "xcode"
|
|
97
|
+
}
|
|
98
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="11134" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
|
|
3
|
+
<dependencies>
|
|
4
|
+
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11106"/>
|
|
5
|
+
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
|
6
|
+
</dependencies>
|
|
7
|
+
<scenes>
|
|
8
|
+
<!--View Controller-->
|
|
9
|
+
<scene sceneID="EHf-IW-A2E">
|
|
10
|
+
<objects>
|
|
11
|
+
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
|
|
12
|
+
<layoutGuides>
|
|
13
|
+
<viewControllerLayoutGuide type="top" id="Llm-lL-Icb"/>
|
|
14
|
+
<viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/>
|
|
15
|
+
</layoutGuides>
|
|
16
|
+
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
|
|
17
|
+
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
|
18
|
+
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
|
19
|
+
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
|
20
|
+
</view>
|
|
21
|
+
</viewController>
|
|
22
|
+
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
|
23
|
+
</objects>
|
|
24
|
+
<point key="canvasLocation" x="53" y="375"/>
|
|
25
|
+
</scene>
|
|
26
|
+
</scenes>
|
|
27
|
+
</document>
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
+
<plist version="1.0">
|
|
4
|
+
<dict>
|
|
5
|
+
<key>CFBundleDevelopmentRegion</key>
|
|
6
|
+
<string>en</string>
|
|
7
|
+
<key>CFBundleExecutable</key>
|
|
8
|
+
<string>$(EXECUTABLE_NAME)</string>
|
|
9
|
+
<key>CFBundleIdentifier</key>
|
|
10
|
+
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
|
11
|
+
<key>CFBundleInfoDictionaryVersion</key>
|
|
12
|
+
<string>6.0</string>
|
|
13
|
+
<key>CFBundleName</key>
|
|
14
|
+
<string>$(PRODUCT_NAME)</string>
|
|
15
|
+
<key>CFBundlePackageType</key>
|
|
16
|
+
<string>APPL</string>
|
|
17
|
+
<key>CFBundleShortVersionString</key>
|
|
18
|
+
<string>1.0</string>
|
|
19
|
+
<key>CFBundleVersion</key>
|
|
20
|
+
<string>1</string>
|
|
21
|
+
<key>LSRequiresIPhoneOS</key>
|
|
22
|
+
<true/>
|
|
23
|
+
<key>UILaunchStoryboardName</key>
|
|
24
|
+
<string>LaunchScreen</string>
|
|
25
|
+
<key>UIRequiredDeviceCapabilities</key>
|
|
26
|
+
<array>
|
|
27
|
+
<string>armv7</string>
|
|
28
|
+
</array>
|
|
29
|
+
<key>UISupportedInterfaceOrientations</key>
|
|
30
|
+
<array>
|
|
31
|
+
<string>UIInterfaceOrientationPortrait</string>
|
|
32
|
+
<string>UIInterfaceOrientationLandscapeLeft</string>
|
|
33
|
+
<string>UIInterfaceOrientationLandscapeRight</string>
|
|
34
|
+
</array>
|
|
35
|
+
<key>UISupportedInterfaceOrientations~ipad</key>
|
|
36
|
+
<array>
|
|
37
|
+
<string>UIInterfaceOrientationPortrait</string>
|
|
38
|
+
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
|
39
|
+
<string>UIInterfaceOrientationLandscapeLeft</string>
|
|
40
|
+
<string>UIInterfaceOrientationLandscapeRight</string>
|
|
41
|
+
</array>
|
|
42
|
+
</dict>
|
|
43
|
+
</plist>
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/*
|
|
2
|
+
** mrbconf.h - mruby core configuration
|
|
3
|
+
**
|
|
4
|
+
** See Copyright Notice in mruby.h
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
#ifndef MRUBYCONF_H
|
|
8
|
+
#define MRUBYCONF_H
|
|
9
|
+
|
|
10
|
+
#include <limits.h>
|
|
11
|
+
#include <stdint.h>
|
|
12
|
+
|
|
13
|
+
/* architecture selection: */
|
|
14
|
+
/* specify -DMRB_32BIT or -DMRB_64BIT to override */
|
|
15
|
+
#if !defined(MRB_32BIT) && !defined(MRB_64BIT)
|
|
16
|
+
#if UINT64_MAX == SIZE_MAX
|
|
17
|
+
#define MRB_64BIT
|
|
18
|
+
#else
|
|
19
|
+
#define MRB_32BIT
|
|
20
|
+
#endif
|
|
21
|
+
#endif
|
|
22
|
+
|
|
23
|
+
#if defined(MRB_32BIT) && defined(MRB_64BIT)
|
|
24
|
+
#error Cannot build for 32 and 64 bit architecture at the same time
|
|
25
|
+
#endif
|
|
26
|
+
|
|
27
|
+
/* configuration options: */
|
|
28
|
+
/* add -DMRB_USE_FLOAT to use float instead of double for floating point numbers */
|
|
29
|
+
//#define MRB_USE_FLOAT
|
|
30
|
+
|
|
31
|
+
/* exclude floating point numbers */
|
|
32
|
+
//#define MRB_WITHOUT_FLOAT
|
|
33
|
+
|
|
34
|
+
/* add -DMRB_METHOD_CACHE to use method cache to improve performance */
|
|
35
|
+
//#define MRB_METHOD_CACHE
|
|
36
|
+
/* size of the method cache (need to be the power of 2) */
|
|
37
|
+
//#define MRB_METHOD_CACHE_SIZE (1<<7)
|
|
38
|
+
|
|
39
|
+
/* add -DMRB_METHOD_TABLE_INLINE to reduce the size of method table */
|
|
40
|
+
/* MRB_METHOD_TABLE_INLINE requires LSB of function pointers to be zero */
|
|
41
|
+
/* you might need to specify --falign-functions=n (where n>1) */
|
|
42
|
+
//#define MRB_METHOD_TABLE_INLINE
|
|
43
|
+
|
|
44
|
+
/* add -DMRB_INT16 to use 16bit integer for mrb_int; conflict with MRB_INT64 */
|
|
45
|
+
//#define MRB_INT16
|
|
46
|
+
|
|
47
|
+
/* add -DMRB_INT64 to use 64bit integer for mrb_int; conflict with MRB_INT16 */
|
|
48
|
+
//#define MRB_INT64
|
|
49
|
+
|
|
50
|
+
/* if no specific integer type is chosen */
|
|
51
|
+
#if !defined(MRB_INT16) && !defined(MRB_INT32) && !defined(MRB_INT64)
|
|
52
|
+
# if defined(MRB_64BIT) && !defined(MRB_NAN_BOXING)
|
|
53
|
+
/* Use 64bit integers on 64bit architecture (without MRB_NAN_BOXING) */
|
|
54
|
+
# define MRB_INT64
|
|
55
|
+
# else
|
|
56
|
+
/* Otherwise use 32bit integers */
|
|
57
|
+
# define MRB_INT32
|
|
58
|
+
# endif
|
|
59
|
+
#endif
|
|
60
|
+
|
|
61
|
+
/* represent mrb_value in boxed double; conflict with MRB_USE_FLOAT and MRB_WITHOUT_FLOAT */
|
|
62
|
+
//#define MRB_NAN_BOXING
|
|
63
|
+
|
|
64
|
+
/* define on big endian machines; used by MRB_NAN_BOXING */
|
|
65
|
+
//#define MRB_ENDIAN_BIG
|
|
66
|
+
|
|
67
|
+
/* represent mrb_value as a word (natural unit of data for the processor) */
|
|
68
|
+
//#define MRB_WORD_BOXING
|
|
69
|
+
|
|
70
|
+
/* string class to handle UTF-8 encoding */
|
|
71
|
+
//#define MRB_UTF8_STRING
|
|
72
|
+
|
|
73
|
+
/* argv max size in mrb_funcall */
|
|
74
|
+
//#define MRB_FUNCALL_ARGC_MAX 16
|
|
75
|
+
|
|
76
|
+
/* number of object per heap page */
|
|
77
|
+
//#define MRB_HEAP_PAGE_SIZE 1024
|
|
78
|
+
|
|
79
|
+
/* if _etext and _edata available, mruby can reduce memory used by symbols */
|
|
80
|
+
//#define MRB_USE_ETEXT_EDATA
|
|
81
|
+
|
|
82
|
+
/* do not use __init_array_start to determine readonly data section;
|
|
83
|
+
effective only when MRB_USE_ETEXT_EDATA is defined */
|
|
84
|
+
//#define MRB_NO_INIT_ARRAY_START
|
|
85
|
+
|
|
86
|
+
/* turn off generational GC by default */
|
|
87
|
+
//#define MRB_GC_TURN_OFF_GENERATIONAL
|
|
88
|
+
|
|
89
|
+
/* default size of khash table bucket */
|
|
90
|
+
//#define KHASH_DEFAULT_SIZE 32
|
|
91
|
+
|
|
92
|
+
/* allocated memory address alignment */
|
|
93
|
+
//#define POOL_ALIGNMENT 4
|
|
94
|
+
|
|
95
|
+
/* page size of memory pool */
|
|
96
|
+
//#define POOL_PAGE_SIZE 16000
|
|
97
|
+
|
|
98
|
+
/* initial minimum size for string buffer */
|
|
99
|
+
//#define MRB_STR_BUF_MIN_SIZE 128
|
|
100
|
+
|
|
101
|
+
/* arena size */
|
|
102
|
+
//#define MRB_GC_ARENA_SIZE 100
|
|
103
|
+
|
|
104
|
+
/* fixed size GC arena */
|
|
105
|
+
//#define MRB_GC_FIXED_ARENA
|
|
106
|
+
|
|
107
|
+
/* state atexit stack size */
|
|
108
|
+
//#define MRB_FIXED_STATE_ATEXIT_STACK_SIZE 5
|
|
109
|
+
|
|
110
|
+
/* fixed size state atexit stack */
|
|
111
|
+
//#define MRB_FIXED_STATE_ATEXIT_STACK
|
|
112
|
+
|
|
113
|
+
/* -DMRB_DISABLE_XXXX to drop following features */
|
|
114
|
+
//#define MRB_DISABLE_STDIO /* use of stdio */
|
|
115
|
+
|
|
116
|
+
/* -DMRB_ENABLE_XXXX to enable following features */
|
|
117
|
+
//#define MRB_ENABLE_DEBUG_HOOK /* hooks for debugger */
|
|
118
|
+
|
|
119
|
+
/* end of configuration */
|
|
120
|
+
|
|
121
|
+
/* define MRB_DISABLE_XXXX from DISABLE_XXX (for compatibility) */
|
|
122
|
+
#ifdef DISABLE_STDIO
|
|
123
|
+
#define MRB_DISABLE_STDIO
|
|
124
|
+
#endif
|
|
125
|
+
|
|
126
|
+
/* define MRB_ENABLE_XXXX from ENABLE_XXX (for compatibility) */
|
|
127
|
+
#ifdef ENABLE_DEBUG
|
|
128
|
+
#define MRB_ENABLE_DEBUG_HOOK
|
|
129
|
+
#endif
|
|
130
|
+
|
|
131
|
+
#ifndef MRB_DISABLE_STDIO
|
|
132
|
+
# include <stdio.h>
|
|
133
|
+
#endif
|
|
134
|
+
|
|
135
|
+
#ifndef FALSE
|
|
136
|
+
# define FALSE 0
|
|
137
|
+
#endif
|
|
138
|
+
|
|
139
|
+
#ifndef TRUE
|
|
140
|
+
# define TRUE 1
|
|
141
|
+
#endif
|
|
142
|
+
|
|
143
|
+
#endif /* MRUBYCONF_H */
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
/*
|
|
2
|
+
** mruby/array.h - Array class
|
|
3
|
+
**
|
|
4
|
+
** See Copyright Notice in mruby.h
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
#ifndef MRUBY_ARRAY_H
|
|
8
|
+
#define MRUBY_ARRAY_H
|
|
9
|
+
|
|
10
|
+
#include "common.h"
|
|
11
|
+
|
|
12
|
+
/*
|
|
13
|
+
* Array class
|
|
14
|
+
*/
|
|
15
|
+
MRB_BEGIN_DECL
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
typedef struct mrb_shared_array {
|
|
19
|
+
int refcnt;
|
|
20
|
+
mrb_int len;
|
|
21
|
+
mrb_value *ptr;
|
|
22
|
+
} mrb_shared_array;
|
|
23
|
+
|
|
24
|
+
#define MRB_ARY_EMBED_LEN_MAX ((mrb_int)(sizeof(void*)*3/sizeof(mrb_value)))
|
|
25
|
+
struct RArray {
|
|
26
|
+
MRB_OBJECT_HEADER;
|
|
27
|
+
union {
|
|
28
|
+
struct {
|
|
29
|
+
mrb_int len;
|
|
30
|
+
union {
|
|
31
|
+
mrb_int capa;
|
|
32
|
+
mrb_shared_array *shared;
|
|
33
|
+
} aux;
|
|
34
|
+
mrb_value *ptr;
|
|
35
|
+
} heap;
|
|
36
|
+
mrb_value embed[MRB_ARY_EMBED_LEN_MAX];
|
|
37
|
+
} as;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
#define mrb_ary_ptr(v) ((struct RArray*)(mrb_ptr(v)))
|
|
41
|
+
#define mrb_ary_value(p) mrb_obj_value((void*)(p))
|
|
42
|
+
#define RARRAY(v) ((struct RArray*)(mrb_ptr(v)))
|
|
43
|
+
|
|
44
|
+
#define MRB_ARY_EMBED_MASK 7
|
|
45
|
+
#define ARY_EMBED_P(a) ((a)->flags & MRB_ARY_EMBED_MASK)
|
|
46
|
+
#define ARY_UNSET_EMBED_FLAG(a) ((a)->flags &= ~(MRB_ARY_EMBED_MASK))
|
|
47
|
+
#define ARY_EMBED_LEN(a) ((mrb_int)(((a)->flags & MRB_ARY_EMBED_MASK) - 1))
|
|
48
|
+
#define ARY_SET_EMBED_LEN(a,len) ((a)->flags = ((a)->flags&~MRB_ARY_EMBED_MASK) | ((uint32_t)(len) + 1))
|
|
49
|
+
#define ARY_EMBED_PTR(a) (&((a)->as.embed[0]))
|
|
50
|
+
|
|
51
|
+
#define ARY_LEN(a) (ARY_EMBED_P(a)?ARY_EMBED_LEN(a):(a)->as.heap.len)
|
|
52
|
+
#define ARY_PTR(a) (ARY_EMBED_P(a)?ARY_EMBED_PTR(a):(a)->as.heap.ptr)
|
|
53
|
+
#define RARRAY_LEN(a) ARY_LEN(RARRAY(a))
|
|
54
|
+
#define RARRAY_PTR(a) ARY_PTR(RARRAY(a))
|
|
55
|
+
#define ARY_SET_LEN(a,n) do {\
|
|
56
|
+
if (ARY_EMBED_P(a)) {\
|
|
57
|
+
mrb_assert((n) <= MRB_ARY_EMBED_LEN_MAX); \
|
|
58
|
+
ARY_SET_EMBED_LEN(a,n);\
|
|
59
|
+
}\
|
|
60
|
+
else\
|
|
61
|
+
(a)->as.heap.len = (n);\
|
|
62
|
+
} while (0)
|
|
63
|
+
#define ARY_CAPA(a) (ARY_EMBED_P(a)?MRB_ARY_EMBED_LEN_MAX:(a)->as.heap.aux.capa)
|
|
64
|
+
#define MRB_ARY_SHARED 256
|
|
65
|
+
#define ARY_SHARED_P(a) ((a)->flags & MRB_ARY_SHARED)
|
|
66
|
+
#define ARY_SET_SHARED_FLAG(a) ((a)->flags |= MRB_ARY_SHARED)
|
|
67
|
+
#define ARY_UNSET_SHARED_FLAG(a) ((a)->flags &= ~MRB_ARY_SHARED)
|
|
68
|
+
|
|
69
|
+
void mrb_ary_decref(mrb_state*, mrb_shared_array*);
|
|
70
|
+
MRB_API void mrb_ary_modify(mrb_state*, struct RArray*);
|
|
71
|
+
MRB_API mrb_value mrb_ary_new_capa(mrb_state*, mrb_int);
|
|
72
|
+
|
|
73
|
+
/*
|
|
74
|
+
* Initializes a new array.
|
|
75
|
+
*
|
|
76
|
+
* Equivalent to:
|
|
77
|
+
*
|
|
78
|
+
* Array.new
|
|
79
|
+
*
|
|
80
|
+
* @param mrb The mruby state reference.
|
|
81
|
+
* @return The initialized array.
|
|
82
|
+
*/
|
|
83
|
+
MRB_API mrb_value mrb_ary_new(mrb_state *mrb);
|
|
84
|
+
|
|
85
|
+
/*
|
|
86
|
+
* Initializes a new array with initial values
|
|
87
|
+
*
|
|
88
|
+
* Equivalent to:
|
|
89
|
+
*
|
|
90
|
+
* Array[value1, value2, ...]
|
|
91
|
+
*
|
|
92
|
+
* @param mrb The mruby state reference.
|
|
93
|
+
* @param size The numer of values.
|
|
94
|
+
* @param vals The actual values.
|
|
95
|
+
* @return The initialized array.
|
|
96
|
+
*/
|
|
97
|
+
MRB_API mrb_value mrb_ary_new_from_values(mrb_state *mrb, mrb_int size, const mrb_value *vals);
|
|
98
|
+
|
|
99
|
+
/*
|
|
100
|
+
* Initializes a new array with two initial values
|
|
101
|
+
*
|
|
102
|
+
* Equivalent to:
|
|
103
|
+
*
|
|
104
|
+
* Array[car, cdr]
|
|
105
|
+
*
|
|
106
|
+
* @param mrb The mruby state reference.
|
|
107
|
+
* @param car The first value.
|
|
108
|
+
* @param cdr The second value.
|
|
109
|
+
* @return The initialized array.
|
|
110
|
+
*/
|
|
111
|
+
MRB_API mrb_value mrb_assoc_new(mrb_state *mrb, mrb_value car, mrb_value cdr);
|
|
112
|
+
|
|
113
|
+
/*
|
|
114
|
+
* Concatenate two arrays. The target array will be modified
|
|
115
|
+
*
|
|
116
|
+
* Equivalent to:
|
|
117
|
+
* ary.concat(other)
|
|
118
|
+
*
|
|
119
|
+
* @param mrb The mruby state reference.
|
|
120
|
+
* @param self The target array.
|
|
121
|
+
* @param other The array that will be concatenated to self.
|
|
122
|
+
*/
|
|
123
|
+
MRB_API void mrb_ary_concat(mrb_state *mrb, mrb_value self, mrb_value other);
|
|
124
|
+
|
|
125
|
+
/*
|
|
126
|
+
* Create an array from the input. It tries calling to_a on the
|
|
127
|
+
* value. If value does not respond to that, it creates a new
|
|
128
|
+
* array with just this value.
|
|
129
|
+
*
|
|
130
|
+
* @param mrb The mruby state reference.
|
|
131
|
+
* @param value The value to change into an array.
|
|
132
|
+
* @return An array representation of value.
|
|
133
|
+
*/
|
|
134
|
+
MRB_API mrb_value mrb_ary_splat(mrb_state *mrb, mrb_value value);
|
|
135
|
+
|
|
136
|
+
/*
|
|
137
|
+
* Pushes value into array.
|
|
138
|
+
*
|
|
139
|
+
* Equivalent to:
|
|
140
|
+
*
|
|
141
|
+
* ary << value
|
|
142
|
+
*
|
|
143
|
+
* @param mrb The mruby state reference.
|
|
144
|
+
* @param ary The array in which the value will be pushed
|
|
145
|
+
* @param value The value to be pushed into array
|
|
146
|
+
*/
|
|
147
|
+
MRB_API void mrb_ary_push(mrb_state *mrb, mrb_value array, mrb_value value);
|
|
148
|
+
|
|
149
|
+
/*
|
|
150
|
+
* Pops the last element from the array.
|
|
151
|
+
*
|
|
152
|
+
* Equivalent to:
|
|
153
|
+
*
|
|
154
|
+
* ary.pop
|
|
155
|
+
*
|
|
156
|
+
* @param mrb The mruby state reference.
|
|
157
|
+
* @param ary The array from which the value will be popped.
|
|
158
|
+
* @return The popped value.
|
|
159
|
+
*/
|
|
160
|
+
MRB_API mrb_value mrb_ary_pop(mrb_state *mrb, mrb_value ary);
|
|
161
|
+
|
|
162
|
+
/*
|
|
163
|
+
* Returns a reference to an element of the array on the given index.
|
|
164
|
+
*
|
|
165
|
+
* Equivalent to:
|
|
166
|
+
*
|
|
167
|
+
* ary[n]
|
|
168
|
+
*
|
|
169
|
+
* @param mrb The mruby state reference.
|
|
170
|
+
* @param ary The target array.
|
|
171
|
+
* @param n The array index being referenced
|
|
172
|
+
* @return The referenced value.
|
|
173
|
+
*/
|
|
174
|
+
MRB_API mrb_value mrb_ary_ref(mrb_state *mrb, mrb_value ary, mrb_int n);
|
|
175
|
+
|
|
176
|
+
/*
|
|
177
|
+
* Sets a value on an array at the given index
|
|
178
|
+
*
|
|
179
|
+
* Equivalent to:
|
|
180
|
+
*
|
|
181
|
+
* ary[n] = val
|
|
182
|
+
*
|
|
183
|
+
* @param mrb The mruby state reference.
|
|
184
|
+
* @param ary The target array.
|
|
185
|
+
* @param n The array index being referenced.
|
|
186
|
+
* @param val The value being setted.
|
|
187
|
+
*/
|
|
188
|
+
MRB_API void mrb_ary_set(mrb_state *mrb, mrb_value ary, mrb_int n, mrb_value val);
|
|
189
|
+
|
|
190
|
+
/*
|
|
191
|
+
* Replace the array with another array
|
|
192
|
+
*
|
|
193
|
+
* Equivalent to:
|
|
194
|
+
*
|
|
195
|
+
* ary.replace(other)
|
|
196
|
+
*
|
|
197
|
+
* @param mrb The mruby state reference
|
|
198
|
+
* @param self The target array.
|
|
199
|
+
* @param other The array to replace it with.
|
|
200
|
+
*/
|
|
201
|
+
MRB_API void mrb_ary_replace(mrb_state *mrb, mrb_value self, mrb_value other);
|
|
202
|
+
MRB_API mrb_value mrb_ensure_array_type(mrb_state *mrb, mrb_value self);
|
|
203
|
+
MRB_API mrb_value mrb_check_array_type(mrb_state *mrb, mrb_value self);
|
|
204
|
+
|
|
205
|
+
/*
|
|
206
|
+
* Unshift an element into the array
|
|
207
|
+
*
|
|
208
|
+
* Equivalent to:
|
|
209
|
+
*
|
|
210
|
+
* ary.unshift(item)
|
|
211
|
+
*
|
|
212
|
+
* @param mrb The mruby state reference.
|
|
213
|
+
* @param self The target array.
|
|
214
|
+
* @param item The item to unshift.
|
|
215
|
+
*/
|
|
216
|
+
MRB_API mrb_value mrb_ary_unshift(mrb_state *mrb, mrb_value self, mrb_value item);
|
|
217
|
+
|
|
218
|
+
/*
|
|
219
|
+
* Get nth element in the array
|
|
220
|
+
*
|
|
221
|
+
* Equivalent to:
|
|
222
|
+
*
|
|
223
|
+
* ary[offset]
|
|
224
|
+
*
|
|
225
|
+
* @param ary The target array.
|
|
226
|
+
* @param offset The element position (negative counts from the tail).
|
|
227
|
+
*/
|
|
228
|
+
MRB_API mrb_value mrb_ary_entry(mrb_value ary, mrb_int offset);
|
|
229
|
+
|
|
230
|
+
/*
|
|
231
|
+
* Shifts the first element from the array.
|
|
232
|
+
*
|
|
233
|
+
* Equivalent to:
|
|
234
|
+
*
|
|
235
|
+
* ary.shift
|
|
236
|
+
*
|
|
237
|
+
* @param mrb The mruby state reference.
|
|
238
|
+
* @param self The array from which the value will be shifted.
|
|
239
|
+
* @return The shifted value.
|
|
240
|
+
*/
|
|
241
|
+
MRB_API mrb_value mrb_ary_shift(mrb_state *mrb, mrb_value self);
|
|
242
|
+
|
|
243
|
+
/*
|
|
244
|
+
* Removes all elements from the array
|
|
245
|
+
*
|
|
246
|
+
* Equivalent to:
|
|
247
|
+
*
|
|
248
|
+
* ary.clear
|
|
249
|
+
*
|
|
250
|
+
* @param mrb The mruby state reference.
|
|
251
|
+
* @param self The target array.
|
|
252
|
+
* @return self
|
|
253
|
+
*/
|
|
254
|
+
MRB_API mrb_value mrb_ary_clear(mrb_state *mrb, mrb_value self);
|
|
255
|
+
|
|
256
|
+
/*
|
|
257
|
+
* Join the array elements together in a string
|
|
258
|
+
*
|
|
259
|
+
* Equivalent to:
|
|
260
|
+
*
|
|
261
|
+
* ary.join(sep="")
|
|
262
|
+
*
|
|
263
|
+
* @param mrb The mruby state reference.
|
|
264
|
+
* @param ary The target array
|
|
265
|
+
* @param sep The separater, can be NULL
|
|
266
|
+
*/
|
|
267
|
+
MRB_API mrb_value mrb_ary_join(mrb_state *mrb, mrb_value ary, mrb_value sep);
|
|
268
|
+
|
|
269
|
+
/*
|
|
270
|
+
* Update the capacity of the array
|
|
271
|
+
*
|
|
272
|
+
* @param mrb The mruby state reference.
|
|
273
|
+
* @param ary The target array.
|
|
274
|
+
* @param new_len The new capacity of the array
|
|
275
|
+
*/
|
|
276
|
+
MRB_API mrb_value mrb_ary_resize(mrb_state *mrb, mrb_value ary, mrb_int new_len);
|
|
277
|
+
|
|
278
|
+
MRB_END_DECL
|
|
279
|
+
|
|
280
|
+
#endif /* MRUBY_ARRAY_H */
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/*
|
|
2
|
+
** mruby/boxing_nan.h - nan boxing mrb_value definition
|
|
3
|
+
**
|
|
4
|
+
** See Copyright Notice in mruby.h
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
#ifndef MRUBY_BOXING_NAN_H
|
|
8
|
+
#define MRUBY_BOXING_NAN_H
|
|
9
|
+
|
|
10
|
+
#ifdef MRB_USE_FLOAT
|
|
11
|
+
# error ---->> MRB_NAN_BOXING and MRB_USE_FLOAT conflict <<----
|
|
12
|
+
#endif
|
|
13
|
+
|
|
14
|
+
#ifdef MRB_WITHOUT_FLOAT
|
|
15
|
+
# error ---->> MRB_NAN_BOXING and MRB_WITHOUT_FLOAT conflict <<----
|
|
16
|
+
#endif
|
|
17
|
+
|
|
18
|
+
#ifdef MRB_INT64
|
|
19
|
+
# error ---->> MRB_NAN_BOXING and MRB_INT64 conflict <<----
|
|
20
|
+
#endif
|
|
21
|
+
|
|
22
|
+
#define MRB_FIXNUM_SHIFT 0
|
|
23
|
+
#define MRB_TT_HAS_BASIC MRB_TT_OBJECT
|
|
24
|
+
|
|
25
|
+
#ifdef MRB_ENDIAN_BIG
|
|
26
|
+
#define MRB_ENDIAN_LOHI(a,b) a b
|
|
27
|
+
#else
|
|
28
|
+
#define MRB_ENDIAN_LOHI(a,b) b a
|
|
29
|
+
#endif
|
|
30
|
+
|
|
31
|
+
/* value representation by nan-boxing:
|
|
32
|
+
* float : FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF
|
|
33
|
+
* object: 111111111111TTTT TTPPPPPPPPPPPPPP PPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPP
|
|
34
|
+
* int : 1111111111110001 0000000000000000 IIIIIIIIIIIIIIII IIIIIIIIIIIIIIII
|
|
35
|
+
* sym : 1111111111110001 0100000000000000 SSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSS
|
|
36
|
+
* In order to get enough bit size to save TT, all pointers are shifted 2 bits
|
|
37
|
+
* in the right direction. Also, TTTTTT is the mrb_vtype + 1;
|
|
38
|
+
*/
|
|
39
|
+
typedef struct mrb_value {
|
|
40
|
+
union {
|
|
41
|
+
mrb_float f;
|
|
42
|
+
union {
|
|
43
|
+
void *p;
|
|
44
|
+
struct {
|
|
45
|
+
MRB_ENDIAN_LOHI(
|
|
46
|
+
uint32_t ttt;
|
|
47
|
+
,union {
|
|
48
|
+
mrb_int i;
|
|
49
|
+
mrb_sym sym;
|
|
50
|
+
};
|
|
51
|
+
)
|
|
52
|
+
};
|
|
53
|
+
} value;
|
|
54
|
+
};
|
|
55
|
+
} mrb_value;
|
|
56
|
+
|
|
57
|
+
#define mrb_float_pool(mrb,f) mrb_float_value(mrb,f)
|
|
58
|
+
|
|
59
|
+
#define mrb_tt(o) ((enum mrb_vtype)(((o).value.ttt & 0xfc000)>>14)-1)
|
|
60
|
+
#define mrb_type(o) (enum mrb_vtype)((uint32_t)0xfff00000 < (o).value.ttt ? mrb_tt(o) : MRB_TT_FLOAT)
|
|
61
|
+
#define mrb_ptr(o) ((void*)((((uintptr_t)0x3fffffffffff)&((uintptr_t)((o).value.p)))<<2))
|
|
62
|
+
#define mrb_float(o) (o).f
|
|
63
|
+
#define mrb_cptr(o) mrb_ptr(o)
|
|
64
|
+
#define mrb_fixnum(o) (o).value.i
|
|
65
|
+
#define mrb_symbol(o) (o).value.sym
|
|
66
|
+
|
|
67
|
+
#ifdef MRB_64BIT
|
|
68
|
+
#define BOXNAN_SHIFT_LONG_POINTER(v) (((uintptr_t)(v)>>34)&0x3fff)
|
|
69
|
+
#else
|
|
70
|
+
#define BOXNAN_SHIFT_LONG_POINTER(v) 0
|
|
71
|
+
#endif
|
|
72
|
+
|
|
73
|
+
#define BOXNAN_SET_VALUE(o, tt, attr, v) do {\
|
|
74
|
+
(o).attr = (v);\
|
|
75
|
+
(o).value.ttt = 0xfff00000 | (((tt)+1)<<14);\
|
|
76
|
+
} while (0)
|
|
77
|
+
|
|
78
|
+
#define BOXNAN_SET_OBJ_VALUE(o, tt, v) do {\
|
|
79
|
+
(o).value.p = (void*)((uintptr_t)(v)>>2);\
|
|
80
|
+
(o).value.ttt = (0xfff00000|(((tt)+1)<<14)|BOXNAN_SHIFT_LONG_POINTER(v));\
|
|
81
|
+
} while (0)
|
|
82
|
+
|
|
83
|
+
#define SET_FLOAT_VALUE(mrb,r,v) do { \
|
|
84
|
+
if (v != v) { \
|
|
85
|
+
(r).value.ttt = 0x7ff80000; \
|
|
86
|
+
(r).value.i = 0; \
|
|
87
|
+
} \
|
|
88
|
+
else { \
|
|
89
|
+
(r).f = v; \
|
|
90
|
+
}} while(0)
|
|
91
|
+
|
|
92
|
+
#define SET_NIL_VALUE(r) BOXNAN_SET_VALUE(r, MRB_TT_FALSE, value.i, 0)
|
|
93
|
+
#define SET_FALSE_VALUE(r) BOXNAN_SET_VALUE(r, MRB_TT_FALSE, value.i, 1)
|
|
94
|
+
#define SET_TRUE_VALUE(r) BOXNAN_SET_VALUE(r, MRB_TT_TRUE, value.i, 1)
|
|
95
|
+
#define SET_BOOL_VALUE(r,b) BOXNAN_SET_VALUE(r, b ? MRB_TT_TRUE : MRB_TT_FALSE, value.i, 1)
|
|
96
|
+
#define SET_INT_VALUE(r,n) BOXNAN_SET_VALUE(r, MRB_TT_FIXNUM, value.i, (n))
|
|
97
|
+
#define SET_SYM_VALUE(r,v) BOXNAN_SET_VALUE(r, MRB_TT_SYMBOL, value.sym, (v))
|
|
98
|
+
#define SET_OBJ_VALUE(r,v) BOXNAN_SET_OBJ_VALUE(r, (((struct RObject*)(v))->tt), (v))
|
|
99
|
+
#define SET_CPTR_VALUE(mrb,r,v) BOXNAN_SET_OBJ_VALUE(r, MRB_TT_CPTR, v)
|
|
100
|
+
#define SET_UNDEF_VALUE(r) BOXNAN_SET_VALUE(r, MRB_TT_UNDEF, value.i, 0)
|
|
101
|
+
|
|
102
|
+
#endif /* MRUBY_BOXING_NAN_H */
|