pyglet 2.1.dev2__tar.gz → 2.1.dev3__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.dev2 → pyglet-2.1.dev3}/.github/workflows/unittests.yml +1 -1
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/PKG-INFO +1 -1
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/RELEASE_NOTES +24 -11
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/contrib/qt_sprite_preview.py +35 -31
- pyglet-2.1.dev3/doc/_static/css/custom.css +29 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/conf.py +147 -49
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/index.rst +1 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/internal/doc.rst +47 -14
- pyglet-2.1.dev3/doc/modules/customtypes.rst +16 -0
- pyglet-2.1.dev3/doc/modules/font.rst +12 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/input.rst +2 -0
- pyglet-2.1.dev3/doc/modules/sprite.rst +15 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/text/layout.rst +1 -0
- pyglet-2.1.dev3/doc/programming_guide/options.rst +54 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/rendering.rst +17 -8
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/requirements.txt +1 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/model/fpscamera.py +27 -26
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/model/model.py +1 -1
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/opengl/torus.py +1 -1
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/sprite/depth_sprite.py +2 -6
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/sprite/multi_texture_sprite.py +77 -48
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/sprite/sprite_batching.py +9 -6
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/make.py +12 -4
- pyglet-2.1.dev3/pyglet/__init__.py +468 -0
- pyglet-2.1.dev3/pyglet/__init__.pyi +29 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/app/__init__.py +6 -8
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/app/base.py +86 -88
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/clock.py +93 -117
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/display/__init__.py +24 -29
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/display/base.py +44 -100
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/event.py +105 -98
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/experimental/hidraw.py +28 -87
- pyglet-2.1.dev3/pyglet/experimental/particles.py +389 -0
- pyglet-2.1.dev3/pyglet/extlibs/earcut.py +714 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/font/__init__.py +54 -41
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/font/base.py +147 -133
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/font/directwrite.py +654 -597
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/font/fontconfig.py +109 -91
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/font/freetype.py +102 -71
- pyglet-2.1.dev3/pyglet/font/freetype_lib.py +598 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/font/quartz.py +42 -36
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/font/ttf.py +238 -239
- pyglet-2.1.dev3/pyglet/font/user.py +291 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/font/win32.py +32 -36
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/gl/base.py +131 -192
- pyglet-2.1.dev3/pyglet/gl/wgl.py +314 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/graphics/__init__.py +9 -2
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/graphics/shader.py +4 -1
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/graphics/vertexdomain.py +2 -4
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/gui/__init__.py +1 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/gui/frame.py +68 -38
- pyglet-2.1.dev3/pyglet/gui/ninepatch.py +269 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/gui/widgets.py +137 -129
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/image/__init__.py +48 -10
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/image/animation.py +38 -77
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/image/atlas.py +74 -110
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/image/buffer.py +91 -50
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/input/__init__.py +27 -38
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/input/base.py +379 -427
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/input/controller.py +33 -37
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/input/linux/evdev.py +12 -64
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/input/win32/__init__.py +4 -4
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/input/win32/wintab.py +8 -10
- pyglet-2.1.dev3/pyglet/libs/__init__.py +19 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/libs/darwin/cocoapy/runtime.py +262 -31
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/libs/darwin/coreaudio.py +86 -19
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/libs/darwin/quartzkey.py +32 -13
- pyglet-2.1.dev3/pyglet/libs/ioctl.py +129 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/libs/x11/xlib.py +1480 -947
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/math.py +64 -65
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/__init__.py +22 -17
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/codecs/__init__.py +4 -1
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/player.py +34 -67
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/player_worker_thread.py +31 -21
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/synthesis.py +105 -81
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/model/__init__.py +106 -58
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/model/codecs/__init__.py +12 -3
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/resource.py +295 -363
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/shapes.py +892 -498
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/sprite.py +255 -260
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/text/__init__.py +218 -244
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/text/caret.py +45 -92
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/text/document.py +216 -210
- pyglet-2.1.dev3/pyglet/text/formats/__init__.py +1 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/text/formats/attributed.py +32 -29
- pyglet-2.1.dev3/pyglet/text/formats/html.py +336 -0
- pyglet-2.1.dev3/pyglet/text/formats/plaintext.py +17 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/text/formats/structured.py +97 -85
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/text/layout/__init__.py +28 -16
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/text/layout/base.py +372 -383
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/text/layout/incremental.py +189 -258
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/text/layout/scrolling.py +77 -60
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/text/runlist.py +91 -84
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/window/__init__.py +440 -580
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/window/cocoa/__init__.py +66 -68
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/window/cocoa/pyglet_delegate.py +49 -36
- pyglet-2.1.dev3/pyglet/window/cocoa/pyglet_textview.py +181 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/window/cocoa/pyglet_view.py +75 -55
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/window/cocoa/pyglet_window.py +31 -18
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/window/cocoa/systemcursor.py +4 -2
- pyglet-2.1.dev3/pyglet/window/event.py +120 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/window/headless/__init__.py +39 -31
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/window/key.py +20 -33
- pyglet-2.1.dev3/pyglet/window/mouse.py +114 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/window/win32/__init__.py +373 -340
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/window/xlib/__init__.py +256 -221
- pyglet-2.1.dev3/pyproject.toml +79 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/media/test_driver.py +0 -1
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/media/test_player.py +0 -1
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/unit/media/test_player.py +3 -2
- pyglet-2.1.dev2/doc/modules/font.rst +0 -6
- pyglet-2.1.dev2/doc/modules/sprite.rst +0 -38
- pyglet-2.1.dev2/doc/programming_guide/options.rst +0 -33
- pyglet-2.1.dev2/pyglet/__init__.py +0 -370
- pyglet-2.1.dev2/pyglet/__init__.pyi +0 -13
- pyglet-2.1.dev2/pyglet/font/freetype_lib.py +0 -558
- pyglet-2.1.dev2/pyglet/font/user.py +0 -182
- pyglet-2.1.dev2/pyglet/gl/wgl.py +0 -338
- pyglet-2.1.dev2/pyglet/libs/x11/__init__.py +0 -1
- pyglet-2.1.dev2/pyglet/text/formats/__init__.py +0 -4
- pyglet-2.1.dev2/pyglet/text/formats/html.py +0 -336
- pyglet-2.1.dev2/pyglet/text/formats/plaintext.py +0 -11
- pyglet-2.1.dev2/pyglet/window/cocoa/pyglet_textview.py +0 -169
- pyglet-2.1.dev2/pyglet/window/event.py +0 -115
- pyglet-2.1.dev2/pyglet/window/mouse.py +0 -100
- pyglet-2.1.dev2/pyproject.toml +0 -14
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/.coveragerc +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/.github/ISSUE_TEMPLATE/questions--or-other.md +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/.github/workflows/codeql.yml +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/.gitignore +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/.readthedocs.yml +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/LICENSE +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/MANIFEST.in +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/README.md +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/contrib/aseprite_codec/README +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/contrib/aseprite_codec/asedemo.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/contrib/aseprite_codec/aseprite.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/contrib/aseprite_codec/running.ase +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/contrib/logo3d/logo3d.jpg +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/contrib/logo3d/logo3d.obj.zip +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/contrib/logo3d/logo3d.wings +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/contrib/scenemanager.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/contrib/toys/follow_mouse.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/Makefile +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/README.md +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/_static/favicon.ico +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/_static/logo.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/_static/logo5.svg +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/_static/relatedlogo.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/external_resources.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/internal/contributing.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/internal/dist.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/internal/generated.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/internal/gl.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/internal/media_logging_manual.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/internal/media_manual.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/internal/testing.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/internal/virtualenv.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/internal/wraptypes-class.svg +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/internal/wraptypes.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/make.bat +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/app.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/canvas.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/clock.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/event.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/gl.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/graphics/allocation.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/graphics/index.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/graphics/shader.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/graphics/vertexbuffer.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/graphics/vertexdomain.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/gui.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/image/animation.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/image/atlas.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/image/buffer.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/image/index.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/info.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/math.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/media.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/media_synthesis.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/pyglet.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/resource.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/shapes.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/text/caret.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/text/document.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/text/index.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/window.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/window_key.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/modules/window_mouse.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/context.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/debug.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/eventloop.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/events.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/examplegame.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/gl.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/gui.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/image.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/abstract_image.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/abstract_image.svg +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/buffer_image.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/buffer_image.svg +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/context_flow.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/context_flow.svg +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/cursor_mac_crosshair.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/cursor_mac_default.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/cursor_mac_hand.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/cursor_mac_no.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/cursor_mac_size_down.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/cursor_mac_size_left.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/cursor_mac_size_left_right.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/cursor_mac_size_right.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/cursor_mac_size_up.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/cursor_mac_size_up_down.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/cursor_mac_text.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/cursor_mac_wait.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/cursor_win_crosshair.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/cursor_win_default.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/cursor_win_hand.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/cursor_win_help.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/cursor_win_no.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/cursor_win_size.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/cursor_win_size_left_right.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/cursor_win_size_nesw.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/cursor_win_size_nwse.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/cursor_win_size_up_down.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/cursor_win_text.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/cursor_win_wait.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/cursor_win_wait_arrow.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/explosion.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/font_metrics.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/font_metrics.svg +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/image_classes.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/image_classes.svg +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/image_grid.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/image_grid.svg +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/image_sequence.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/image_sequence.svg +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/mouse_coordinates.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/mouse_coordinates.svg +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/screens.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/screens.svg +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/text_classes.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/text_classes.svg +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/window_location.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/window_location.svg +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/window_osx_borderless.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/window_osx_default.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/window_osx_dialog.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/window_osx_tool.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/window_xp_default.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/window_xp_dialog.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/window_xp_overlay.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/window_xp_tool.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/img/window_xp_transparent.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/input.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/installation.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/keyboard.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/math.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/media.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/migration.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/mouse.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/quickstart.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/resources.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/shapes.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/text.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/time.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/doc/programming_guide/windowing.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/clipboard.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/dpi_scaled_window.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/events/events_key_state_handler.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/events/register_event_type.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/events/window_events.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/events/window_platform_event.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/file_dialog.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/resources/asteroid.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/resources/bullet.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/resources/bullet.wav +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/resources/engine_flame.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/resources/player.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version1/asteroid.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version1/game/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version1/game/load.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version1/game/resources.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version2/asteroid.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version2/game/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version2/game/load.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version2/game/physicalobject.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version2/game/player.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version2/game/resources.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version3/asteroid.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version3/game/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version3/game/load.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version3/game/physicalobject.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version3/game/player.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version3/game/resources.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version3/game/util.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version4/asteroid.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version4/game/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version4/game/asteroid.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version4/game/bullet.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version4/game/load.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version4/game/physicalobject.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version4/game/player.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version4/game/resources.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version4/game/util.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version5/asteroid.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version5/game/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version5/game/asteroid.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version5/game/bullet.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version5/game/load.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version5/game/physicalobject.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version5/game/player.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version5/game/resources.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/game/version5/game/util.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/graphics/image_convert.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/graphics/image_display.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/gui/bar.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/gui/button_hover.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/gui/button_pressed.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/gui/button_unpressed.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/gui/knob.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/gui/widgets.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/hello_world.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/input/apple_remote.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/input/controller.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/input/input.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/input/joystick.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/input/tablet.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/media/media_info.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/media/media_player.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/media/noisy/README +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/media/noisy/ball.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/media/noisy/ball.wav +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/media/noisy/noisy.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/media/soundspace/README +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/media/soundspace/reader.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/media/soundspace/res/bass.wav +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/media/soundspace/res/drums.wav +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/media/soundspace/res/guitar.wav +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/media/soundspace/res/piano.wav +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/media/soundspace/res/space.txt +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/media/soundspace/soundspace.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/media/synthesizer.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/media/video.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/model/box.mtl +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/model/box.obj +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/model/logo3d.mtl +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/model/logo3d.obj +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/model/pyglet.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/opengl/compute_shader.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/opengl/egl_context.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/opengl/minimal_shader.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/opengl/opengl_context.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/opengl/opengl_core.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/opengl/opengl_scissor.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/opengl/pyglet.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/programming_guide/animation.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/programming_guide/dinosaur.gif +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/programming_guide/events.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/programming_guide/hello_world.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/programming_guide/image_viewer.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/programming_guide/kitten.jpg +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/programming_guide/window_subclass.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/resources/kitten.jpg +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/resources/pyglet.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/shapes.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/sprite/display_sprite.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/text/advanced_font.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/text/html_label.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/text/pyglet.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/text/text_input.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/timer.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/window/camera.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/window/camera_group.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/window/fixed_resolution.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/window/fps_change.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/window/multiple_windows.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/window/overlay_window.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/examples/window/transparent_window.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/experimental/dist_field/README +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/experimental/dist_field/genfield.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/experimental/dist_field/py.df.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/experimental/dist_field/py.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/experimental/dist_field/renderfield.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/experimental/flaccodec.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/experimental/hello_world.svg +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/experimental/spritebenchmark.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/experimental/svg_test.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/experimental/wayland/gbm_egl_context.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/experimental/win32priority.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/app/cocoa.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/app/win32.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/app/xlib.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/customtypes.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/display/cocoa.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/display/headless.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/display/win32.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/display/xlib.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/display/xlib_vidmoderestore.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/experimental/README.md +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/experimental/geoshader_sprite.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/experimental/net.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/extlibs/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/extlibs/png.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/gl/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/gl/agl.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/gl/cocoa.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/gl/gl.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/gl/gl_compat.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/gl/gl_info.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/gl/glx.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/gl/glx_info.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/gl/glxext_arb.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/gl/glxext_mesa.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/gl/glxext_nv.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/gl/headless.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/gl/lib.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/gl/lib_agl.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/gl/lib_glx.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/gl/lib_wgl.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/gl/wgl_info.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/gl/wglext_arb.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/gl/wglext_nv.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/gl/win32.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/gl/xlib.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/graphics/allocation.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/graphics/vertexarray.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/graphics/vertexbuffer.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/image/codecs/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/image/codecs/bmp.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/image/codecs/dds.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/image/codecs/gdiplus.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/image/codecs/gdkpixbuf2.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/image/codecs/gif.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/image/codecs/pil.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/image/codecs/png.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/image/codecs/quartz.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/image/codecs/s3tc.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/image/codecs/wic.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/info.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/input/controller_db.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/input/linux/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/input/linux/evdev_constants.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/input/linux/x11_xinput.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/input/linux/x11_xinput_tablet.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/input/macos/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/input/macos/darwin_hid.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/input/win32/directinput.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/input/win32/xinput.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/lib.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/libs/darwin/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/libs/darwin/cocoapy/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/libs/darwin/cocoapy/cocoalibs.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/libs/darwin/cocoapy/cocoatypes.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/libs/egl/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/libs/egl/egl.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/libs/egl/eglext.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/libs/egl/lib.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/libs/wayland/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/libs/wayland/gbm.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/libs/wayland/xkbcommon.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/libs/win32/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/libs/win32/com.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/libs/win32/constants.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/libs/win32/context_managers.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/libs/win32/dinput.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/libs/win32/libwintab.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/libs/win32/types.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/libs/win32/winkey.py +0 -0
- {pyglet-2.1.dev2/pyglet/libs → pyglet-2.1.dev3/pyglet/libs/x11}/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/libs/x11/cursorfont.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/libs/x11/xf86vmode.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/libs/x11/xinerama.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/libs/x11/xinput.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/libs/x11/xsync.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/buffered_logger.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/codecs/base.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/codecs/coreaudio.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/codecs/ffmpeg.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/codecs/ffmpeg_lib/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/codecs/ffmpeg_lib/compat.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/codecs/ffmpeg_lib/libavcodec.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/codecs/ffmpeg_lib/libavformat.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/codecs/ffmpeg_lib/libavutil.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/codecs/ffmpeg_lib/libswresample.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/codecs/ffmpeg_lib/libswscale.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/codecs/gstreamer.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/codecs/pyogg.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/codecs/wave.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/codecs/wmf.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/devices/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/devices/base.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/devices/win32.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/drivers/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/drivers/base.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/drivers/directsound/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/drivers/directsound/adaptation.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/drivers/directsound/exceptions.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/drivers/directsound/interface.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/drivers/directsound/lib_dsound.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/drivers/listener.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/drivers/openal/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/drivers/openal/adaptation.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/drivers/openal/interface.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/drivers/openal/lib_alc.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/drivers/openal/lib_openal.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/drivers/pulse/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/drivers/pulse/adaptation.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/drivers/pulse/interface.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/drivers/pulse/lib_pulseaudio.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/drivers/silent/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/drivers/silent/adaptation.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/drivers/xaudio2/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/drivers/xaudio2/adaptation.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/drivers/xaudio2/interface.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/drivers/xaudio2/lib_xaudio2.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/exceptions.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/media/instrumentation.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/model/codecs/gltf.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/model/codecs/obj.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pyglet/util.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/pytest.ini +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/setup.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/annotations.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/base/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/base/data.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/base/event_loop.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/base/interactive.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/base/performance.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/conftest.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/fonts/README +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/fonts/action_man.ttf +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/fonts/action_man_bold.ttf +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/fonts/action_man_bold_italic.ttf +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/fonts/action_man_italic.ttf +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/fonts/courR12-ISO8859-1.pcf +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/8bpp.gif +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/cursor.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/dinosaur.gif +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/gdk_close.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/grey_background.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/icon1.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/icon_size1.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/icon_size2.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/icon_size3.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/icon_size4.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/icon_size5.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/l.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/la.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/multitexture.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/rgb.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/rgb_16bpp.bmp +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/rgb_1bpp.bmp +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/rgb_24bpp.bmp +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/rgb_32bpp.bmp +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/rgb_4bpp.bmp +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/rgb_8bpp.bmp +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/rgb_8bpp.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/rgb_8bpp_trans.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/rgb_dxt1.dds +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/rgba.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/rgba_32bpp.bmp +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/rgba_dxt1.dds +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/rgba_dxt3.dds +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/rgba_dxt5.dds +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/images/tests.interactive.test_interactive_test_base._Test.test_1.001.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/media/README +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/media/alert.wav +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/media/login.wav +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/media/logout.wav +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/media/receive.wav +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/media/send.wav +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/media/synthesis_sawtooth_16_11025_1ch.wav +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/media/synthesis_sawtooth_16_44800_1ch.wav +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/media/synthesis_silence_16_11025_1ch.wav +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/media/synthesis_silence_16_44800_1ch.wav +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/media/synthesis_simplefm_16_11025_1ch.wav +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/media/synthesis_simplefm_16_44800_1ch.wav +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/media/synthesis_sine_16_11025_1ch.wav +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/media/synthesis_sine_16_44800_1ch.wav +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/media/synthesis_square_16_11025_1ch.wav +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/media/synthesis_square_16_44800_1ch.wav +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/media/synthesis_triangle_16_11025_1ch.wav +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/media/synthesis_triangle_16_44800_1ch.wav +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/models/logo3d.mtl +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/data/models/logo3d.obj +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/app/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/app/test_eventloop.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/font/test_fontconfig.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/font/test_freetype_face.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/graphics/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/graphics/test_allocation.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/graphics/test_batch_migration.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/image/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/image/test_gdkpixbuf2.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/image/test_imagegrid.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/image/test_texture3d.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/media/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/media/mock_player.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/media/test_directsound.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/media/test_openal.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/media/test_pulse.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/model/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/model/test_loading.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/platform/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/platform/test_win_context_managers.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/platform/test_win_multicore_clock.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/resource/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/resource/dir1/dir1/f3.txt +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/resource/dir1/f2.txt +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/resource/dir1/res.zip +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/resource/dir2/f6.txt +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/resource/f1.txt +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/resource/rgbm.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/resource/test_resource_image_loading.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/resource/test_resource_loading.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/text/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/text/test_empty_document.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/text/test_label_creation.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/text/test_layout_creation.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/window/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/window/test_context_share.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/window/test_event_sequence.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/integration/window/test_window_caption.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/conftest.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/image/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/image/test_image.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/media/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/media/test_player.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/screenshots/committed/README +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/screenshots/session/README +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/shapes/test_shapes.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/test_interactive_test_base.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/text/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/text/test_caret_color.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/text/test_content_valign.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/text/test_html.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/text/test_inline_elements.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/text/test_inline_elements_style_change.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/text/test_multiline_wrap.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/text/test_plain.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/text/test_style.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/window/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/window/test_window_events.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/window/test_window_fullscreen.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/window/test_window_modes.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/window/test_window_multisample.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/window/test_window_open.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/window/test_window_settings.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/window/test_window_styles.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/window/window_util.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/interactive/windowed_test_base.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/requirements.txt +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/unit/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/unit/conftest.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/unit/media/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/unit/media/test_listener.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/unit/media/test_sources.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/unit/media/test_synthesis.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/unit/shapes/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/unit/shapes/conftest.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/unit/shapes/test_bordered_rectangle.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/unit/shapes/test_shapes.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/unit/test_atlas.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/unit/test_clock.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/unit/test_clock_freq.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/unit/test_events.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/unit/test_font.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/unit/test_input.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/unit/test_math.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/unit/test_resource_path.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/unit/test_sprite.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/unit/test_text.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/unit/text/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/unit/text/test_caret.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tests/unit/text/test_layout.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/al_info.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/ffmpeg/bokeh_timeline.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/ffmpeg/compare.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/ffmpeg/configure.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/ffmpeg/extractors.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/ffmpeg/fs.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/ffmpeg/mp.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/ffmpeg/mpexceptions.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/ffmpeg/playmany.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/ffmpeg/readme_ffmpeg_debbuging_branch.txt +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/ffmpeg/readme_run_tests.txt +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/ffmpeg/report.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/ffmpeg/reports.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/ffmpeg/retry_crashed.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/ffmpeg/run_test_suite.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/ffmpeg/summarize.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/ffmpeg/test_instrumentation.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/ffmpeg/timeline.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/gencontrollerdb.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/gengl.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/genwrappers.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/gl.template +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/gl.xml +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/gl_info.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/inspect_font.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/requirements.txt +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/wgl.h +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/wraptypes/__init__.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/wraptypes/cparser.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/wraptypes/ctypesparser.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/wraptypes/lex.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/wraptypes/preprocessor.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/wraptypes/wrap.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/tools/wraptypes/yacc.py +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/LICENSE.txt +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/README.rst +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/assets/favicon.ico +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/assets/static/css/example-custom-styles.css +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/assets/static/images/pyglet.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/content/404.html/contents.lr +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/content/404.html/ngc-5793.jpg +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/content/authors/benjamin/contents.lr +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/content/authors/benjamin/pyglet.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/content/authors/contents.lr +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/content/blog/contents.lr +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/content/blog/welcome-blog/contents.lr +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/content/contents.lr +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/content/eclipse.jpg +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/pyglet.lektorproject +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/AUTHORS.txt +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/CHANGELOG.md +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/CONTRIBUTING.md +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/LICENSE.txt +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/NOTICE.txt +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/README.md +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/assets/static/css/bootstrap.css +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/assets/static/css/icomoon.css +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/assets/static/css/magnific-popup.css +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/assets/static/css/style.css +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/assets/static/fonts/icomoon/icomoon.ttf +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/assets/static/fonts/icomoon/icomoon.woff +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/assets/static/images/Preloader_2.gif +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/assets/static/images/placeholder_person.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/assets/static/js/jquery-3.3.1.min.js +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/assets/static/js/jquery.easing.min.js +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/assets/static/js/jquery.magnific-popup.min.js +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/assets/static/js/jquery.stellar.js +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/assets/static/js/jquery.stellar.min.js +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/assets/static/js/jquery.waypoints.min.js +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/assets/static/js/magnific-popup-options.js +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/assets/static/js/main-singlelayout.js +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/assets/static/js/main.js +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/flowblocks/content.ini +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/flowblocks/gallery.ini +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/flowblocks/gallery_item.ini +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/flowblocks/member.ini +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/flowblocks/mission.ini +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/flowblocks/mission_tab.ini +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/flowblocks/service.ini +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/flowblocks/services.ini +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/flowblocks/team.ini +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/images/blog-index.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/images/full-blog.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/images/full-page.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/images/gallery-404.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/images/gallery-singlepage.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/images/mainpage-screenshots.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/images/responsive-layout.png +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/models/404.ini +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/models/author.ini +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/models/authors.ini +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/models/blog-post.ini +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/models/blog.ini +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/models/page.ini +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/models/single-layout.ini +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/templates/404.html +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/templates/author.html +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/templates/authors.html +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/templates/blocks/content.html +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/templates/blocks/gallery.html +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/templates/blocks/mission.html +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/templates/blocks/services.html +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/templates/blocks/team.html +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/templates/blog-layout.html +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/templates/blog-post.html +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/templates/blog.html +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/templates/layout.html +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/templates/macros/blog.html +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/templates/macros/pagination.html +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/templates/none.html +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/templates/page.html +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/templates/single-layout.html +0 -0
- {pyglet-2.1.dev2 → pyglet-2.1.dev3}/website/themes/lektor-icon/theme.ini +0 -0
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
pyglet 2.0.16
|
|
2
|
+
|
|
3
|
+
Changes and Improvements
|
|
4
|
+
------------------------
|
|
5
|
+
- library-wide overhaul of docstrings, and addition of type hints (#1084)
|
|
6
|
+
|
|
7
|
+
Bugfixes
|
|
8
|
+
--------
|
|
9
|
+
- resource: Fix indexing of directories inside of Zip files. Remove broken code for multi-part archives.
|
|
10
|
+
- shapes: Add missing `thickness` property to Box.
|
|
11
|
+
- shapes: Add missing docstrings to `Arc` `thickness` property.
|
|
12
|
+
|
|
13
|
+
|
|
1
14
|
pyglet 2.0.15
|
|
2
15
|
|
|
3
16
|
Changes and Improvements
|
|
@@ -911,7 +924,7 @@ New features
|
|
|
911
924
|
Improvements
|
|
912
925
|
------------
|
|
913
926
|
- Improved font rendering for fonts with negative bearing (#99)
|
|
914
|
-
- Sprites now have `scale_x` and `scale_y` attributes, allowing for aspect ratio changes. The
|
|
927
|
+
- Sprites now have `scale_x` and `scale_y` attributes, allowing for aspect ratio changes. The
|
|
915
928
|
existing `scale` attribute sets the overall scaling, and functions as before.
|
|
916
929
|
- Sprites have a new `update` method which allows simultaneous changing of position, scale, and
|
|
917
930
|
rotation. This reduces some overhead when changing multiple attributes at once.
|
|
@@ -941,16 +954,16 @@ Bugfixes
|
|
|
941
954
|
|
|
942
955
|
|
|
943
956
|
pyglet 1.2.3
|
|
944
|
-
============
|
|
945
|
-
Minor bugfix release.
|
|
946
|
-
|
|
947
|
-
Bugfixes:
|
|
948
|
-
- Windows: Fix issue where ALT key causes app to hang.
|
|
949
|
-
- Media: Many fixes to PulseAudio and OpenAL media drivers (a.o. #26, #27).
|
|
950
|
-
- OSX: Fix stealing the menu when already present in cocoa.
|
|
951
|
-
- Fix multi texturing support (#28).
|
|
952
|
-
- OSX: Prevent segfault with multiple runs (#37/GC728)
|
|
953
|
-
- ArchLinux: Fix segmentation fault when using gdk_pixbuf (#25)
|
|
957
|
+
============
|
|
958
|
+
Minor bugfix release.
|
|
959
|
+
|
|
960
|
+
Bugfixes:
|
|
961
|
+
- Windows: Fix issue where ALT key causes app to hang.
|
|
962
|
+
- Media: Many fixes to PulseAudio and OpenAL media drivers (a.o. #26, #27).
|
|
963
|
+
- OSX: Fix stealing the menu when already present in cocoa.
|
|
964
|
+
- Fix multi texturing support (#28).
|
|
965
|
+
- OSX: Prevent segfault with multiple runs (#37/GC728)
|
|
966
|
+
- ArchLinux: Fix segmentation fault when using gdk_pixbuf (#25)
|
|
954
967
|
|
|
955
968
|
|
|
956
969
|
pyglet 1.2.2
|
|
@@ -52,15 +52,15 @@ both frag and vertex (IE: test becomes test.vert and test.frag)
|
|
|
52
52
|
|
|
53
53
|
Scrolling the mousewheel also zooms in.
|
|
54
54
|
"""
|
|
55
|
+
from __future__ import annotations
|
|
55
56
|
|
|
57
|
+
import argparse
|
|
56
58
|
import os
|
|
57
59
|
import sys
|
|
58
60
|
import traceback
|
|
59
|
-
import argparse
|
|
60
61
|
from pathlib import Path
|
|
61
|
-
|
|
62
62
|
from textwrap import dedent
|
|
63
|
-
from typing import TYPE_CHECKING, Final,
|
|
63
|
+
from typing import TYPE_CHECKING, Final, Mapping
|
|
64
64
|
|
|
65
65
|
# Constants for choosing a Qt backend and summarizing their licensing
|
|
66
66
|
ENV_VARIABLE: Final[str] = 'PYGLET_QT_BACKEND'
|
|
@@ -68,9 +68,9 @@ ENV_VARIABLE: Final[str] = 'PYGLET_QT_BACKEND'
|
|
|
68
68
|
PYSIDE2: Final[str] = 'PySide2'
|
|
69
69
|
PYQT5: Final[str] = 'PyQt5'
|
|
70
70
|
|
|
71
|
-
valid_backends: Final[
|
|
71
|
+
valid_backends: Final[dict[str, str]] = {
|
|
72
72
|
PYSIDE2: "LGPL; may allow releasing under non-GPL licenses",
|
|
73
|
-
PYQT5: "Dual GPL / Commercial license; requires GPL or a fee"
|
|
73
|
+
PYQT5: "Dual GPL / Commercial license; requires GPL or a fee",
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
# Default to PySide2 as part of allowing non-GPL licenses
|
|
@@ -80,34 +80,34 @@ DEFAULT: Final[str] = PYSIDE2
|
|
|
80
80
|
|
|
81
81
|
# Argument parser for run-time config as __main__
|
|
82
82
|
parser = argparse.ArgumentParser(
|
|
83
|
-
description=dedent(
|
|
83
|
+
description=dedent("""\
|
|
84
84
|
A sprite & shader previewer using Qt and pyglet together.
|
|
85
85
|
|
|
86
86
|
It defaults to PySide2, but can run on PyQt5. The details of how may
|
|
87
87
|
be helpful to users who want to avoid spreading PyQt5's GPL license
|
|
88
88
|
while using it as a fallback. See the docstrings and comments in the
|
|
89
89
|
source to learn more.
|
|
90
|
-
|
|
90
|
+
"""),
|
|
91
91
|
formatter_class=argparse.RawTextHelpFormatter)
|
|
92
92
|
|
|
93
93
|
# On Python 3.9+, argparse.BooleanOptionalAction is more concise
|
|
94
94
|
# See https://docs.python.org/3.9/library/argparse.html#action
|
|
95
95
|
parser.add_argument(
|
|
96
96
|
'--use-qt-file-dialog', dest='native_file_dialog', action='store_false',
|
|
97
|
-
help="Use Qt's file chooser instead of the system's. Helpful on Gnome DE."
|
|
97
|
+
help="Use Qt's file chooser instead of the system's. Helpful on Gnome DE.",
|
|
98
98
|
)
|
|
99
99
|
parser.set_defaults(native_file_dialog=True)
|
|
100
100
|
|
|
101
101
|
|
|
102
102
|
# Generate options help text lines
|
|
103
103
|
backend_column_width: Final[int] = max(map(len, valid_backends))
|
|
104
|
-
help_lines:
|
|
104
|
+
help_lines: list[str] = ["Which Qt binding to use.\n"]
|
|
105
105
|
|
|
106
106
|
for backend, description in valid_backends.items():
|
|
107
107
|
line_parts = [
|
|
108
108
|
f"{backend: <{backend_column_width}} - ",
|
|
109
109
|
'(Default) ' if backend == DEFAULT else '',
|
|
110
|
-
description
|
|
110
|
+
description,
|
|
111
111
|
]
|
|
112
112
|
help_lines.append(''.join(line_parts))
|
|
113
113
|
|
|
@@ -122,12 +122,12 @@ arguments = None
|
|
|
122
122
|
if __name__ == "__main__":
|
|
123
123
|
arguments = parser.parse_args()
|
|
124
124
|
|
|
125
|
-
reasons_with_backend_values: Final[
|
|
125
|
+
reasons_with_backend_values: Final[dict[str, str | None]] = {
|
|
126
126
|
'first positional argument' : None if not arguments else arguments.backend,
|
|
127
127
|
# An environment variable allows specifying the binding when
|
|
128
128
|
# importing the module instead of running it as a main program.
|
|
129
129
|
f'{ENV_VARIABLE!r} env variable' : os.environ.get(ENV_VARIABLE, None),
|
|
130
|
-
'default' : DEFAULT
|
|
130
|
+
'default' : DEFAULT,
|
|
131
131
|
}
|
|
132
132
|
reason, backend = next(filter(
|
|
133
133
|
lambda t: t[1] is not None, reasons_with_backend_values.items()))
|
|
@@ -143,16 +143,14 @@ import pyglet
|
|
|
143
143
|
# uses of PyQt5-specific features as missing. For example, pyright is
|
|
144
144
|
# one of the strict type checking and linting tools which can help.
|
|
145
145
|
if TYPE_CHECKING or backend == PYSIDE2:
|
|
146
|
-
from PySide2.QtGui import QWheelEvent
|
|
147
|
-
from PySide2.QtWidgets import QFileDialog
|
|
148
146
|
from PySide2 import QtCore, QtWidgets
|
|
149
|
-
from PySide2.
|
|
147
|
+
from PySide2.QtGui import QWheelEvent
|
|
148
|
+
from PySide2.QtWidgets import QFileDialog, QOpenGLWidget
|
|
150
149
|
|
|
151
150
|
elif backend == PYQT5:
|
|
152
|
-
from PyQt5.QtGui import QWheelEvent
|
|
153
|
-
from PyQt5.QtWidgets import QFileDialog
|
|
154
151
|
from PyQt5 import QtCore, QtWidgets
|
|
155
|
-
from PyQt5.
|
|
152
|
+
from PyQt5.QtGui import QWheelEvent
|
|
153
|
+
from PyQt5.QtWidgets import QFileDialog, QOpenGLWidget
|
|
156
154
|
|
|
157
155
|
else: # Handle import edge cases
|
|
158
156
|
raise ValueError(
|
|
@@ -162,11 +160,18 @@ else: # Handle import edge cases
|
|
|
162
160
|
# Import the other constants after the UI libraries to avoid
|
|
163
161
|
# cluttering the symbol table when debugging import problems.
|
|
164
162
|
from pyglet.gl import (
|
|
165
|
-
|
|
166
|
-
|
|
163
|
+
GL_BLEND,
|
|
164
|
+
GL_COLOR_BUFFER_BIT,
|
|
165
|
+
GL_DEPTH_BUFFER_BIT,
|
|
166
|
+
GL_TEXTURE0,
|
|
167
|
+
glActiveTexture,
|
|
168
|
+
glBindTexture,
|
|
169
|
+
glBlendFunc,
|
|
170
|
+
glClear,
|
|
171
|
+
glDisable,
|
|
172
|
+
glEnable,
|
|
167
173
|
)
|
|
168
174
|
|
|
169
|
-
|
|
170
175
|
default_vertex_src = """#version 150 core
|
|
171
176
|
in vec3 translate;
|
|
172
177
|
in vec4 colors;
|
|
@@ -233,8 +238,8 @@ class MultiTextureSpriteGroup(pyglet.sprite.SpriteGroup):
|
|
|
233
238
|
textures: Mapping[str, pyglet.image.Texture],
|
|
234
239
|
blend_src: int,
|
|
235
240
|
blend_dest: int,
|
|
236
|
-
program:
|
|
237
|
-
parent:
|
|
241
|
+
program: pyglet.graphics.shader.ShaderProgram | None = None,
|
|
242
|
+
parent: pyglet.graphics.Group | None = None,
|
|
238
243
|
) -> None:
|
|
239
244
|
"""Create a sprite group for multiple textures and samplers.
|
|
240
245
|
|
|
@@ -297,7 +302,7 @@ class MultiTextureSpriteGroup(pyglet.sprite.SpriteGroup):
|
|
|
297
302
|
self.blend_src, self.blend_dest))
|
|
298
303
|
|
|
299
304
|
|
|
300
|
-
class MultiTextureSprite(pyglet.sprite.
|
|
305
|
+
class MultiTextureSprite(pyglet.sprite.Sprite):
|
|
301
306
|
|
|
302
307
|
def __init__(
|
|
303
308
|
self,
|
|
@@ -305,10 +310,10 @@ class MultiTextureSprite(pyglet.sprite.AdvancedSprite):
|
|
|
305
310
|
x: float = 0, y: float = 0, z: float = 0,
|
|
306
311
|
blend_src: int = pyglet.gl.GL_SRC_ALPHA,
|
|
307
312
|
blend_dest: int = pyglet.gl.GL_ONE_MINUS_SRC_ALPHA,
|
|
308
|
-
batch:
|
|
309
|
-
group:
|
|
313
|
+
batch: pyglet.graphics.Batch | None = None,
|
|
314
|
+
group: MultiTextureSpriteGroup | None = None,
|
|
310
315
|
subpixel: bool = False,
|
|
311
|
-
program: pyglet.graphics.shader.ShaderProgram = None
|
|
316
|
+
program: pyglet.graphics.shader.ShaderProgram = None,
|
|
312
317
|
) -> None:
|
|
313
318
|
|
|
314
319
|
self._x = x
|
|
@@ -484,7 +489,7 @@ class Ui_MainWindow:
|
|
|
484
489
|
self.program = pyglet.graphics.shader.ShaderProgram(vertex_, fragment_)
|
|
485
490
|
|
|
486
491
|
if len(self.images) == 1:
|
|
487
|
-
self.sprite = pyglet.sprite.
|
|
492
|
+
self.sprite = pyglet.sprite.Sprite(
|
|
488
493
|
self.images[0],
|
|
489
494
|
x=self.SPRITE_POSITION[0], y=self.SPRITE_POSITION[1],
|
|
490
495
|
group=self.group, batch=self.openGLWidget.batch,
|
|
@@ -685,7 +690,6 @@ class PygletWidget(QOpenGLWidget):
|
|
|
685
690
|
|
|
686
691
|
def initializeGL(self) -> None:
|
|
687
692
|
"""Call anything that needs a context to be created."""
|
|
688
|
-
|
|
689
693
|
self._projection_matrix = pyglet.math.Mat4()
|
|
690
694
|
self._view_matrix = pyglet.math.Mat4()
|
|
691
695
|
|
|
@@ -702,7 +706,7 @@ class PygletWidget(QOpenGLWidget):
|
|
|
702
706
|
self.viewport = 0, 0, self.width(), self.height()
|
|
703
707
|
|
|
704
708
|
@property
|
|
705
|
-
def viewport(self) ->
|
|
709
|
+
def viewport(self) -> tuple[int, int, int, int]:
|
|
706
710
|
"""The Window viewport
|
|
707
711
|
|
|
708
712
|
The Window viewport, expressed as (x, y, width, height).
|
|
@@ -712,7 +716,7 @@ class PygletWidget(QOpenGLWidget):
|
|
|
712
716
|
return self._viewport
|
|
713
717
|
|
|
714
718
|
@viewport.setter
|
|
715
|
-
def viewport(self, values:
|
|
719
|
+
def viewport(self, values: tuple[int, int, int, int]) -> None:
|
|
716
720
|
self._viewport = values
|
|
717
721
|
pr = 1.0
|
|
718
722
|
x, y, w, h = values
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/* Import RTD theme before our own changes. */
|
|
2
|
+
@import 'theme.css';
|
|
3
|
+
|
|
4
|
+
/* CSS to fix wrapping: https://github.com/readthedocs/sphinx_rtd_theme/issues/1529#issuecomment-1918561608 */
|
|
5
|
+
/* Take out pointless vertical whitespace in the signatures. */
|
|
6
|
+
.rst-content dl .sig dl,
|
|
7
|
+
.rst-content dl .sig dd {
|
|
8
|
+
margin-bottom: 0;
|
|
9
|
+
margin-top: 0;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/* Make class boxes full-width, with view-source and header links right-aligned. */
|
|
13
|
+
.py.class > .sig.sig-object.py:first-of-type {
|
|
14
|
+
width: 100%;
|
|
15
|
+
}
|
|
16
|
+
.py.class > .sig.sig-object.py:first-of-type .viewcode-link {
|
|
17
|
+
display: inline-flex;
|
|
18
|
+
float: right;
|
|
19
|
+
margin-right: 1.5em;
|
|
20
|
+
}
|
|
21
|
+
.py.class > .sig.sig-object.py:first-of-type .headerlink {
|
|
22
|
+
position: absolute;
|
|
23
|
+
right: 0.5em;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/* Prevent multiple properties from being on the same row. */
|
|
27
|
+
dl.py.property {
|
|
28
|
+
display: block !important;
|
|
29
|
+
}
|
|
@@ -1,26 +1,70 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
#
|
|
3
2
|
# pyglet documentation build configuration file.
|
|
4
3
|
#
|
|
5
4
|
# This file is execfile()d with the current directory set to its containing dir.
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
import datetime
|
|
8
6
|
import os
|
|
9
7
|
import sys
|
|
10
8
|
import time
|
|
11
|
-
import
|
|
9
|
+
import typing
|
|
10
|
+
from typing import TypeVar
|
|
11
|
+
|
|
12
|
+
import sphinx_autodoc_typehints
|
|
13
|
+
|
|
14
|
+
# -- Extensions to the Napoleon GoogleDocstring class ---------------------
|
|
15
|
+
from sphinx.ext.napoleon.docstring import GoogleDocstring
|
|
16
|
+
from sphinx.parsers import RSTParser
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def parse_attributes_section(self, section):
|
|
20
|
+
# Combination of _format_fields and _parse_attributes_section to get type hints loaded properly using
|
|
21
|
+
# the theme and getting the custom name instead of Specifying just 'Variables'
|
|
22
|
+
field_type = "Class Variables"
|
|
23
|
+
fields = self._consume_fields()
|
|
24
|
+
|
|
25
|
+
field_type = ":%s:" % field_type.strip()
|
|
26
|
+
padding = " " * len(field_type)
|
|
27
|
+
multi = len(fields) > 1
|
|
28
|
+
lines: list[str] = []
|
|
29
|
+
for _name, _type, _desc in fields:
|
|
30
|
+
if not _type:
|
|
31
|
+
_type = self._lookup_annotation(_name)
|
|
32
|
+
if _name in self._annotations:
|
|
33
|
+
_type = sphinx_autodoc_typehints.add_type_css_class(
|
|
34
|
+
sphinx_autodoc_typehints.format_annotation(self._annotations[_name], self._app.config))
|
|
35
|
+
|
|
36
|
+
field = self._format_field(_name, _type, _desc)
|
|
37
|
+
if multi:
|
|
38
|
+
if lines:
|
|
39
|
+
lines.extend(self._format_block(padding + " * ", field))
|
|
40
|
+
else:
|
|
41
|
+
lines.extend(self._format_block(field_type + " * ", field))
|
|
42
|
+
else:
|
|
43
|
+
lines.extend(self._format_block(field_type + " ", field))
|
|
44
|
+
if lines and lines[-1]:
|
|
45
|
+
lines.append("")
|
|
46
|
+
return lines
|
|
47
|
+
|
|
12
48
|
|
|
13
|
-
|
|
14
|
-
# See sphinx ticket: https://github.com/sphinx-doc/sphinx/issues/2044
|
|
15
|
-
from sphinx.ext.autodoc import ClassLevelDocumenter
|
|
49
|
+
GoogleDocstring._parse_attributes_section = parse_attributes_section
|
|
16
50
|
|
|
51
|
+
# Unpatch... the patch.
|
|
52
|
+
def _revert_patch():
|
|
53
|
+
pass
|
|
17
54
|
|
|
18
|
-
|
|
19
|
-
ClassLevelDocumenter.add_directive_header(self, sig)
|
|
55
|
+
sphinx_autodoc_typehints.patches._patch_google_docstring_lookup_annotation = _revert_patch
|
|
20
56
|
|
|
57
|
+
# Patch to fix our RST insertion issues.
|
|
58
|
+
class _RstSnippetParser(RSTParser):
|
|
59
|
+
@staticmethod
|
|
60
|
+
def decorate(_content) -> None:
|
|
61
|
+
"""Override to skip processing rst_epilog/rst_prolog for typing."""
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
sphinx_autodoc_typehints.parser.RSTParser = _RstSnippetParser
|
|
21
65
|
|
|
22
66
|
def write_build(data, filename):
|
|
23
|
-
with open(os.path.join(
|
|
67
|
+
with open(os.path.join("internal", filename), "w") as f:
|
|
24
68
|
f.write(".. list-table::\n")
|
|
25
69
|
f.write(" :widths: 50 50\n")
|
|
26
70
|
f.write("\n")
|
|
@@ -33,10 +77,10 @@ sys.is_pyglet_doc_run = True
|
|
|
33
77
|
document_modules = ["pyglet"]
|
|
34
78
|
|
|
35
79
|
# Patched extensions base path.
|
|
36
|
-
sys.path.insert(0, os.path.abspath(
|
|
80
|
+
sys.path.insert(0, os.path.abspath("."))
|
|
37
81
|
|
|
38
82
|
# import the pyglet package.
|
|
39
|
-
sys.path.insert(0, os.path.abspath(
|
|
83
|
+
sys.path.insert(0, os.path.abspath(".."))
|
|
40
84
|
|
|
41
85
|
|
|
42
86
|
try:
|
|
@@ -47,8 +91,11 @@ except ImportError:
|
|
|
47
91
|
sys.exit(1)
|
|
48
92
|
|
|
49
93
|
|
|
94
|
+
|
|
95
|
+
|
|
50
96
|
# -- PYGLET DOCUMENTATION CONFIGURATION ----------------------------------------
|
|
51
97
|
|
|
98
|
+
|
|
52
99
|
# Set up substitutions that can be referenced later.
|
|
53
100
|
# IMPORTANT:
|
|
54
101
|
# Substitutions are moody and NEED control-like characters to be escaped
|
|
@@ -58,21 +105,17 @@ except ImportError:
|
|
|
58
105
|
# avoid having to deal with syntax errors.
|
|
59
106
|
# Also, please note that there does not appear to be a good way to use
|
|
60
107
|
# substitutions within link text by default.
|
|
61
|
-
|
|
62
|
-
.. |min_python_version| replace:: {
|
|
63
|
-
.. |min_python_version_package_name| replace:: ``python{
|
|
64
|
-
.. |min_python_version_fancy_str| replace:: Python {
|
|
65
|
-
"""
|
|
66
|
-
min_python_version=pyglet.MIN_PYTHON_VERSION_STR
|
|
67
|
-
)
|
|
108
|
+
rst_epilog = rf"""
|
|
109
|
+
.. |min_python_version| replace:: {pyglet.MIN_PYTHON_VERSION_STR}
|
|
110
|
+
.. |min_python_version_package_name| replace:: ``python{pyglet.MIN_PYTHON_VERSION_STR}``
|
|
111
|
+
.. |min_python_version_fancy_str| replace:: Python {pyglet.MIN_PYTHON_VERSION_STR}\+
|
|
112
|
+
"""
|
|
68
113
|
|
|
69
114
|
implementations = ["cocoa", "win32", "xlib"]
|
|
70
115
|
|
|
71
116
|
# For each module, a list of submodules that should not be imported.
|
|
72
117
|
# If value is None, do not try to import any submodule.
|
|
73
118
|
skip_modules = {"pyglet": {
|
|
74
|
-
"pyglet.com": None,
|
|
75
|
-
"pyglet.compat": None,
|
|
76
119
|
"pyglet.lib": None,
|
|
77
120
|
"pyglet.libs": None,
|
|
78
121
|
"pyglet.app": implementations,
|
|
@@ -80,7 +123,8 @@ skip_modules = {"pyglet": {
|
|
|
80
123
|
"pyglet.extlibs": None,
|
|
81
124
|
"pyglet.font": ["quartz",
|
|
82
125
|
"win32",
|
|
83
|
-
"freetype",
|
|
126
|
+
"freetype",
|
|
127
|
+
"freetype_lib",
|
|
84
128
|
"fontconfig",
|
|
85
129
|
"win32query"],
|
|
86
130
|
"pyglet.input": ["darwin_hid",
|
|
@@ -110,7 +154,7 @@ skip_modules = {"pyglet": {
|
|
|
110
154
|
now = datetime.datetime.fromtimestamp(time.time())
|
|
111
155
|
build_data = (("Date", now.strftime("%Y/%m/%d %H:%M:%S")),
|
|
112
156
|
("pyglet version", pyglet.version))
|
|
113
|
-
write_build(build_data,
|
|
157
|
+
write_build(build_data, "build.rst")
|
|
114
158
|
|
|
115
159
|
# -- SPHINX STANDARD OPTIONS ---------------------------------------------------
|
|
116
160
|
|
|
@@ -127,38 +171,53 @@ inheritance_graph_attrs = dict(rankdir="LR", size='""')
|
|
|
127
171
|
|
|
128
172
|
# Add any Sphinx extension module names here, as strings. They can be extensions
|
|
129
173
|
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
|
130
|
-
extensions = [
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
174
|
+
extensions = ["sphinx.ext.autodoc",
|
|
175
|
+
"sphinx.ext.napoleon",
|
|
176
|
+
"sphinx.ext.intersphinx",
|
|
177
|
+
"sphinx.ext.inheritance_diagram",
|
|
178
|
+
"sphinx.ext.todo",
|
|
179
|
+
"sphinx_autodoc_typehints",
|
|
180
|
+
]
|
|
181
|
+
|
|
182
|
+
# Autodoc settings.
|
|
183
|
+
autodoc_member_order = "groupwise"
|
|
135
184
|
|
|
136
|
-
|
|
185
|
+
# Separate init from the class header as RTD theme makes it all the same color, reducing readability.
|
|
186
|
+
autodoc_class_signature = "separated"
|
|
187
|
+
|
|
188
|
+
# Add type hints to description and parameters in docs.
|
|
189
|
+
autodoc_typehints = "signature"
|
|
190
|
+
autodoc_typehints_format = "short"
|
|
191
|
+
|
|
192
|
+
# Configuration for sphinx_autodoc_typehints
|
|
193
|
+
typehints_use_signature = True
|
|
194
|
+
typehints_use_signature_return = True
|
|
195
|
+
always_use_bars_union = True
|
|
137
196
|
|
|
138
197
|
# Enable links to Python's main doc
|
|
139
198
|
intersphinx_mapping = {
|
|
140
|
-
|
|
199
|
+
"python": ("https://docs.python.org/3", None),
|
|
141
200
|
}
|
|
142
201
|
|
|
143
202
|
# Add any paths that contain templates here, relative to this directory.
|
|
144
|
-
templates_path = [
|
|
203
|
+
templates_path = ["_templates"]
|
|
145
204
|
|
|
146
205
|
# The suffix of source filenames.
|
|
147
|
-
source_suffix =
|
|
206
|
+
source_suffix = ".rst"
|
|
148
207
|
|
|
149
208
|
# The master toctree document.
|
|
150
|
-
master_doc =
|
|
209
|
+
master_doc = "index"
|
|
151
210
|
|
|
152
211
|
# General information about the project.
|
|
153
|
-
project =
|
|
154
|
-
copyright =
|
|
212
|
+
project = "pyglet"
|
|
213
|
+
copyright = "2006-2008, Alex Holkner. 2008-2023 pyglet contributors"
|
|
155
214
|
|
|
156
215
|
# The version info for the project you're documenting, acts as replacement for
|
|
157
216
|
# |version| and |release|, also used in various other places throughout the
|
|
158
217
|
# built documents.
|
|
159
218
|
#
|
|
160
219
|
# The short X.Y version.
|
|
161
|
-
version =
|
|
220
|
+
version = "2.0"
|
|
162
221
|
# The full version, including alpha/beta/rc tags.
|
|
163
222
|
release = pyglet.version
|
|
164
223
|
|
|
@@ -174,7 +233,7 @@ release = pyglet.version
|
|
|
174
233
|
|
|
175
234
|
# List of patterns, relative to source directory, that match files and
|
|
176
235
|
# directories to ignore when looking for source files.
|
|
177
|
-
exclude_patterns = [
|
|
236
|
+
exclude_patterns = ["_build", "_templates", "api"]
|
|
178
237
|
|
|
179
238
|
# The reST default role (used for this markup: `text`) to use for all documents.
|
|
180
239
|
#default_role = None
|
|
@@ -191,23 +250,29 @@ add_module_names = False
|
|
|
191
250
|
#show_authors = False
|
|
192
251
|
|
|
193
252
|
# The name of the Pygments (syntax highlighting) style to use.
|
|
194
|
-
pygments_style =
|
|
253
|
+
pygments_style = "sphinx"
|
|
195
254
|
|
|
196
255
|
# A list of ignored prefixes for module index sorting.
|
|
197
|
-
modindex_common_prefix = [
|
|
256
|
+
modindex_common_prefix = ["pyglet."]
|
|
198
257
|
|
|
199
258
|
|
|
200
259
|
# -- Options for HTML output ---------------------------------------------------
|
|
201
260
|
|
|
202
261
|
# The theme to use for HTML and HTML Help pages. See the documentation for
|
|
203
262
|
# a list of builtin themes.
|
|
204
|
-
html_theme =
|
|
263
|
+
html_theme = "sphinx_rtd_theme"
|
|
205
264
|
|
|
206
265
|
# Theme options are theme-specific and customize the look and feel of a theme
|
|
207
266
|
# further. For a list of options available for each theme, see the
|
|
208
267
|
# documentation.
|
|
209
268
|
#html_theme_options = {}
|
|
210
269
|
|
|
270
|
+
# Force custom css to allow multiline inits.
|
|
271
|
+
html_css_files = [
|
|
272
|
+
"css/custom.css",
|
|
273
|
+
]
|
|
274
|
+
html_style = "css/custom.css"
|
|
275
|
+
|
|
211
276
|
# Add any paths that contain custom themes here, relative to this directory.
|
|
212
277
|
# html_theme_path = ["ext/theme"]
|
|
213
278
|
|
|
@@ -230,7 +295,7 @@ html_favicon = "_static/favicon.ico"
|
|
|
230
295
|
# Add any paths that contain custom static files (such as style sheets) here,
|
|
231
296
|
# relative to this directory. They are copied after the builtin static files,
|
|
232
297
|
# so a file named "default.css" will overwrite the builtin "default.css".
|
|
233
|
-
html_static_path = [
|
|
298
|
+
html_static_path = ["_static"]
|
|
234
299
|
|
|
235
300
|
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
|
|
236
301
|
# using the given strftime format.
|
|
@@ -274,7 +339,7 @@ html_show_sourcelink = False
|
|
|
274
339
|
#html_file_suffix = None
|
|
275
340
|
|
|
276
341
|
# Output file base name for HTML help builder.
|
|
277
|
-
htmlhelp_basename =
|
|
342
|
+
htmlhelp_basename = "pygletdoc"
|
|
278
343
|
|
|
279
344
|
|
|
280
345
|
# -- Options for LaTeX output --------------------------------------------------
|
|
@@ -293,8 +358,8 @@ latex_elements = {
|
|
|
293
358
|
# Grouping the document tree into LaTeX files. List of tuples
|
|
294
359
|
# (source start file, target name, title, author, documentclass [howto/manual]).
|
|
295
360
|
latex_documents = [
|
|
296
|
-
(
|
|
297
|
-
|
|
361
|
+
("index", "pyglet.tex", "pyglet Documentation",
|
|
362
|
+
"Alex Holkner", "manual"),
|
|
298
363
|
]
|
|
299
364
|
|
|
300
365
|
# The name of an image file (relative to this directory) to place at the top of
|
|
@@ -323,8 +388,8 @@ latex_documents = [
|
|
|
323
388
|
# One entry per manual page. List of tuples
|
|
324
389
|
# (source start file, name, description, authors, manual section).
|
|
325
390
|
man_pages = [
|
|
326
|
-
(
|
|
327
|
-
[
|
|
391
|
+
("index", "pyglet", "pyglet Documentation",
|
|
392
|
+
["Alex Holkner"], 1),
|
|
328
393
|
]
|
|
329
394
|
|
|
330
395
|
# If true, show URL addresses after external links.
|
|
@@ -337,9 +402,9 @@ man_pages = [
|
|
|
337
402
|
# (source start file, target name, title, author,
|
|
338
403
|
# dir menu entry, description, category)
|
|
339
404
|
texinfo_documents = [
|
|
340
|
-
(
|
|
341
|
-
|
|
342
|
-
|
|
405
|
+
("index", "pyglet", "pyglet Documentation",
|
|
406
|
+
"Alex Holkner", "pyglet", "One line description of project.",
|
|
407
|
+
"Miscellaneous"),
|
|
343
408
|
]
|
|
344
409
|
|
|
345
410
|
# Documents to append as an appendix to all manuals.
|
|
@@ -350,3 +415,36 @@ texinfo_documents = [
|
|
|
350
415
|
|
|
351
416
|
# How to display URL addresses: 'footnote', 'no', or 'inline'.
|
|
352
417
|
#texinfo_show_urls = 'footnote'
|
|
418
|
+
|
|
419
|
+
python_maximum_signature_line_length = 85
|
|
420
|
+
|
|
421
|
+
nitpicky = True
|
|
422
|
+
|
|
423
|
+
def custom_formatter(annotation, config):
|
|
424
|
+
# Fixes TypeVar bounds, where the bound reference is forward referenced and class cannot be determined.
|
|
425
|
+
# Defaults to a class style. Seems good enough for now since most bound things are classes.
|
|
426
|
+
if isinstance(annotation, TypeVar):
|
|
427
|
+
try:
|
|
428
|
+
module = sphinx_autodoc_typehints.get_annotation_module(annotation)
|
|
429
|
+
class_name = sphinx_autodoc_typehints.get_annotation_class_name(annotation, module)
|
|
430
|
+
args = sphinx_autodoc_typehints.get_annotation_args(annotation, module, class_name)
|
|
431
|
+
except ValueError:
|
|
432
|
+
return str(annotation).strip("'")
|
|
433
|
+
params = {k: getattr(annotation, f"__{k}__") for k in ("bound", "covariant", "contravariant")}
|
|
434
|
+
params = {k: v for k, v in params.items() if v}
|
|
435
|
+
if "bound" in params:
|
|
436
|
+
bound_param = params["bound"]
|
|
437
|
+
if isinstance(bound_param, typing.ForwardRef):
|
|
438
|
+
# May be wrong but
|
|
439
|
+
params["bound"] = f":py:class:`{bound_param.__forward_arg__}`"
|
|
440
|
+
else:
|
|
441
|
+
params["bound"] = f"{sphinx_autodoc_typehints.format_annotation(bound_param, config)}"
|
|
442
|
+
args_format = f"\\(``{annotation.__name__}``{', {}' if args else ''}"
|
|
443
|
+
if params:
|
|
444
|
+
args_format += "".join(f", *{k} =* {v}" for k, v in params.items())
|
|
445
|
+
args_format += ")"
|
|
446
|
+
formatted_args = None if args else args_format
|
|
447
|
+
return f":py:class:`TypeVar` {formatted_args}"
|
|
448
|
+
return None
|
|
449
|
+
|
|
450
|
+
typehints_formatter = custom_formatter
|