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 @@
|
|
|
1
|
+
https://github.com/kivy-garden/garden/archive/master.zip
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
kivy
|
kivy/__init__.py
ADDED
|
@@ -0,0 +1,519 @@
|
|
|
1
|
+
'''
|
|
2
|
+
Kivy framework
|
|
3
|
+
==============
|
|
4
|
+
|
|
5
|
+
Kivy is an open source library for developing multi-touch applications. It is
|
|
6
|
+
cross-platform (Linux/OSX/Windows/Android/iOS) and released under
|
|
7
|
+
the terms of the `MIT License <https://en.wikipedia.org/wiki/MIT_License>`_.
|
|
8
|
+
|
|
9
|
+
It comes with native support for many multi-touch input devices, a growing
|
|
10
|
+
library of multi-touch aware widgets and hardware accelerated OpenGL drawing.
|
|
11
|
+
Kivy is designed to let you focus on building custom and highly interactive
|
|
12
|
+
applications as quickly and easily as possible.
|
|
13
|
+
|
|
14
|
+
With Kivy, you can take full advantage of the dynamic nature of Python. There
|
|
15
|
+
are thousands of high-quality, free libraries that can be integrated in your
|
|
16
|
+
application. At the same time, performance-critical parts are implemented
|
|
17
|
+
using `Cython <http://cython.org/>`_.
|
|
18
|
+
|
|
19
|
+
See http://kivy.org for more information.
|
|
20
|
+
'''
|
|
21
|
+
|
|
22
|
+
__all__ = (
|
|
23
|
+
'require', 'parse_kivy_version',
|
|
24
|
+
'kivy_configure', 'kivy_register_post_configuration',
|
|
25
|
+
'kivy_options', 'kivy_base_dir',
|
|
26
|
+
'kivy_modules_dir', 'kivy_data_dir', 'kivy_shader_dir',
|
|
27
|
+
'kivy_icons_dir', 'kivy_home_dir',
|
|
28
|
+
'kivy_config_fn', 'kivy_usermodules_dir', 'kivy_examples_dir'
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
import sys
|
|
32
|
+
import shutil
|
|
33
|
+
from getopt import getopt, GetoptError
|
|
34
|
+
import os
|
|
35
|
+
from os import environ, mkdir
|
|
36
|
+
from os.path import dirname, join, basename, exists, expanduser
|
|
37
|
+
import pkgutil
|
|
38
|
+
import re
|
|
39
|
+
import importlib
|
|
40
|
+
from kivy.logger import Logger, LOG_LEVELS
|
|
41
|
+
from kivy.utils import platform
|
|
42
|
+
from kivy._version import __version__, RELEASE as _KIVY_RELEASE, \
|
|
43
|
+
_kivy_git_hash, _kivy_build_date
|
|
44
|
+
|
|
45
|
+
# internals for post-configuration
|
|
46
|
+
__kivy_post_configuration = []
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
if platform == 'macosx' and sys.maxsize < 9223372036854775807:
|
|
50
|
+
r = '''Unsupported Python version detected!:
|
|
51
|
+
Kivy requires a 64 bit version of Python to run on OS X. We strongly
|
|
52
|
+
advise you to use the version of Python that is provided by Apple
|
|
53
|
+
(don't use ports, fink or homebrew unless you know what you're
|
|
54
|
+
doing).
|
|
55
|
+
See http://kivy.org/docs/installation/installation-macosx.html for
|
|
56
|
+
details.
|
|
57
|
+
'''
|
|
58
|
+
Logger.critical(r)
|
|
59
|
+
|
|
60
|
+
if sys.version_info[0] == 2:
|
|
61
|
+
Logger.critical(
|
|
62
|
+
'Unsupported Python version detected!: Kivy 2.0.0 and higher does not '
|
|
63
|
+
'support Python 2. Please upgrade to Python 3, or downgrade Kivy to '
|
|
64
|
+
'1.11.0 - the last Kivy release that still supports Python 2.')
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
def parse_kivy_version(version):
|
|
68
|
+
"""Parses the kivy version as described in :func:`require` into a 3-tuple
|
|
69
|
+
of ([x, y, z], 'rc|a|b|dev|post', 'N') where N is the tag revision. The
|
|
70
|
+
last two elements may be None.
|
|
71
|
+
"""
|
|
72
|
+
m = re.match(
|
|
73
|
+
'^([0-9]+)\\.([0-9]+)\\.([0-9]+?)(rc|a|b|\\.dev|\\.post)?([0-9]+)?$',
|
|
74
|
+
version)
|
|
75
|
+
if m is None:
|
|
76
|
+
raise Exception('Revision format must be X.Y.Z[-tag]')
|
|
77
|
+
|
|
78
|
+
major, minor, micro, tag, tagrev = m.groups()
|
|
79
|
+
if tag == '.dev':
|
|
80
|
+
tag = 'dev'
|
|
81
|
+
if tag == '.post':
|
|
82
|
+
tag = 'post'
|
|
83
|
+
return [int(major), int(minor), int(micro)], tag, tagrev
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
def require(version):
|
|
87
|
+
'''Require can be used to check the minimum version required to run a Kivy
|
|
88
|
+
application. For example, you can start your application code like this::
|
|
89
|
+
|
|
90
|
+
import kivy
|
|
91
|
+
kivy.require('1.0.1')
|
|
92
|
+
|
|
93
|
+
If a user attempts to run your application with a version of Kivy that is
|
|
94
|
+
older than the specified version, an Exception is raised.
|
|
95
|
+
|
|
96
|
+
The Kivy version string is built like this::
|
|
97
|
+
|
|
98
|
+
X.Y.Z[tag[tagrevision]]
|
|
99
|
+
|
|
100
|
+
X is the major version
|
|
101
|
+
Y is the minor version
|
|
102
|
+
Z is the bugfixes revision
|
|
103
|
+
|
|
104
|
+
The tag is optional, but may be one of '.dev', '.post', 'a', 'b', or 'rc'.
|
|
105
|
+
The tagrevision is the revision number of the tag.
|
|
106
|
+
|
|
107
|
+
.. warning::
|
|
108
|
+
|
|
109
|
+
You must not ask for a version with a tag, except -dev. Asking for a
|
|
110
|
+
'dev' version will just warn the user if the current Kivy
|
|
111
|
+
version is not a -dev, but it will never raise an exception.
|
|
112
|
+
You must not ask for a version with a tagrevision.
|
|
113
|
+
|
|
114
|
+
'''
|
|
115
|
+
|
|
116
|
+
# user version
|
|
117
|
+
revision, tag, tagrev = parse_kivy_version(version)
|
|
118
|
+
# current version
|
|
119
|
+
sysrevision, systag, systagrev = parse_kivy_version(__version__)
|
|
120
|
+
|
|
121
|
+
if tag and not systag:
|
|
122
|
+
Logger.warning('Application requested a dev version of Kivy. '
|
|
123
|
+
'(You have %s, but the application requires %s)' % (
|
|
124
|
+
__version__, version))
|
|
125
|
+
# not tag rev (-alpha-1, -beta-x) allowed.
|
|
126
|
+
if tagrev is not None:
|
|
127
|
+
raise Exception('Revision format must not contain any tagrevision')
|
|
128
|
+
|
|
129
|
+
# finally, checking revision
|
|
130
|
+
if sysrevision < revision:
|
|
131
|
+
raise Exception('The version of Kivy installed on this system '
|
|
132
|
+
'is too old. '
|
|
133
|
+
'(You have %s, but the application requires %s)' % (
|
|
134
|
+
__version__, version))
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
def kivy_configure():
|
|
138
|
+
'''Call post-configuration of Kivy.
|
|
139
|
+
This function must be called if you create the window yourself.
|
|
140
|
+
'''
|
|
141
|
+
for callback in __kivy_post_configuration:
|
|
142
|
+
callback()
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
def get_includes():
|
|
146
|
+
'''Retrieves the directories containing includes needed to build new Cython
|
|
147
|
+
modules with Kivy as a dependency. Currently returns the location of the
|
|
148
|
+
kivy.graphics module.
|
|
149
|
+
|
|
150
|
+
.. versionadded:: 1.9.1
|
|
151
|
+
'''
|
|
152
|
+
root_dir = dirname(__file__)
|
|
153
|
+
return [join(root_dir, 'graphics'), join(root_dir, 'tools', 'gles_compat'),
|
|
154
|
+
join(root_dir, 'include')]
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
def kivy_register_post_configuration(callback):
|
|
158
|
+
'''Register a function to be called when kivy_configure() is called.
|
|
159
|
+
|
|
160
|
+
.. warning::
|
|
161
|
+
Internal use only.
|
|
162
|
+
'''
|
|
163
|
+
__kivy_post_configuration.append(callback)
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
def kivy_usage():
|
|
167
|
+
'''Kivy Usage: %s [KIVY OPTION...] [-- PROGRAM OPTIONS]::
|
|
168
|
+
|
|
169
|
+
Options placed after a '-- ' separator, will not be touched by kivy,
|
|
170
|
+
and instead passed to your program.
|
|
171
|
+
|
|
172
|
+
Set KIVY_NO_ARGS=1 in your environment or before you import Kivy to
|
|
173
|
+
disable Kivy's argument parser.
|
|
174
|
+
|
|
175
|
+
-h, --help
|
|
176
|
+
Prints this help message.
|
|
177
|
+
-d, --debug
|
|
178
|
+
Shows debug log.
|
|
179
|
+
-a, --auto-fullscreen
|
|
180
|
+
Force 'auto' fullscreen mode (no resolution change).
|
|
181
|
+
Uses your display's resolution. This is most likely what you want.
|
|
182
|
+
-c, --config section:key[:value]
|
|
183
|
+
Set a custom [section] key=value in the configuration object.
|
|
184
|
+
-f, --fullscreen
|
|
185
|
+
Force running in fullscreen mode.
|
|
186
|
+
-k, --fake-fullscreen
|
|
187
|
+
Force 'fake' fullscreen mode (no window border/decoration).
|
|
188
|
+
Uses the resolution specified by width and height in your config.
|
|
189
|
+
-w, --windowed
|
|
190
|
+
Force running in a window.
|
|
191
|
+
-p, --provider id:provider[,options]
|
|
192
|
+
Add an input provider (eg: ccvtable1:tuio,192.168.0.1:3333).
|
|
193
|
+
-m mod, --module=mod
|
|
194
|
+
Activate a module (use "list" to get a list of available modules).
|
|
195
|
+
-r, --rotation
|
|
196
|
+
Rotate the window's contents (0, 90, 180, 270).
|
|
197
|
+
-s, --save
|
|
198
|
+
Save current Kivy configuration.
|
|
199
|
+
--size=640x480
|
|
200
|
+
Size of window geometry.
|
|
201
|
+
--dpi=96
|
|
202
|
+
Manually overload the Window DPI (for testing only.)
|
|
203
|
+
'''
|
|
204
|
+
print(kivy_usage.__doc__ % (basename(sys.argv[0])))
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
#: Global settings options for kivy
|
|
208
|
+
kivy_options = {
|
|
209
|
+
'window': ('egl_rpi', 'sdl2', 'pygame', 'sdl', 'x11'),
|
|
210
|
+
'text': ('pil', 'sdl2', 'pygame', 'sdlttf'),
|
|
211
|
+
'video': (
|
|
212
|
+
'gstplayer', 'ffmpeg', 'ffpyplayer', 'null'),
|
|
213
|
+
'audio': (
|
|
214
|
+
'gstplayer', 'pygame', 'ffpyplayer', 'sdl2',
|
|
215
|
+
'avplayer'),
|
|
216
|
+
'image': ('tex', 'imageio', 'dds', 'sdl2', 'pygame', 'pil', 'ffpy', 'gif'),
|
|
217
|
+
'camera': ('opencv', 'gi', 'avfoundation',
|
|
218
|
+
'android', 'picamera'),
|
|
219
|
+
'spelling': ('enchant', 'osxappkit', ),
|
|
220
|
+
'clipboard': (
|
|
221
|
+
'android', 'winctypes', 'xsel', 'xclip', 'dbusklipper', 'nspaste',
|
|
222
|
+
'sdl2', 'pygame', 'dummy', 'gtk3', )}
|
|
223
|
+
|
|
224
|
+
# Read environment
|
|
225
|
+
for option in kivy_options:
|
|
226
|
+
key = 'KIVY_%s' % option.upper()
|
|
227
|
+
if key in environ:
|
|
228
|
+
try:
|
|
229
|
+
if type(kivy_options[option]) in (list, tuple):
|
|
230
|
+
kivy_options[option] = environ[key].split(',')
|
|
231
|
+
else:
|
|
232
|
+
kivy_options[option] = environ[key].lower() in \
|
|
233
|
+
('true', '1', 'yes')
|
|
234
|
+
except Exception:
|
|
235
|
+
Logger.warning('Core: Wrong value for %s environment key' % key)
|
|
236
|
+
Logger.exception('')
|
|
237
|
+
|
|
238
|
+
# Extract all needed path in kivy
|
|
239
|
+
#: Kivy directory
|
|
240
|
+
kivy_base_dir = dirname(sys.modules[__name__].__file__)
|
|
241
|
+
#: Kivy modules directory
|
|
242
|
+
|
|
243
|
+
kivy_modules_dir = environ.get('KIVY_MODULES_DIR',
|
|
244
|
+
join(kivy_base_dir, 'modules'))
|
|
245
|
+
#: Kivy data directory
|
|
246
|
+
kivy_data_dir = environ.get('KIVY_DATA_DIR',
|
|
247
|
+
join(kivy_base_dir, 'data'))
|
|
248
|
+
#: Kivy binary deps directory
|
|
249
|
+
kivy_binary_deps_dir = environ.get('KIVY_BINARY_DEPS',
|
|
250
|
+
join(kivy_base_dir, 'binary_deps'))
|
|
251
|
+
#: Kivy glsl shader directory
|
|
252
|
+
kivy_shader_dir = join(kivy_data_dir, 'glsl')
|
|
253
|
+
#: Kivy icons config path (don't remove the last '')
|
|
254
|
+
kivy_icons_dir = join(kivy_data_dir, 'icons', '')
|
|
255
|
+
#: Kivy user-home storage directory
|
|
256
|
+
kivy_home_dir = ''
|
|
257
|
+
#: Kivy configuration filename
|
|
258
|
+
kivy_config_fn = ''
|
|
259
|
+
#: Kivy user modules directory
|
|
260
|
+
kivy_usermodules_dir = ''
|
|
261
|
+
#: Kivy examples directory
|
|
262
|
+
kivy_examples_dir = ''
|
|
263
|
+
for examples_dir in (
|
|
264
|
+
join(dirname(dirname(__file__)), 'examples'),
|
|
265
|
+
join(sys.exec_prefix, 'share', 'kivy-examples'),
|
|
266
|
+
join(sys.prefix, 'share', 'kivy-examples'),
|
|
267
|
+
'/usr/share/kivy-examples', '/usr/local/share/kivy-examples',
|
|
268
|
+
expanduser('~/.local/share/kivy-examples')):
|
|
269
|
+
if exists(examples_dir):
|
|
270
|
+
kivy_examples_dir = examples_dir
|
|
271
|
+
break
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
def _patch_mod_deps_win(dep_mod, mod_name):
|
|
275
|
+
import site
|
|
276
|
+
dep_bins = []
|
|
277
|
+
|
|
278
|
+
for d in [sys.prefix, site.USER_BASE]:
|
|
279
|
+
p = join(d, 'share', mod_name, 'bin')
|
|
280
|
+
if os.path.isdir(p):
|
|
281
|
+
os.environ["PATH"] = p + os.pathsep + os.environ["PATH"]
|
|
282
|
+
if hasattr(os, 'add_dll_directory'):
|
|
283
|
+
os.add_dll_directory(p)
|
|
284
|
+
dep_bins.append(p)
|
|
285
|
+
|
|
286
|
+
dep_mod.dep_bins = dep_bins
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
# if there are deps, import them so they can do their magic.
|
|
290
|
+
_packages = []
|
|
291
|
+
try:
|
|
292
|
+
from kivy import deps as old_deps
|
|
293
|
+
for importer, modname, ispkg in pkgutil.iter_modules(old_deps.__path__):
|
|
294
|
+
if not ispkg:
|
|
295
|
+
continue
|
|
296
|
+
if modname.startswith('gst'):
|
|
297
|
+
_packages.insert(0, (importer, modname, 'kivy.deps'))
|
|
298
|
+
else:
|
|
299
|
+
_packages.append((importer, modname, 'kivy.deps'))
|
|
300
|
+
except ImportError:
|
|
301
|
+
pass
|
|
302
|
+
|
|
303
|
+
try:
|
|
304
|
+
import kivy_deps
|
|
305
|
+
for importer, modname, ispkg in pkgutil.iter_modules(kivy_deps.__path__):
|
|
306
|
+
if not ispkg:
|
|
307
|
+
continue
|
|
308
|
+
if modname.startswith('gst'):
|
|
309
|
+
_packages.insert(0, (importer, modname, 'kivy_deps'))
|
|
310
|
+
else:
|
|
311
|
+
_packages.append((importer, modname, 'kivy_deps'))
|
|
312
|
+
except ImportError:
|
|
313
|
+
pass
|
|
314
|
+
|
|
315
|
+
_logging_msgs = []
|
|
316
|
+
for importer, modname, package in _packages:
|
|
317
|
+
try:
|
|
318
|
+
module_spec = importer.find_spec(modname)
|
|
319
|
+
mod = importlib.util.module_from_spec(module_spec)
|
|
320
|
+
module_spec.loader.exec_module(mod)
|
|
321
|
+
|
|
322
|
+
version = ''
|
|
323
|
+
if hasattr(mod, '__version__'):
|
|
324
|
+
version = ' {}'.format(mod.__version__)
|
|
325
|
+
_logging_msgs.append(
|
|
326
|
+
'deps: Successfully imported "{}.{}"{}'.
|
|
327
|
+
format(package, modname, version))
|
|
328
|
+
|
|
329
|
+
if modname.startswith('gst') and version == '0.3.3':
|
|
330
|
+
_patch_mod_deps_win(mod, modname)
|
|
331
|
+
|
|
332
|
+
except ImportError as e:
|
|
333
|
+
Logger.warning(
|
|
334
|
+
'deps: Error importing dependency "{}.{}": {}'.
|
|
335
|
+
format(package, modname, str(e)))
|
|
336
|
+
|
|
337
|
+
# Don't go further if we generate documentation
|
|
338
|
+
if any(name in sys.argv[0] for name in (
|
|
339
|
+
'sphinx-build', 'autobuild.py', 'sphinx'
|
|
340
|
+
)):
|
|
341
|
+
environ['KIVY_DOC'] = '1'
|
|
342
|
+
if 'sphinx-build' in sys.argv[0]:
|
|
343
|
+
environ['KIVY_DOC_INCLUDE'] = '1'
|
|
344
|
+
if any('pytest' in arg for arg in sys.argv):
|
|
345
|
+
environ['KIVY_UNITTEST'] = '1'
|
|
346
|
+
if any('pyinstaller' in arg.lower() for arg in sys.argv):
|
|
347
|
+
environ['KIVY_PACKAGING'] = '1'
|
|
348
|
+
|
|
349
|
+
if not environ.get('KIVY_DOC_INCLUDE'):
|
|
350
|
+
# Configuration management
|
|
351
|
+
if 'KIVY_HOME' in environ:
|
|
352
|
+
kivy_home_dir = expanduser(environ['KIVY_HOME'])
|
|
353
|
+
else:
|
|
354
|
+
user_home_dir = expanduser('~')
|
|
355
|
+
if platform == 'android':
|
|
356
|
+
user_home_dir = environ['ANDROID_APP_PATH']
|
|
357
|
+
elif platform == 'ios':
|
|
358
|
+
user_home_dir = join(expanduser('~'), 'Documents')
|
|
359
|
+
kivy_home_dir = join(user_home_dir, '.kivy')
|
|
360
|
+
|
|
361
|
+
kivy_config_fn = join(kivy_home_dir, 'config.ini')
|
|
362
|
+
kivy_usermodules_dir = join(kivy_home_dir, 'mods')
|
|
363
|
+
icon_dir = join(kivy_home_dir, 'icon')
|
|
364
|
+
|
|
365
|
+
if 'KIVY_NO_CONFIG' not in environ:
|
|
366
|
+
if not exists(kivy_home_dir):
|
|
367
|
+
mkdir(kivy_home_dir)
|
|
368
|
+
if not exists(kivy_usermodules_dir):
|
|
369
|
+
mkdir(kivy_usermodules_dir)
|
|
370
|
+
if not exists(icon_dir):
|
|
371
|
+
try:
|
|
372
|
+
shutil.copytree(join(kivy_data_dir, 'logo'), icon_dir)
|
|
373
|
+
except:
|
|
374
|
+
Logger.exception('Error when copying logo directory')
|
|
375
|
+
|
|
376
|
+
# configuration
|
|
377
|
+
from kivy.config import Config
|
|
378
|
+
|
|
379
|
+
# Set level of logger
|
|
380
|
+
level = LOG_LEVELS.get(Config.get('kivy', 'log_level'))
|
|
381
|
+
Logger.setLevel(level=level)
|
|
382
|
+
|
|
383
|
+
# Can be overridden in command line
|
|
384
|
+
if ('KIVY_UNITTEST' not in environ and
|
|
385
|
+
'KIVY_PACKAGING' not in environ and
|
|
386
|
+
environ.get('KIVY_NO_ARGS', "false") not in ('true', '1', 'yes')):
|
|
387
|
+
# save sys argv, otherwise, gstreamer use it and display help..
|
|
388
|
+
sys_argv = sys.argv
|
|
389
|
+
sys.argv = sys.argv[:1]
|
|
390
|
+
|
|
391
|
+
try:
|
|
392
|
+
opts, args = getopt(sys_argv[1:], 'hp:fkawFem:sr:dc:', [
|
|
393
|
+
'help', 'fullscreen', 'windowed', 'fps', 'event',
|
|
394
|
+
'module=', 'save', 'fake-fullscreen', 'auto-fullscreen',
|
|
395
|
+
'multiprocessing-fork', 'display=', 'size=', 'rotate=',
|
|
396
|
+
'config=', 'debug', 'dpi='])
|
|
397
|
+
|
|
398
|
+
except GetoptError as err:
|
|
399
|
+
Logger.error('Core: %s' % str(err))
|
|
400
|
+
kivy_usage()
|
|
401
|
+
sys.exit(2)
|
|
402
|
+
|
|
403
|
+
mp_fork = None
|
|
404
|
+
try:
|
|
405
|
+
for opt, arg in opts:
|
|
406
|
+
if opt == '--multiprocessing-fork':
|
|
407
|
+
mp_fork = True
|
|
408
|
+
break
|
|
409
|
+
except:
|
|
410
|
+
pass
|
|
411
|
+
|
|
412
|
+
# set argv to the non-read args
|
|
413
|
+
sys.argv = sys_argv[0:1] + args
|
|
414
|
+
if mp_fork is not None:
|
|
415
|
+
# Needs to be first opt for support_freeze to work
|
|
416
|
+
sys.argv.insert(1, '--multiprocessing-fork')
|
|
417
|
+
|
|
418
|
+
else:
|
|
419
|
+
opts = []
|
|
420
|
+
args = []
|
|
421
|
+
|
|
422
|
+
need_save = False
|
|
423
|
+
for opt, arg in opts:
|
|
424
|
+
if opt in ('-h', '--help'):
|
|
425
|
+
kivy_usage()
|
|
426
|
+
sys.exit(0)
|
|
427
|
+
elif opt in ('-p', '--provider'):
|
|
428
|
+
try:
|
|
429
|
+
pid, args = arg.split(':', 1)
|
|
430
|
+
Config.set('input', pid, args)
|
|
431
|
+
except ValueError:
|
|
432
|
+
# when we are doing an executable on macosx with
|
|
433
|
+
# pyinstaller, they are passing information with -p. so
|
|
434
|
+
# it will conflict with our current -p option. since the
|
|
435
|
+
# format is not the same, just avoid it.
|
|
436
|
+
pass
|
|
437
|
+
elif opt in ('-a', '--auto-fullscreen'):
|
|
438
|
+
Config.set('graphics', 'fullscreen', 'auto')
|
|
439
|
+
elif opt in ('-c', '--config'):
|
|
440
|
+
ol = arg.split(':', 2)
|
|
441
|
+
if len(ol) == 2:
|
|
442
|
+
Config.set(ol[0], ol[1], '')
|
|
443
|
+
elif len(ol) == 3:
|
|
444
|
+
Config.set(ol[0], ol[1], ol[2])
|
|
445
|
+
else:
|
|
446
|
+
raise Exception('Invalid --config value')
|
|
447
|
+
if ol[0] == 'kivy' and ol[1] == 'log_level':
|
|
448
|
+
level = LOG_LEVELS.get(Config.get('kivy', 'log_level'))
|
|
449
|
+
Logger.setLevel(level=level)
|
|
450
|
+
elif opt in ('-k', '--fake-fullscreen'):
|
|
451
|
+
Config.set('graphics', 'fullscreen', 'fake')
|
|
452
|
+
elif opt in ('-f', '--fullscreen'):
|
|
453
|
+
Config.set('graphics', 'fullscreen', '1')
|
|
454
|
+
elif opt in ('-w', '--windowed'):
|
|
455
|
+
Config.set('graphics', 'fullscreen', '0')
|
|
456
|
+
elif opt in ('--size', ):
|
|
457
|
+
w, h = str(arg).split('x')
|
|
458
|
+
Config.set('graphics', 'width', w)
|
|
459
|
+
Config.set('graphics', 'height', h)
|
|
460
|
+
elif opt in ('--display', ):
|
|
461
|
+
Config.set('graphics', 'display', str(arg))
|
|
462
|
+
elif opt in ('-m', '--module'):
|
|
463
|
+
if str(arg) == 'list':
|
|
464
|
+
from kivy.modules import Modules
|
|
465
|
+
Modules.usage_list()
|
|
466
|
+
sys.exit(0)
|
|
467
|
+
args = arg.split(':', 1)
|
|
468
|
+
if len(args) == 1:
|
|
469
|
+
args += ['']
|
|
470
|
+
Config.set('modules', args[0], args[1])
|
|
471
|
+
elif opt in ('-s', '--save'):
|
|
472
|
+
need_save = True
|
|
473
|
+
elif opt in ('-r', '--rotation'):
|
|
474
|
+
Config.set('graphics', 'rotation', arg)
|
|
475
|
+
elif opt in ('-d', '--debug'):
|
|
476
|
+
level = LOG_LEVELS.get('debug')
|
|
477
|
+
Logger.setLevel(level=level)
|
|
478
|
+
elif opt == '--dpi':
|
|
479
|
+
environ['KIVY_DPI'] = arg
|
|
480
|
+
|
|
481
|
+
if need_save and 'KIVY_NO_CONFIG' not in environ:
|
|
482
|
+
try:
|
|
483
|
+
Config.filename = kivy_config_fn
|
|
484
|
+
Config.write()
|
|
485
|
+
except Exception as e:
|
|
486
|
+
Logger.exception('Core: error while saving default'
|
|
487
|
+
'configuration file:', str(e))
|
|
488
|
+
Logger.info('Core: Kivy configuration saved.')
|
|
489
|
+
sys.exit(0)
|
|
490
|
+
|
|
491
|
+
# configure all activated modules
|
|
492
|
+
from kivy.modules import Modules
|
|
493
|
+
Modules.configure()
|
|
494
|
+
|
|
495
|
+
# android hooks: force fullscreen and add android touch input provider
|
|
496
|
+
if platform in ('android', 'ios'):
|
|
497
|
+
from kivy.config import Config
|
|
498
|
+
Config.set('graphics', 'fullscreen', 'auto')
|
|
499
|
+
Config.remove_section('input')
|
|
500
|
+
Config.add_section('input')
|
|
501
|
+
|
|
502
|
+
if platform == 'android':
|
|
503
|
+
Config.set('input', 'androidtouch', 'android')
|
|
504
|
+
|
|
505
|
+
for msg in _logging_msgs:
|
|
506
|
+
Logger.info(msg)
|
|
507
|
+
|
|
508
|
+
if not _KIVY_RELEASE and _kivy_git_hash and _kivy_build_date:
|
|
509
|
+
Logger.info('Kivy: v%s, git-%s, %s' % (
|
|
510
|
+
__version__, _kivy_git_hash[:7], _kivy_build_date))
|
|
511
|
+
else:
|
|
512
|
+
Logger.info('Kivy: v%s' % __version__)
|
|
513
|
+
Logger.info('Kivy: Installed at "{}"'.format(__file__))
|
|
514
|
+
Logger.info('Python: v{}'.format(sys.version))
|
|
515
|
+
Logger.info('Python: Interpreter at "{}"'.format(sys.executable))
|
|
516
|
+
|
|
517
|
+
from kivy.logger import file_log_handler
|
|
518
|
+
if file_log_handler is not None:
|
|
519
|
+
file_log_handler.purge_logs()
|
kivy/_version.py
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# This file is imported from __init__.py and exec'd from setup.py
|
|
2
|
+
|
|
3
|
+
MAJOR = 2
|
|
4
|
+
MINOR = 3
|
|
5
|
+
MICRO = 1
|
|
6
|
+
RELEASE = False
|
|
7
|
+
|
|
8
|
+
__version__ = '%d.%d.%d' % (MAJOR, MINOR, MICRO)
|
|
9
|
+
|
|
10
|
+
if not RELEASE:
|
|
11
|
+
# if it's a rcx release, it's not proceeded by a period. If it is a
|
|
12
|
+
# devx release, it must start with a period
|
|
13
|
+
__version__ += '.dev0'
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
_kivy_git_hash = '41416f130d8a41adc048ac8a6d6dfdb380078eb1'
|
|
17
|
+
_kivy_build_date = '20241130'
|
|
18
|
+
|