pyglet 2.1.2__tar.gz → 2.1.3__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.
- {pyglet-2.1.2 → pyglet-2.1.3}/PKG-INFO +2 -3
- {pyglet-2.1.2 → pyglet-2.1.3}/README.md +1 -2
- {pyglet-2.1.2 → pyglet-2.1.3}/RELEASE_NOTES +19 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/conf.py +5 -2
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/index.rst +4 -9
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/internal/contributing.rst +5 -12
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/gui.rst +1 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/examplegame.rst +11 -19
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/gui.rst +13 -10
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/image.rst +11 -11
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/installation.rst +1 -3
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/keyboard.rst +1 -1
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/media.rst +8 -5
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/migration.rst +1 -1
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/opengles.rst +1 -1
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/quickstart.rst +4 -7
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/rendering.rst +1 -1
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version2/game/physicalobject.py +1 -1
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version2/game/player.py +2 -2
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version3/game/physicalobject.py +1 -1
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version3/game/player.py +3 -3
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version4/game/asteroid.py +3 -3
- {pyglet-2.1.2/examples/game/version5 → pyglet-2.1.3/examples/game/version4}/game/bullet.py +1 -1
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version4/game/physicalobject.py +1 -1
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version4/game/player.py +3 -3
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version5/game/asteroid.py +3 -3
- {pyglet-2.1.2/examples/game/version4 → pyglet-2.1.3/examples/game/version5}/game/bullet.py +1 -1
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version5/game/physicalobject.py +1 -1
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version5/game/player.py +3 -3
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/input/input.py +0 -7
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/media_player.py +5 -11
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/noisy/noisy.py +1 -1
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/video.py +0 -5
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/model/fpscamera.py +1 -2
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/programming_guide/animation.py +0 -4
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/programming_guide/events.py +0 -8
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/programming_guide/image_viewer.py +0 -7
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/text/text_input.py +2 -2
- {pyglet-2.1.2 → pyglet-2.1.3}/experimental/svg_test.py +0 -8
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/__init__.py +1 -1
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/app/xlib.py +1 -1
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/display/cocoa.py +2 -2
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/display/win32.py +3 -3
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/display/xlib.py +2 -2
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gui/frame.py +4 -4
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/__init__.py +0 -2
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/codecs/dds.py +1 -1
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/linux/x11_xinput.py +3 -3
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/linux/x11_xinput_tablet.py +2 -2
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/win32/directinput.py +1 -1
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/win32/wintab.py +1 -1
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/math.py +5 -5
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/model/__init__.py +78 -57
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/window/__init__.py +11 -8
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/window/xlib/__init__.py +2 -2
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/base/interactive.py +1 -1
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/platform/test_win_multicore_clock.py +0 -5
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/text/test_empty_document.py +1 -1
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/image/test_image.py +1 -1
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/text/test_caret_color.py +4 -4
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/text/test_content_valign.py +3 -3
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/text/test_html.py +3 -3
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/text/test_inline_elements_style_change.py +2 -2
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/text/test_multiline_wrap.py +3 -3
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/window/test_window_events.py +7 -7
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/window/test_window_multisample.py +1 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/al_info.py +0 -5
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/mpexceptions.py +1 -1
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/genwrappers.py +0 -8
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/gl_info.py +0 -6
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/wraptypes/__init__.py +3 -8
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/wraptypes/cparser.py +2 -8
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/wraptypes/ctypesparser.py +0 -7
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/wraptypes/preprocessor.py +0 -5
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/wraptypes/wrap.py +0 -8
- {pyglet-2.1.2 → pyglet-2.1.3}/.coveragerc +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/.github/ISSUE_TEMPLATE/questions--or-other.md +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/.github/workflows/codeql.yml +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/.github/workflows/unittests.yml +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/.gitignore +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/.readthedocs.yml +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/LICENSE +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/MANIFEST.in +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/contrib/aseprite_codec/README +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/contrib/aseprite_codec/asedemo.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/contrib/aseprite_codec/aseprite.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/contrib/aseprite_codec/running.ase +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/contrib/logo3d/logo3d.jpg +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/contrib/logo3d/logo3d.obj.zip +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/contrib/logo3d/logo3d.wings +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/contrib/qt_sprite_preview.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/contrib/scenemanager.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/contrib/toys/follow_mouse.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/Makefile +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/_static/css/custom.css +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/_static/favicon.ico +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/_static/logo.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/_static/logo5.svg +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/_static/relatedlogo.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/external_resources.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/internal/dist.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/internal/doc.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/internal/generated.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/internal/gl.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/internal/media_logging_manual.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/internal/media_manual.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/internal/testing.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/internal/virtualenv.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/internal/wraptypes-class.svg +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/internal/wraptypes.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/make.bat +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/app.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/clock.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/customtypes.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/display.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/event.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/font.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/gl.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/graphics/allocation.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/graphics/index.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/graphics/shader.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/graphics/vertexbuffer.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/graphics/vertexdomain.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/image/animation.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/image/atlas.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/image/buffer.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/image/index.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/info.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/input.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/math.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/media.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/media_synthesis.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/models.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/pyglet.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/resource.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/shapes.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/sprite.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/text/caret.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/text/document.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/text/index.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/text/layout.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/window.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/window_key.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/window_mouse.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/context.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/debug.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/eventloop.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/events.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/gl.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/abstract_image.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/abstract_image.svg +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/buffer_image.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/buffer_image.svg +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/context_flow.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/context_flow.svg +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_mac_crosshair.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_mac_default.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_mac_hand.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_mac_no.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_mac_size_down.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_mac_size_left.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_mac_size_left_right.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_mac_size_right.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_mac_size_up.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_mac_size_up_down.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_mac_text.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_mac_wait.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_win_crosshair.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_win_default.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_win_hand.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_win_help.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_win_no.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_win_size.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_win_size_left_right.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_win_size_nesw.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_win_size_nwse.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_win_size_up_down.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_win_text.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_win_wait.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_win_wait_arrow.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/explosion.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/font_metrics.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/font_metrics.svg +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/image_classes.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/image_classes.svg +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/image_grid.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/image_grid.svg +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/image_sequence.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/image_sequence.svg +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/mouse_coordinates.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/mouse_coordinates.svg +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/screens.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/screens.svg +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/text_classes.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/text_classes.svg +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/window_location.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/window_location.svg +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/window_osx_borderless.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/window_osx_default.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/window_osx_dialog.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/window_osx_tool.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/window_xp_default.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/window_xp_dialog.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/window_xp_overlay.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/window_xp_tool.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/window_xp_transparent.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/input.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/math.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/models.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/mouse.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/options.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/resources.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/shapes.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/text.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/time.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/windowing.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/doc/requirements.txt +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/clipboard.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/dpi_scaled_window.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/events/events_key_state_handler.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/events/register_event_type.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/events/window_events.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/events/window_platform_event.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/file_dialog.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/resources/asteroid.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/resources/bullet.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/resources/bullet.wav +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/resources/engine_flame.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/resources/player.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version1/asteroid.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version1/game/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version1/game/load.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version1/game/resources.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version2/asteroid.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version2/game/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version2/game/load.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version2/game/resources.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version3/asteroid.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version3/game/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version3/game/load.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version3/game/resources.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version3/game/util.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version4/asteroid.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version4/game/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version4/game/load.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version4/game/resources.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version4/game/util.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version5/asteroid.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version5/game/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version5/game/load.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version5/game/resources.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version5/game/util.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/graphics/image_convert.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/graphics/image_display.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/gui/bar.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/gui/button_hover.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/gui/button_pressed.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/gui/button_unpressed.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/gui/knob.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/gui/widgets.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/hello_world.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/input/apple_remote.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/input/controller.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/input/joystick.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/input/tablet.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/media_info.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/noisy/README +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/noisy/ball.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/noisy/ball.wav +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/soundspace/README +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/soundspace/reader.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/soundspace/res/bass.wav +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/soundspace/res/drums.wav +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/soundspace/res/guitar.wav +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/soundspace/res/piano.wav +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/soundspace/res/space.txt +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/soundspace/soundspace.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/synthesizer.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/model/box.mtl +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/model/box.obj +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/model/logo3d.mtl +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/model/logo3d.obj +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/model/model.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/model/pyglet.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/opengl/compute_shader.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/opengl/egl_context.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/opengl/minimal_shader.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/opengl/opengl_context.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/opengl/opengl_core.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/opengl/opengl_scissor.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/opengl/pyglet.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/opengl/torus.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/programming_guide/dinosaur.gif +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/programming_guide/hello_world.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/programming_guide/kitten.jpg +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/programming_guide/window_subclass.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/resources/Brick1Blue.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/resources/Brick1Crack3.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/resources/Brick1Gray.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/resources/kitten.jpg +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/resources/pyglet.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/shapes.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/sprite/depth_sprite.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/sprite/display_sprite.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/sprite/multi_texture_sprite.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/sprite/sprite_batching.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/text/advanced_font.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/text/html_label.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/text/pyglet.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/timer.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/window/camera.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/window/camera_group.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/window/fixed_resolution.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/window/fps_change.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/window/multiple_windows.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/window/overlay_window.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/examples/window/transparent_window.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/experimental/dist_field/README +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/experimental/dist_field/genfield.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/experimental/dist_field/py.df.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/experimental/dist_field/py.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/experimental/dist_field/renderfield.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/experimental/flaccodec.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/experimental/hello_world.svg +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/experimental/instancing/sprite_instance.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/experimental/instancing/sprite_instance_object.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/experimental/multitexture_sprite/multitexturesprite.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/experimental/spritebenchmark.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/experimental/wayland/gbm_egl_context.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/experimental/win32priority.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/make.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/__init__.pyi +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/app/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/app/base.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/app/cocoa.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/app/win32.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/clock.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/customtypes.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/display/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/display/__init__.pyi +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/display/base.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/display/headless.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/display/xlib_vidmoderestore.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/event.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/experimental/README.md +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/experimental/geoshader_sprite.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/experimental/hidraw.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/experimental/jobs.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/experimental/multitexture_sprite.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/experimental/net.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/experimental/particles.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/extlibs/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/extlibs/earcut.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/extlibs/png.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/font/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/font/base.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/font/directwrite.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/font/fontconfig.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/font/freetype.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/font/freetype_lib.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/font/quartz.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/font/ttf.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/font/user.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/font/win32.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/agl.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/base.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/cocoa.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/gl.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/gl_compat.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/gl_info.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/glx.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/glx_info.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/glxext_arb.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/glxext_mesa.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/glxext_nv.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/headless.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/lib.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/lib_agl.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/lib_glx.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/lib_wgl.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/wgl.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/wgl_info.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/wglext_arb.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/wglext_nv.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/win32.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/xlib.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/graphics/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/graphics/allocation.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/graphics/instance.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/graphics/shader.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/graphics/vertexarray.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/graphics/vertexbuffer.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/graphics/vertexdomain.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gui/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gui/ninepatch.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gui/widgets.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/animation.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/atlas.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/buffer.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/codecs/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/codecs/bmp.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/codecs/gdiplus.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/codecs/gdkpixbuf2.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/codecs/gif.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/codecs/pil.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/codecs/png.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/codecs/quartz.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/codecs/s3tc.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/codecs/wic.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/info.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/base.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/controller.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/controller_db.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/linux/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/linux/evdev.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/linux/evdev_constants.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/macos/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/macos/darwin_hid.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/win32/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/win32/xinput.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/lib.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/darwin/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/darwin/cocoapy/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/darwin/cocoapy/cocoalibs.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/darwin/cocoapy/cocoatypes.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/darwin/cocoapy/runtime.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/darwin/coreaudio.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/darwin/quartzkey.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/egl/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/egl/egl.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/egl/eglext.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/egl/lib.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/ioctl.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/wayland/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/wayland/gbm.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/wayland/xkbcommon.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/win32/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/win32/com.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/win32/constants.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/win32/context_managers.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/win32/dinput.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/win32/libwintab.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/win32/types.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/win32/winkey.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/x11/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/x11/cursorfont.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/x11/xf86vmode.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/x11/xinerama.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/x11/xinput.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/x11/xlib.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/x11/xsync.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/buffered_logger.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/base.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/coreaudio.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/ffmpeg.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/ffmpeg_lib/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/ffmpeg_lib/compat.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/ffmpeg_lib/libavcodec.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/ffmpeg_lib/libavformat.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/ffmpeg_lib/libavutil.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/ffmpeg_lib/libswresample.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/ffmpeg_lib/libswscale.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/gstreamer.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/pyogg.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/wave.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/wmf.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/devices/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/devices/base.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/devices/win32.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/base.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/directsound/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/directsound/adaptation.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/directsound/exceptions.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/directsound/interface.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/directsound/lib_dsound.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/listener.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/openal/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/openal/adaptation.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/openal/interface.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/openal/lib_alc.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/openal/lib_openal.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/pulse/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/pulse/adaptation.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/pulse/interface.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/pulse/lib_pulseaudio.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/silent/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/silent/adaptation.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/xaudio2/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/xaudio2/adaptation.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/xaudio2/interface.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/xaudio2/lib_xaudio2.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/exceptions.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/instrumentation.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/player.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/player_worker_thread.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/synthesis.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/model/codecs/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/model/codecs/base.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/model/codecs/gltf.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/model/codecs/obj.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/py.typed +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/resource.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/shapes.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/sprite.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/text/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/text/caret.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/text/document.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/text/formats/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/text/formats/attributed.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/text/formats/html.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/text/formats/plaintext.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/text/formats/structured.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/text/layout/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/text/layout/base.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/text/layout/incremental.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/text/layout/scrolling.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/text/runlist.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/util.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/window/cocoa/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/window/cocoa/pyglet_delegate.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/window/cocoa/pyglet_textview.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/window/cocoa/pyglet_view.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/window/cocoa/pyglet_window.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/window/cocoa/systemcursor.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/window/event.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/window/headless/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/window/key.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/window/mouse.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/window/win32/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pyproject.toml +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/pytest.ini +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/setup.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/annotations.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/base/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/base/data.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/base/event_loop.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/base/performance.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/conftest.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/fonts/README +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/fonts/action_man.ttf +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/fonts/action_man_bold.ttf +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/fonts/action_man_bold_italic.ttf +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/fonts/action_man_italic.ttf +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/fonts/courR12-ISO8859-1.pcf +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/8bpp.gif +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/cursor.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/dinosaur.gif +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/gdk_close.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/grey_background.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/icon1.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/icon_size1.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/icon_size2.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/icon_size3.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/icon_size4.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/icon_size5.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/l.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/la.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/multitexture.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgb.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgb_16bpp.bmp +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgb_1bpp.bmp +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgb_24bpp.bmp +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgb_32bpp.bmp +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgb_4bpp.bmp +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgb_8bpp.bmp +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgb_8bpp.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgb_8bpp_trans.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgb_dxt1.dds +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgba.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgba_32bpp.bmp +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgba_dxt1.dds +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgba_dxt3.dds +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgba_dxt5.dds +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/tests.interactive.test_interactive_test_base._Test.test_1.001.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/README +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/alert.wav +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/login.wav +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/logout.wav +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/receive.wav +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/send.wav +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/synthesis_sawtooth_16_11025_1ch.wav +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/synthesis_sawtooth_16_44800_1ch.wav +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/synthesis_silence_16_11025_1ch.wav +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/synthesis_silence_16_44800_1ch.wav +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/synthesis_simplefm_16_11025_1ch.wav +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/synthesis_simplefm_16_44800_1ch.wav +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/synthesis_sine_16_11025_1ch.wav +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/synthesis_sine_16_44800_1ch.wav +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/synthesis_square_16_11025_1ch.wav +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/synthesis_square_16_44800_1ch.wav +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/synthesis_triangle_16_11025_1ch.wav +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/synthesis_triangle_16_44800_1ch.wav +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/models/logo3d.mtl +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/models/logo3d.obj +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/app/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/app/test_eventloop.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/conftest.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/font/test_fontconfig.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/font/test_freetype_face.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/graphics/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/graphics/test_allocation.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/graphics/test_batch_migration.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/graphics/test_shaders.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/image/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/image/test_gdkpixbuf2.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/image/test_imagegrid.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/image/test_texture3d.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/media/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/media/mock_player.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/media/test_directsound.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/media/test_driver.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/media/test_openal.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/media/test_player.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/media/test_pulse.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/model/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/model/test_loading.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/platform/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/platform/test_win_context_managers.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/resource/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/resource/dir1/dir1/f3.txt +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/resource/dir1/f2.txt +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/resource/dir1/res.zip +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/resource/dir2/f6.txt +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/resource/f1.txt +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/resource/rgbm.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/resource/test_resource_image_loading.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/resource/test_resource_loading.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/test_integrations.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/text/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/text/test_label_creation.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/text/test_layout_creation.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/window/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/window/test_context_share.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/window/test_event_sequence.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/window/test_window_caption.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/conftest.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/image/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/media/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/media/test_player.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/screenshots/committed/README +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/screenshots/session/README +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/shapes/test_shapes.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/test_interactive_test_base.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/text/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/text/test_inline_elements.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/text/test_plain.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/text/test_style.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/window/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/window/test_window_fullscreen.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/window/test_window_modes.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/window/test_window_open.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/window/test_window_settings.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/window/test_window_styles.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/window/window_util.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/windowed_test_base.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/requirements.txt +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/conftest.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/math/test_mat.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/math/test_quat.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/math/test_vec2.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/math/test_vec3.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/math/test_vec4.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/media/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/media/test_listener.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/media/test_player.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/media/test_sources.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/media/test_synthesis.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/platform/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/platform/test_mac_objc.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/shader/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/shader/conftest.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/shader/test_shader.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/shapes/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/shapes/conftest.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/shapes/test_bordered_rectangle.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/shapes/test_shapes.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/test_atlas.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/test_clock.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/test_clock_freq.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/test_events.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/test_font.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/test_input.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/test_resource_path.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/test_sprite.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/test_text.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/text/__init__.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/text/test_caret.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/text/test_layout.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/bokeh_timeline.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/compare.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/configure.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/extractors.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/fs.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/mp.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/playmany.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/readme_ffmpeg_debbuging_branch.txt +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/readme_run_tests.txt +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/report.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/reports.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/retry_crashed.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/run_test_suite.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/summarize.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/test_instrumentation.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/timeline.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/gencontrollerdb.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/gengl.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/gl.template +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/gl.xml +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/inspect_font.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/requirements.txt +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/wgl.h +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/wraptypes/lex.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/tools/wraptypes/yacc.py +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/LICENSE.txt +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/README.rst +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/assets/favicon.ico +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/assets/static/css/example-custom-styles.css +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/assets/static/images/pyglet.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/content/404.html/contents.lr +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/content/404.html/ngc-5793.jpg +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/content/authors/benjamin/contents.lr +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/content/authors/benjamin/pyglet.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/content/authors/contents.lr +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/content/blog/contents.lr +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/content/blog/welcome-blog/contents.lr +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/content/contents.lr +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/content/eclipse.jpg +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/pyglet.lektorproject +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/AUTHORS.txt +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/CHANGELOG.md +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/CONTRIBUTING.md +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/LICENSE.txt +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/NOTICE.txt +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/README.md +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/css/bootstrap.css +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/css/icomoon.css +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/css/magnific-popup.css +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/css/style.css +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/fonts/icomoon/icomoon.ttf +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/fonts/icomoon/icomoon.woff +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/images/Preloader_2.gif +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/images/placeholder_person.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/js/jquery-3.3.1.min.js +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/js/jquery.easing.min.js +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/js/jquery.magnific-popup.min.js +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/js/jquery.stellar.js +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/js/jquery.stellar.min.js +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/js/jquery.waypoints.min.js +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/js/magnific-popup-options.js +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/js/main-singlelayout.js +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/js/main.js +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/flowblocks/content.ini +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/flowblocks/gallery.ini +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/flowblocks/gallery_item.ini +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/flowblocks/member.ini +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/flowblocks/mission.ini +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/flowblocks/mission_tab.ini +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/flowblocks/service.ini +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/flowblocks/services.ini +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/flowblocks/team.ini +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/images/blog-index.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/images/full-blog.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/images/full-page.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/images/gallery-404.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/images/gallery-singlepage.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/images/mainpage-screenshots.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/images/responsive-layout.png +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/models/404.ini +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/models/author.ini +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/models/authors.ini +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/models/blog-post.ini +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/models/blog.ini +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/models/page.ini +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/models/single-layout.ini +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/404.html +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/author.html +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/authors.html +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/blocks/content.html +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/blocks/gallery.html +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/blocks/mission.html +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/blocks/services.html +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/blocks/team.html +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/blog-layout.html +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/blog-post.html +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/blog.html +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/layout.html +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/macros/blog.html +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/macros/pagination.html +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/none.html +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/page.html +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/single-layout.html +0 -0
- {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/theme.ini +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: pyglet
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.3
|
|
4
4
|
Summary: pyglet is a cross-platform games and multimedia package.
|
|
5
5
|
Author-email: Alex Holkner & contributors <Alex.Holkner@gmail.com>
|
|
6
6
|
Requires-Python: >=3.8
|
|
@@ -150,12 +150,11 @@ for more information about running and writing tests.
|
|
|
150
150
|
## Contact
|
|
151
151
|
|
|
152
152
|
pyglet is developed by many individual volunteers, and there is no central point of contact. If you have a question
|
|
153
|
-
about developing with pyglet, or you wish to contribute, please join the [
|
|
153
|
+
about developing with pyglet, or you wish to contribute, please join the [discord] server, or [subreddit].
|
|
154
154
|
|
|
155
155
|
For legal issues, please contact [Alex Holkner](mailto:Alex.Holkner@gmail.com).
|
|
156
156
|
|
|
157
157
|
[discord]: https://discord.gg/QXyegWe
|
|
158
|
-
[mailing list]: http://groups.google.com/group/pyglet-users
|
|
159
158
|
[subreddit]: https://www.reddit.com/r/pyglet/
|
|
160
159
|
[documentation]: https://pyglet.readthedocs.io
|
|
161
160
|
[wiki]: https://github.com/pyglet/pyglet/wiki
|
|
@@ -141,12 +141,11 @@ for more information about running and writing tests.
|
|
|
141
141
|
## Contact
|
|
142
142
|
|
|
143
143
|
pyglet is developed by many individual volunteers, and there is no central point of contact. If you have a question
|
|
144
|
-
about developing with pyglet, or you wish to contribute, please join the [
|
|
144
|
+
about developing with pyglet, or you wish to contribute, please join the [discord] server, or [subreddit].
|
|
145
145
|
|
|
146
146
|
For legal issues, please contact [Alex Holkner](mailto:Alex.Holkner@gmail.com).
|
|
147
147
|
|
|
148
148
|
[discord]: https://discord.gg/QXyegWe
|
|
149
|
-
[mailing list]: http://groups.google.com/group/pyglet-users
|
|
150
149
|
[subreddit]: https://www.reddit.com/r/pyglet/
|
|
151
150
|
[documentation]: https://pyglet.readthedocs.io
|
|
152
151
|
[wiki]: https://github.com/pyglet/pyglet/wiki
|
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
pyglet 2.1.3
|
|
2
|
+
|
|
3
|
+
Changes
|
|
4
|
+
-------
|
|
5
|
+
- window: Change the default znear/zfar to (-8192, 8192).
|
|
6
|
+
- docs: Fix top-left version display and copyright auto-generation (#1264).
|
|
7
|
+
- docs: fixes in the quickstart guide, and lots of other cleanups.
|
|
8
|
+
- clean up legacy super() call syntax around the codebase.
|
|
9
|
+
|
|
10
|
+
Bugfixes
|
|
11
|
+
--------
|
|
12
|
+
- shapes: disable depth testing by default, due to usability issues.
|
|
13
|
+
- window.xlib: prevent crash if initial configuration notify event has invalid width/height.
|
|
14
|
+
- window.xlib: fix screen mode showing dotclock instead of Hz.
|
|
15
|
+
- model: fix the (undocumented) Sphere and Cube test shapes.
|
|
16
|
+
- examples.model.fpscamera: don't normalize the movement input.
|
|
17
|
+
- window: Fix ImageMouseCursor positioning not adapting to scaling (#1278).
|
|
18
|
+
|
|
19
|
+
|
|
1
20
|
pyglet 2.1.2
|
|
2
21
|
|
|
3
22
|
Bugfixes
|
|
@@ -211,14 +211,17 @@ master_doc = "index"
|
|
|
211
211
|
|
|
212
212
|
# General information about the project.
|
|
213
213
|
project = "pyglet"
|
|
214
|
-
copyright = "2006-2008, Alex Holkner. 2008-
|
|
214
|
+
copyright = f"2006-2008, Alex Holkner. 2008-{now.year} pyglet contributors"
|
|
215
215
|
|
|
216
216
|
# The version info for the project you're documenting, acts as replacement for
|
|
217
217
|
# |version| and |release|, also used in various other places throughout the
|
|
218
218
|
# built documents.
|
|
219
219
|
#
|
|
220
220
|
# The short X.Y version.
|
|
221
|
-
version
|
|
221
|
+
if pyglet.version.count(".") == 1:
|
|
222
|
+
version = pyglet.version
|
|
223
|
+
else:
|
|
224
|
+
version = pyglet.version.rsplit('.', 1)[0]
|
|
222
225
|
# The full version, including alpha/beta/rc tags.
|
|
223
226
|
release = pyglet.version
|
|
224
227
|
|
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
pyglet Documentation
|
|
2
2
|
====================
|
|
3
3
|
|
|
4
|
-
..
|
|
5
|
-
This
|
|
6
|
-
|
|
7
|
-
`2.0 maintenance <https://pyglet.readthedocs.io/en/pyglet-2.0-maintenance/>`_.
|
|
8
|
-
Documentation for the 1.5 series, which is the last to support legacy OpenGL,
|
|
9
|
-
can be found here:
|
|
10
|
-
`1.5 maintenance <https://pyglet.readthedocs.io/en/pyglet-1.5-maintenance/>`_.
|
|
4
|
+
.. note::
|
|
5
|
+
This is the documentation for pyglet version |version|.
|
|
6
|
+
If you need a different one use the docs version selector.
|
|
11
7
|
|
|
12
8
|
**pyglet** is a cross-platform windowing and multimedia library for Python,
|
|
13
9
|
intended for developing games and other visually rich applications. It supports
|
|
@@ -30,10 +26,9 @@ Some of the features of pyglet are:
|
|
|
30
26
|
use it for both commercial and other open-source projects with very little
|
|
31
27
|
restriction.
|
|
32
28
|
|
|
33
|
-
Please join our `Discord
|
|
29
|
+
Please join the conversation on our `Discord server <https://discord.gg/QXyegWe>`_.!
|
|
34
30
|
|
|
35
31
|
.. _Discord: https://discord.gg/QXyegWe
|
|
36
|
-
.. _mailing list: http://groups.google.com/group/pyglet-users
|
|
37
32
|
|
|
38
33
|
If this is your first time reading about pyglet, we suggest you start at
|
|
39
34
|
:doc:`programming_guide/quickstart`.
|
|
@@ -6,19 +6,14 @@ Contributing
|
|
|
6
6
|
Communication
|
|
7
7
|
-------------
|
|
8
8
|
|
|
9
|
-
pyglet communication occurs mostly in our
|
|
10
|
-
`discord server <https://discord.gg/QXyegWe>`_,
|
|
11
|
-
and
|
|
12
|
-
`mailing list <http://groups.google.com/group/pyglet-users>`_.
|
|
9
|
+
pyglet communication occurs mostly in our `Discord server <https://discord.gg/QXyegWe>`_.
|
|
13
10
|
|
|
14
11
|
Issue Tracker
|
|
15
12
|
-------------
|
|
16
13
|
|
|
17
14
|
You can use the `issue tracker <https://github.com/pyglet/pyglet/issues>`_
|
|
18
|
-
to report any bug or compatibility issue.
|
|
19
|
-
|
|
20
|
-
We prefer the tracker to address discussions on specific bugs, and address
|
|
21
|
-
broader topics of pyglet in the mailing list.
|
|
15
|
+
to report any bug or compatibility issue. If your issue is more complex than what can be
|
|
16
|
+
covered in a ticket, also consider joining the `Discord server <https://discord.gg/QXyegWe>`_.
|
|
22
17
|
|
|
23
18
|
Getting the latest development version
|
|
24
19
|
--------------------------------------
|
|
@@ -68,10 +63,8 @@ Contact
|
|
|
68
63
|
|
|
69
64
|
pyglet is developed by many individual volunteers, and there is no central
|
|
70
65
|
point of contact. If you have a question about developing with pyglet, or you
|
|
71
|
-
wish to contribute, please join the
|
|
72
|
-
|
|
73
|
-
or the
|
|
74
|
-
`mailing list <http://groups.google.com/group/pyglet-users>`_.
|
|
66
|
+
wish to contribute, please join the `Discord server <https://discord.gg/QXyegWe>`_.
|
|
67
|
+
|
|
75
68
|
|
|
76
69
|
For legal issues, please contact
|
|
77
70
|
`Alex Holkner <mailto:Alex.Holkner@gmail.com>`_.
|
|
@@ -526,7 +526,7 @@ same behavior as a PhysicalObject plus a little extra, so we’ll need to call
|
|
|
526
526
|
PhysicalObject's `update()` method and then respond to input::
|
|
527
527
|
|
|
528
528
|
def update(self, dt):
|
|
529
|
-
super(
|
|
529
|
+
super().update(dt)
|
|
530
530
|
|
|
531
531
|
if self.keys['left']:
|
|
532
532
|
self.rotation -= self.rotate_speed * dt
|
|
@@ -699,7 +699,7 @@ gracefully, we must write a simple but slightly enhanced `delete()` method::
|
|
|
699
699
|
|
|
700
700
|
def delete(self):
|
|
701
701
|
self.engine_sprite.delete()
|
|
702
|
-
super(
|
|
702
|
+
super().delete()
|
|
703
703
|
|
|
704
704
|
The Player class is now cleaned up and ready to go.
|
|
705
705
|
|
|
@@ -890,7 +890,7 @@ subclass of PhysicalObject::
|
|
|
890
890
|
"""Bullets fired by the player"""
|
|
891
891
|
|
|
892
892
|
def __init__(self, *args, **kwargs):
|
|
893
|
-
super(
|
|
893
|
+
super().__init__(
|
|
894
894
|
resources.bullet_image, *args, **kwargs)
|
|
895
895
|
|
|
896
896
|
To get bullets to disappear after a time, we could keep track of our own
|
|
@@ -906,7 +906,7 @@ We can do this as soon as the object is initialized by adding a call to
|
|
|
906
906
|
:meth:`pyglet.clock.schedule_once` to the constructor::
|
|
907
907
|
|
|
908
908
|
def __init__(self, *args, **kwargs):
|
|
909
|
-
super(
|
|
909
|
+
super().__init__(resources.bullet_image, *args, **kwargs)
|
|
910
910
|
pyglet.clock.schedule_once(self.die, 0.5)
|
|
911
911
|
|
|
912
912
|
There’s still more work to be done on the Bullet class, but before we
|
|
@@ -924,7 +924,7 @@ to its constructor::
|
|
|
924
924
|
|
|
925
925
|
class Player(physicalobject.PhysicalObject):
|
|
926
926
|
def __init__(self, *args, **kwargs):
|
|
927
|
-
super(
|
|
927
|
+
super().__init__(img=resources.player_image, *args, **kwargs)
|
|
928
928
|
...
|
|
929
929
|
self.bullet_speed = 700.0
|
|
930
930
|
|
|
@@ -1065,7 +1065,7 @@ to pass a specific image to the superclass, passing along any other parameters::
|
|
|
1065
1065
|
|
|
1066
1066
|
class Asteroid(physicalobject.PhysicalObject):
|
|
1067
1067
|
def __init__(self, *args, **kwargs):
|
|
1068
|
-
super(
|
|
1068
|
+
super().__init__(resources.asteroid_image, *args, **kwargs)
|
|
1069
1069
|
|
|
1070
1070
|
Now we need to write a new `handle_collision_with()` method. It should create
|
|
1071
1071
|
a random number of new, smaller asteroids with random velocities. However,
|
|
@@ -1077,7 +1077,7 @@ We want to keep the old behavior of ignoring other asteroids, so start the
|
|
|
1077
1077
|
method with a call to the superclass’s method::
|
|
1078
1078
|
|
|
1079
1079
|
def handle_collision_with(self, other_object):
|
|
1080
|
-
super(
|
|
1080
|
+
super().handle_collision_with(other_object)
|
|
1081
1081
|
|
|
1082
1082
|
Now we can say that if it’s supposed to die, and it’s big enough, then we
|
|
1083
1083
|
should create two or three new asteroids with random rotations and velocities.
|
|
@@ -1088,7 +1088,7 @@ like they come from the same object::
|
|
|
1088
1088
|
|
|
1089
1089
|
class Asteroid:
|
|
1090
1090
|
def handle_collision_with(self, other_object):
|
|
1091
|
-
super(
|
|
1091
|
+
super().handle_collision_with(other_object)
|
|
1092
1092
|
if self.dead and self.scale > 0.25:
|
|
1093
1093
|
num_asteroids = random.randint(2, 3)
|
|
1094
1094
|
for i in range(num_asteroids):
|
|
@@ -1107,13 +1107,13 @@ rotation every frame.
|
|
|
1107
1107
|
Add the attribute in the constructor::
|
|
1108
1108
|
|
|
1109
1109
|
def __init__(self, *args, **kwargs):
|
|
1110
|
-
super(
|
|
1110
|
+
super().__init__(resources.asteroid_image, *args, **kwargs)
|
|
1111
1111
|
self.rotate_speed = random.random() * 100.0 - 50.0
|
|
1112
1112
|
|
|
1113
1113
|
Then write the update() method::
|
|
1114
1114
|
|
|
1115
1115
|
def update(self, dt):
|
|
1116
|
-
super(
|
|
1116
|
+
super().update(dt)
|
|
1117
1117
|
self.rotation += self.rotate_speed * dt
|
|
1118
1118
|
|
|
1119
1119
|
The last thing we need to do is go over to load.py and have the asteroid()
|
|
@@ -1146,12 +1146,4 @@ I’m going to leave it as an exercise for you to do the following::
|
|
|
1146
1146
|
|
|
1147
1147
|
Good luck! With a little effort, you should be able to figure out most of
|
|
1148
1148
|
these things on your own. If you have trouble, join us on the pyglet
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
Also, in addition to this example game, there is yet *another* Asteroids clone
|
|
1152
|
-
available in the `/examples/astraea/` folder in the pyglet source directory.
|
|
1153
|
-
In comparison to this example game excercise we've just completed,
|
|
1154
|
-
Astraea is a complete game with a proper menu, score system, and additional
|
|
1155
|
-
graphical effects. No step-by-step documentation is available for Astraea,
|
|
1156
|
-
but the code itself should be easy to understand and illustrates some nice
|
|
1157
|
-
techniques.
|
|
1149
|
+
`Discord server <https://discord.gg/QXyegWe>`_.
|
|
@@ -20,7 +20,7 @@ through the :ref:`guide_events` section of the documentation. Widgets are by nat
|
|
|
20
20
|
very tightly associated with input events, so this is necessary to fully grasp their
|
|
21
21
|
usage.
|
|
22
22
|
|
|
23
|
-
Example code can be found in
|
|
23
|
+
Example code can be found in ``examples/gui/widgets.py`` in the pyglet source repository.
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
Creating a Widget
|
|
@@ -30,13 +30,16 @@ Included Widgets are :py:class:`~pyglet.gui.widgets.PushButton`,
|
|
|
30
30
|
and :py:class:`~pyglet.gui.widgets.TextEntry`. They each have different arguments,
|
|
31
31
|
which will be shown in the API documentation. For our example, we will create a
|
|
32
32
|
'PushButton' widget, which requires you to provide at least two images. These two
|
|
33
|
-
images will visually represent the "pressed" and "
|
|
33
|
+
images will visually represent the "pressed" and "unpressed" states of the button.
|
|
34
34
|
This widget can also take an optional image for 'hover', but we'll skip that for now::
|
|
35
35
|
|
|
36
36
|
pressed_img = pyglet.resource.image("button_pressed.png")
|
|
37
|
-
|
|
37
|
+
unpressed_img = pyglet.resource.image("button_unpressed.png")
|
|
38
38
|
|
|
39
|
-
pushbutton = pyglet.gui.PushButton(
|
|
39
|
+
pushbutton = pyglet.gui.PushButton(
|
|
40
|
+
x=100, y=300, pressed=pressed_img,
|
|
41
|
+
unpressed=unpressed_img, batch=batch,
|
|
42
|
+
)
|
|
40
43
|
|
|
41
44
|
We now have a PushButton widget, but it won't yet do anything. It will be drawn on
|
|
42
45
|
screen, however, if included as part of a :py:class:`~pyglet.graphics.Batch` as shown
|
|
@@ -46,18 +49,18 @@ events dispatched by the Window::
|
|
|
46
49
|
my_window.push_handlers(pushbutton)
|
|
47
50
|
|
|
48
51
|
The widget should now change appearance when you click on it. It will switch between
|
|
49
|
-
the provided images (pressed and
|
|
52
|
+
the provided images (pressed and unpressed states). You can try adding the 'hover'
|
|
50
53
|
image as well, for more visual feedback.
|
|
51
54
|
|
|
52
55
|
Now that our widget is receiving events, we can now take of the events that are
|
|
53
|
-
produced
|
|
54
|
-
events: '
|
|
56
|
+
produced *by* the widget. In this case, the PushButton widget dispatches two
|
|
57
|
+
events: 'on_press' and 'on_release'. To wire these up, we simply set handlers
|
|
55
58
|
for them::
|
|
56
59
|
|
|
57
|
-
def my_on_press_handler():
|
|
60
|
+
def my_on_press_handler(widget):
|
|
58
61
|
print("Button Pressed!")
|
|
59
62
|
|
|
60
|
-
def my_on_release_handler():
|
|
63
|
+
def my_on_release_handler(widget):
|
|
61
64
|
print("Button Released...")
|
|
62
65
|
|
|
63
66
|
pushbutton.set_handler('on_press', my_on_press_handler)
|
|
@@ -112,7 +115,7 @@ Custom widgets
|
|
|
112
115
|
--------------
|
|
113
116
|
For users who are interested in creating their own custom Widgets, the
|
|
114
117
|
:py:class:`~pyglet.gui.widgets.WidgetBase` base class is available for
|
|
115
|
-
subclassing. This base class has most of the
|
|
118
|
+
subclassing. This base class has most of the relevant Window events
|
|
116
119
|
pre-defined, and is ready to be pushed as a handler. Custom subclasses
|
|
117
120
|
can then override whichever mouse or keyboard events they need, depending
|
|
118
121
|
on the application. Some additional helper properties are also provided.
|
|
@@ -69,7 +69,7 @@ sprites might share the same bullet image.
|
|
|
69
69
|
A Sprite is constructed given an image or animation, and can be directly
|
|
70
70
|
drawn with the :py:meth:`~pyglet.sprite.Sprite.draw` method::
|
|
71
71
|
|
|
72
|
-
sprite = pyglet.sprite.Sprite(img=image)
|
|
72
|
+
sprite = pyglet.sprite.Sprite(img=image, x=100, y=50)
|
|
73
73
|
|
|
74
74
|
@window.event
|
|
75
75
|
def on_draw():
|
|
@@ -106,12 +106,12 @@ When sprites are collected into a batch, no guarantee is made about the order
|
|
|
106
106
|
in which they will be drawn. If you need to ensure some sprites are drawn
|
|
107
107
|
before others (for example, landscape tiles might be drawn before character
|
|
108
108
|
sprites, which might be drawn before some particle effect sprites), use two
|
|
109
|
-
or more :py:class:`~pyglet.graphics.
|
|
109
|
+
or more :py:class:`~pyglet.graphics.Group` objects to specify the
|
|
110
110
|
draw order::
|
|
111
111
|
|
|
112
112
|
batch = pyglet.graphics.Batch()
|
|
113
|
-
background = pyglet.graphics.
|
|
114
|
-
foreground = pyglet.graphics.
|
|
113
|
+
background = pyglet.graphics.Group(order=0)
|
|
114
|
+
foreground = pyglet.graphics.Group(order=1)
|
|
115
115
|
|
|
116
116
|
sprites = [pyglet.sprite.Sprite(image, batch=batch, group=background),
|
|
117
117
|
pyglet.sprite.Sprite(image, batch=batch, group=background),
|
|
@@ -158,9 +158,8 @@ image. For example, to center the image at ``(x, y)``::
|
|
|
158
158
|
|
|
159
159
|
You can also specify an optional `z` component to the
|
|
160
160
|
:py:meth:`~pyglet.image.AbstractImage.blit` method.
|
|
161
|
-
This has no effect unless you have
|
|
162
|
-
|
|
163
|
-
image is drawn *behind* the first, even though it is drawn after it::
|
|
161
|
+
This has no effect unless you have enabled depth testing. In the following example,
|
|
162
|
+
the second image is drawn *behind* the first, even though it is drawn after it::
|
|
164
163
|
|
|
165
164
|
from pyglet.gl import *
|
|
166
165
|
glEnable(GL_DEPTH_TEST)
|
|
@@ -168,9 +167,10 @@ image is drawn *behind* the first, even though it is drawn after it::
|
|
|
168
167
|
kitten.blit(x, y, 0)
|
|
169
168
|
kitten.blit(x, y, -0.5)
|
|
170
169
|
|
|
171
|
-
The default pyglet projection has a depth range of (-
|
|
170
|
+
The default pyglet projection has a depth range of (-8192, 8192) -- images drawn
|
|
172
171
|
with a z value outside this range will not be visible, regardless of whether
|
|
173
|
-
depth testing is enabled or not.
|
|
172
|
+
depth testing is enabled or not. (You can create your own Window projection matrix
|
|
173
|
+
if you have specific needs).
|
|
174
174
|
|
|
175
175
|
Images with an alpha channel can be blended with the existing framebuffer. To
|
|
176
176
|
do this you need to supply OpenGL with a blend equation. The following code
|
|
@@ -582,8 +582,8 @@ Image grids
|
|
|
582
582
|
^^^^^^^^^^^
|
|
583
583
|
|
|
584
584
|
An "image grid" is a single image which is divided into several smaller images
|
|
585
|
-
by drawing an imaginary grid over it. The following image shows an image
|
|
586
|
-
|
|
585
|
+
by drawing an imaginary grid over it. The following image shows an image that
|
|
586
|
+
can be used for an asteroid explosion animation.
|
|
587
587
|
|
|
588
588
|
.. figure:: img/explosion.png
|
|
589
589
|
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
Installation
|
|
2
2
|
============
|
|
3
3
|
|
|
4
|
-
.. note:: These instructions apply to pyglet |version|.
|
|
5
|
-
|
|
6
4
|
pyglet is a pure Python library, with no hard dependencies on other modules.
|
|
7
|
-
No special steps or
|
|
5
|
+
No special steps or compilation are required for installation. You can install
|
|
8
6
|
from `on PyPI <https://pypi.python.org/pypi/pyglet>`_ via **pip**. For example:
|
|
9
7
|
|
|
10
8
|
.. code-block:: sh
|
|
@@ -402,7 +402,7 @@ Before adding a new motion, please do the following:
|
|
|
402
402
|
#. Discuss the addition and any remaining questions with maintainers by either:
|
|
403
403
|
|
|
404
404
|
* `Filing a GitHub Issue <https://github.com/pyglet/pyglet/issues>`_
|
|
405
|
-
* `
|
|
405
|
+
* `Joining the Discord server <https://github.com/pyglet/pyglet#contact>`_
|
|
406
406
|
|
|
407
407
|
Then, once you're ready:
|
|
408
408
|
|
|
@@ -807,16 +807,19 @@ normal, and only their volume and pitch properties will affect the sound.
|
|
|
807
807
|
Ticking the clock
|
|
808
808
|
-----------------
|
|
809
809
|
|
|
810
|
-
If you are using pyglet's media libraries outside of a pyglet app
|
|
811
|
-
to use some kind of loop to tick the pyglet clock
|
|
812
|
-
200ms or so), otherwise
|
|
810
|
+
If you are using pyglet's media libraries outside of a pyglet app (not using
|
|
811
|
+
``pyglet.app.run``) you will need to use some kind of loop to tick the pyglet clock
|
|
812
|
+
periodically (perhaps every 200ms or so), otherwise you will have unintended side
|
|
813
|
+
effects. Depending on the backend in use, this could mean only the first small sample
|
|
814
|
+
of media will be played, or crashes due to internal resource exhaustion. At a minimum
|
|
815
|
+
you will need to call::
|
|
813
816
|
|
|
814
817
|
pyglet.clock.tick()
|
|
815
818
|
|
|
816
|
-
If you wish to have a media source loop continuously (
|
|
819
|
+
If you wish to have a media source loop continuously (``player.loop = True``) you will
|
|
817
820
|
also need to ensure Pyglet's events are dispatched inside your loop::
|
|
818
821
|
|
|
819
822
|
pyglet.app.platform_event_loop.dispatch_posted_events()
|
|
820
823
|
|
|
821
|
-
If you are inside a pyglet app then calling
|
|
824
|
+
If you are inside a pyglet app then calling ``pyglet.app.run()`` takes care of
|
|
822
825
|
all this for you.
|
|
@@ -337,7 +337,7 @@ for a more familar experience for computer graphics programmers.
|
|
|
337
337
|
Vec2(x=10, y=5)
|
|
338
338
|
|
|
339
339
|
* The vector ``heading`` property has been replace with the :py:meth:`~pyglet.math.Vec2.heading` function. This is to
|
|
340
|
-
better indicate that this is a calculation, not a static attribute. The function call is also
|
|
340
|
+
better indicate that this is a calculation, not a static attribute. The function call is also marginally faster.
|
|
341
341
|
|
|
342
342
|
* The ``mag`` property has been removed. The :py:meth:`~pyglet.math.Vec2.length` function should be used in it's place.
|
|
343
343
|
|
|
@@ -190,8 +190,8 @@ Specify ``streaming=False`` in this case::
|
|
|
190
190
|
sound = pyglet.resource.media('shot.wav', streaming=False)
|
|
191
191
|
sound.play()
|
|
192
192
|
|
|
193
|
-
The `examples/media_player.py` example demonstrates playback of streaming
|
|
194
|
-
audio and video using pyglet. The `examples/noisy/noisy.py` example
|
|
193
|
+
The `examples/media/media_player.py` example demonstrates playback of streaming
|
|
194
|
+
audio and video using pyglet. The `examples/media/noisy/noisy.py` example
|
|
195
195
|
demonstrates playing many short audio samples simultaneously, as in a game.
|
|
196
196
|
|
|
197
197
|
.. [#mp3] MP3 and other compressed audio formats require FFmpeg to be installed.
|
|
@@ -222,8 +222,5 @@ bit, the `graphics` module provides higher level objects for the most common
|
|
|
222
222
|
OpenGL constructs. The :ref:`guide_graphics` section goes into more detail.
|
|
223
223
|
|
|
224
224
|
There are numerous examples of pyglet applications in the ``examples/``
|
|
225
|
-
directory of the documentation
|
|
226
|
-
stuck, or have any questions, join us on the `
|
|
227
|
-
|
|
228
|
-
.. _mailing list: http://groups.google.com/group/pyglet-users
|
|
229
|
-
.. _Discord: https://discord.gg/QXyegWe
|
|
225
|
+
directory of the documentation. If you get
|
|
226
|
+
stuck, or have any questions, join us on the `Discord server <https://discord.gg/QXyegWe>`_!
|
|
@@ -5,7 +5,7 @@ Shaders and Rendering
|
|
|
5
5
|
|
|
6
6
|
At the lowest level, pyglet uses OpenGL to draw graphics in program windows.
|
|
7
7
|
The OpenGL interface is exposed via the :py:mod:`pyglet.gl` module
|
|
8
|
-
(see :ref:`
|
|
8
|
+
(see :ref:`guide_gl`)
|
|
9
9
|
|
|
10
10
|
.. Note::
|
|
11
11
|
If you intend to use OpenGL ES with pyglet on devices like the Raspberry
|
|
@@ -5,7 +5,7 @@ class PhysicalObject(pyglet.sprite.Sprite):
|
|
|
5
5
|
"""A sprite with physical properties such as velocity"""
|
|
6
6
|
|
|
7
7
|
def __init__(self, *args, **kwargs):
|
|
8
|
-
super(
|
|
8
|
+
super().__init__(*args, **kwargs)
|
|
9
9
|
|
|
10
10
|
# In addition to position, we have velocity
|
|
11
11
|
self.velocity_x, self.velocity_y = 0.0, 0.0
|
|
@@ -7,7 +7,7 @@ class Player(physicalobject.PhysicalObject):
|
|
|
7
7
|
"""Physical object that responds to user input"""
|
|
8
8
|
|
|
9
9
|
def __init__(self, *args, **kwargs):
|
|
10
|
-
super(
|
|
10
|
+
super().__init__(img=resources.player_image, *args, **kwargs)
|
|
11
11
|
|
|
12
12
|
# Set some easy-to-tweak constants
|
|
13
13
|
self.thrust = 300.0
|
|
@@ -33,7 +33,7 @@ class Player(physicalobject.PhysicalObject):
|
|
|
33
33
|
|
|
34
34
|
def update(self, dt):
|
|
35
35
|
# Do all the normal physics stuff
|
|
36
|
-
super(
|
|
36
|
+
super().update(dt)
|
|
37
37
|
|
|
38
38
|
if self.keys['left']:
|
|
39
39
|
self.rotation -= self.rotate_speed * dt
|
|
@@ -6,7 +6,7 @@ class PhysicalObject(pyglet.sprite.Sprite):
|
|
|
6
6
|
"""A sprite with physical properties such as velocity"""
|
|
7
7
|
|
|
8
8
|
def __init__(self, *args, **kwargs):
|
|
9
|
-
super(
|
|
9
|
+
super().__init__(*args, **kwargs)
|
|
10
10
|
|
|
11
11
|
# In addition to position, we have velocity
|
|
12
12
|
self.velocity_x, self.velocity_y = 0.0, 0.0
|
|
@@ -8,7 +8,7 @@ class Player(physicalobject.PhysicalObject):
|
|
|
8
8
|
"""Physical object that responds to user input"""
|
|
9
9
|
|
|
10
10
|
def __init__(self, *args, **kwargs):
|
|
11
|
-
super(
|
|
11
|
+
super().__init__(img=resources.player_image, *args, **kwargs)
|
|
12
12
|
|
|
13
13
|
# Create a child sprite to show when the ship is thrusting
|
|
14
14
|
self.engine_sprite = pyglet.sprite.Sprite(img=resources.engine_image, *args, **kwargs)
|
|
@@ -23,7 +23,7 @@ class Player(physicalobject.PhysicalObject):
|
|
|
23
23
|
|
|
24
24
|
def update(self, dt):
|
|
25
25
|
# Do all the normal physics stuff
|
|
26
|
-
super(
|
|
26
|
+
super().update(dt)
|
|
27
27
|
|
|
28
28
|
if self.key_handler[key.LEFT]:
|
|
29
29
|
self.rotation -= self.rotate_speed * dt
|
|
@@ -50,4 +50,4 @@ class Player(physicalobject.PhysicalObject):
|
|
|
50
50
|
# We have a child sprite which must be deleted when this object
|
|
51
51
|
# is deleted from batches, etc.
|
|
52
52
|
self.engine_sprite.delete()
|
|
53
|
-
super(
|
|
53
|
+
super().delete()
|
|
@@ -6,17 +6,17 @@ class Asteroid(physicalobject.PhysicalObject):
|
|
|
6
6
|
"""An asteroid that divides a little before it dies"""
|
|
7
7
|
|
|
8
8
|
def __init__(self, *args, **kwargs):
|
|
9
|
-
super(
|
|
9
|
+
super().__init__(resources.asteroid_image, *args, **kwargs)
|
|
10
10
|
|
|
11
11
|
# Slowly rotate the asteroid as it moves
|
|
12
12
|
self.rotate_speed = random.random() * 100.0 - 50.0
|
|
13
13
|
|
|
14
14
|
def update(self, dt):
|
|
15
|
-
super(
|
|
15
|
+
super().update(dt)
|
|
16
16
|
self.rotation += self.rotate_speed * dt
|
|
17
17
|
|
|
18
18
|
def handle_collision_with(self, other_object):
|
|
19
|
-
super(
|
|
19
|
+
super().handle_collision_with(other_object)
|
|
20
20
|
|
|
21
21
|
# Superclass handles deadness already
|
|
22
22
|
if self.dead and self.scale > 0.25:
|
|
@@ -6,7 +6,7 @@ class Bullet(physicalobject.PhysicalObject):
|
|
|
6
6
|
"""Bullets fired by the player"""
|
|
7
7
|
|
|
8
8
|
def __init__(self, *args, **kwargs):
|
|
9
|
-
super(
|
|
9
|
+
super().__init__(resources.bullet_image, *args, **kwargs)
|
|
10
10
|
|
|
11
11
|
# Bullets shouldn't stick around forever
|
|
12
12
|
pyglet.clock.schedule_once(self.die, 0.5)
|
|
@@ -6,7 +6,7 @@ class PhysicalObject(pyglet.sprite.Sprite):
|
|
|
6
6
|
"""A sprite with physical properties such as velocity"""
|
|
7
7
|
|
|
8
8
|
def __init__(self, *args, **kwargs):
|
|
9
|
-
super(
|
|
9
|
+
super().__init__(*args, **kwargs)
|
|
10
10
|
|
|
11
11
|
# Velocity
|
|
12
12
|
self.velocity_x, self.velocity_y = 0.0, 0.0
|
|
@@ -8,7 +8,7 @@ class Player(physicalobject.PhysicalObject):
|
|
|
8
8
|
"""Physical object that responds to user input"""
|
|
9
9
|
|
|
10
10
|
def __init__(self, *args, **kwargs):
|
|
11
|
-
super(
|
|
11
|
+
super().__init__(img=resources.player_image, *args, **kwargs)
|
|
12
12
|
|
|
13
13
|
# Create a child sprite to show when the ship is thrusting
|
|
14
14
|
self.engine_sprite = pyglet.sprite.Sprite(img=resources.engine_image, *args, **kwargs)
|
|
@@ -28,7 +28,7 @@ class Player(physicalobject.PhysicalObject):
|
|
|
28
28
|
|
|
29
29
|
def update(self, dt):
|
|
30
30
|
# Do all the normal physics stuff
|
|
31
|
-
super(
|
|
31
|
+
super().update(dt)
|
|
32
32
|
|
|
33
33
|
if self.key_handler[key.LEFT]:
|
|
34
34
|
self.rotation -= self.rotate_speed * dt
|
|
@@ -81,4 +81,4 @@ class Player(physicalobject.PhysicalObject):
|
|
|
81
81
|
# We have a child sprite which must be deleted when this object
|
|
82
82
|
# is deleted from batches, etc.
|
|
83
83
|
self.engine_sprite.delete()
|
|
84
|
-
super(
|
|
84
|
+
super().delete()
|
|
@@ -6,17 +6,17 @@ class Asteroid(physicalobject.PhysicalObject):
|
|
|
6
6
|
"""An asteroid that divides a little before it dies"""
|
|
7
7
|
|
|
8
8
|
def __init__(self, *args, **kwargs):
|
|
9
|
-
super(
|
|
9
|
+
super().__init__(resources.asteroid_image, *args, **kwargs)
|
|
10
10
|
|
|
11
11
|
# Slowly rotate the asteroid as it moves
|
|
12
12
|
self.rotate_speed = random.random() * 100.0 - 50.0
|
|
13
13
|
|
|
14
14
|
def update(self, dt):
|
|
15
|
-
super(
|
|
15
|
+
super().update(dt)
|
|
16
16
|
self.rotation += self.rotate_speed * dt
|
|
17
17
|
|
|
18
18
|
def handle_collision_with(self, other_object):
|
|
19
|
-
super(
|
|
19
|
+
super().handle_collision_with(other_object)
|
|
20
20
|
|
|
21
21
|
# Superclass handles deadness already
|
|
22
22
|
if self.dead and self.scale > 0.25:
|
|
@@ -6,7 +6,7 @@ class Bullet(physicalobject.PhysicalObject):
|
|
|
6
6
|
"""Bullets fired by the player"""
|
|
7
7
|
|
|
8
8
|
def __init__(self, *args, **kwargs):
|
|
9
|
-
super(
|
|
9
|
+
super().__init__(resources.bullet_image, *args, **kwargs)
|
|
10
10
|
|
|
11
11
|
# Bullets shouldn't stick around forever
|
|
12
12
|
pyglet.clock.schedule_once(self.die, 0.5)
|