xut 0.1.0__tar.gz
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.
- xut-0.1.0/API_SPEC_SHEET.md +517 -0
- xut-0.1.0/LICENSE +9 -0
- xut-0.1.0/PKG-INFO +357 -0
- xut-0.1.0/PLANNER.md +146 -0
- xut-0.1.0/README.md +340 -0
- xut-0.1.0/TODO.md +12 -0
- xut-0.1.0/__init__.py +0 -0
- xut-0.1.0/applesauce-mono.xut +352 -0
- xut-0.1.0/bin/markdown-it +6 -0
- xut-0.1.0/bin/pygmentize +6 -0
- xut-0.1.0/debug.py +494 -0
- xut-0.1.0/fonts/Lato-Black.ttf +0 -0
- xut-0.1.0/fonts/Lato-BlackItalic.ttf +0 -0
- xut-0.1.0/fonts/Lato-Bold.ttf +0 -0
- xut-0.1.0/fonts/Lato-BoldItalic.ttf +0 -0
- xut-0.1.0/fonts/Lato-Hairline.ttf +0 -0
- xut-0.1.0/fonts/Lato-HairlineItalic.ttf +0 -0
- xut-0.1.0/fonts/Lato-Heavy.ttf +0 -0
- xut-0.1.0/fonts/Lato-HeavyItalic.ttf +0 -0
- xut-0.1.0/fonts/Lato-Italic.ttf +0 -0
- xut-0.1.0/fonts/Lato-Light.ttf +0 -0
- xut-0.1.0/fonts/Lato-LightItalic.ttf +0 -0
- xut-0.1.0/fonts/Lato-Medium.ttf +0 -0
- xut-0.1.0/fonts/Lato-MediumItalic.ttf +0 -0
- xut-0.1.0/fonts/Lato-Regular.ttf +0 -0
- xut-0.1.0/fonts/Lato-Semibold.ttf +0 -0
- xut-0.1.0/fonts/Lato-SemiboldItalic.ttf +0 -0
- xut-0.1.0/fonts/Lato-Thin.ttf +0 -0
- xut-0.1.0/fonts/Lato-ThinItalic.ttf +0 -0
- xut-0.1.0/fonts/Montserrat-Black.otf +0 -0
- xut-0.1.0/fonts/Montserrat-Black.ttf +0 -0
- xut-0.1.0/fonts/Montserrat-BlackItalic.otf +0 -0
- xut-0.1.0/fonts/Montserrat-BlackItalic.ttf +0 -0
- xut-0.1.0/fonts/Montserrat-Bold.otf +0 -0
- xut-0.1.0/fonts/Montserrat-Bold.ttf +0 -0
- xut-0.1.0/fonts/Montserrat-BoldItalic.otf +0 -0
- xut-0.1.0/fonts/Montserrat-BoldItalic.ttf +0 -0
- xut-0.1.0/fonts/Montserrat-ExtraBold.otf +0 -0
- xut-0.1.0/fonts/Montserrat-ExtraBold.ttf +0 -0
- xut-0.1.0/fonts/Montserrat-ExtraBoldItalic.otf +0 -0
- xut-0.1.0/fonts/Montserrat-ExtraBoldItalic.ttf +0 -0
- xut-0.1.0/fonts/Montserrat-ExtraLight.otf +0 -0
- xut-0.1.0/fonts/Montserrat-ExtraLight.ttf +0 -0
- xut-0.1.0/fonts/Montserrat-ExtraLightItalic.otf +0 -0
- xut-0.1.0/fonts/Montserrat-ExtraLightItalic.ttf +0 -0
- xut-0.1.0/fonts/Montserrat-Italic.otf +0 -0
- xut-0.1.0/fonts/Montserrat-Italic.ttf +0 -0
- xut-0.1.0/fonts/Montserrat-Light.otf +0 -0
- xut-0.1.0/fonts/Montserrat-Light.ttf +0 -0
- xut-0.1.0/fonts/Montserrat-LightItalic.otf +0 -0
- xut-0.1.0/fonts/Montserrat-LightItalic.ttf +0 -0
- xut-0.1.0/fonts/Montserrat-Medium.otf +0 -0
- xut-0.1.0/fonts/Montserrat-Medium.ttf +0 -0
- xut-0.1.0/fonts/Montserrat-MediumItalic.otf +0 -0
- xut-0.1.0/fonts/Montserrat-MediumItalic.ttf +0 -0
- xut-0.1.0/fonts/Montserrat-Regular.otf +0 -0
- xut-0.1.0/fonts/Montserrat-Regular.ttf +0 -0
- xut-0.1.0/fonts/Montserrat-SemiBold.otf +0 -0
- xut-0.1.0/fonts/Montserrat-SemiBold.ttf +0 -0
- xut-0.1.0/fonts/Montserrat-SemiBoldItalic.otf +0 -0
- xut-0.1.0/fonts/Montserrat-SemiBoldItalic.ttf +0 -0
- xut-0.1.0/fonts/Montserrat-Thin.otf +0 -0
- xut-0.1.0/fonts/Montserrat-Thin.ttf +0 -0
- xut-0.1.0/fonts/Montserrat-ThinItalic.otf +0 -0
- xut-0.1.0/fonts/Montserrat-ThinItalic.ttf +0 -0
- xut-0.1.0/fonts/OpenSans-Bold.ttf +0 -0
- xut-0.1.0/fonts/OpenSans-BoldItalic.ttf +0 -0
- xut-0.1.0/fonts/OpenSans-ExtraBold.ttf +0 -0
- xut-0.1.0/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- xut-0.1.0/fonts/OpenSans-Italic.ttf +0 -0
- xut-0.1.0/fonts/OpenSans-Light.ttf +0 -0
- xut-0.1.0/fonts/OpenSans-LightItalic.ttf +0 -0
- xut-0.1.0/fonts/OpenSans-Regular.ttf +0 -0
- xut-0.1.0/fonts/OpenSans-Semibold.ttf +0 -0
- xut-0.1.0/fonts/OpenSans-SemiboldItalic.ttf +0 -0
- xut-0.1.0/fonts/Poppins-Black.ttf +0 -0
- xut-0.1.0/fonts/Poppins-BlackItalic.ttf +0 -0
- xut-0.1.0/fonts/Poppins-Bold.ttf +0 -0
- xut-0.1.0/fonts/Poppins-BoldItalic.ttf +0 -0
- xut-0.1.0/fonts/Poppins-ExtraBold.ttf +0 -0
- xut-0.1.0/fonts/Poppins-ExtraBoldItalic.ttf +0 -0
- xut-0.1.0/fonts/Poppins-ExtraLight.ttf +0 -0
- xut-0.1.0/fonts/Poppins-ExtraLightItalic.ttf +0 -0
- xut-0.1.0/fonts/Poppins-Italic.ttf +0 -0
- xut-0.1.0/fonts/Poppins-Light.ttf +0 -0
- xut-0.1.0/fonts/Poppins-LightItalic.ttf +0 -0
- xut-0.1.0/fonts/Poppins-Medium.ttf +0 -0
- xut-0.1.0/fonts/Poppins-MediumItalic.ttf +0 -0
- xut-0.1.0/fonts/Poppins-Regular.ttf +0 -0
- xut-0.1.0/fonts/Poppins-SemiBold.ttf +0 -0
- xut-0.1.0/fonts/Poppins-SemiBoldItalic.ttf +0 -0
- xut-0.1.0/fonts/Poppins-Thin.ttf +0 -0
- xut-0.1.0/fonts/Poppins-ThinItalic.ttf +0 -0
- xut-0.1.0/fonts/Raleway-Bold.ttf +0 -0
- xut-0.1.0/fonts/Raleway-ExtraBold.ttf +0 -0
- xut-0.1.0/fonts/Raleway-ExtraLight.ttf +0 -0
- xut-0.1.0/fonts/Raleway-Heavy.ttf +0 -0
- xut-0.1.0/fonts/Raleway-Light.ttf +0 -0
- xut-0.1.0/fonts/Raleway-Medium.ttf +0 -0
- xut-0.1.0/fonts/Raleway-Regular.ttf +0 -0
- xut-0.1.0/fonts/Raleway-SemiBold.ttf +0 -0
- xut-0.1.0/fonts/Raleway-Thin.ttf +0 -0
- xut-0.1.0/fonts/comucan.otf +0 -0
- xut-0.1.0/icon.png +0 -0
- xut-0.1.0/include/python/pygame/_blit_info.h +21 -0
- xut-0.1.0/include/python/pygame/_camera.h +26 -0
- xut-0.1.0/include/python/pygame/_pygame.h +374 -0
- xut-0.1.0/include/python/pygame/_surface.h +30 -0
- xut-0.1.0/include/python/pygame/camera.h +218 -0
- xut-0.1.0/include/python/pygame/font.h +15 -0
- xut-0.1.0/include/python/pygame/freetype.h +114 -0
- xut-0.1.0/include/python/pygame/include/_pygame.h +949 -0
- xut-0.1.0/include/python/pygame/include/bitmask.h +171 -0
- xut-0.1.0/include/python/pygame/include/pgcompat.h +102 -0
- xut-0.1.0/include/python/pygame/include/pgimport.h +67 -0
- xut-0.1.0/include/python/pygame/include/pgplatform.h +83 -0
- xut-0.1.0/include/python/pygame/include/pygame.h +34 -0
- xut-0.1.0/include/python/pygame/include/pygame_bufferproxy.h +56 -0
- xut-0.1.0/include/python/pygame/include/pygame_font.h +50 -0
- xut-0.1.0/include/python/pygame/include/pygame_freetype.h +42 -0
- xut-0.1.0/include/python/pygame/include/pygame_mask.h +45 -0
- xut-0.1.0/include/python/pygame/include/pygame_mixer.h +71 -0
- xut-0.1.0/include/python/pygame/include/sse2neon.h +6203 -0
- xut-0.1.0/include/python/pygame/mask.h +7 -0
- xut-0.1.0/include/python/pygame/mixer.h +14 -0
- xut-0.1.0/include/python/pygame/palette.h +123 -0
- xut-0.1.0/include/python/pygame/pgarrinter.h +26 -0
- xut-0.1.0/include/python/pygame/pgbufferproxy.h +7 -0
- xut-0.1.0/include/python/pygame/pgcompat.h +27 -0
- xut-0.1.0/include/python/pygame/pgopengl.h +20 -0
- xut-0.1.0/include/python/pygame/pgplatform.h +23 -0
- xut-0.1.0/include/python/pygame/pygame.h +32 -0
- xut-0.1.0/include/python/pygame/scrap.h +147 -0
- xut-0.1.0/include/python/pygame/simd_blitters.h +84 -0
- xut-0.1.0/include/python/pygame/surface.h +361 -0
- xut-0.1.0/main-backup.py +1384 -0
- xut-0.1.0/main.py +1301 -0
- xut-0.1.0/markdown_it/__init__.py +6 -0
- xut-0.1.0/markdown_it/_compat.py +1 -0
- xut-0.1.0/markdown_it/_punycode.py +67 -0
- xut-0.1.0/markdown_it/cli/__init__.py +0 -0
- xut-0.1.0/markdown_it/cli/parse.py +110 -0
- xut-0.1.0/markdown_it/common/__init__.py +0 -0
- xut-0.1.0/markdown_it/common/entities.py +5 -0
- xut-0.1.0/markdown_it/common/html_blocks.py +69 -0
- xut-0.1.0/markdown_it/common/html_re.py +39 -0
- xut-0.1.0/markdown_it/common/normalize_url.py +81 -0
- xut-0.1.0/markdown_it/common/utils.py +313 -0
- xut-0.1.0/markdown_it/helpers/__init__.py +6 -0
- xut-0.1.0/markdown_it/helpers/parse_link_destination.py +83 -0
- xut-0.1.0/markdown_it/helpers/parse_link_label.py +44 -0
- xut-0.1.0/markdown_it/helpers/parse_link_title.py +75 -0
- xut-0.1.0/markdown_it/main.py +350 -0
- xut-0.1.0/markdown_it/parser_block.py +113 -0
- xut-0.1.0/markdown_it/parser_core.py +46 -0
- xut-0.1.0/markdown_it/parser_inline.py +148 -0
- xut-0.1.0/markdown_it/port.yaml +48 -0
- xut-0.1.0/markdown_it/presets/__init__.py +28 -0
- xut-0.1.0/markdown_it/presets/commonmark.py +75 -0
- xut-0.1.0/markdown_it/presets/default.py +36 -0
- xut-0.1.0/markdown_it/presets/zero.py +44 -0
- xut-0.1.0/markdown_it/py.typed +1 -0
- xut-0.1.0/markdown_it/renderer.py +336 -0
- xut-0.1.0/markdown_it/ruler.py +275 -0
- xut-0.1.0/markdown_it/rules_block/__init__.py +27 -0
- xut-0.1.0/markdown_it/rules_block/blockquote.py +299 -0
- xut-0.1.0/markdown_it/rules_block/code.py +36 -0
- xut-0.1.0/markdown_it/rules_block/fence.py +101 -0
- xut-0.1.0/markdown_it/rules_block/heading.py +69 -0
- xut-0.1.0/markdown_it/rules_block/hr.py +56 -0
- xut-0.1.0/markdown_it/rules_block/html_block.py +90 -0
- xut-0.1.0/markdown_it/rules_block/lheading.py +86 -0
- xut-0.1.0/markdown_it/rules_block/list.py +345 -0
- xut-0.1.0/markdown_it/rules_block/paragraph.py +66 -0
- xut-0.1.0/markdown_it/rules_block/reference.py +235 -0
- xut-0.1.0/markdown_it/rules_block/state_block.py +261 -0
- xut-0.1.0/markdown_it/rules_block/table.py +250 -0
- xut-0.1.0/markdown_it/rules_core/__init__.py +19 -0
- xut-0.1.0/markdown_it/rules_core/block.py +13 -0
- xut-0.1.0/markdown_it/rules_core/inline.py +10 -0
- xut-0.1.0/markdown_it/rules_core/linkify.py +149 -0
- xut-0.1.0/markdown_it/rules_core/normalize.py +19 -0
- xut-0.1.0/markdown_it/rules_core/replacements.py +127 -0
- xut-0.1.0/markdown_it/rules_core/smartquotes.py +202 -0
- xut-0.1.0/markdown_it/rules_core/state_core.py +25 -0
- xut-0.1.0/markdown_it/rules_core/text_join.py +35 -0
- xut-0.1.0/markdown_it/rules_inline/__init__.py +31 -0
- xut-0.1.0/markdown_it/rules_inline/autolink.py +77 -0
- xut-0.1.0/markdown_it/rules_inline/backticks.py +72 -0
- xut-0.1.0/markdown_it/rules_inline/balance_pairs.py +138 -0
- xut-0.1.0/markdown_it/rules_inline/emphasis.py +102 -0
- xut-0.1.0/markdown_it/rules_inline/entity.py +53 -0
- xut-0.1.0/markdown_it/rules_inline/escape.py +93 -0
- xut-0.1.0/markdown_it/rules_inline/fragments_join.py +43 -0
- xut-0.1.0/markdown_it/rules_inline/html_inline.py +43 -0
- xut-0.1.0/markdown_it/rules_inline/image.py +148 -0
- xut-0.1.0/markdown_it/rules_inline/link.py +149 -0
- xut-0.1.0/markdown_it/rules_inline/linkify.py +62 -0
- xut-0.1.0/markdown_it/rules_inline/newline.py +44 -0
- xut-0.1.0/markdown_it/rules_inline/state_inline.py +165 -0
- xut-0.1.0/markdown_it/rules_inline/strikethrough.py +127 -0
- xut-0.1.0/markdown_it/rules_inline/text.py +62 -0
- xut-0.1.0/markdown_it/token.py +178 -0
- xut-0.1.0/markdown_it/tree.py +333 -0
- xut-0.1.0/markdown_it/utils.py +186 -0
- xut-0.1.0/markdown_it_py-4.0.0.dist-info/INSTALLER +1 -0
- xut-0.1.0/markdown_it_py-4.0.0.dist-info/METADATA +219 -0
- xut-0.1.0/markdown_it_py-4.0.0.dist-info/RECORD +142 -0
- xut-0.1.0/markdown_it_py-4.0.0.dist-info/WHEEL +4 -0
- xut-0.1.0/markdown_it_py-4.0.0.dist-info/entry_points.txt +3 -0
- xut-0.1.0/markdown_it_py-4.0.0.dist-info/licenses/LICENSE +21 -0
- xut-0.1.0/markdown_it_py-4.0.0.dist-info/licenses/LICENSE.markdown-it +22 -0
- xut-0.1.0/mdurl/__init__.py +18 -0
- xut-0.1.0/mdurl/_decode.py +104 -0
- xut-0.1.0/mdurl/_encode.py +85 -0
- xut-0.1.0/mdurl/_format.py +27 -0
- xut-0.1.0/mdurl/_parse.py +304 -0
- xut-0.1.0/mdurl/_url.py +14 -0
- xut-0.1.0/mdurl/py.typed +1 -0
- xut-0.1.0/mdurl-0.1.2.dist-info/INSTALLER +1 -0
- xut-0.1.0/mdurl-0.1.2.dist-info/LICENSE +46 -0
- xut-0.1.0/mdurl-0.1.2.dist-info/METADATA +32 -0
- xut-0.1.0/mdurl-0.1.2.dist-info/RECORD +18 -0
- xut-0.1.0/mdurl-0.1.2.dist-info/WHEEL +4 -0
- xut-0.1.0/pygame/.dylibs/libFLAC.8.dylib +0 -0
- xut-0.1.0/pygame/.dylibs/libSDL2-2.0.0.dylib +0 -0
- xut-0.1.0/pygame/.dylibs/libSDL2_image-2.0.0.dylib +0 -0
- xut-0.1.0/pygame/.dylibs/libSDL2_mixer-2.0.0.dylib +0 -0
- xut-0.1.0/pygame/.dylibs/libSDL2_ttf-2.0.0.dylib +0 -0
- xut-0.1.0/pygame/.dylibs/libbrotlicommon.1.0.9.dylib +0 -0
- xut-0.1.0/pygame/.dylibs/libbrotlidec.1.0.9.dylib +0 -0
- xut-0.1.0/pygame/.dylibs/libfluidsynth.3.1.1.dylib +0 -0
- xut-0.1.0/pygame/.dylibs/libfreetype.6.dylib +0 -0
- xut-0.1.0/pygame/.dylibs/libglib-2.0.0.dylib +0 -0
- xut-0.1.0/pygame/.dylibs/libgthread-2.0.0.dylib +0 -0
- xut-0.1.0/pygame/.dylibs/libintl.8.dylib +0 -0
- xut-0.1.0/pygame/.dylibs/libjpeg.62.3.0.dylib +0 -0
- xut-0.1.0/pygame/.dylibs/libmodplug.1.dylib +0 -0
- xut-0.1.0/pygame/.dylibs/libmpg123.0.dylib +0 -0
- xut-0.1.0/pygame/.dylibs/libogg.0.8.5.dylib +0 -0
- xut-0.1.0/pygame/.dylibs/libopus.0.dylib +0 -0
- xut-0.1.0/pygame/.dylibs/libopusfile.0.dylib +0 -0
- xut-0.1.0/pygame/.dylibs/libpng16.16.dylib +0 -0
- xut-0.1.0/pygame/.dylibs/libportmidi.2.0.3.dylib +0 -0
- xut-0.1.0/pygame/.dylibs/libsharpyuv.0.dylib +0 -0
- xut-0.1.0/pygame/.dylibs/libsndfile.1.0.34.dylib +0 -0
- xut-0.1.0/pygame/.dylibs/libtiff.5.8.0.dylib +0 -0
- xut-0.1.0/pygame/.dylibs/libvorbis.0.4.9.dylib +0 -0
- xut-0.1.0/pygame/.dylibs/libvorbisenc.2.0.12.dylib +0 -0
- xut-0.1.0/pygame/.dylibs/libvorbisfile.3.3.8.dylib +0 -0
- xut-0.1.0/pygame/.dylibs/libwebp.7.dylib +0 -0
- xut-0.1.0/pygame/.dylibs/libz.1.2.11.zlib-ng.dylib +0 -0
- xut-0.1.0/pygame/__init__.py +345 -0
- xut-0.1.0/pygame/__init__.pyi +632 -0
- xut-0.1.0/pygame/__pyinstaller/__init__.py +5 -0
- xut-0.1.0/pygame/__pyinstaller/hook-pygame.py +45 -0
- xut-0.1.0/pygame/_camera.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/_camera_opencv.py +210 -0
- xut-0.1.0/pygame/_camera_vidcapture.py +118 -0
- xut-0.1.0/pygame/_common.pyi +40 -0
- xut-0.1.0/pygame/_freetype.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/_sdl2/__init__.py +3 -0
- xut-0.1.0/pygame/_sdl2/__init__.pyi +3 -0
- xut-0.1.0/pygame/_sdl2/audio.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/_sdl2/audio.pyi +54 -0
- xut-0.1.0/pygame/_sdl2/controller.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/_sdl2/controller.pyi +35 -0
- xut-0.1.0/pygame/_sdl2/mixer.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/_sdl2/sdl2.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/_sdl2/sdl2.pyi +16 -0
- xut-0.1.0/pygame/_sdl2/touch.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/_sdl2/touch.pyi +6 -0
- xut-0.1.0/pygame/_sdl2/video.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/_sdl2/video.pyi +159 -0
- xut-0.1.0/pygame/_sprite.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/base.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/base.pyi +19 -0
- xut-0.1.0/pygame/bufferproxy.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/bufferproxy.pyi +15 -0
- xut-0.1.0/pygame/camera.py +219 -0
- xut-0.1.0/pygame/camera.pyi +49 -0
- xut-0.1.0/pygame/color.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/color.pyi +56 -0
- xut-0.1.0/pygame/colordict.py +692 -0
- xut-0.1.0/pygame/constants.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/constants.pyi +560 -0
- xut-0.1.0/pygame/cursors.py +837 -0
- xut-0.1.0/pygame/cursors.pyi +91 -0
- xut-0.1.0/pygame/display.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/display.pyi +77 -0
- xut-0.1.0/pygame/docs/__main__.py +37 -0
- xut-0.1.0/pygame/docs/generated/LGPL.txt +504 -0
- xut-0.1.0/pygame/docs/generated/_images/AdvancedInputOutput1.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/AdvancedInputOutput11.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/AdvancedInputOutput2.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/AdvancedInputOutput21.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/AdvancedInputOutput3.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/AdvancedInputOutput31.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/AdvancedInputOutput4.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/AdvancedInputOutput41.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/AdvancedInputOutput5.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/AdvancedInputOutput51.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/AdvancedOutputAlpha1.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/AdvancedOutputAlpha11.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/AdvancedOutputAlpha2.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/AdvancedOutputAlpha21.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/AdvancedOutputAlpha3.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/AdvancedOutputAlpha31.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/AdvancedOutputProcess1.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/AdvancedOutputProcess11.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/AdvancedOutputProcess2.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/AdvancedOutputProcess21.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/AdvancedOutputProcess3.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/AdvancedOutputProcess31.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/AdvancedOutputProcess4.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/AdvancedOutputProcess41.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/AdvancedOutputProcess5.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/AdvancedOutputProcess51.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/AdvancedOutputProcess6.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/AdvancedOutputProcess61.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/Bagic-INPUT-resultscreen.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/Bagic-INPUT-resultscreen1.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/Bagic-INPUT-sourcecode.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/Bagic-INPUT-sourcecode1.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/Bagic-PROCESS-resultscreen.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/Bagic-PROCESS-resultscreen1.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/Bagic-PROCESS-sourcecode.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/Bagic-PROCESS-sourcecode1.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/Bagic-ouput-result-screen.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/Bagic-ouput-result-screen1.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/Basic-ouput-sourcecode.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/Basic-ouput-sourcecode1.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/angle_to.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/camera_average.jpg +0 -0
- xut-0.1.0/pygame/docs/generated/_images/camera_background.jpg +0 -0
- xut-0.1.0/pygame/docs/generated/_images/camera_green.jpg +0 -0
- xut-0.1.0/pygame/docs/generated/_images/camera_hsv.jpg +0 -0
- xut-0.1.0/pygame/docs/generated/_images/camera_mask.jpg +0 -0
- xut-0.1.0/pygame/docs/generated/_images/camera_rgb.jpg +0 -0
- xut-0.1.0/pygame/docs/generated/_images/camera_thresh.jpg +0 -0
- xut-0.1.0/pygame/docs/generated/_images/camera_thresholded.jpg +0 -0
- xut-0.1.0/pygame/docs/generated/_images/camera_yuv.jpg +0 -0
- xut-0.1.0/pygame/docs/generated/_images/chimpshot.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/draw_module_example.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/intro_ball.gif +0 -0
- xut-0.1.0/pygame/docs/generated/_images/intro_blade.jpg +0 -0
- xut-0.1.0/pygame/docs/generated/_images/intro_freedom.jpg +0 -0
- xut-0.1.0/pygame/docs/generated/_images/introduction-Battleship.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/introduction-Battleship1.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/introduction-PuyoPuyo.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/introduction-PuyoPuyo1.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/introduction-TPS.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/introduction-TPS1.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/joystick_calls.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/pygame_lofi.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/pygame_logo.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/pygame_powered.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/pygame_powered_lowres.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/pygame_tiny.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/surfarray_allblack.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/surfarray_flipped.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/surfarray_redimg.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/surfarray_rgbarray.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/surfarray_scaledown.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/surfarray_scaleup.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/surfarray_soften.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/surfarray_striped.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/surfarray_xfade.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/tom_basic.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/tom_event-flowchart.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/tom_formulae.png +0 -0
- xut-0.1.0/pygame/docs/generated/_images/tom_radians.png +0 -0
- xut-0.1.0/pygame/docs/generated/_sources/c_api.rst.txt +25 -0
- xut-0.1.0/pygame/docs/generated/_sources/filepaths.rst.txt +17 -0
- xut-0.1.0/pygame/docs/generated/_sources/index.rst.txt +213 -0
- xut-0.1.0/pygame/docs/generated/_sources/logos.rst.txt +47 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/bufferproxy.rst.txt +113 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/camera.rst.txt +250 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/cdrom.rst.txt +310 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/color.rst.txt +283 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/color_list.rst.txt +2014 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/cursors.rst.txt +251 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/display.rst.txt +737 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/draw.rst.txt +557 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/event.rst.txt +565 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/examples.rst.txt +451 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/fastevent.rst.txt +109 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/font.rst.txt +499 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/freetype.rst.txt +770 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/gfxdraw.rst.txt +628 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/image.rst.txt +375 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/joystick.rst.txt +697 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/key.rst.txt +455 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/locals.rst.txt +27 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/mask.rst.txt +642 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/math.rst.txt +1143 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/midi.rst.txt +484 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/mixer.rst.txt +605 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/mouse.rst.txt +219 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/music.rst.txt +274 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/overlay.rst.txt +79 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/pixelarray.rst.txt +295 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/pixelcopy.rst.txt +104 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/pygame.rst.txt +505 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/rect.rst.txt +604 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/scrap.rst.txt +240 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/sdl2_controller.rst.txt +290 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/sdl2_video.rst.txt +334 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/sndarray.rst.txt +95 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/sprite.rst.txt +895 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/surface.rst.txt +949 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/surfarray.rst.txt +337 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/tests.rst.txt +113 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/time.rst.txt +165 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/touch.rst.txt +66 -0
- xut-0.1.0/pygame/docs/generated/_sources/ref/transform.rst.txt +325 -0
- xut-0.1.0/pygame/docs/generated/_static/basic.css +925 -0
- xut-0.1.0/pygame/docs/generated/_static/doctools.js +156 -0
- xut-0.1.0/pygame/docs/generated/_static/documentation_options.js +13 -0
- xut-0.1.0/pygame/docs/generated/_static/file.png +0 -0
- xut-0.1.0/pygame/docs/generated/_static/language_data.js +199 -0
- xut-0.1.0/pygame/docs/generated/_static/legacy_logos.zip +0 -0
- xut-0.1.0/pygame/docs/generated/_static/minus.png +0 -0
- xut-0.1.0/pygame/docs/generated/_static/plus.png +0 -0
- xut-0.1.0/pygame/docs/generated/_static/pygame.css +707 -0
- xut-0.1.0/pygame/docs/generated/_static/pygame.ico +0 -0
- xut-0.1.0/pygame/docs/generated/_static/pygame_lofi.png +0 -0
- xut-0.1.0/pygame/docs/generated/_static/pygame_lofi.svg +234 -0
- xut-0.1.0/pygame/docs/generated/_static/pygame_logo.png +0 -0
- xut-0.1.0/pygame/docs/generated/_static/pygame_logo.svg +234 -0
- xut-0.1.0/pygame/docs/generated/_static/pygame_powered.png +0 -0
- xut-0.1.0/pygame/docs/generated/_static/pygame_powered.svg +326 -0
- xut-0.1.0/pygame/docs/generated/_static/pygame_powered_lowres.png +0 -0
- xut-0.1.0/pygame/docs/generated/_static/pygame_tiny.png +0 -0
- xut-0.1.0/pygame/docs/generated/_static/pygments.css +75 -0
- xut-0.1.0/pygame/docs/generated/_static/reset.css +49 -0
- xut-0.1.0/pygame/docs/generated/_static/searchtools.js +620 -0
- xut-0.1.0/pygame/docs/generated/_static/sphinx_highlight.js +154 -0
- xut-0.1.0/pygame/docs/generated/_static/tooltip.css +44 -0
- xut-0.1.0/pygame/docs/generated/c_api/base.html +357 -0
- xut-0.1.0/pygame/docs/generated/c_api/bufferproxy.html +179 -0
- xut-0.1.0/pygame/docs/generated/c_api/color.html +168 -0
- xut-0.1.0/pygame/docs/generated/c_api/display.html +173 -0
- xut-0.1.0/pygame/docs/generated/c_api/event.html +188 -0
- xut-0.1.0/pygame/docs/generated/c_api/freetype.html +176 -0
- xut-0.1.0/pygame/docs/generated/c_api/mixer.html +209 -0
- xut-0.1.0/pygame/docs/generated/c_api/rect.html +204 -0
- xut-0.1.0/pygame/docs/generated/c_api/rwobject.html +200 -0
- xut-0.1.0/pygame/docs/generated/c_api/slots.html +153 -0
- xut-0.1.0/pygame/docs/generated/c_api/surface.html +198 -0
- xut-0.1.0/pygame/docs/generated/c_api/surflock.html +227 -0
- xut-0.1.0/pygame/docs/generated/c_api/version.html +169 -0
- xut-0.1.0/pygame/docs/generated/c_api.html +152 -0
- xut-0.1.0/pygame/docs/generated/filepaths.html +145 -0
- xut-0.1.0/pygame/docs/generated/genindex.html +2676 -0
- xut-0.1.0/pygame/docs/generated/index.html +343 -0
- xut-0.1.0/pygame/docs/generated/logos.html +168 -0
- xut-0.1.0/pygame/docs/generated/py-modindex.html +249 -0
- xut-0.1.0/pygame/docs/generated/ref/bufferproxy.html +274 -0
- xut-0.1.0/pygame/docs/generated/ref/camera.html +462 -0
- xut-0.1.0/pygame/docs/generated/ref/cdrom.html +578 -0
- xut-0.1.0/pygame/docs/generated/ref/color.html +523 -0
- xut-0.1.0/pygame/docs/generated/ref/color_list.html +2805 -0
- xut-0.1.0/pygame/docs/generated/ref/cursors.html +438 -0
- xut-0.1.0/pygame/docs/generated/ref/display.html +1006 -0
- xut-0.1.0/pygame/docs/generated/ref/draw.html +956 -0
- xut-0.1.0/pygame/docs/generated/ref/event.html +796 -0
- xut-0.1.0/pygame/docs/generated/ref/examples.html +703 -0
- xut-0.1.0/pygame/docs/generated/ref/fastevent.html +277 -0
- xut-0.1.0/pygame/docs/generated/ref/font.html +817 -0
- xut-0.1.0/pygame/docs/generated/ref/freetype.html +1261 -0
- xut-0.1.0/pygame/docs/generated/ref/gfxdraw.html +1049 -0
- xut-0.1.0/pygame/docs/generated/ref/image.html +557 -0
- xut-0.1.0/pygame/docs/generated/ref/joystick.html +1137 -0
- xut-0.1.0/pygame/docs/generated/ref/key.html +642 -0
- xut-0.1.0/pygame/docs/generated/ref/locals.html +157 -0
- xut-0.1.0/pygame/docs/generated/ref/mask.html +1109 -0
- xut-0.1.0/pygame/docs/generated/ref/math.html +1818 -0
- xut-0.1.0/pygame/docs/generated/ref/midi.html +826 -0
- xut-0.1.0/pygame/docs/generated/ref/mixer.html +977 -0
- xut-0.1.0/pygame/docs/generated/ref/mouse.html +397 -0
- xut-0.1.0/pygame/docs/generated/ref/music.html +493 -0
- xut-0.1.0/pygame/docs/generated/ref/overlay.html +222 -0
- xut-0.1.0/pygame/docs/generated/ref/pixelarray.html +477 -0
- xut-0.1.0/pygame/docs/generated/ref/pixelcopy.html +253 -0
- xut-0.1.0/pygame/docs/generated/ref/pygame.html +696 -0
- xut-0.1.0/pygame/docs/generated/ref/rect.html +901 -0
- xut-0.1.0/pygame/docs/generated/ref/scrap.html +449 -0
- xut-0.1.0/pygame/docs/generated/ref/sdl2_controller.html +559 -0
- xut-0.1.0/pygame/docs/generated/ref/sdl2_video.html +1062 -0
- xut-0.1.0/pygame/docs/generated/ref/sndarray.html +265 -0
- xut-0.1.0/pygame/docs/generated/ref/sprite.html +1381 -0
- xut-0.1.0/pygame/docs/generated/ref/surface.html +1332 -0
- xut-0.1.0/pygame/docs/generated/ref/surfarray.html +562 -0
- xut-0.1.0/pygame/docs/generated/ref/tests.html +234 -0
- xut-0.1.0/pygame/docs/generated/ref/time.html +356 -0
- xut-0.1.0/pygame/docs/generated/ref/touch.html +231 -0
- xut-0.1.0/pygame/docs/generated/ref/transform.html +598 -0
- xut-0.1.0/pygame/docs/generated/search.html +92 -0
- xut-0.1.0/pygame/docs/generated/searchindex.js +1 -0
- xut-0.1.0/pygame/docs/generated/tut/CameraIntro.html +374 -0
- xut-0.1.0/pygame/docs/generated/tut/ChimpLineByLine.html +593 -0
- xut-0.1.0/pygame/docs/generated/tut/DisplayModes.html +323 -0
- xut-0.1.0/pygame/docs/generated/tut/ImportInit.html +193 -0
- xut-0.1.0/pygame/docs/generated/tut/MakeGames.html +233 -0
- xut-0.1.0/pygame/docs/generated/tut/MoveIt.html +653 -0
- xut-0.1.0/pygame/docs/generated/tut/PygameIntro.html +419 -0
- xut-0.1.0/pygame/docs/generated/tut/SpriteIntro.html +494 -0
- xut-0.1.0/pygame/docs/generated/tut/SurfarrayIntro.html +655 -0
- xut-0.1.0/pygame/docs/generated/tut/chimp.py.html +338 -0
- xut-0.1.0/pygame/docs/generated/tut/newbieguide.html +542 -0
- xut-0.1.0/pygame/docs/generated/tut/tom_games2.html +236 -0
- xut-0.1.0/pygame/docs/generated/tut/tom_games3.html +216 -0
- xut-0.1.0/pygame/docs/generated/tut/tom_games4.html +245 -0
- xut-0.1.0/pygame/docs/generated/tut/tom_games5.html +234 -0
- xut-0.1.0/pygame/docs/generated/tut/tom_games6.html +433 -0
- xut-0.1.0/pygame/draw.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/draw.pyi +74 -0
- xut-0.1.0/pygame/draw_py.py +562 -0
- xut-0.1.0/pygame/event.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/event.pyi +51 -0
- xut-0.1.0/pygame/examples/README.rst +154 -0
- xut-0.1.0/pygame/examples/__init__.py +0 -0
- xut-0.1.0/pygame/examples/aacircle.py +41 -0
- xut-0.1.0/pygame/examples/aliens.py +395 -0
- xut-0.1.0/pygame/examples/arraydemo.py +120 -0
- xut-0.1.0/pygame/examples/audiocapture.py +78 -0
- xut-0.1.0/pygame/examples/blend_fill.py +114 -0
- xut-0.1.0/pygame/examples/blit_blends.py +197 -0
- xut-0.1.0/pygame/examples/camera.py +121 -0
- xut-0.1.0/pygame/examples/chimp.py +203 -0
- xut-0.1.0/pygame/examples/cursors.py +259 -0
- xut-0.1.0/pygame/examples/data/BGR.png +0 -0
- xut-0.1.0/pygame/examples/data/alien1.gif +0 -0
- xut-0.1.0/pygame/examples/data/alien1.jpg +0 -0
- xut-0.1.0/pygame/examples/data/alien1.png +0 -0
- xut-0.1.0/pygame/examples/data/alien2.gif +0 -0
- xut-0.1.0/pygame/examples/data/alien2.png +0 -0
- xut-0.1.0/pygame/examples/data/alien3.gif +0 -0
- xut-0.1.0/pygame/examples/data/alien3.png +0 -0
- xut-0.1.0/pygame/examples/data/arraydemo.bmp +0 -0
- xut-0.1.0/pygame/examples/data/asprite.bmp +0 -0
- xut-0.1.0/pygame/examples/data/background.gif +0 -0
- xut-0.1.0/pygame/examples/data/black.ppm +3076 -0
- xut-0.1.0/pygame/examples/data/blue.gif +0 -0
- xut-0.1.0/pygame/examples/data/blue.mpg +0 -0
- xut-0.1.0/pygame/examples/data/bomb.gif +0 -0
- xut-0.1.0/pygame/examples/data/boom.wav +0 -0
- xut-0.1.0/pygame/examples/data/brick.png +0 -0
- xut-0.1.0/pygame/examples/data/car_door.wav +0 -0
- xut-0.1.0/pygame/examples/data/chimp.png +0 -0
- xut-0.1.0/pygame/examples/data/city.png +0 -0
- xut-0.1.0/pygame/examples/data/crimson.pnm +5 -0
- xut-0.1.0/pygame/examples/data/cursor.png +0 -0
- xut-0.1.0/pygame/examples/data/danger.gif +0 -0
- xut-0.1.0/pygame/examples/data/explosion1.gif +0 -0
- xut-0.1.0/pygame/examples/data/fist.png +0 -0
- xut-0.1.0/pygame/examples/data/green.pcx +0 -0
- xut-0.1.0/pygame/examples/data/grey.pgm +1028 -0
- xut-0.1.0/pygame/examples/data/house_lo.mp3 +0 -0
- xut-0.1.0/pygame/examples/data/house_lo.ogg +0 -0
- xut-0.1.0/pygame/examples/data/house_lo.wav +0 -0
- xut-0.1.0/pygame/examples/data/laplacian.png +0 -0
- xut-0.1.0/pygame/examples/data/liquid.bmp +0 -0
- xut-0.1.0/pygame/examples/data/midikeys.png +0 -0
- xut-0.1.0/pygame/examples/data/player1.gif +0 -0
- xut-0.1.0/pygame/examples/data/punch.wav +0 -0
- xut-0.1.0/pygame/examples/data/purple.xpm +36 -0
- xut-0.1.0/pygame/examples/data/red.jpg +0 -0
- xut-0.1.0/pygame/examples/data/sans.ttf +0 -0
- xut-0.1.0/pygame/examples/data/scarlet.webp +0 -0
- xut-0.1.0/pygame/examples/data/secosmic_lo.wav +0 -0
- xut-0.1.0/pygame/examples/data/shot.gif +0 -0
- xut-0.1.0/pygame/examples/data/static.png +0 -0
- xut-0.1.0/pygame/examples/data/teal.svg +9 -0
- xut-0.1.0/pygame/examples/data/turquoise.tif +0 -0
- xut-0.1.0/pygame/examples/data/whiff.wav +0 -0
- xut-0.1.0/pygame/examples/data/yellow.tga +0 -0
- xut-0.1.0/pygame/examples/dropevent.py +72 -0
- xut-0.1.0/pygame/examples/eventlist.py +194 -0
- xut-0.1.0/pygame/examples/font_viewer.py +278 -0
- xut-0.1.0/pygame/examples/fonty.py +81 -0
- xut-0.1.0/pygame/examples/freetype_misc.py +157 -0
- xut-0.1.0/pygame/examples/glcube.py +591 -0
- xut-0.1.0/pygame/examples/go_over_there.py +89 -0
- xut-0.1.0/pygame/examples/grid.py +64 -0
- xut-0.1.0/pygame/examples/headless_no_windows_needed.py +50 -0
- xut-0.1.0/pygame/examples/joystick.py +151 -0
- xut-0.1.0/pygame/examples/liquid.py +89 -0
- xut-0.1.0/pygame/examples/mask.py +202 -0
- xut-0.1.0/pygame/examples/midi.py +932 -0
- xut-0.1.0/pygame/examples/moveit.py +119 -0
- xut-0.1.0/pygame/examples/music_drop_fade.py +253 -0
- xut-0.1.0/pygame/examples/pixelarray.py +142 -0
- xut-0.1.0/pygame/examples/playmus.py +165 -0
- xut-0.1.0/pygame/examples/resizing_new.py +44 -0
- xut-0.1.0/pygame/examples/scaletest.py +154 -0
- xut-0.1.0/pygame/examples/scrap_clipboard.py +94 -0
- xut-0.1.0/pygame/examples/scroll.py +197 -0
- xut-0.1.0/pygame/examples/setmodescale.py +67 -0
- xut-0.1.0/pygame/examples/sound.py +45 -0
- xut-0.1.0/pygame/examples/sound_array_demos.py +217 -0
- xut-0.1.0/pygame/examples/sprite_texture.py +110 -0
- xut-0.1.0/pygame/examples/stars.py +100 -0
- xut-0.1.0/pygame/examples/testsprite.py +250 -0
- xut-0.1.0/pygame/examples/textinput.py +235 -0
- xut-0.1.0/pygame/examples/vgrade.py +102 -0
- xut-0.1.0/pygame/examples/video.py +158 -0
- xut-0.1.0/pygame/fastevent.py +88 -0
- xut-0.1.0/pygame/fastevent.pyi +11 -0
- xut-0.1.0/pygame/font.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/font.pyi +61 -0
- xut-0.1.0/pygame/freesansbold.ttf +0 -0
- xut-0.1.0/pygame/freetype.py +78 -0
- xut-0.1.0/pygame/freetype.pyi +128 -0
- xut-0.1.0/pygame/ftfont.py +203 -0
- xut-0.1.0/pygame/gfxdraw.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/gfxdraw.pyi +91 -0
- xut-0.1.0/pygame/image.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/image.pyi +45 -0
- xut-0.1.0/pygame/imageext.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/joystick.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/joystick.pyi +35 -0
- xut-0.1.0/pygame/key.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/key.pyi +17 -0
- xut-0.1.0/pygame/locals.py +30 -0
- xut-0.1.0/pygame/locals.pyi +562 -0
- xut-0.1.0/pygame/macosx.py +13 -0
- xut-0.1.0/pygame/mask.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/mask.pyi +59 -0
- xut-0.1.0/pygame/math.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/math.pyi +342 -0
- xut-0.1.0/pygame/midi.py +717 -0
- xut-0.1.0/pygame/midi.pyi +49 -0
- xut-0.1.0/pygame/mixer.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/mixer.pyi +98 -0
- xut-0.1.0/pygame/mixer_music.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/mixer_music.pyi +20 -0
- xut-0.1.0/pygame/mouse.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/mouse.pyi +35 -0
- xut-0.1.0/pygame/newbuffer.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/pixelarray.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/pixelarray.pyi +41 -0
- xut-0.1.0/pygame/pixelcopy.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/pixelcopy.pyi +20 -0
- xut-0.1.0/pygame/pkgdata.py +77 -0
- xut-0.1.0/pygame/py.typed +0 -0
- xut-0.1.0/pygame/pygame.ico +0 -0
- xut-0.1.0/pygame/pygame_icon.bmp +0 -0
- xut-0.1.0/pygame/pygame_icon.icns +0 -0
- xut-0.1.0/pygame/pygame_icon_mac.bmp +0 -0
- xut-0.1.0/pygame/pypm.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/rect.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/rect.pyi +208 -0
- xut-0.1.0/pygame/rwobject.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/rwobject.pyi +18 -0
- xut-0.1.0/pygame/scrap.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/scrap.pyi +11 -0
- xut-0.1.0/pygame/sdlmain_osx.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/sndarray.py +139 -0
- xut-0.1.0/pygame/sndarray.pyi +12 -0
- xut-0.1.0/pygame/sprite.py +1813 -0
- xut-0.1.0/pygame/sprite.pyi +287 -0
- xut-0.1.0/pygame/surface.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/surface.pyi +149 -0
- xut-0.1.0/pygame/surfarray.py +448 -0
- xut-0.1.0/pygame/surfarray.pyi +31 -0
- xut-0.1.0/pygame/surflock.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/surflock.pyi +2 -0
- xut-0.1.0/pygame/sysfont.py +515 -0
- xut-0.1.0/pygame/tests/__init__.py +40 -0
- xut-0.1.0/pygame/tests/__main__.py +143 -0
- xut-0.1.0/pygame/tests/base_test.py +623 -0
- xut-0.1.0/pygame/tests/blit_test.py +192 -0
- xut-0.1.0/pygame/tests/bufferproxy_test.py +504 -0
- xut-0.1.0/pygame/tests/camera_test.py +35 -0
- xut-0.1.0/pygame/tests/color_test.py +1360 -0
- xut-0.1.0/pygame/tests/constants_test.py +426 -0
- xut-0.1.0/pygame/tests/controller_test.py +357 -0
- xut-0.1.0/pygame/tests/cursors_test.py +290 -0
- xut-0.1.0/pygame/tests/display_test.py +1199 -0
- xut-0.1.0/pygame/tests/docs_test.py +35 -0
- xut-0.1.0/pygame/tests/draw_test.py +6577 -0
- xut-0.1.0/pygame/tests/event_test.py +961 -0
- xut-0.1.0/pygame/tests/fixtures/fonts/A_PyGameMono-8.png +0 -0
- xut-0.1.0/pygame/tests/fixtures/fonts/PlayfairDisplaySemibold.ttf +0 -0
- xut-0.1.0/pygame/tests/fixtures/fonts/PyGameMono-18-100dpi.bdf +165 -0
- xut-0.1.0/pygame/tests/fixtures/fonts/PyGameMono-18-75dpi.bdf +143 -0
- xut-0.1.0/pygame/tests/fixtures/fonts/PyGameMono-8.bdf +103 -0
- xut-0.1.0/pygame/tests/fixtures/fonts/PyGameMono.otf +0 -0
- xut-0.1.0/pygame/tests/fixtures/fonts/test_fixed.otf +0 -0
- xut-0.1.0/pygame/tests/fixtures/fonts/test_sans.ttf +0 -0
- xut-0.1.0/pygame/tests/fixtures/fonts/u13079_PyGameMono-8.png +0 -0
- xut-0.1.0/pygame/tests/fixtures/xbm_cursors/white_sizing.xbm +8 -0
- xut-0.1.0/pygame/tests/fixtures/xbm_cursors/white_sizing_mask.xbm +8 -0
- xut-0.1.0/pygame/tests/font_test.py +748 -0
- xut-0.1.0/pygame/tests/freetype_tags.py +11 -0
- xut-0.1.0/pygame/tests/freetype_test.py +1796 -0
- xut-0.1.0/pygame/tests/ftfont_tags.py +11 -0
- xut-0.1.0/pygame/tests/ftfont_test.py +17 -0
- xut-0.1.0/pygame/tests/gfxdraw_test.py +876 -0
- xut-0.1.0/pygame/tests/image__save_gl_surface_test.py +46 -0
- xut-0.1.0/pygame/tests/image_tags.py +7 -0
- xut-0.1.0/pygame/tests/image_test.py +1282 -0
- xut-0.1.0/pygame/tests/imageext_tags.py +7 -0
- xut-0.1.0/pygame/tests/imageext_test.py +93 -0
- xut-0.1.0/pygame/tests/joystick_test.py +166 -0
- xut-0.1.0/pygame/tests/key_test.py +306 -0
- xut-0.1.0/pygame/tests/locals_test.py +17 -0
- xut-0.1.0/pygame/tests/mask_test.py +6441 -0
- xut-0.1.0/pygame/tests/math_test.py +2929 -0
- xut-0.1.0/pygame/tests/midi_test.py +463 -0
- xut-0.1.0/pygame/tests/mixer_music_tags.py +7 -0
- xut-0.1.0/pygame/tests/mixer_music_test.py +493 -0
- xut-0.1.0/pygame/tests/mixer_tags.py +7 -0
- xut-0.1.0/pygame/tests/mixer_test.py +1479 -0
- xut-0.1.0/pygame/tests/mouse_test.py +348 -0
- xut-0.1.0/pygame/tests/pixelarray_test.py +1667 -0
- xut-0.1.0/pygame/tests/pixelcopy_test.py +710 -0
- xut-0.1.0/pygame/tests/rect_test.py +3312 -0
- xut-0.1.0/pygame/tests/run_tests__tests/__init__.py +1 -0
- xut-0.1.0/pygame/tests/run_tests__tests/all_ok/__init__.py +1 -0
- xut-0.1.0/pygame/tests/run_tests__tests/all_ok/fake_2_test.py +39 -0
- xut-0.1.0/pygame/tests/run_tests__tests/all_ok/fake_3_test.py +39 -0
- xut-0.1.0/pygame/tests/run_tests__tests/all_ok/fake_4_test.py +39 -0
- xut-0.1.0/pygame/tests/run_tests__tests/all_ok/fake_5_test.py +39 -0
- xut-0.1.0/pygame/tests/run_tests__tests/all_ok/fake_6_test.py +39 -0
- xut-0.1.0/pygame/tests/run_tests__tests/all_ok/no_assertions__ret_code_of_1__test.py +39 -0
- xut-0.1.0/pygame/tests/run_tests__tests/all_ok/zero_tests_test.py +23 -0
- xut-0.1.0/pygame/tests/run_tests__tests/everything/__init__.py +1 -0
- xut-0.1.0/pygame/tests/run_tests__tests/everything/fake_2_test.py +39 -0
- xut-0.1.0/pygame/tests/run_tests__tests/everything/incomplete_todo_test.py +39 -0
- xut-0.1.0/pygame/tests/run_tests__tests/everything/magic_tag_test.py +38 -0
- xut-0.1.0/pygame/tests/run_tests__tests/everything/sleep_test.py +29 -0
- xut-0.1.0/pygame/tests/run_tests__tests/exclude/__init__.py +1 -0
- xut-0.1.0/pygame/tests/run_tests__tests/exclude/fake_2_test.py +39 -0
- xut-0.1.0/pygame/tests/run_tests__tests/exclude/invisible_tag_test.py +41 -0
- xut-0.1.0/pygame/tests/run_tests__tests/exclude/magic_tag_test.py +38 -0
- xut-0.1.0/pygame/tests/run_tests__tests/failures1/__init__.py +1 -0
- xut-0.1.0/pygame/tests/run_tests__tests/failures1/fake_2_test.py +39 -0
- xut-0.1.0/pygame/tests/run_tests__tests/failures1/fake_3_test.py +39 -0
- xut-0.1.0/pygame/tests/run_tests__tests/failures1/fake_4_test.py +41 -0
- xut-0.1.0/pygame/tests/run_tests__tests/incomplete/__init__.py +1 -0
- xut-0.1.0/pygame/tests/run_tests__tests/incomplete/fake_2_test.py +39 -0
- xut-0.1.0/pygame/tests/run_tests__tests/incomplete/fake_3_test.py +39 -0
- xut-0.1.0/pygame/tests/run_tests__tests/incomplete_todo/__init__.py +1 -0
- xut-0.1.0/pygame/tests/run_tests__tests/incomplete_todo/fake_2_test.py +39 -0
- xut-0.1.0/pygame/tests/run_tests__tests/incomplete_todo/fake_3_test.py +39 -0
- xut-0.1.0/pygame/tests/run_tests__tests/infinite_loop/__init__.py +1 -0
- xut-0.1.0/pygame/tests/run_tests__tests/infinite_loop/fake_1_test.py +40 -0
- xut-0.1.0/pygame/tests/run_tests__tests/infinite_loop/fake_2_test.py +39 -0
- xut-0.1.0/pygame/tests/run_tests__tests/print_stderr/__init__.py +1 -0
- xut-0.1.0/pygame/tests/run_tests__tests/print_stderr/fake_2_test.py +39 -0
- xut-0.1.0/pygame/tests/run_tests__tests/print_stderr/fake_3_test.py +41 -0
- xut-0.1.0/pygame/tests/run_tests__tests/print_stderr/fake_4_test.py +41 -0
- xut-0.1.0/pygame/tests/run_tests__tests/print_stdout/__init__.py +1 -0
- xut-0.1.0/pygame/tests/run_tests__tests/print_stdout/fake_2_test.py +39 -0
- xut-0.1.0/pygame/tests/run_tests__tests/print_stdout/fake_3_test.py +42 -0
- xut-0.1.0/pygame/tests/run_tests__tests/print_stdout/fake_4_test.py +41 -0
- xut-0.1.0/pygame/tests/run_tests__tests/run_tests__test.py +145 -0
- xut-0.1.0/pygame/tests/run_tests__tests/timeout/__init__.py +1 -0
- xut-0.1.0/pygame/tests/run_tests__tests/timeout/fake_2_test.py +39 -0
- xut-0.1.0/pygame/tests/run_tests__tests/timeout/sleep_test.py +30 -0
- xut-0.1.0/pygame/tests/rwobject_test.py +139 -0
- xut-0.1.0/pygame/tests/scrap_tags.py +26 -0
- xut-0.1.0/pygame/tests/scrap_test.py +301 -0
- xut-0.1.0/pygame/tests/sndarray_tags.py +12 -0
- xut-0.1.0/pygame/tests/sndarray_test.py +154 -0
- xut-0.1.0/pygame/tests/sprite_test.py +1412 -0
- xut-0.1.0/pygame/tests/surface_test.py +4064 -0
- xut-0.1.0/pygame/tests/surfarray_tags.py +16 -0
- xut-0.1.0/pygame/tests/surfarray_test.py +743 -0
- xut-0.1.0/pygame/tests/surflock_test.py +144 -0
- xut-0.1.0/pygame/tests/sysfont_test.py +51 -0
- xut-0.1.0/pygame/tests/test_utils/__init__.py +201 -0
- xut-0.1.0/pygame/tests/test_utils/arrinter.py +438 -0
- xut-0.1.0/pygame/tests/test_utils/async_sub.py +301 -0
- xut-0.1.0/pygame/tests/test_utils/buftools.py +607 -0
- xut-0.1.0/pygame/tests/test_utils/endian.py +20 -0
- xut-0.1.0/pygame/tests/test_utils/png.py +4005 -0
- xut-0.1.0/pygame/tests/test_utils/run_tests.py +350 -0
- xut-0.1.0/pygame/tests/test_utils/test_machinery.py +89 -0
- xut-0.1.0/pygame/tests/test_utils/test_runner.py +324 -0
- xut-0.1.0/pygame/tests/threads_test.py +238 -0
- xut-0.1.0/pygame/tests/time_test.py +410 -0
- xut-0.1.0/pygame/tests/touch_test.py +97 -0
- xut-0.1.0/pygame/tests/transform_test.py +1420 -0
- xut-0.1.0/pygame/tests/version_test.py +48 -0
- xut-0.1.0/pygame/tests/video_test.py +26 -0
- xut-0.1.0/pygame/threads/__init__.py +271 -0
- xut-0.1.0/pygame/time.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/time.pyi +15 -0
- xut-0.1.0/pygame/transform.cpython-312-darwin.so +0 -0
- xut-0.1.0/pygame/transform.pyi +58 -0
- xut-0.1.0/pygame/version.py +72 -0
- xut-0.1.0/pygame/version.pyi +23 -0
- xut-0.1.0/pygame-2.6.1.dist-info/INSTALLER +1 -0
- xut-0.1.0/pygame-2.6.1.dist-info/METADATA +311 -0
- xut-0.1.0/pygame-2.6.1.dist-info/RECORD +782 -0
- xut-0.1.0/pygame-2.6.1.dist-info/REQUESTED +0 -0
- xut-0.1.0/pygame-2.6.1.dist-info/WHEEL +5 -0
- xut-0.1.0/pygame-2.6.1.dist-info/entry_points.txt +2 -0
- xut-0.1.0/pygame-2.6.1.dist-info/top_level.txt +1 -0
- xut-0.1.0/pygments/__init__.py +82 -0
- xut-0.1.0/pygments/__main__.py +17 -0
- xut-0.1.0/pygments/cmdline.py +668 -0
- xut-0.1.0/pygments/console.py +70 -0
- xut-0.1.0/pygments/filter.py +70 -0
- xut-0.1.0/pygments/filters/__init__.py +940 -0
- xut-0.1.0/pygments/formatter.py +129 -0
- xut-0.1.0/pygments/formatters/__init__.py +157 -0
- xut-0.1.0/pygments/formatters/_mapping.py +23 -0
- xut-0.1.0/pygments/formatters/bbcode.py +108 -0
- xut-0.1.0/pygments/formatters/groff.py +170 -0
- xut-0.1.0/pygments/formatters/html.py +995 -0
- xut-0.1.0/pygments/formatters/img.py +686 -0
- xut-0.1.0/pygments/formatters/irc.py +154 -0
- xut-0.1.0/pygments/formatters/latex.py +518 -0
- xut-0.1.0/pygments/formatters/other.py +160 -0
- xut-0.1.0/pygments/formatters/pangomarkup.py +83 -0
- xut-0.1.0/pygments/formatters/rtf.py +349 -0
- xut-0.1.0/pygments/formatters/svg.py +185 -0
- xut-0.1.0/pygments/formatters/terminal.py +127 -0
- xut-0.1.0/pygments/formatters/terminal256.py +338 -0
- xut-0.1.0/pygments/lexer.py +961 -0
- xut-0.1.0/pygments/lexers/__init__.py +362 -0
- xut-0.1.0/pygments/lexers/_ada_builtins.py +103 -0
- xut-0.1.0/pygments/lexers/_asy_builtins.py +1644 -0
- xut-0.1.0/pygments/lexers/_cl_builtins.py +231 -0
- xut-0.1.0/pygments/lexers/_cocoa_builtins.py +75 -0
- xut-0.1.0/pygments/lexers/_csound_builtins.py +1780 -0
- xut-0.1.0/pygments/lexers/_css_builtins.py +558 -0
- xut-0.1.0/pygments/lexers/_googlesql_builtins.py +918 -0
- xut-0.1.0/pygments/lexers/_julia_builtins.py +411 -0
- xut-0.1.0/pygments/lexers/_lasso_builtins.py +5326 -0
- xut-0.1.0/pygments/lexers/_lilypond_builtins.py +4932 -0
- xut-0.1.0/pygments/lexers/_lua_builtins.py +285 -0
- xut-0.1.0/pygments/lexers/_luau_builtins.py +62 -0
- xut-0.1.0/pygments/lexers/_mapping.py +602 -0
- xut-0.1.0/pygments/lexers/_mql_builtins.py +1171 -0
- xut-0.1.0/pygments/lexers/_mysql_builtins.py +1335 -0
- xut-0.1.0/pygments/lexers/_openedge_builtins.py +2600 -0
- xut-0.1.0/pygments/lexers/_php_builtins.py +3325 -0
- xut-0.1.0/pygments/lexers/_postgres_builtins.py +739 -0
- xut-0.1.0/pygments/lexers/_qlik_builtins.py +666 -0
- xut-0.1.0/pygments/lexers/_scheme_builtins.py +1609 -0
- xut-0.1.0/pygments/lexers/_scilab_builtins.py +3093 -0
- xut-0.1.0/pygments/lexers/_sourcemod_builtins.py +1151 -0
- xut-0.1.0/pygments/lexers/_sql_builtins.py +106 -0
- xut-0.1.0/pygments/lexers/_stan_builtins.py +648 -0
- xut-0.1.0/pygments/lexers/_stata_builtins.py +457 -0
- xut-0.1.0/pygments/lexers/_tsql_builtins.py +1003 -0
- xut-0.1.0/pygments/lexers/_usd_builtins.py +112 -0
- xut-0.1.0/pygments/lexers/_vbscript_builtins.py +279 -0
- xut-0.1.0/pygments/lexers/_vim_builtins.py +1938 -0
- xut-0.1.0/pygments/lexers/actionscript.py +243 -0
- xut-0.1.0/pygments/lexers/ada.py +144 -0
- xut-0.1.0/pygments/lexers/agile.py +25 -0
- xut-0.1.0/pygments/lexers/algebra.py +299 -0
- xut-0.1.0/pygments/lexers/ambient.py +75 -0
- xut-0.1.0/pygments/lexers/amdgpu.py +54 -0
- xut-0.1.0/pygments/lexers/ampl.py +87 -0
- xut-0.1.0/pygments/lexers/apdlexer.py +593 -0
- xut-0.1.0/pygments/lexers/apl.py +103 -0
- xut-0.1.0/pygments/lexers/archetype.py +315 -0
- xut-0.1.0/pygments/lexers/arrow.py +116 -0
- xut-0.1.0/pygments/lexers/arturo.py +249 -0
- xut-0.1.0/pygments/lexers/asc.py +55 -0
- xut-0.1.0/pygments/lexers/asm.py +1051 -0
- xut-0.1.0/pygments/lexers/asn1.py +178 -0
- xut-0.1.0/pygments/lexers/automation.py +379 -0
- xut-0.1.0/pygments/lexers/bare.py +101 -0
- xut-0.1.0/pygments/lexers/basic.py +656 -0
- xut-0.1.0/pygments/lexers/bdd.py +57 -0
- xut-0.1.0/pygments/lexers/berry.py +99 -0
- xut-0.1.0/pygments/lexers/bibtex.py +159 -0
- xut-0.1.0/pygments/lexers/blueprint.py +173 -0
- xut-0.1.0/pygments/lexers/boa.py +97 -0
- xut-0.1.0/pygments/lexers/bqn.py +112 -0
- xut-0.1.0/pygments/lexers/business.py +625 -0
- xut-0.1.0/pygments/lexers/c_cpp.py +414 -0
- xut-0.1.0/pygments/lexers/c_like.py +738 -0
- xut-0.1.0/pygments/lexers/capnproto.py +74 -0
- xut-0.1.0/pygments/lexers/carbon.py +95 -0
- xut-0.1.0/pygments/lexers/cddl.py +172 -0
- xut-0.1.0/pygments/lexers/chapel.py +139 -0
- xut-0.1.0/pygments/lexers/clean.py +180 -0
- xut-0.1.0/pygments/lexers/codeql.py +80 -0
- xut-0.1.0/pygments/lexers/comal.py +81 -0
- xut-0.1.0/pygments/lexers/compiled.py +35 -0
- xut-0.1.0/pygments/lexers/configs.py +1433 -0
- xut-0.1.0/pygments/lexers/console.py +114 -0
- xut-0.1.0/pygments/lexers/cplint.py +43 -0
- xut-0.1.0/pygments/lexers/crystal.py +364 -0
- xut-0.1.0/pygments/lexers/csound.py +466 -0
- xut-0.1.0/pygments/lexers/css.py +602 -0
- xut-0.1.0/pygments/lexers/d.py +259 -0
- xut-0.1.0/pygments/lexers/dalvik.py +126 -0
- xut-0.1.0/pygments/lexers/data.py +763 -0
- xut-0.1.0/pygments/lexers/dax.py +135 -0
- xut-0.1.0/pygments/lexers/devicetree.py +108 -0
- xut-0.1.0/pygments/lexers/diff.py +169 -0
- xut-0.1.0/pygments/lexers/dns.py +109 -0
- xut-0.1.0/pygments/lexers/dotnet.py +873 -0
- xut-0.1.0/pygments/lexers/dsls.py +970 -0
- xut-0.1.0/pygments/lexers/dylan.py +279 -0
- xut-0.1.0/pygments/lexers/ecl.py +144 -0
- xut-0.1.0/pygments/lexers/eiffel.py +68 -0
- xut-0.1.0/pygments/lexers/elm.py +123 -0
- xut-0.1.0/pygments/lexers/elpi.py +175 -0
- xut-0.1.0/pygments/lexers/email.py +132 -0
- xut-0.1.0/pygments/lexers/erlang.py +526 -0
- xut-0.1.0/pygments/lexers/esoteric.py +300 -0
- xut-0.1.0/pygments/lexers/ezhil.py +76 -0
- xut-0.1.0/pygments/lexers/factor.py +363 -0
- xut-0.1.0/pygments/lexers/fantom.py +251 -0
- xut-0.1.0/pygments/lexers/felix.py +275 -0
- xut-0.1.0/pygments/lexers/fift.py +68 -0
- xut-0.1.0/pygments/lexers/floscript.py +81 -0
- xut-0.1.0/pygments/lexers/forth.py +178 -0
- xut-0.1.0/pygments/lexers/fortran.py +212 -0
- xut-0.1.0/pygments/lexers/foxpro.py +427 -0
- xut-0.1.0/pygments/lexers/freefem.py +893 -0
- xut-0.1.0/pygments/lexers/func.py +110 -0
- xut-0.1.0/pygments/lexers/functional.py +21 -0
- xut-0.1.0/pygments/lexers/futhark.py +105 -0
- xut-0.1.0/pygments/lexers/gcodelexer.py +35 -0
- xut-0.1.0/pygments/lexers/gdscript.py +189 -0
- xut-0.1.0/pygments/lexers/gleam.py +74 -0
- xut-0.1.0/pygments/lexers/go.py +97 -0
- xut-0.1.0/pygments/lexers/grammar_notation.py +262 -0
- xut-0.1.0/pygments/lexers/graph.py +108 -0
- xut-0.1.0/pygments/lexers/graphics.py +794 -0
- xut-0.1.0/pygments/lexers/graphql.py +176 -0
- xut-0.1.0/pygments/lexers/graphviz.py +58 -0
- xut-0.1.0/pygments/lexers/gsql.py +103 -0
- xut-0.1.0/pygments/lexers/hare.py +73 -0
- xut-0.1.0/pygments/lexers/haskell.py +866 -0
- xut-0.1.0/pygments/lexers/haxe.py +935 -0
- xut-0.1.0/pygments/lexers/hdl.py +466 -0
- xut-0.1.0/pygments/lexers/hexdump.py +102 -0
- xut-0.1.0/pygments/lexers/html.py +670 -0
- xut-0.1.0/pygments/lexers/idl.py +284 -0
- xut-0.1.0/pygments/lexers/igor.py +435 -0
- xut-0.1.0/pygments/lexers/inferno.py +95 -0
- xut-0.1.0/pygments/lexers/installers.py +352 -0
- xut-0.1.0/pygments/lexers/int_fiction.py +1370 -0
- xut-0.1.0/pygments/lexers/iolang.py +61 -0
- xut-0.1.0/pygments/lexers/j.py +151 -0
- xut-0.1.0/pygments/lexers/javascript.py +1591 -0
- xut-0.1.0/pygments/lexers/jmespath.py +69 -0
- xut-0.1.0/pygments/lexers/jslt.py +94 -0
- xut-0.1.0/pygments/lexers/json5.py +83 -0
- xut-0.1.0/pygments/lexers/jsonnet.py +169 -0
- xut-0.1.0/pygments/lexers/jsx.py +100 -0
- xut-0.1.0/pygments/lexers/julia.py +294 -0
- xut-0.1.0/pygments/lexers/jvm.py +1802 -0
- xut-0.1.0/pygments/lexers/kuin.py +332 -0
- xut-0.1.0/pygments/lexers/kusto.py +93 -0
- xut-0.1.0/pygments/lexers/ldap.py +155 -0
- xut-0.1.0/pygments/lexers/lean.py +241 -0
- xut-0.1.0/pygments/lexers/lilypond.py +225 -0
- xut-0.1.0/pygments/lexers/lisp.py +3146 -0
- xut-0.1.0/pygments/lexers/macaulay2.py +1814 -0
- xut-0.1.0/pygments/lexers/make.py +212 -0
- xut-0.1.0/pygments/lexers/maple.py +291 -0
- xut-0.1.0/pygments/lexers/markup.py +1654 -0
- xut-0.1.0/pygments/lexers/math.py +21 -0
- xut-0.1.0/pygments/lexers/matlab.py +3307 -0
- xut-0.1.0/pygments/lexers/maxima.py +84 -0
- xut-0.1.0/pygments/lexers/meson.py +139 -0
- xut-0.1.0/pygments/lexers/mime.py +210 -0
- xut-0.1.0/pygments/lexers/minecraft.py +391 -0
- xut-0.1.0/pygments/lexers/mips.py +130 -0
- xut-0.1.0/pygments/lexers/ml.py +958 -0
- xut-0.1.0/pygments/lexers/modeling.py +366 -0
- xut-0.1.0/pygments/lexers/modula2.py +1579 -0
- xut-0.1.0/pygments/lexers/mojo.py +707 -0
- xut-0.1.0/pygments/lexers/monte.py +203 -0
- xut-0.1.0/pygments/lexers/mosel.py +447 -0
- xut-0.1.0/pygments/lexers/ncl.py +894 -0
- xut-0.1.0/pygments/lexers/nimrod.py +199 -0
- xut-0.1.0/pygments/lexers/nit.py +63 -0
- xut-0.1.0/pygments/lexers/nix.py +144 -0
- xut-0.1.0/pygments/lexers/numbair.py +63 -0
- xut-0.1.0/pygments/lexers/oberon.py +120 -0
- xut-0.1.0/pygments/lexers/objective.py +513 -0
- xut-0.1.0/pygments/lexers/ooc.py +84 -0
- xut-0.1.0/pygments/lexers/openscad.py +96 -0
- xut-0.1.0/pygments/lexers/other.py +41 -0
- xut-0.1.0/pygments/lexers/parasail.py +78 -0
- xut-0.1.0/pygments/lexers/parsers.py +798 -0
- xut-0.1.0/pygments/lexers/pascal.py +644 -0
- xut-0.1.0/pygments/lexers/pawn.py +202 -0
- xut-0.1.0/pygments/lexers/pddl.py +82 -0
- xut-0.1.0/pygments/lexers/perl.py +733 -0
- xut-0.1.0/pygments/lexers/phix.py +363 -0
- xut-0.1.0/pygments/lexers/php.py +334 -0
- xut-0.1.0/pygments/lexers/pointless.py +70 -0
- xut-0.1.0/pygments/lexers/pony.py +93 -0
- xut-0.1.0/pygments/lexers/praat.py +303 -0
- xut-0.1.0/pygments/lexers/procfile.py +41 -0
- xut-0.1.0/pygments/lexers/prolog.py +318 -0
- xut-0.1.0/pygments/lexers/promql.py +176 -0
- xut-0.1.0/pygments/lexers/prql.py +251 -0
- xut-0.1.0/pygments/lexers/ptx.py +119 -0
- xut-0.1.0/pygments/lexers/python.py +1201 -0
- xut-0.1.0/pygments/lexers/q.py +187 -0
- xut-0.1.0/pygments/lexers/qlik.py +117 -0
- xut-0.1.0/pygments/lexers/qvt.py +153 -0
- xut-0.1.0/pygments/lexers/r.py +196 -0
- xut-0.1.0/pygments/lexers/rdf.py +468 -0
- xut-0.1.0/pygments/lexers/rebol.py +419 -0
- xut-0.1.0/pygments/lexers/rego.py +57 -0
- xut-0.1.0/pygments/lexers/resource.py +83 -0
- xut-0.1.0/pygments/lexers/ride.py +138 -0
- xut-0.1.0/pygments/lexers/rita.py +42 -0
- xut-0.1.0/pygments/lexers/rnc.py +66 -0
- xut-0.1.0/pygments/lexers/roboconf.py +81 -0
- xut-0.1.0/pygments/lexers/robotframework.py +551 -0
- xut-0.1.0/pygments/lexers/ruby.py +518 -0
- xut-0.1.0/pygments/lexers/rust.py +222 -0
- xut-0.1.0/pygments/lexers/sas.py +227 -0
- xut-0.1.0/pygments/lexers/savi.py +171 -0
- xut-0.1.0/pygments/lexers/scdoc.py +85 -0
- xut-0.1.0/pygments/lexers/scripting.py +1616 -0
- xut-0.1.0/pygments/lexers/sgf.py +59 -0
- xut-0.1.0/pygments/lexers/shell.py +902 -0
- xut-0.1.0/pygments/lexers/sieve.py +78 -0
- xut-0.1.0/pygments/lexers/slash.py +183 -0
- xut-0.1.0/pygments/lexers/smalltalk.py +194 -0
- xut-0.1.0/pygments/lexers/smithy.py +77 -0
- xut-0.1.0/pygments/lexers/smv.py +78 -0
- xut-0.1.0/pygments/lexers/snobol.py +82 -0
- xut-0.1.0/pygments/lexers/solidity.py +87 -0
- xut-0.1.0/pygments/lexers/soong.py +78 -0
- xut-0.1.0/pygments/lexers/sophia.py +102 -0
- xut-0.1.0/pygments/lexers/special.py +122 -0
- xut-0.1.0/pygments/lexers/spice.py +70 -0
- xut-0.1.0/pygments/lexers/sql.py +1109 -0
- xut-0.1.0/pygments/lexers/srcinfo.py +62 -0
- xut-0.1.0/pygments/lexers/stata.py +170 -0
- xut-0.1.0/pygments/lexers/supercollider.py +94 -0
- xut-0.1.0/pygments/lexers/tablegen.py +177 -0
- xut-0.1.0/pygments/lexers/tact.py +303 -0
- xut-0.1.0/pygments/lexers/tal.py +77 -0
- xut-0.1.0/pygments/lexers/tcl.py +148 -0
- xut-0.1.0/pygments/lexers/teal.py +88 -0
- xut-0.1.0/pygments/lexers/templates.py +2355 -0
- xut-0.1.0/pygments/lexers/teraterm.py +325 -0
- xut-0.1.0/pygments/lexers/testing.py +209 -0
- xut-0.1.0/pygments/lexers/text.py +27 -0
- xut-0.1.0/pygments/lexers/textedit.py +205 -0
- xut-0.1.0/pygments/lexers/textfmts.py +436 -0
- xut-0.1.0/pygments/lexers/theorem.py +410 -0
- xut-0.1.0/pygments/lexers/thingsdb.py +140 -0
- xut-0.1.0/pygments/lexers/tlb.py +59 -0
- xut-0.1.0/pygments/lexers/tls.py +54 -0
- xut-0.1.0/pygments/lexers/tnt.py +270 -0
- xut-0.1.0/pygments/lexers/trafficscript.py +51 -0
- xut-0.1.0/pygments/lexers/typoscript.py +216 -0
- xut-0.1.0/pygments/lexers/typst.py +160 -0
- xut-0.1.0/pygments/lexers/ul4.py +309 -0
- xut-0.1.0/pygments/lexers/unicon.py +413 -0
- xut-0.1.0/pygments/lexers/urbi.py +145 -0
- xut-0.1.0/pygments/lexers/usd.py +85 -0
- xut-0.1.0/pygments/lexers/varnish.py +189 -0
- xut-0.1.0/pygments/lexers/verification.py +113 -0
- xut-0.1.0/pygments/lexers/verifpal.py +65 -0
- xut-0.1.0/pygments/lexers/vip.py +150 -0
- xut-0.1.0/pygments/lexers/vyper.py +140 -0
- xut-0.1.0/pygments/lexers/web.py +24 -0
- xut-0.1.0/pygments/lexers/webassembly.py +119 -0
- xut-0.1.0/pygments/lexers/webidl.py +298 -0
- xut-0.1.0/pygments/lexers/webmisc.py +1006 -0
- xut-0.1.0/pygments/lexers/wgsl.py +406 -0
- xut-0.1.0/pygments/lexers/whiley.py +115 -0
- xut-0.1.0/pygments/lexers/wowtoc.py +120 -0
- xut-0.1.0/pygments/lexers/wren.py +98 -0
- xut-0.1.0/pygments/lexers/x10.py +66 -0
- xut-0.1.0/pygments/lexers/xorg.py +38 -0
- xut-0.1.0/pygments/lexers/yang.py +103 -0
- xut-0.1.0/pygments/lexers/yara.py +69 -0
- xut-0.1.0/pygments/lexers/zig.py +125 -0
- xut-0.1.0/pygments/modeline.py +43 -0
- xut-0.1.0/pygments/plugin.py +72 -0
- xut-0.1.0/pygments/regexopt.py +91 -0
- xut-0.1.0/pygments/scanner.py +104 -0
- xut-0.1.0/pygments/sphinxext.py +247 -0
- xut-0.1.0/pygments/style.py +203 -0
- xut-0.1.0/pygments/styles/__init__.py +61 -0
- xut-0.1.0/pygments/styles/_mapping.py +54 -0
- xut-0.1.0/pygments/styles/abap.py +32 -0
- xut-0.1.0/pygments/styles/algol.py +65 -0
- xut-0.1.0/pygments/styles/algol_nu.py +65 -0
- xut-0.1.0/pygments/styles/arduino.py +100 -0
- xut-0.1.0/pygments/styles/autumn.py +67 -0
- xut-0.1.0/pygments/styles/borland.py +53 -0
- xut-0.1.0/pygments/styles/bw.py +52 -0
- xut-0.1.0/pygments/styles/coffee.py +80 -0
- xut-0.1.0/pygments/styles/colorful.py +83 -0
- xut-0.1.0/pygments/styles/default.py +76 -0
- xut-0.1.0/pygments/styles/dracula.py +90 -0
- xut-0.1.0/pygments/styles/emacs.py +75 -0
- xut-0.1.0/pygments/styles/friendly.py +76 -0
- xut-0.1.0/pygments/styles/friendly_grayscale.py +80 -0
- xut-0.1.0/pygments/styles/fruity.py +47 -0
- xut-0.1.0/pygments/styles/gh_dark.py +113 -0
- xut-0.1.0/pygments/styles/gruvbox.py +118 -0
- xut-0.1.0/pygments/styles/igor.py +32 -0
- xut-0.1.0/pygments/styles/inkpot.py +72 -0
- xut-0.1.0/pygments/styles/lightbulb.py +110 -0
- xut-0.1.0/pygments/styles/lilypond.py +62 -0
- xut-0.1.0/pygments/styles/lovelace.py +100 -0
- xut-0.1.0/pygments/styles/manni.py +79 -0
- xut-0.1.0/pygments/styles/material.py +124 -0
- xut-0.1.0/pygments/styles/monokai.py +112 -0
- xut-0.1.0/pygments/styles/murphy.py +82 -0
- xut-0.1.0/pygments/styles/native.py +70 -0
- xut-0.1.0/pygments/styles/nord.py +156 -0
- xut-0.1.0/pygments/styles/onedark.py +63 -0
- xut-0.1.0/pygments/styles/paraiso_dark.py +124 -0
- xut-0.1.0/pygments/styles/paraiso_light.py +124 -0
- xut-0.1.0/pygments/styles/pastie.py +78 -0
- xut-0.1.0/pygments/styles/perldoc.py +73 -0
- xut-0.1.0/pygments/styles/rainbow_dash.py +95 -0
- xut-0.1.0/pygments/styles/rrt.py +40 -0
- xut-0.1.0/pygments/styles/sas.py +46 -0
- xut-0.1.0/pygments/styles/solarized.py +144 -0
- xut-0.1.0/pygments/styles/staroffice.py +31 -0
- xut-0.1.0/pygments/styles/stata_dark.py +42 -0
- xut-0.1.0/pygments/styles/stata_light.py +42 -0
- xut-0.1.0/pygments/styles/tango.py +143 -0
- xut-0.1.0/pygments/styles/trac.py +66 -0
- xut-0.1.0/pygments/styles/vim.py +67 -0
- xut-0.1.0/pygments/styles/vs.py +41 -0
- xut-0.1.0/pygments/styles/xcode.py +53 -0
- xut-0.1.0/pygments/styles/zenburn.py +83 -0
- xut-0.1.0/pygments/token.py +214 -0
- xut-0.1.0/pygments/unistring.py +153 -0
- xut-0.1.0/pygments/util.py +324 -0
- xut-0.1.0/pygments-2.19.2.dist-info/INSTALLER +1 -0
- xut-0.1.0/pygments-2.19.2.dist-info/METADATA +58 -0
- xut-0.1.0/pygments-2.19.2.dist-info/RECORD +684 -0
- xut-0.1.0/pygments-2.19.2.dist-info/WHEEL +4 -0
- xut-0.1.0/pygments-2.19.2.dist-info/entry_points.txt +2 -0
- xut-0.1.0/pygments-2.19.2.dist-info/licenses/AUTHORS +291 -0
- xut-0.1.0/pygments-2.19.2.dist-info/licenses/LICENSE +25 -0
- xut-0.1.0/pyproject.toml +33 -0
- xut-0.1.0/rich/__init__.py +177 -0
- xut-0.1.0/rich/__main__.py +245 -0
- xut-0.1.0/rich/_emoji_codes.py +3610 -0
- xut-0.1.0/rich/_emoji_replace.py +32 -0
- xut-0.1.0/rich/_export_format.py +76 -0
- xut-0.1.0/rich/_extension.py +10 -0
- xut-0.1.0/rich/_fileno.py +24 -0
- xut-0.1.0/rich/_inspect.py +272 -0
- xut-0.1.0/rich/_log_render.py +94 -0
- xut-0.1.0/rich/_loop.py +43 -0
- xut-0.1.0/rich/_null_file.py +69 -0
- xut-0.1.0/rich/_palettes.py +309 -0
- xut-0.1.0/rich/_pick.py +17 -0
- xut-0.1.0/rich/_ratio.py +153 -0
- xut-0.1.0/rich/_spinners.py +482 -0
- xut-0.1.0/rich/_stack.py +16 -0
- xut-0.1.0/rich/_timer.py +19 -0
- xut-0.1.0/rich/_unicode_data/__init__.py +93 -0
- xut-0.1.0/rich/_unicode_data/_versions.py +23 -0
- xut-0.1.0/rich/_unicode_data/unicode10-0-0.py +611 -0
- xut-0.1.0/rich/_unicode_data/unicode11-0-0.py +625 -0
- xut-0.1.0/rich/_unicode_data/unicode12-0-0.py +637 -0
- xut-0.1.0/rich/_unicode_data/unicode12-1-0.py +636 -0
- xut-0.1.0/rich/_unicode_data/unicode13-0-0.py +648 -0
- xut-0.1.0/rich/_unicode_data/unicode14-0-0.py +661 -0
- xut-0.1.0/rich/_unicode_data/unicode15-0-0.py +671 -0
- xut-0.1.0/rich/_unicode_data/unicode15-1-0.py +670 -0
- xut-0.1.0/rich/_unicode_data/unicode16-0-0.py +683 -0
- xut-0.1.0/rich/_unicode_data/unicode17-0-0.py +691 -0
- xut-0.1.0/rich/_unicode_data/unicode4-1-0.py +425 -0
- xut-0.1.0/rich/_unicode_data/unicode5-0-0.py +430 -0
- xut-0.1.0/rich/_unicode_data/unicode5-1-0.py +433 -0
- xut-0.1.0/rich/_unicode_data/unicode5-2-0.py +461 -0
- xut-0.1.0/rich/_unicode_data/unicode6-0-0.py +469 -0
- xut-0.1.0/rich/_unicode_data/unicode6-1-0.py +480 -0
- xut-0.1.0/rich/_unicode_data/unicode6-2-0.py +480 -0
- xut-0.1.0/rich/_unicode_data/unicode6-3-0.py +481 -0
- xut-0.1.0/rich/_unicode_data/unicode7-0-0.py +507 -0
- xut-0.1.0/rich/_unicode_data/unicode8-0-0.py +515 -0
- xut-0.1.0/rich/_unicode_data/unicode9-0-0.py +598 -0
- xut-0.1.0/rich/_win32_console.py +661 -0
- xut-0.1.0/rich/_windows.py +71 -0
- xut-0.1.0/rich/_windows_renderer.py +56 -0
- xut-0.1.0/rich/_wrap.py +93 -0
- xut-0.1.0/rich/abc.py +33 -0
- xut-0.1.0/rich/align.py +320 -0
- xut-0.1.0/rich/ansi.py +241 -0
- xut-0.1.0/rich/bar.py +93 -0
- xut-0.1.0/rich/box.py +474 -0
- xut-0.1.0/rich/cells.py +352 -0
- xut-0.1.0/rich/color.py +621 -0
- xut-0.1.0/rich/color_triplet.py +38 -0
- xut-0.1.0/rich/columns.py +187 -0
- xut-0.1.0/rich/console.py +2684 -0
- xut-0.1.0/rich/constrain.py +37 -0
- xut-0.1.0/rich/containers.py +167 -0
- xut-0.1.0/rich/control.py +219 -0
- xut-0.1.0/rich/default_styles.py +195 -0
- xut-0.1.0/rich/diagnose.py +39 -0
- xut-0.1.0/rich/emoji.py +91 -0
- xut-0.1.0/rich/errors.py +34 -0
- xut-0.1.0/rich/file_proxy.py +57 -0
- xut-0.1.0/rich/filesize.py +88 -0
- xut-0.1.0/rich/highlighter.py +232 -0
- xut-0.1.0/rich/json.py +139 -0
- xut-0.1.0/rich/jupyter.py +101 -0
- xut-0.1.0/rich/layout.py +442 -0
- xut-0.1.0/rich/live.py +404 -0
- xut-0.1.0/rich/live_render.py +116 -0
- xut-0.1.0/rich/logging.py +297 -0
- xut-0.1.0/rich/markdown.py +793 -0
- xut-0.1.0/rich/markup.py +251 -0
- xut-0.1.0/rich/measure.py +151 -0
- xut-0.1.0/rich/padding.py +141 -0
- xut-0.1.0/rich/pager.py +34 -0
- xut-0.1.0/rich/palette.py +100 -0
- xut-0.1.0/rich/panel.py +317 -0
- xut-0.1.0/rich/pretty.py +1016 -0
- xut-0.1.0/rich/progress.py +1716 -0
- xut-0.1.0/rich/progress_bar.py +223 -0
- xut-0.1.0/rich/prompt.py +400 -0
- xut-0.1.0/rich/protocol.py +42 -0
- xut-0.1.0/rich/py.typed +0 -0
- xut-0.1.0/rich/region.py +10 -0
- xut-0.1.0/rich/repr.py +149 -0
- xut-0.1.0/rich/rule.py +130 -0
- xut-0.1.0/rich/scope.py +92 -0
- xut-0.1.0/rich/screen.py +54 -0
- xut-0.1.0/rich/segment.py +783 -0
- xut-0.1.0/rich/spinner.py +132 -0
- xut-0.1.0/rich/status.py +131 -0
- xut-0.1.0/rich/style.py +792 -0
- xut-0.1.0/rich/styled.py +42 -0
- xut-0.1.0/rich/syntax.py +985 -0
- xut-0.1.0/rich/table.py +1015 -0
- xut-0.1.0/rich/terminal_theme.py +153 -0
- xut-0.1.0/rich/text.py +1363 -0
- xut-0.1.0/rich/theme.py +115 -0
- xut-0.1.0/rich/themes.py +5 -0
- xut-0.1.0/rich/traceback.py +924 -0
- xut-0.1.0/rich/tree.py +257 -0
- xut-0.1.0/rich-14.3.3.dist-info/INSTALLER +1 -0
- xut-0.1.0/rich-14.3.3.dist-info/METADATA +480 -0
- xut-0.1.0/rich-14.3.3.dist-info/RECORD +207 -0
- xut-0.1.0/rich-14.3.3.dist-info/REQUESTED +0 -0
- xut-0.1.0/rich-14.3.3.dist-info/WHEEL +4 -0
- xut-0.1.0/rich-14.3.3.dist-info/licenses/LICENSE +19 -0
- xut-0.1.0/test.py +109 -0
- xut-0.1.0/xut-classic.xut +265 -0
- xut-0.1.0/xut.py +15 -0
|
@@ -0,0 +1,517 @@
|
|
|
1
|
+
# XUT API Specification v1
|
|
2
|
+
|
|
3
|
+
## Philosophy
|
|
4
|
+
|
|
5
|
+
XUT is designed to be:
|
|
6
|
+
|
|
7
|
+
* Extremely easy for beginners
|
|
8
|
+
* Powerful for advanced users
|
|
9
|
+
* Immediate-mode on the surface
|
|
10
|
+
* Retained-mode under the hood
|
|
11
|
+
|
|
12
|
+
## 1. Initialization
|
|
13
|
+
|
|
14
|
+
```python
|
|
15
|
+
import xut
|
|
16
|
+
|
|
17
|
+
app = xut.App(theme="applesauce-mono")
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
### Theme Resolution Order
|
|
21
|
+
|
|
22
|
+
1. `./applesauce-mono.xut`
|
|
23
|
+
2. `./applesauce-mono/applesauce-mono.xut`
|
|
24
|
+
3. Installed themes
|
|
25
|
+
4. Default fallback theme
|
|
26
|
+
|
|
27
|
+
### Theme Folder Structure
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
applesauce-mono/
|
|
31
|
+
applesauce-mono.xut
|
|
32
|
+
fonts/
|
|
33
|
+
Inter.ttf
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
## 2. Main Loop
|
|
38
|
+
|
|
39
|
+
```python
|
|
40
|
+
while app.running:
|
|
41
|
+
app.begin_frame()
|
|
42
|
+
# UI code here
|
|
43
|
+
app.end_frame()
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Stop App
|
|
47
|
+
|
|
48
|
+
```python
|
|
49
|
+
app.stop()
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## 3. Core API Pattern
|
|
53
|
+
|
|
54
|
+
All UI elements follow:
|
|
55
|
+
|
|
56
|
+
* `id` (unique, internal)
|
|
57
|
+
* `pos=(x, y)`
|
|
58
|
+
* `size=(w, h)` (if applicable)
|
|
59
|
+
* `z` (optional depth layer)
|
|
60
|
+
* `rotation` (optional `float`, in degrees)
|
|
61
|
+
* `font_size` (optional integer override)
|
|
62
|
+
|
|
63
|
+
Most interactive elements return an `ElementHandle` that lets you mutate the element at any time — including after creation (live, mid-loop).
|
|
64
|
+
|
|
65
|
+
4. UI Elements
|
|
66
|
+
|
|
67
|
+
### Image
|
|
68
|
+
|
|
69
|
+
```python
|
|
70
|
+
img = app.image("logo", path="assets/logo.png", pos=(100, 100), size=(128, 128), rotation=0.0)
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Returns: `ImageHandle`
|
|
74
|
+
|
|
75
|
+
**Alternate (draw-only):**
|
|
76
|
+
|
|
77
|
+
```python
|
|
78
|
+
app.image("logo", path="assets/logo.png", pos=(100, 100), size=(128, 128))
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
**Using handle:**
|
|
82
|
+
|
|
83
|
+
```python
|
|
84
|
+
img.pos = (200, 120)
|
|
85
|
+
img.size = (256, 256)
|
|
86
|
+
img.rotation = 45.0
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
**Notes:**
|
|
90
|
+
|
|
91
|
+
* Images are cached by id and path
|
|
92
|
+
* Supports PNG/JPG
|
|
93
|
+
* If size is omitted, uses original image size
|
|
94
|
+
* Resizing uses smooth scaling
|
|
95
|
+
|
|
96
|
+
### Button
|
|
97
|
+
|
|
98
|
+
```python
|
|
99
|
+
if app.button_clicked("confirm_btn", "Confirm", pos=(452, 640), size=(120, 40), rotation=0.0):
|
|
100
|
+
print("clicked")
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Returns: `bool`
|
|
104
|
+
|
|
105
|
+
Icon Button
|
|
106
|
+
|
|
107
|
+
A button that renders an image icon instead of (or alongside) text.
|
|
108
|
+
|
|
109
|
+
```python
|
|
110
|
+
# Icon only
|
|
111
|
+
if app.icon_button_clicked("save_btn", "icons/save.png", pos=(50, 50), size=(40, 40)):
|
|
112
|
+
print("save clicked")
|
|
113
|
+
|
|
114
|
+
# Icon with text to the right
|
|
115
|
+
if app.icon_button_clicked("open_btn", "icons/open.png", pos=(100, 50), size=(120, 36),
|
|
116
|
+
text="Open", layout="text_right"):
|
|
117
|
+
print("open clicked")
|
|
118
|
+
|
|
119
|
+
# Icon with text below
|
|
120
|
+
if app.icon_button_clicked("home_btn", "icons/home.png", pos=(160, 50), size=(60, 60),
|
|
121
|
+
text="Home", layout="text_below"):
|
|
122
|
+
print("home clicked")
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Returns: `bool`
|
|
126
|
+
|
|
127
|
+
### Layouts
|
|
128
|
+
|
|
129
|
+
| layout | description |
|
|
130
|
+
|-------------|----------------------------------|
|
|
131
|
+
| `icon_only` | Icon fills the button (default) |
|
|
132
|
+
| `text_right`| Icon on the left, text on the right |
|
|
133
|
+
| `text_below`| Icon centred above, text below |
|
|
134
|
+
|
|
135
|
+
Advanced mode
|
|
136
|
+
|
|
137
|
+
```python
|
|
138
|
+
btn = app.icon_button("save_btn", "icons/save.png", rect=(50, 50, 40, 40))
|
|
139
|
+
if btn.clicked:
|
|
140
|
+
print("save clicked")
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
Returns: `ElementHandle`
|
|
144
|
+
|
|
145
|
+
Label
|
|
146
|
+
|
|
147
|
+
```python
|
|
148
|
+
app.label("Hello", pos=(100, 100), font_size=18, rotation=0.0)
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
For a named label you can mutate later, use `label_ex`:
|
|
152
|
+
|
|
153
|
+
```python
|
|
154
|
+
lbl = app.label_ex("status_lbl", "Ready", pos=(100, 100))
|
|
155
|
+
# later in the loop:
|
|
156
|
+
lbl.text = "Done!"
|
|
157
|
+
lbl.pos = (200, 150)
|
|
158
|
+
lbl.font_size = 24
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
Icon Label
|
|
163
|
+
|
|
164
|
+
A label that renders an icon image beside (or above) a text string.
|
|
165
|
+
|
|
166
|
+
```python
|
|
167
|
+
app.icon_label("status", "icons/ok.png", "Connected", pos=(100, 200))
|
|
168
|
+
|
|
169
|
+
# Icon to the right of the text
|
|
170
|
+
app.icon_label("warn", "icons/warning.png", "Low battery",
|
|
171
|
+
pos=(100, 240), icon_size=20, layout="icon_right")
|
|
172
|
+
|
|
173
|
+
# Icon above the text
|
|
174
|
+
app.icon_label("cloud", "icons/cloud.png", "Sync",
|
|
175
|
+
pos=(100, 280), icon_size=32, layout="icon_above")
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
Returns: `ElementHandle`
|
|
179
|
+
|
|
180
|
+
### Layouts
|
|
181
|
+
|
|
182
|
+
| layout | description |
|
|
183
|
+
|------------|-------------------------|
|
|
184
|
+
| `icon_left` | Icon then text (default)|
|
|
185
|
+
| `icon_right`| Text then icon |
|
|
186
|
+
| `icon_above`| Icon above text |
|
|
187
|
+
|
|
188
|
+
Input
|
|
189
|
+
|
|
190
|
+
```python
|
|
191
|
+
text = app.input("username", pos=(100, 200), size=(300, 40), placeholder="Enter name")
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
Returns: `str`
|
|
195
|
+
|
|
196
|
+
Slider
|
|
197
|
+
|
|
198
|
+
```python
|
|
199
|
+
value = app.slider("volume", pos=(100, 300), size=(300, 16))
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
Returns: `float` (0.0 - 1.0)
|
|
203
|
+
|
|
204
|
+
Checkbox
|
|
205
|
+
|
|
206
|
+
```python
|
|
207
|
+
checked = app.checkbox("enable", "Enable feature", pos=(100, 350))
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
Returns: `bool`
|
|
211
|
+
|
|
212
|
+
Radio
|
|
213
|
+
|
|
214
|
+
```python
|
|
215
|
+
selected = app.radio("sync", "Sync to cloud", pos=(100, 400))
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
Returns: `bool`
|
|
219
|
+
|
|
220
|
+
Toggle
|
|
221
|
+
|
|
222
|
+
A sliding switch for boolean values.
|
|
223
|
+
|
|
224
|
+
```python
|
|
225
|
+
on = app.toggle("power", pos=(100, 450), size=(44, 24))
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
Returns: `bool`
|
|
229
|
+
|
|
230
|
+
Progress Bar
|
|
231
|
+
|
|
232
|
+
```python
|
|
233
|
+
app.progress(0.7, pos=(100, 500), size=(300, 10))
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
Dropdown
|
|
237
|
+
|
|
238
|
+
```python
|
|
239
|
+
selected = app.dropdown("role", ["Standard", "Admin", "Guest"], pos=(100, 550), size=(300, 40))
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
Returns: `str`
|
|
243
|
+
|
|
244
|
+
Divider
|
|
245
|
+
|
|
246
|
+
```python
|
|
247
|
+
app.divider(pos=(100, 600), size=(300, 1))
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
Panel
|
|
252
|
+
|
|
253
|
+
```python
|
|
254
|
+
app.panel("main_panel", "Main Interface", pos=(130, 150), size=(764, 478))
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
Window
|
|
258
|
+
|
|
259
|
+
```python
|
|
260
|
+
app.window("main_window", "My App", pos=(100, 60), size=(824, 648))
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
Tabs
|
|
264
|
+
|
|
265
|
+
Horizontal navigation bar.
|
|
266
|
+
|
|
267
|
+
```python
|
|
268
|
+
active = app.tabs("settings_tabs", ["General", "Audio", "Network"], pos=(130, 110), size=(300, 35))
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
Returns: `int` (active index)
|
|
272
|
+
|
|
273
|
+
Scrollbar
|
|
274
|
+
|
|
275
|
+
Vertical or horizontal track for scrolling.
|
|
276
|
+
|
|
277
|
+
```python
|
|
278
|
+
scroll = app.scrollbar("main_scroll", pos=(875, 120), size=(12, 498))
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
Returns: `float` (0.0 - 1.0)
|
|
282
|
+
|
|
283
|
+
## 5. Internal Behavior
|
|
284
|
+
|
|
285
|
+
### Element Persistence
|
|
286
|
+
|
|
287
|
+
* Elements are stored by id
|
|
288
|
+
* Persist across frames
|
|
289
|
+
* Automatically reused
|
|
290
|
+
|
|
291
|
+
### Event Handling
|
|
292
|
+
|
|
293
|
+
* Higher `z` gets priority
|
|
294
|
+
* Stops propagation on interaction
|
|
295
|
+
* Rotated elements maintain correct hitboxes
|
|
296
|
+
|
|
297
|
+
### Rendering Order
|
|
298
|
+
|
|
299
|
+
Sorted by `z` (low → high)
|
|
300
|
+
|
|
301
|
+
## 6. Element State
|
|
302
|
+
|
|
303
|
+
Each element may expose:
|
|
304
|
+
|
|
305
|
+
* `clicked` (one frame)
|
|
306
|
+
* `hovered`
|
|
307
|
+
* `pressed`
|
|
308
|
+
* `value`
|
|
309
|
+
* `rotation`
|
|
310
|
+
* `font_size`
|
|
311
|
+
|
|
312
|
+
## 7. Advanced Mode (Optional)
|
|
313
|
+
|
|
314
|
+
```python
|
|
315
|
+
btn = app.button("confirm_btn", "Confirm", rect=(452, 640, 120, 40))
|
|
316
|
+
if btn.clicked:
|
|
317
|
+
print("clicked")
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
8. Live Element Mutation
|
|
322
|
+
|
|
323
|
+
All element-creating calls (button, label_ex, window, panel, icon_button,
|
|
324
|
+
icon_label, …) return an ElementHandle. You can also retrieve a handle
|
|
325
|
+
for any already-created element with app.get(id).
|
|
326
|
+
|
|
327
|
+
h = app.get("my_button")
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
### ElementHandle properties
|
|
331
|
+
|
|
332
|
+
| property | type | description |
|
|
333
|
+
|-----------|-------|------------------------------------------|
|
|
334
|
+
| `pos` | `(x, y)` | Get / set position |
|
|
335
|
+
| `size` | `(w, h)` | Get / set size |
|
|
336
|
+
| `z` | `int` | Get / set render / event layer |
|
|
337
|
+
| `text` | `str` | Get / set displayed text or label |
|
|
338
|
+
| `value` | `float` | Get / set slider or progress value (0.0–1.0) |
|
|
339
|
+
| `rotation`| `float` | Get / set element rotation in degrees|
|
|
340
|
+
| `font_size`| `int` | Get / set element font size override |
|
|
341
|
+
| `clicked` | `bool` | Read — True on the frame clicked |
|
|
342
|
+
| `hovered` | `bool` | Read — True while mouse is over |
|
|
343
|
+
| `pressed` | `bool` | Read — True while held |
|
|
344
|
+
|
|
345
|
+
Example — move and relabel a button live
|
|
346
|
+
|
|
347
|
+
btn = app.button_clicked("ok_btn", "OK", pos=(100, 100), size=(80, 32))
|
|
348
|
+
|
|
349
|
+
handle = app.get("ok_btn")
|
|
350
|
+
if handle:
|
|
351
|
+
handle.pos = (200, 300) # move it
|
|
352
|
+
handle.size = (120, 40) # resize it
|
|
353
|
+
handle.z = 20 # bring it forward
|
|
354
|
+
handle.text = "Confirm" # relabel it
|
|
355
|
+
handle.rotation = 15.0 # tilt it
|
|
356
|
+
|
|
357
|
+
|
|
358
|
+
Changes take effect on the next frame — the element is already cached and
|
|
359
|
+
will be drawn with the new values without re-creation.
|
|
360
|
+
|
|
361
|
+
9. Theme System
|
|
362
|
+
|
|
363
|
+
### Load Theme by Name
|
|
364
|
+
|
|
365
|
+
```python
|
|
366
|
+
app.set_theme("dark-pro")
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
Clears all cached elements; they are recreated on the next frame with the new theme.
|
|
370
|
+
|
|
371
|
+
### Live Theme Reload (Hot-Reload)
|
|
372
|
+
|
|
373
|
+
```python
|
|
374
|
+
# Call this whenever you want to pick up on-disk changes to the .xut file
|
|
375
|
+
app.reload_theme()
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
|
|
379
|
+
Useful during development: edit your .xut file in any text editor and call
|
|
380
|
+
reload_theme() (e.g. on a keypress) to see the result immediately without
|
|
381
|
+
restarting the app.
|
|
382
|
+
|
|
383
|
+
while app.running:
|
|
384
|
+
app.begin_frame()
|
|
385
|
+
|
|
386
|
+
for event in pygame.event.get():
|
|
387
|
+
if event.type == pygame.KEYDOWN and event.key == pygame.K_r:
|
|
388
|
+
app.reload_theme() # R to hot-reload
|
|
389
|
+
|
|
390
|
+
# ... draw UI ...
|
|
391
|
+
app.end_frame()
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
Theme Features
|
|
395
|
+
|
|
396
|
+
Hex colors
|
|
397
|
+
|
|
398
|
+
Variable references
|
|
399
|
+
|
|
400
|
+
Global values
|
|
401
|
+
|
|
402
|
+
Font loading from /fonts
|
|
403
|
+
|
|
404
|
+
Brightness modifiers
|
|
405
|
+
|
|
406
|
+
10. Window Title and Icon
|
|
407
|
+
|
|
408
|
+
### Set Window Title
|
|
409
|
+
|
|
410
|
+
```python
|
|
411
|
+
app.set_window_title("My New Title")
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
Can be called at any time, including inside the main loop.
|
|
415
|
+
|
|
416
|
+
### Set Window Icon
|
|
417
|
+
|
|
418
|
+
```python
|
|
419
|
+
app.set_window_icon("assets/myicon.png")
|
|
420
|
+
```
|
|
421
|
+
|
|
422
|
+
Falls back to `icon.png` next to the xut package if path is None or missing. Can also be passed at construction time:
|
|
423
|
+
|
|
424
|
+
```python
|
|
425
|
+
app = xut.App(theme="applesauce-mono", icon="assets/myicon.png")
|
|
426
|
+
```
|
|
427
|
+
|
|
428
|
+
|
|
429
|
+
## 11. Shortcuts
|
|
430
|
+
|
|
431
|
+
```python
|
|
432
|
+
if app.shortcut("ctrl+s"):
|
|
433
|
+
save()
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
Returns `True` on the single frame the key combination is pressed — identical in feel to `button_clicked`.
|
|
437
|
+
|
|
438
|
+
#### Modifier tokens
|
|
439
|
+
|
|
440
|
+
| token | key |
|
|
441
|
+
|----------------|----------------|
|
|
442
|
+
| `ctrl` | Control |
|
|
443
|
+
| `shift` | Shift |
|
|
444
|
+
| `alt` | Alt / Option |
|
|
445
|
+
| `meta` / `cmd` / `super` | Meta / Cmd / Win |
|
|
446
|
+
|
|
447
|
+
**Named keys:** `space`, `enter`, `escape` / `esc`, `tab`, `backspace`, `delete` / `del`, `insert`, `home`, `end`, `pageup`, `pagedown`, `up`, `down`, `left`, `right`, `f1`–`f15`
|
|
448
|
+
|
|
449
|
+
Single letters and digits work directly: `"a"`, `"1"`, etc.
|
|
450
|
+
|
|
451
|
+
**Examples:**
|
|
452
|
+
|
|
453
|
+
```python
|
|
454
|
+
if app.shortcut("ctrl+s"): save()
|
|
455
|
+
if app.shortcut("ctrl+z"): undo()
|
|
456
|
+
if app.shortcut("ctrl+shift+z"): redo()
|
|
457
|
+
if app.shortcut("f5"): refresh()
|
|
458
|
+
if app.shortcut("escape"): close_modal()
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
|
|
462
|
+
## 12. Example
|
|
463
|
+
|
|
464
|
+
```python
|
|
465
|
+
import xut
|
|
466
|
+
|
|
467
|
+
app = xut.App("applesauce-mono", title="Settings", icon="assets/icon.png")
|
|
468
|
+
|
|
469
|
+
# Keep a live handle so we can mutate the window later
|
|
470
|
+
win = app.window("main", "Settings", pos=(100, 60), size=(800, 600))
|
|
471
|
+
|
|
472
|
+
while app.running:
|
|
473
|
+
app.begin_frame()
|
|
474
|
+
|
|
475
|
+
app.window("main", "Settings", pos=(100, 60), size=(800, 600))
|
|
476
|
+
|
|
477
|
+
# Tabs for navigation
|
|
478
|
+
active_tab = app.tabs("nav", ["General", "Graphics", "Audio"], pos=(120, 100), size=(300, 30))
|
|
479
|
+
|
|
480
|
+
# Icon button
|
|
481
|
+
if app.icon_button_clicked("save_btn", "icons/save.png",
|
|
482
|
+
pos=(20, 20), size=(40, 40)):
|
|
483
|
+
app.set_window_title("Saved!")
|
|
484
|
+
|
|
485
|
+
# Named label that can be mutated
|
|
486
|
+
status = app.label_ex("status", "Idle", pos=(80, 28))
|
|
487
|
+
|
|
488
|
+
if app.button_clicked("confirm", "Confirm", pos=(450, 600), size=(120, 40), rotation=5.0):
|
|
489
|
+
status.text = "Confirmed"
|
|
490
|
+
print("Saved!")
|
|
491
|
+
|
|
492
|
+
# Shortcuts — same feel as button_clicked
|
|
493
|
+
if app.shortcut("ctrl+s"):
|
|
494
|
+
status.text = "Saved"
|
|
495
|
+
if app.shortcut("ctrl+z"):
|
|
496
|
+
status.text = "Undo"
|
|
497
|
+
if app.shortcut("r"):
|
|
498
|
+
app.reload_theme()
|
|
499
|
+
|
|
500
|
+
username = app.input("user", pos=(200, 200), size=(300, 40))
|
|
501
|
+
|
|
502
|
+
volume = app.slider("vol", pos=(200, 300), size=(300, 16))
|
|
503
|
+
app.progress(volume, pos=(200, 330), size=(300, 10))
|
|
504
|
+
|
|
505
|
+
# New Toggle feature
|
|
506
|
+
is_active = app.toggle("active_state", pos=(200, 360), size=(44, 24))
|
|
507
|
+
|
|
508
|
+
# Hot-reload theme on R key
|
|
509
|
+
import pygame
|
|
510
|
+
for event in pygame.event.get():
|
|
511
|
+
if event.type == pygame.KEYDOWN and event.key == pygame.K_r:
|
|
512
|
+
app.reload_theme()
|
|
513
|
+
|
|
514
|
+
app.end_frame()
|
|
515
|
+
```
|
|
516
|
+
|
|
517
|
+
End of Spec
|
xut-0.1.0/LICENSE
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
Copyright 2026 - 2030 Yixuan Xu
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
6
|
+
|
|
7
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
8
|
+
|
|
9
|
+
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|