Kivy-examples 2.3.1.dev0__py3-none-any.whl
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.
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/3Drendering/main.py +77 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/3Drendering/monkey.obj +7966 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/3Drendering/objloader.py +147 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/3Drendering/simple.glsl +47 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/RST_Editor/editor.kv +72 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/RST_Editor/main.py +64 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/android/compass/android.txt +3 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/android/compass/compass.kv +25 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/android/compass/main.py +77 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/android/compass/needle.png +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/android/compass/rose.png +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/android/takepicture/android.txt +3 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/android/takepicture/main.py +80 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/android/takepicture/shadow32.png +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/android/takepicture/takepicture.kv +40 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/animation/animate.py +42 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/application/app_suite.py +152 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/application/app_suite_data/testkvdir.kv +4 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/application/app_with_build.py +24 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/application/app_with_config.py +49 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/application/app_with_kv.py +25 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/application/app_with_kv_in_template1.py +27 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/application/template1/test.kv +4 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/application/test.kv +4 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/application/testkvfile.kv +4 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/async/asyncio_advanced.py +90 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/async/asyncio_basic.py +59 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/async/trio_advanced.py +93 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/async/trio_basic.py +58 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/12908_sweet_trip_mm_clap_hi.wav +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/12909_sweet_trip_mm_clap_lo.wav +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/12910_sweet_trip_mm_clap_mid.wav +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/12911_sweet_trip_mm_hat_cl.wav +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/12913_sweet_trip_mm_kick_hi.wav +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/12914_sweet_trip_mm_kick_lo.wav +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/12915_sweet_trip_mm_kick_mid.wav +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/12916_sweet_trip_mm_kwik_mod_01.wav +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/12917_sweet_trip_mm_kwik_mod_02.wav +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/12918_sweet_trip_mm_kwik_mod_03.wav +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/12919_sweet_trip_mm_kwik_mod_04.wav +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/12920_sweet_trip_mm_kwik_mod_05.wav +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/12921_sweet_trip_mm_kwik_mod_06.wav +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/12922_sweet_trip_mm_kwik_mod_07.wav +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/12923_sweet_trip_mm_metal_clave.wav +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/12925_sweet_trip_mm_sweep_x.wav +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/12926_sweet_trip_mm_sweep_y.wav +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/12927_sweet_trip_mm_sweep_z.wav +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/audio.kv +59 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/main.py +81 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/pitch.py +42 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/camera/main.py +59 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/canvas/bezier.py +105 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/canvas/canvas_stress.py +72 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/canvas/circle.py +84 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/canvas/fbo_canvas.py +91 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/canvas/kiwi.jpg +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/canvas/lines.py +296 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/canvas/lines_extended.py +183 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/canvas/mesh.py +57 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/canvas/mesh_manipulation.py +101 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/canvas/mtexture1.png +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/canvas/mtexture2.png +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/canvas/multitexture.py +110 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/canvas/repeat_texture.py +65 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/canvas/rotation.py +35 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/canvas/rounded_rectangle.py +153 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/canvas/scale.py +37 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/canvas/stencil_canvas.py +85 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/canvas/tesselate.py +146 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/canvas/texture.py +143 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/canvas/texture_example_image.png +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/container/kv/1.kv +28 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/container/kv/2.kv +28 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/container/kv/3.kv +28 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/container/kv/root.kv +32 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/container/main.py +63 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/cover/cover_image.py +25 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/cover/cover_video.py +31 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/camera_puzzle.py +98 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/kivycatalog/container_kvs/AnchorLayoutContainer.kv +15 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/kivycatalog/container_kvs/BoxLayoutContainer.kv +14 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/kivycatalog/container_kvs/ButtonContainer.kv +27 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/kivycatalog/container_kvs/CheckBoxContainer.kv +28 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/kivycatalog/container_kvs/FileChooserContainer.kv +19 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/kivycatalog/container_kvs/FloatLayoutContainer.kv +16 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/kivycatalog/container_kvs/GridLayoutContainer.kv +20 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/kivycatalog/container_kvs/LabelContainer.kv +62 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/kivycatalog/container_kvs/MediaContainer.kv +9 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/kivycatalog/container_kvs/PlaygroundContainer.kv +4 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/kivycatalog/container_kvs/PopupContainer.kv +39 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/kivycatalog/container_kvs/ProgressBarContainer.kv +17 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/kivycatalog/container_kvs/RestContainer.kv +5 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/kivycatalog/container_kvs/ScatterContainer.kv +16 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/kivycatalog/container_kvs/SelectorsContainer.kv +10 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/kivycatalog/container_kvs/StackLayoutContainer.kv +25 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/kivycatalog/container_kvs/TextContainer.kv +20 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/kivycatalog/kivycatalog.kv +144 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/kivycatalog/main.py +192 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/multistroke/gesturedatabase.kv +117 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/multistroke/gesturedatabase.py +180 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/multistroke/helpers.py +30 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/multistroke/historymanager.kv +164 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/multistroke/historymanager.py +276 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/multistroke/main.py +144 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/multistroke/multistroke.kv +101 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/multistroke/settings.kv +110 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/multistroke/settings.py +97 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/pictures/android.txt +3 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/pictures/images/Bubbles.jpg +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/pictures/images/Ill1.jpg +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/pictures/images/Wall.jpg +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/pictures/images/faust_github.jpg +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/pictures/main.py +73 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/pictures/pictures.kv +57 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/pictures/shadow32.png +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/shadereditor/main.py +147 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/shadereditor/shadereditor.kv +39 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/README.txt +11 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/android.txt +3 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/data/background.png +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/data/faust_github.jpg +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/data/icons/README +4 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/data/icons/bug.png +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/data/icons/chevron-left.png +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/data/icons/chevron-right.png +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/data/screens/accordions.kv +39 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/data/screens/bubbles.kv +33 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/data/screens/buttons.kv +26 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/data/screens/carousel.kv +51 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/data/screens/checkboxes.kv +33 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/data/screens/codeinput.kv +9 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/data/screens/dropdown.kv +40 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/data/screens/filechoosers.kv +24 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/data/screens/popups.kv +17 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/data/screens/progressbar.kv +15 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/data/screens/rstdocument.kv +24 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/data/screens/scatter.kv +14 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/data/screens/screenmanager.kv +46 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/data/screens/sliders.kv +55 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/data/screens/spinner.kv +11 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/data/screens/splitter.kv +13 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/data/screens/switches.kv +39 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/data/screens/tabbedpanel + layouts.kv +69 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/data/screens/textinputs.kv +48 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/data/screens/togglebutton.kv +39 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/main.py +243 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/showcase/showcase.kv +100 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/touchtracer/README.txt +12 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/touchtracer/android.txt +3 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/touchtracer/icon.png +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/touchtracer/main.py +170 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/touchtracer/particle.png +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/demo/touchtracer/touchtracer.kv +29 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/frameworks/twisted/echo_client_app.py +82 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/frameworks/twisted/echo_server_app.py +49 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/frameworks/twisted/twistd_app.py +66 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/gestures/gesture_board.py +95 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/gestures/my_gestures.py +90 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/guide/designwithkv/controller.kv +16 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/guide/designwithkv/main.py +29 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/guide/firstwidget/1_skeleton.py +15 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/guide/firstwidget/2_print_touch.py +16 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/guide/firstwidget/3_draw_ellipse.py +22 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/guide/firstwidget/4_draw_line.py +26 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/guide/firstwidget/5_random_colors.py +28 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/guide/firstwidget/6_button.py +38 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/guide/quickstart/main.py +15 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/includes/button.kv +9 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/includes/layout.kv +6 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/includes/main.py +19 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/includes/test.kv +5 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/keyboard/android.txt +3 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/keyboard/main.py +226 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/keyboard/numeric.json +38 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/kinect/README.txt +13 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/kinect/kinectviewer.py +283 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/kv/app_button.kv +9 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/kv/app_camera.kv +25 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/kv/app_fbo.kv +11 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/kv/app_layout.kv +23 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/kv/app_logo.kv +36 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/kv/app_scatter.kv +6 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/kv/app_stencil.kv +27 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/kv/app_video.kv +42 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/kv/builder_template.py +28 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/kv/ids/id_in_kv/id_in_kv.py +20 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/kv/ids/id_in_kv/test.kv +11 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/kv/ids/kv_and_py/kv_and_py.py +34 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/kv/ids/kv_and_py/test.kv +11 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/kv/kivy.jpg +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/kv/kvrun.py +38 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/miscellaneous/clipboard.py +63 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/miscellaneous/custom_titlebar.py +56 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/miscellaneous/imagesave.py +14 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/miscellaneous/joystick.py +83 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/miscellaneous/multiple_dropfile.py +51 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/miscellaneous/on_textedit_event.py +104 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/miscellaneous/opacitywindow.py +28 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/miscellaneous/shapecollisions.py +397 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/miscellaneous/shapedwindow.py +98 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/miscellaneous/two_panes.py +47 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/miscellaneous/urlrequest.py +128 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/settings/android.txt +3 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/settings/main.py +122 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/shader/plasma.kv +9 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/shader/plasma.py +86 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/shader/rotated.kv +91 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/shader/rotated.py +102 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/shader/shadertree.kv +29 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/shader/shadertree.py +193 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/shader/tex3.jpg +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/svg/benchmark.py +19 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/svg/cloud.svg +25 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/svg/main-smaa.py +155 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/svg/main.py +50 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/svg/music.svg +68 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/svg/rotated.svg +23 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/svg/ship.svg +181 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/svg/sun.svg +35 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/svg/tiger.svg +813 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/text/pango_demo.py +296 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/tutorials/notes/final/data/icon.png +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/tutorials/notes/final/main.py +163 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/tutorials/notes/final/note.kv +154 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/tutorials/pong/main.py +82 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/tutorials/pong/pong.kv +53 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/tutorials/pong/steps/step1/main.py +15 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/tutorials/pong/steps/step1/pong.kv +2 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/tutorials/pong/steps/step2/main.py +15 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/tutorials/pong/steps/step2/pong.kv +21 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/tutorials/pong/steps/step3/main.py +26 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/tutorials/pong/steps/step3/pong.kv +31 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/tutorials/pong/steps/step4/main.py +48 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/tutorials/pong/steps/step4/pong.kv +34 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/tutorials/pong/steps/step5/main.py +75 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/tutorials/pong/steps/step5/pong.kv +53 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/accordion_1.py +17 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/actionbar.py +32 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/asyncimage.py +35 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/boxlayout_poshint.py +54 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/bubble_test.py +63 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/camera.py +33 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/carousel_buttons.py +50 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/cityCC0.mpg +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/cityCC0.png +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/codeinput.py +225 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/codeinputtest.kv +53 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/colorpicker.py +234 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/colorusage.py +62 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/compound_selection.py +83 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/customcollide.py +82 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/effectwidget.py +193 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/effectwidget2.py +47 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/effectwidget3_advanced.py +62 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/fbowidget.py +111 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/focus_behavior.py +98 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/image_mipmap.py +31 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/keyboardlistener.py +42 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/label_mipmap.py +28 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/label_sizing.py +193 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/label_text_size.py +49 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/label_with_markup.py +21 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/lang_dynamic_classes.py +18 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/pagelayout.py +64 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/popup_with_kv.py +35 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/recycleview/basic_data.py +124 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/recycleview/infinite_scrolling.py +143 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/recycleview/key_viewclass.py +149 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/recycleview/messenger.py +196 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/recycleview/pull_to_refresh.py +95 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/recycleview/rv_animate_items.py +109 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/rstexample.py +128 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/scatter.kv +53 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/scatter.py +16 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/screenmanager.py +106 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/scrollview.kv +16 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/scrollview.py +40 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/sequenced_images/android.txt +3 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/sequenced_images/data/images/bird.zip +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/sequenced_images/data/images/button_white.png +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/sequenced_images/data/images/button_white_animated.zip +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/sequenced_images/data/images/cube.zip +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/sequenced_images/data/images/info.png +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/sequenced_images/data/images/info.zip +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/sequenced_images/data/images/simple_cv_joint_animated.gif +0 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/sequenced_images/main.kv +63 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/sequenced_images/main.py +150 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/sequenced_images/uix/__init__.py +7 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/sequenced_images/uix/custom_button.py +98 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/settings.py +93 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/shorten_text.py +80 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/spinner.py +17 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/splitter.py +74 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/tabbed_panel_showcase.py +316 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/tabbedpanel.py +50 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/textalign.kv +49 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/textalign.py +48 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/textinput.py +59 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/unicode_textinput.py +244 -0
- Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/widgets/videoplayer.py +26 -0
- Kivy_examples-2.3.1.dev0.dist-info/AUTHORS +66 -0
- Kivy_examples-2.3.1.dev0.dist-info/LICENSE +21 -0
- Kivy_examples-2.3.1.dev0.dist-info/METADATA +382 -0
- Kivy_examples-2.3.1.dev0.dist-info/RECORD +624 -0
- Kivy_examples-2.3.1.dev0.dist-info/WHEEL +5 -0
- Kivy_examples-2.3.1.dev0.dist-info/dependency_links.txt +1 -0
- Kivy_examples-2.3.1.dev0.dist-info/top_level.txt +1 -0
- kivy/__init__.py +519 -0
- kivy/_version.py +18 -0
- kivy/animation.py +831 -0
- kivy/app.py +1213 -0
- kivy/atlas.py +456 -0
- kivy/base.py +617 -0
- kivy/cache.py +262 -0
- kivy/clock.py +1172 -0
- kivy/compat.py +82 -0
- kivy/config.py +1004 -0
- kivy/context.py +102 -0
- kivy/core/__init__.py +247 -0
- kivy/core/audio/__init__.py +223 -0
- kivy/core/audio/audio_android.py +104 -0
- kivy/core/audio/audio_avplayer.py +82 -0
- kivy/core/audio/audio_ffpyplayer.py +185 -0
- kivy/core/audio/audio_gstplayer.py +101 -0
- kivy/core/audio/audio_pygame.py +127 -0
- kivy/core/camera/__init__.py +151 -0
- kivy/core/camera/camera_android.py +206 -0
- kivy/core/camera/camera_gi.py +170 -0
- kivy/core/camera/camera_opencv.py +163 -0
- kivy/core/camera/camera_picamera.py +96 -0
- kivy/core/clipboard/__init__.py +157 -0
- kivy/core/clipboard/_clipboard_ext.py +36 -0
- kivy/core/clipboard/clipboard_android.py +91 -0
- kivy/core/clipboard/clipboard_dbusklipper.py +41 -0
- kivy/core/clipboard/clipboard_dummy.py +26 -0
- kivy/core/clipboard/clipboard_gtk3.py +47 -0
- kivy/core/clipboard/clipboard_nspaste.py +44 -0
- kivy/core/clipboard/clipboard_pygame.py +67 -0
- kivy/core/clipboard/clipboard_sdl2.py +36 -0
- kivy/core/clipboard/clipboard_winctypes.py +107 -0
- kivy/core/clipboard/clipboard_xclip.py +29 -0
- kivy/core/clipboard/clipboard_xsel.py +26 -0
- kivy/core/gl/__init__.py +90 -0
- kivy/core/image/__init__.py +996 -0
- kivy/core/image/img_dds.py +40 -0
- kivy/core/image/img_ffpyplayer.py +87 -0
- kivy/core/image/img_pil.py +123 -0
- kivy/core/image/img_pygame.py +119 -0
- kivy/core/image/img_sdl2.py +66 -0
- kivy/core/image/img_tex.py +58 -0
- kivy/core/spelling/__init__.py +135 -0
- kivy/core/spelling/spelling_enchant.py +50 -0
- kivy/core/spelling/spelling_osxappkit.py +64 -0
- kivy/core/text/__init__.py +1090 -0
- kivy/core/text/markup.py +893 -0
- kivy/core/text/text_pango.py +145 -0
- kivy/core/text/text_pil.py +84 -0
- kivy/core/text/text_pygame.py +117 -0
- kivy/core/text/text_sdl2.py +50 -0
- kivy/core/video/__init__.py +219 -0
- kivy/core/video/video_ffmpeg.py +106 -0
- kivy/core/video/video_ffpyplayer.py +449 -0
- kivy/core/video/video_gstplayer.py +140 -0
- kivy/core/video/video_null.py +12 -0
- kivy/core/window/__init__.py +2515 -0
- kivy/core/window/window_egl_rpi.py +86 -0
- kivy/core/window/window_pygame.py +441 -0
- kivy/core/window/window_sdl2.py +999 -0
- kivy/deps/__init__.py +6 -0
- kivy/effects/__init__.py +23 -0
- kivy/effects/dampedscroll.py +114 -0
- kivy/effects/kinetic.py +193 -0
- kivy/effects/opacityscroll.py +27 -0
- kivy/effects/scroll.py +126 -0
- kivy/event.py +12 -0
- kivy/eventmanager/__init__.py +185 -0
- kivy/extras/__init__.py +0 -0
- kivy/extras/highlight.py +52 -0
- kivy/factory.py +190 -0
- kivy/factory_registers.py +201 -0
- kivy/garden/__init__.py +186 -0
- kivy/geometry.py +121 -0
- kivy/gesture.py +424 -0
- kivy/graphics/__init__.py +126 -0
- kivy/graphics/cgl_backend/__init__.py +0 -0
- kivy/input/__init__.py +39 -0
- kivy/input/factory.py +35 -0
- kivy/input/motionevent.py +587 -0
- kivy/input/postproc/__init__.py +27 -0
- kivy/input/postproc/calibration.py +200 -0
- kivy/input/postproc/dejitter.py +74 -0
- kivy/input/postproc/doubletap.py +101 -0
- kivy/input/postproc/ignorelist.py +47 -0
- kivy/input/postproc/retaintouch.py +93 -0
- kivy/input/postproc/tripletap.py +106 -0
- kivy/input/provider.py +40 -0
- kivy/input/providers/__init__.py +68 -0
- kivy/input/providers/androidjoystick.py +117 -0
- kivy/input/providers/hidinput.py +778 -0
- kivy/input/providers/leapfinger.py +113 -0
- kivy/input/providers/linuxwacom.py +396 -0
- kivy/input/providers/mactouch.py +220 -0
- kivy/input/providers/mouse.py +424 -0
- kivy/input/providers/mtdev.py +380 -0
- kivy/input/providers/probesysfs.py +254 -0
- kivy/input/providers/tuio.py +326 -0
- kivy/input/providers/wm_common.py +162 -0
- kivy/input/providers/wm_pen.py +121 -0
- kivy/input/providers/wm_touch.py +157 -0
- kivy/input/recorder.py +335 -0
- kivy/input/shape.py +27 -0
- kivy/interactive.py +335 -0
- kivy/lang/__init__.py +883 -0
- kivy/lang/builder.py +1004 -0
- kivy/lang/parser.py +822 -0
- kivy/lib/__init__.py +21 -0
- kivy/lib/ddsfile.py +419 -0
- kivy/lib/gstplayer/__init__.py +27 -0
- kivy/lib/mtdev.py +254 -0
- kivy/lib/vidcore_lite/__init__.py +0 -0
- kivy/loader.py +579 -0
- kivy/logger.py +646 -0
- kivy/metrics.py +421 -0
- kivy/modules/__init__.py +300 -0
- kivy/modules/_webdebugger.py +200 -0
- kivy/modules/console.py +1059 -0
- kivy/modules/cursor.py +75 -0
- kivy/modules/inspector.py +755 -0
- kivy/modules/joycursor.py +299 -0
- kivy/modules/keybinding.py +64 -0
- kivy/modules/monitor.py +90 -0
- kivy/modules/recorder.py +94 -0
- kivy/modules/screen.py +183 -0
- kivy/modules/showborder.py +33 -0
- kivy/modules/touchring.py +97 -0
- kivy/modules/webdebugger.py +30 -0
- kivy/multistroke.py +1477 -0
- kivy/network/__init__.py +7 -0
- kivy/network/urlrequest.py +794 -0
- kivy/parser.py +154 -0
- kivy/resources.py +102 -0
- kivy/storage/__init__.py +405 -0
- kivy/storage/dictstore.py +98 -0
- kivy/storage/jsonstore.py +92 -0
- kivy/storage/redisstore.py +103 -0
- kivy/support.py +267 -0
- kivy/tests/__init__.py +11 -0
- kivy/tests/async_common.py +568 -0
- kivy/tests/common.py +524 -0
- kivy/tests/conftest.py +33 -0
- kivy/tests/fixtures.py +169 -0
- kivy/tests/perf_test_textinput.py +195 -0
- kivy/tests/pyinstaller/simple_widget/main.py +12 -0
- kivy/tests/pyinstaller/simple_widget/project/__init__.py +0 -0
- kivy/tests/pyinstaller/simple_widget/project/widget.py +12 -0
- kivy/tests/pyinstaller/test_pyinstaller.py +115 -0
- kivy/tests/pyinstaller/video_widget/main.py +6 -0
- kivy/tests/pyinstaller/video_widget/project/__init__.py +38 -0
- kivy/tests/test_animations.py +415 -0
- kivy/tests/test_app.py +216 -0
- kivy/tests/test_audio.py +69 -0
- kivy/tests/test_benchmark.py +292 -0
- kivy/tests/test_clipboard.py +48 -0
- kivy/tests/test_clock.py +292 -0
- kivy/tests/test_compat.py +6 -0
- kivy/tests/test_config.py +35 -0
- kivy/tests/test_coverage.py +83 -0
- kivy/tests/test_doc_gallery.py +38 -0
- kivy/tests/test_environ_cli.py +50 -0
- kivy/tests/test_fbo_py2py3.py +74 -0
- kivy/tests/test_filechooser.py +11 -0
- kivy/tests/test_filechooser_unicode.py +82 -0
- kivy/tests/test_fonts.py +42 -0
- kivy/tests/test_garden.py +23 -0
- kivy/tests/test_graphics.py +1149 -0
- kivy/tests/test_graphics_svg.py +84 -0
- kivy/tests/test_image.py +74 -0
- kivy/tests/test_imageloader.py +485 -0
- kivy/tests/test_invalid_lang.py +42 -0
- kivy/tests/test_issues/test_6315.py +55 -0
- kivy/tests/test_issues/test_issue_1084.py +47 -0
- kivy/tests/test_issues/test_issue_1091.py +19 -0
- kivy/tests/test_issues/test_issue_599.py +21 -0
- kivy/tests/test_issues/test_issue_609.py +19 -0
- kivy/tests/test_issues/test_issue_6909.py +28 -0
- kivy/tests/test_issues/test_issue_883.py +12 -0
- kivy/tests/test_kivy_init.py +30 -0
- kivy/tests/test_knspace.py +247 -0
- kivy/tests/test_lang.py +431 -0
- kivy/tests/test_lang_complex.py +87 -0
- kivy/tests/test_lang_pre_process_and_post_process.py +394 -0
- kivy/tests/test_logger.py +516 -0
- kivy/tests/test_metrics.py +30 -0
- kivy/tests/test_module_inspector.py +382 -0
- kivy/tests/test_motion_event.py +44 -0
- kivy/tests/test_mouse_hover_event.py +249 -0
- kivy/tests/test_mouse_multitouchsim.py +554 -0
- kivy/tests/test_multistroke.py +389 -0
- kivy/tests/test_properties.py +1332 -0
- kivy/tests/test_resources.py +79 -0
- kivy/tests/test_rst_replace.py +63 -0
- kivy/tests/test_screen.py +38 -0
- kivy/tests/test_storage.py +135 -0
- kivy/tests/test_uix_actionbar.py +363 -0
- kivy/tests/test_uix_anchorlayout.py +79 -0
- kivy/tests/test_uix_asyncimage.py +133 -0
- kivy/tests/test_uix_boxlayout.py +94 -0
- kivy/tests/test_uix_bubble.py +425 -0
- kivy/tests/test_uix_carousel.py +93 -0
- kivy/tests/test_uix_colorpicker.py +77 -0
- kivy/tests/test_uix_dropdown.py +91 -0
- kivy/tests/test_uix_gridlayout.py +244 -0
- kivy/tests/test_uix_layout.py +16 -0
- kivy/tests/test_uix_modal.py +101 -0
- kivy/tests/test_uix_recyclegridlayout.py +383 -0
- kivy/tests/test_uix_relativelayout.py +30 -0
- kivy/tests/test_uix_scrollview.py +358 -0
- kivy/tests/test_uix_settings.py +33 -0
- kivy/tests/test_uix_slider.py +156 -0
- kivy/tests/test_uix_stacklayout.py +120 -0
- kivy/tests/test_uix_textinput.py +577 -0
- kivy/tests/test_uix_translate_coordinates.py +72 -0
- kivy/tests/test_uix_videoplayer.py +112 -0
- kivy/tests/test_uix_widget.py +137 -0
- kivy/tests/test_urlrequest/test_urlrequest_requests.py +378 -0
- kivy/tests/test_urlrequest/test_urlrequest_urllib.py +155 -0
- kivy/tests/test_utils.py +237 -0
- kivy/tests/test_vector.py +256 -0
- kivy/tests/test_video.py +25 -0
- kivy/tests/test_weakmethod.py +44 -0
- kivy/tests/test_widget.py +127 -0
- kivy/tests/test_widget_walk.py +70 -0
- kivy/tests/test_window_base.py +60 -0
- kivy/tests/test_window_info.py +29 -0
- kivy/tests/visual_test_label.py +291 -0
- kivy/tools/__init__.py +44 -0
- kivy/tools/benchmark.py +286 -0
- kivy/tools/changelog_parser.py +120 -0
- kivy/tools/coverage.py +135 -0
- kivy/tools/gallery.py +323 -0
- kivy/tools/generate-icons.py +117 -0
- kivy/tools/gles_compat/subset_gles.py +125 -0
- kivy/tools/highlight/__init__.py +9 -0
- kivy/tools/kviewer.py +80 -0
- kivy/tools/packaging/__init__.py +12 -0
- kivy/tools/packaging/cython_cfg.py +82 -0
- kivy/tools/packaging/factory.py +105 -0
- kivy/tools/packaging/pyinstaller_hooks/__init__.py +381 -0
- kivy/tools/packaging/pyinstaller_hooks/__main__.py +29 -0
- kivy/tools/packaging/pyinstaller_hooks/hook-kivy.py +9 -0
- kivy/tools/packaging/pyinstaller_hooks/pyi_rth_kivy.py +17 -0
- kivy/tools/pep8checker/pep8.py +2316 -0
- kivy/tools/pep8checker/pep8kivy.py +109 -0
- kivy/tools/report.py +223 -0
- kivy/tools/stub-gl-debug.py +201 -0
- kivy/tools/texturecompress.py +233 -0
- kivy/uix/__init__.py +56 -0
- kivy/uix/accordion.py +484 -0
- kivy/uix/actionbar.py +934 -0
- kivy/uix/anchorlayout.py +122 -0
- kivy/uix/behaviors/__init__.py +95 -0
- kivy/uix/behaviors/button.py +212 -0
- kivy/uix/behaviors/codenavigation.py +167 -0
- kivy/uix/behaviors/compoundselection.py +688 -0
- kivy/uix/behaviors/cover.py +160 -0
- kivy/uix/behaviors/drag.py +234 -0
- kivy/uix/behaviors/emacs.py +140 -0
- kivy/uix/behaviors/focus.py +595 -0
- kivy/uix/behaviors/knspace.py +590 -0
- kivy/uix/behaviors/togglebutton.py +156 -0
- kivy/uix/behaviors/touchripple.py +318 -0
- kivy/uix/boxlayout.py +331 -0
- kivy/uix/bubble.py +576 -0
- kivy/uix/button.py +137 -0
- kivy/uix/camera.py +118 -0
- kivy/uix/carousel.py +695 -0
- kivy/uix/checkbox.py +197 -0
- kivy/uix/codeinput.py +238 -0
- kivy/uix/colorpicker.py +486 -0
- kivy/uix/dropdown.py +391 -0
- kivy/uix/effectwidget.py +772 -0
- kivy/uix/filechooser.py +1134 -0
- kivy/uix/floatlayout.py +148 -0
- kivy/uix/gesturesurface.py +625 -0
- kivy/uix/gridlayout.py +629 -0
- kivy/uix/image.py +528 -0
- kivy/uix/label.py +1200 -0
- kivy/uix/layout.py +322 -0
- kivy/uix/modalview.py +339 -0
- kivy/uix/pagelayout.py +233 -0
- kivy/uix/popup.py +266 -0
- kivy/uix/progressbar.py +95 -0
- kivy/uix/recycleboxlayout.py +183 -0
- kivy/uix/recyclegridlayout.py +255 -0
- kivy/uix/recyclelayout.py +446 -0
- kivy/uix/recycleview/__init__.py +624 -0
- kivy/uix/recycleview/datamodel.py +194 -0
- kivy/uix/recycleview/layout.py +253 -0
- kivy/uix/recycleview/views.py +423 -0
- kivy/uix/relativelayout.py +324 -0
- kivy/uix/rst.py +1492 -0
- kivy/uix/sandbox.py +198 -0
- kivy/uix/scatter.py +645 -0
- kivy/uix/scatterlayout.py +93 -0
- kivy/uix/screenmanager.py +1275 -0
- kivy/uix/scrollview.py +1288 -0
- kivy/uix/settings.py +1343 -0
- kivy/uix/slider.py +421 -0
- kivy/uix/spinner.py +221 -0
- kivy/uix/splitter.py +430 -0
- kivy/uix/stacklayout.py +331 -0
- kivy/uix/stencilview.py +40 -0
- kivy/uix/switch.py +122 -0
- kivy/uix/tabbedpanel.py +880 -0
- kivy/uix/textinput.py +4049 -0
- kivy/uix/togglebutton.py +37 -0
- kivy/uix/treeview.py +665 -0
- kivy/uix/video.py +302 -0
- kivy/uix/videoplayer.py +697 -0
- kivy/uix/vkeyboard.py +879 -0
- kivy/uix/widget.py +1629 -0
- kivy/utils.py +550 -0
- kivy/vector.py +412 -0
- kivy/weakmethod.py +72 -0
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
'''
|
|
2
|
+
Suite of Application Builders
|
|
3
|
+
=============================
|
|
4
|
+
|
|
5
|
+
This explores different methods of starting an application. If you run
|
|
6
|
+
this without a command line parameter, you should see a menu in your terminal.
|
|
7
|
+
You can also run this with a 'r' parameter to pick a random method.
|
|
8
|
+
There are lots of logging options to make this easier to debug: the execution
|
|
9
|
+
order may not be obvious. Each time you run the command, only one kivy
|
|
10
|
+
application is created.
|
|
11
|
+
|
|
12
|
+
This uses the file testkvfile.kv and the file app_suite_data/testkvdir.kv.
|
|
13
|
+
|
|
14
|
+
'''
|
|
15
|
+
|
|
16
|
+
from __future__ import print_function
|
|
17
|
+
import sys
|
|
18
|
+
import re
|
|
19
|
+
from random import choice
|
|
20
|
+
|
|
21
|
+
import kivy
|
|
22
|
+
kivy.require('1.8.0') # 1.8 is when kv_directory became part of app.
|
|
23
|
+
from kivy.app import App
|
|
24
|
+
from kivy.uix.button import Button
|
|
25
|
+
from kivy.lang import Builder
|
|
26
|
+
|
|
27
|
+
from kivy.uix.floatlayout import FloatLayout
|
|
28
|
+
# Note that importing FloatLayout causes Kivy to execute, including
|
|
29
|
+
# starting up the Logger and some other messages.
|
|
30
|
+
print("** In main program, done with imports")
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class TestBuildApp(App):
|
|
34
|
+
""" Use build() function to return a widget. """
|
|
35
|
+
def build(self):
|
|
36
|
+
""" Build called by kivy when an App is started.
|
|
37
|
+
Called after trying to load a .kv file.
|
|
38
|
+
Returns a new Button as a root widget.
|
|
39
|
+
"""
|
|
40
|
+
print("** inside build()")
|
|
41
|
+
return Button(text='hello from TestBuildApp')
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
class TestKVFileApp(App):
|
|
45
|
+
"""
|
|
46
|
+
Empty class, but name used to find .kv file. The filename is the lowercase
|
|
47
|
+
version of the class, i.e. 'testkvfileapp.kv'. If not found, it strips
|
|
48
|
+
off the final 'app', i.e. 'testkvfile.kv'. If not file is found, and no
|
|
49
|
+
other method sets the self.root, the program will run with an empty screen.
|
|
50
|
+
"""
|
|
51
|
+
pass
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
class TestKVDirApp(App):
|
|
55
|
+
"""
|
|
56
|
+
Empty class except for setting class variable kv_directory.
|
|
57
|
+
This directory sets the directory in which to search for the .kv file.
|
|
58
|
+
The name of the kv file is still governed by the class name and the .kv
|
|
59
|
+
file should still have one root widget.
|
|
60
|
+
"""
|
|
61
|
+
kv_directory = 'app_suite_data'
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
class TestKVStringApp(App):
|
|
65
|
+
"""
|
|
66
|
+
Use a build() function and use the kivy.lang.Builder function to parse up a
|
|
67
|
+
Kivy language string.
|
|
68
|
+
"""
|
|
69
|
+
def build(self):
|
|
70
|
+
""" Called by kivy run(). """
|
|
71
|
+
print("** inside build()")
|
|
72
|
+
widget = Builder.load_string(
|
|
73
|
+
"Button:\n text: 'hello from TestKVStringApp'")
|
|
74
|
+
print("** widget built")
|
|
75
|
+
return widget
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
class TestPrebuiltApp(App):
|
|
79
|
+
""" Use the Builder to create a top level widget at the beginning
|
|
80
|
+
of the Python program, then use a dummy class for that widget.
|
|
81
|
+
This costs a bit more in start-up time. """
|
|
82
|
+
kv = "<Prebuilt>\n Button:\n text:'hello from TestPrebuiltApp'"
|
|
83
|
+
Builder.load_string(kv)
|
|
84
|
+
print("** in TestPrebuiltApp, class initialization built <Prebuilt>")
|
|
85
|
+
|
|
86
|
+
class Prebuilt(FloatLayout):
|
|
87
|
+
""" Empty class to cause setting root to <Prebuilt> tag and
|
|
88
|
+
set inheritance """
|
|
89
|
+
pass
|
|
90
|
+
|
|
91
|
+
def build(self):
|
|
92
|
+
""" called, returns instance matching tag . """
|
|
93
|
+
return self.Prebuilt()
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
def print_class(class_name):
|
|
97
|
+
""" Read this file and print the section with the class name specified.)"""
|
|
98
|
+
filename = sys.argv[0]
|
|
99
|
+
with open(filename) as f:
|
|
100
|
+
data = f.read()
|
|
101
|
+
regex = "^(class " + class_name + "\\b.*?)^\\S"
|
|
102
|
+
match = re.search(regex, data, flags=re.MULTILINE | re.DOTALL)
|
|
103
|
+
if match:
|
|
104
|
+
print(match.group(1))
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
# the __name__ idiom executes when run from command line but not from import.
|
|
108
|
+
if __name__ == '__main__':
|
|
109
|
+
dash = "-" * 40
|
|
110
|
+
|
|
111
|
+
arg = sys.argv[1][0].lower() if len(sys.argv) > 1 else "h"
|
|
112
|
+
print(dash)
|
|
113
|
+
|
|
114
|
+
if arg == 'r':
|
|
115
|
+
arg = choice('bfds')
|
|
116
|
+
|
|
117
|
+
if arg == 'b':
|
|
118
|
+
print_class("TestBuildApp")
|
|
119
|
+
TestBuildApp().run()
|
|
120
|
+
elif arg == 'f':
|
|
121
|
+
print_class("TestKVFileApp")
|
|
122
|
+
TestKVFileApp().run()
|
|
123
|
+
elif arg == 'd':
|
|
124
|
+
print_class("TestKVDirApp")
|
|
125
|
+
TestKVDirApp().run()
|
|
126
|
+
elif arg == 's':
|
|
127
|
+
print_class("TestKVStringApp")
|
|
128
|
+
TestKVStringApp().run()
|
|
129
|
+
elif arg == 'p':
|
|
130
|
+
print_class("TestPrebuiltApp")
|
|
131
|
+
TestPrebuiltApp().run()
|
|
132
|
+
else: # help
|
|
133
|
+
print("""
|
|
134
|
+
This demo runs different application windows based on a command line argument.
|
|
135
|
+
|
|
136
|
+
Try using one of these:
|
|
137
|
+
b - Use build() method to return a widget
|
|
138
|
+
d - Use a kv file from a different directory
|
|
139
|
+
f - Use a kv file with the widget object
|
|
140
|
+
p - Use prebuilt widget inside a layout
|
|
141
|
+
s - Use a kivy language string to create the widget
|
|
142
|
+
r - pick one of the options at random.
|
|
143
|
+
|
|
144
|
+
h - show this help message.
|
|
145
|
+
|
|
146
|
+
After closing the application window, this program will exit.
|
|
147
|
+
While the run() method does return, kivy cannot run another
|
|
148
|
+
application window after one has been closed.
|
|
149
|
+
""")
|
|
150
|
+
|
|
151
|
+
print(dash)
|
|
152
|
+
print("This program is gratified to be of use.")
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'''
|
|
2
|
+
Application example using build() + return
|
|
3
|
+
==========================================
|
|
4
|
+
|
|
5
|
+
An application can be built if you return a widget on build(), or if you set
|
|
6
|
+
self.root.
|
|
7
|
+
'''
|
|
8
|
+
|
|
9
|
+
import kivy
|
|
10
|
+
kivy.require('1.0.7')
|
|
11
|
+
|
|
12
|
+
from kivy.app import App
|
|
13
|
+
from kivy.uix.button import Button
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class TestApp(App):
|
|
17
|
+
|
|
18
|
+
def build(self):
|
|
19
|
+
# return a Button() as a root widget
|
|
20
|
+
return Button(text='hello world')
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
if __name__ == '__main__':
|
|
24
|
+
TestApp().run()
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
from kivy.app import App
|
|
2
|
+
from kivy.lang import Builder
|
|
3
|
+
from kivy.properties import ConfigParserProperty
|
|
4
|
+
|
|
5
|
+
KV = '''
|
|
6
|
+
FloatLayout:
|
|
7
|
+
BoxLayout:
|
|
8
|
+
size_hint: .5, .5
|
|
9
|
+
pos_hint: {'center': (.5, .5)}
|
|
10
|
+
|
|
11
|
+
orientation: 'vertical'
|
|
12
|
+
|
|
13
|
+
TextInput:
|
|
14
|
+
text: app.text
|
|
15
|
+
on_text: app.text = self.text
|
|
16
|
+
|
|
17
|
+
Slider:
|
|
18
|
+
min: 0
|
|
19
|
+
max: 100
|
|
20
|
+
value: app.number
|
|
21
|
+
on_value: app.number = self.value
|
|
22
|
+
'''
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class ConfigApp(App):
|
|
26
|
+
number = ConfigParserProperty(
|
|
27
|
+
0, 'general', 'number',
|
|
28
|
+
'app', val_type=float
|
|
29
|
+
)
|
|
30
|
+
text = ConfigParserProperty(
|
|
31
|
+
'', 'general', 'text',
|
|
32
|
+
'app', val_type=str
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
def build_config(self, config):
|
|
36
|
+
config.setdefaults(
|
|
37
|
+
'general',
|
|
38
|
+
{
|
|
39
|
+
'number': 0,
|
|
40
|
+
'text': 'test'
|
|
41
|
+
}
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
def build(self):
|
|
45
|
+
return Builder.load_string(KV)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
if __name__ == '__main__':
|
|
49
|
+
ConfigApp().run()
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'''
|
|
2
|
+
Application built from a .kv file
|
|
3
|
+
==================================
|
|
4
|
+
|
|
5
|
+
This shows how to implicitly use a .kv file for your application. You
|
|
6
|
+
should see a full screen button labelled "Hello from test.kv".
|
|
7
|
+
|
|
8
|
+
After Kivy instantiates a subclass of App, it implicitly searches for a .kv
|
|
9
|
+
file. The file test.kv is selected because the name of the subclass of App is
|
|
10
|
+
TestApp, which implies that kivy should try to load "test.kv". That file
|
|
11
|
+
contains a root Widget.
|
|
12
|
+
'''
|
|
13
|
+
|
|
14
|
+
import kivy
|
|
15
|
+
kivy.require('1.0.7')
|
|
16
|
+
|
|
17
|
+
from kivy.app import App
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class TestApp(App):
|
|
21
|
+
pass
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
if __name__ == '__main__':
|
|
25
|
+
TestApp().run()
|
Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/application/app_with_kv_in_template1.py
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'''
|
|
2
|
+
Application from a .kv in a Template Directory
|
|
3
|
+
==============================================
|
|
4
|
+
|
|
5
|
+
This example shows how you can change the directory for the .kv file. You
|
|
6
|
+
should see "Hello from template1/test.ky" as a button.
|
|
7
|
+
|
|
8
|
+
As kivy instantiates the TestApp subclass of App, the variable kv_directory
|
|
9
|
+
is set. Kivy then implicitly searches for a .kv file matching the name
|
|
10
|
+
of the subclass in that directory, finding the file template1/test.kv. That
|
|
11
|
+
file contains the root widget.
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
'''
|
|
15
|
+
|
|
16
|
+
import kivy
|
|
17
|
+
kivy.require('1.0.7')
|
|
18
|
+
|
|
19
|
+
from kivy.app import App
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class TestApp(App):
|
|
23
|
+
kv_directory = 'template1'
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
if __name__ == '__main__':
|
|
27
|
+
TestApp().run()
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
'''Example shows the recommended way of how to run Kivy with the Python built
|
|
2
|
+
in asyncio event loop as just another async coroutine.
|
|
3
|
+
'''
|
|
4
|
+
import asyncio
|
|
5
|
+
|
|
6
|
+
from kivy.app import App
|
|
7
|
+
from kivy.lang.builder import Builder
|
|
8
|
+
|
|
9
|
+
kv = '''
|
|
10
|
+
BoxLayout:
|
|
11
|
+
orientation: 'vertical'
|
|
12
|
+
BoxLayout:
|
|
13
|
+
ToggleButton:
|
|
14
|
+
id: btn1
|
|
15
|
+
group: 'a'
|
|
16
|
+
text: 'Sleeping'
|
|
17
|
+
allow_no_selection: False
|
|
18
|
+
on_state: if self.state == 'down': label.status = self.text
|
|
19
|
+
ToggleButton:
|
|
20
|
+
id: btn2
|
|
21
|
+
group: 'a'
|
|
22
|
+
text: 'Swimming'
|
|
23
|
+
allow_no_selection: False
|
|
24
|
+
on_state: if self.state == 'down': label.status = self.text
|
|
25
|
+
ToggleButton:
|
|
26
|
+
id: btn3
|
|
27
|
+
group: 'a'
|
|
28
|
+
text: 'Reading'
|
|
29
|
+
allow_no_selection: False
|
|
30
|
+
state: 'down'
|
|
31
|
+
on_state: if self.state == 'down': label.status = self.text
|
|
32
|
+
Label:
|
|
33
|
+
id: label
|
|
34
|
+
status: 'Reading'
|
|
35
|
+
text: 'Beach status is "{}"'.format(self.status)
|
|
36
|
+
'''
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class AsyncApp(App):
|
|
40
|
+
|
|
41
|
+
other_task = None
|
|
42
|
+
|
|
43
|
+
def build(self):
|
|
44
|
+
return Builder.load_string(kv)
|
|
45
|
+
|
|
46
|
+
def app_func(self):
|
|
47
|
+
'''This will run both methods asynchronously and then block until they
|
|
48
|
+
are finished
|
|
49
|
+
'''
|
|
50
|
+
self.other_task = asyncio.ensure_future(self.waste_time_freely())
|
|
51
|
+
|
|
52
|
+
async def run_wrapper():
|
|
53
|
+
# we don't actually need to set asyncio as the lib because it is
|
|
54
|
+
# the default, but it doesn't hurt to be explicit
|
|
55
|
+
await self.async_run(async_lib='asyncio')
|
|
56
|
+
print('App done')
|
|
57
|
+
self.other_task.cancel()
|
|
58
|
+
|
|
59
|
+
return asyncio.gather(run_wrapper(), self.other_task)
|
|
60
|
+
|
|
61
|
+
async def waste_time_freely(self):
|
|
62
|
+
'''This method is also run by the asyncio loop and periodically prints
|
|
63
|
+
something.
|
|
64
|
+
'''
|
|
65
|
+
try:
|
|
66
|
+
i = 0
|
|
67
|
+
while True:
|
|
68
|
+
if self.root is not None:
|
|
69
|
+
status = self.root.ids.label.status
|
|
70
|
+
print('{} on the beach'.format(status))
|
|
71
|
+
|
|
72
|
+
# get some sleep
|
|
73
|
+
if self.root.ids.btn1.state != 'down' and i >= 2:
|
|
74
|
+
i = 0
|
|
75
|
+
print('Yawn, getting tired. Going to sleep')
|
|
76
|
+
self.root.ids.btn1.trigger_action()
|
|
77
|
+
|
|
78
|
+
i += 1
|
|
79
|
+
await asyncio.sleep(2)
|
|
80
|
+
except asyncio.CancelledError as e:
|
|
81
|
+
print('Wasting time was canceled', e)
|
|
82
|
+
finally:
|
|
83
|
+
# when canceled, print that it finished
|
|
84
|
+
print('Done wasting time')
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
if __name__ == '__main__':
|
|
88
|
+
loop = asyncio.get_event_loop()
|
|
89
|
+
loop.run_until_complete(AsyncApp().app_func())
|
|
90
|
+
loop.close()
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
'''Example shows the recommended way of how to run Kivy with the Python built
|
|
2
|
+
in asyncio event loop as just another async coroutine.
|
|
3
|
+
'''
|
|
4
|
+
import asyncio
|
|
5
|
+
|
|
6
|
+
from kivy.app import async_runTouchApp
|
|
7
|
+
from kivy.lang.builder import Builder
|
|
8
|
+
|
|
9
|
+
kv = '''
|
|
10
|
+
BoxLayout:
|
|
11
|
+
orientation: 'vertical'
|
|
12
|
+
Button:
|
|
13
|
+
id: btn
|
|
14
|
+
text: 'Press me'
|
|
15
|
+
BoxLayout:
|
|
16
|
+
Label:
|
|
17
|
+
id: label
|
|
18
|
+
text: 'Button is "{}"'.format(btn.state)
|
|
19
|
+
'''
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
async def run_app_happily(root, other_task):
|
|
23
|
+
'''This method, which runs Kivy, is run by the asyncio loop as one of the
|
|
24
|
+
coroutines.
|
|
25
|
+
'''
|
|
26
|
+
# we don't actually need to set asyncio as the lib because it is the
|
|
27
|
+
# default, but it doesn't hurt to be explicit
|
|
28
|
+
await async_runTouchApp(root, async_lib='asyncio') # run Kivy
|
|
29
|
+
print('App done')
|
|
30
|
+
# now cancel all the other tasks that may be running
|
|
31
|
+
other_task.cancel()
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
async def waste_time_freely():
|
|
35
|
+
'''This method is also run by the asyncio loop and periodically prints
|
|
36
|
+
something.
|
|
37
|
+
'''
|
|
38
|
+
try:
|
|
39
|
+
while True:
|
|
40
|
+
print('Sitting on the beach')
|
|
41
|
+
await asyncio.sleep(2)
|
|
42
|
+
except asyncio.CancelledError as e:
|
|
43
|
+
print('Wasting time was canceled', e)
|
|
44
|
+
finally:
|
|
45
|
+
# when canceled, print that it finished
|
|
46
|
+
print('Done wasting time')
|
|
47
|
+
|
|
48
|
+
if __name__ == '__main__':
|
|
49
|
+
def root_func():
|
|
50
|
+
'''This will run both methods asynchronously and then block until they
|
|
51
|
+
are finished
|
|
52
|
+
'''
|
|
53
|
+
root = Builder.load_string(kv) # root widget
|
|
54
|
+
other_task = asyncio.ensure_future(waste_time_freely())
|
|
55
|
+
return asyncio.gather(run_app_happily(root, other_task), other_task)
|
|
56
|
+
|
|
57
|
+
loop = asyncio.get_event_loop()
|
|
58
|
+
loop.run_until_complete(root_func())
|
|
59
|
+
loop.close()
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
'''Example shows the recommended way of how to run Kivy with a trio
|
|
2
|
+
event loop as just another async coroutine.
|
|
3
|
+
'''
|
|
4
|
+
import trio
|
|
5
|
+
|
|
6
|
+
from kivy.app import App
|
|
7
|
+
from kivy.lang.builder import Builder
|
|
8
|
+
|
|
9
|
+
kv = '''
|
|
10
|
+
BoxLayout:
|
|
11
|
+
orientation: 'vertical'
|
|
12
|
+
BoxLayout:
|
|
13
|
+
ToggleButton:
|
|
14
|
+
id: btn1
|
|
15
|
+
group: 'a'
|
|
16
|
+
text: 'Sleeping'
|
|
17
|
+
allow_no_selection: False
|
|
18
|
+
on_state: if self.state == 'down': label.status = self.text
|
|
19
|
+
ToggleButton:
|
|
20
|
+
id: btn2
|
|
21
|
+
group: 'a'
|
|
22
|
+
text: 'Swimming'
|
|
23
|
+
allow_no_selection: False
|
|
24
|
+
on_state: if self.state == 'down': label.status = self.text
|
|
25
|
+
ToggleButton:
|
|
26
|
+
id: btn3
|
|
27
|
+
group: 'a'
|
|
28
|
+
text: 'Reading'
|
|
29
|
+
allow_no_selection: False
|
|
30
|
+
state: 'down'
|
|
31
|
+
on_state: if self.state == 'down': label.status = self.text
|
|
32
|
+
Label:
|
|
33
|
+
id: label
|
|
34
|
+
status: 'Reading'
|
|
35
|
+
text: 'Beach status is "{}"'.format(self.status)
|
|
36
|
+
'''
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class AsyncApp(App):
|
|
40
|
+
|
|
41
|
+
nursery = None
|
|
42
|
+
|
|
43
|
+
def build(self):
|
|
44
|
+
return Builder.load_string(kv)
|
|
45
|
+
|
|
46
|
+
async def app_func(self):
|
|
47
|
+
'''trio needs to run a function, so this is it. '''
|
|
48
|
+
|
|
49
|
+
async with trio.open_nursery() as nursery:
|
|
50
|
+
'''In trio you create a nursery, in which you schedule async
|
|
51
|
+
functions to be run by the nursery simultaneously as tasks.
|
|
52
|
+
|
|
53
|
+
This will run all two methods starting in random order
|
|
54
|
+
asynchronously and then block until they are finished or canceled
|
|
55
|
+
at the `with` level. '''
|
|
56
|
+
self.nursery = nursery
|
|
57
|
+
|
|
58
|
+
async def run_wrapper():
|
|
59
|
+
# trio needs to be set so that it'll be used for the event loop
|
|
60
|
+
await self.async_run(async_lib='trio')
|
|
61
|
+
print('App done')
|
|
62
|
+
nursery.cancel_scope.cancel()
|
|
63
|
+
|
|
64
|
+
nursery.start_soon(run_wrapper)
|
|
65
|
+
nursery.start_soon(self.waste_time_freely)
|
|
66
|
+
|
|
67
|
+
async def waste_time_freely(self):
|
|
68
|
+
'''This method is also run by trio and periodically prints something.
|
|
69
|
+
'''
|
|
70
|
+
try:
|
|
71
|
+
i = 0
|
|
72
|
+
while True:
|
|
73
|
+
if self.root is not None:
|
|
74
|
+
status = self.root.ids.label.status
|
|
75
|
+
print('{} on the beach'.format(status))
|
|
76
|
+
|
|
77
|
+
# get some sleep
|
|
78
|
+
if self.root.ids.btn1.state != 'down' and i >= 2:
|
|
79
|
+
i = 0
|
|
80
|
+
print('Yawn, getting tired. Going to sleep')
|
|
81
|
+
self.root.ids.btn1.trigger_action()
|
|
82
|
+
|
|
83
|
+
i += 1
|
|
84
|
+
await trio.sleep(2)
|
|
85
|
+
except trio.Cancelled as e:
|
|
86
|
+
print('Wasting time was canceled', e)
|
|
87
|
+
finally:
|
|
88
|
+
# when canceled, print that it finished
|
|
89
|
+
print('Done wasting time')
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
if __name__ == '__main__':
|
|
93
|
+
trio.run(AsyncApp().app_func)
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
'''Example shows the recommended way of how to run Kivy with a trio
|
|
2
|
+
event loop as just another async coroutine.
|
|
3
|
+
'''
|
|
4
|
+
import trio
|
|
5
|
+
from kivy.app import async_runTouchApp
|
|
6
|
+
from kivy.lang.builder import Builder
|
|
7
|
+
|
|
8
|
+
kv = '''
|
|
9
|
+
BoxLayout:
|
|
10
|
+
orientation: 'vertical'
|
|
11
|
+
Button:
|
|
12
|
+
id: btn
|
|
13
|
+
text: 'Press me'
|
|
14
|
+
BoxLayout:
|
|
15
|
+
Label:
|
|
16
|
+
id: label
|
|
17
|
+
text: 'Button is "{}"'.format(btn.state)
|
|
18
|
+
'''
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
async def run_app_happily(root, nursery):
|
|
22
|
+
'''This method, which runs Kivy, is run by trio as one of the coroutines.
|
|
23
|
+
'''
|
|
24
|
+
# trio needs to be set so that it'll be used for the event loop
|
|
25
|
+
await async_runTouchApp(root, async_lib='trio') # run Kivy
|
|
26
|
+
print('App done')
|
|
27
|
+
# now cancel all the other tasks that may be running
|
|
28
|
+
nursery.cancel_scope.cancel()
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
async def waste_time_freely():
|
|
32
|
+
'''This method is also run by trio and periodically prints something.'''
|
|
33
|
+
try:
|
|
34
|
+
while True:
|
|
35
|
+
print('Sitting on the beach')
|
|
36
|
+
await trio.sleep(2)
|
|
37
|
+
except trio.Cancelled as e:
|
|
38
|
+
print('Wasting time was canceled', e)
|
|
39
|
+
finally:
|
|
40
|
+
# when canceled, print that it finished
|
|
41
|
+
print('Done wasting time')
|
|
42
|
+
|
|
43
|
+
if __name__ == '__main__':
|
|
44
|
+
async def root_func():
|
|
45
|
+
'''trio needs to run a function, so this is it. '''
|
|
46
|
+
|
|
47
|
+
root = Builder.load_string(kv) # root widget
|
|
48
|
+
async with trio.open_nursery() as nursery:
|
|
49
|
+
'''In trio you create a nursery, in which you schedule async
|
|
50
|
+
functions to be run by the nursery simultaneously as tasks.
|
|
51
|
+
|
|
52
|
+
This will run all two methods starting in random order
|
|
53
|
+
asynchronously and then block until they are finished or canceled
|
|
54
|
+
at the `with` level. '''
|
|
55
|
+
nursery.start_soon(run_app_happily, root, nursery)
|
|
56
|
+
nursery.start_soon(waste_time_freely)
|
|
57
|
+
|
|
58
|
+
trio.run(root_func)
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/12916_sweet_trip_mm_kwik_mod_01.wav
ADDED
|
Binary file
|
Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/12917_sweet_trip_mm_kwik_mod_02.wav
ADDED
|
Binary file
|
Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/12918_sweet_trip_mm_kwik_mod_03.wav
ADDED
|
Binary file
|
Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/12919_sweet_trip_mm_kwik_mod_04.wav
ADDED
|
Binary file
|
Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/12920_sweet_trip_mm_kwik_mod_05.wav
ADDED
|
Binary file
|
Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/12921_sweet_trip_mm_kwik_mod_06.wav
ADDED
|
Binary file
|
Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/12922_sweet_trip_mm_kwik_mod_07.wav
ADDED
|
Binary file
|
Kivy_examples-2.3.1.dev0.data/data/share/kivy-examples/audio/12923_sweet_trip_mm_metal_clave.wav
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|