pyglet 3.0.dev9__tar.gz → 3.0.dev10__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-3.0.dev10/PKG-INFO +188 -0
- pyglet-3.0.dev10/contrib/dist_field/renderfield.py +263 -0
- pyglet-3.0.dev10/doc/internal/generated.rst +76 -0
- pyglet-3.0.dev10/doc/internal/gl.rst +47 -0
- pyglet-3.0.dev10/doc/modules/graphics/index.rst +23 -0
- pyglet-3.0.dev10/doc/modules/graphics/instance.rst +10 -0
- pyglet-3.0.dev10/doc/programming_guide/examplegame.rst +1259 -0
- pyglet-3.0.dev10/doc/programming_guide/image.rst +380 -0
- pyglet-3.0.dev10/doc/programming_guide/migration.rst +463 -0
- pyglet-3.0.dev10/doc/programming_guide/rendering.rst +907 -0
- pyglet-3.0.dev10/examples/game/version1/asteroid.py +35 -0
- pyglet-3.0.dev10/examples/game/version1/game/load.py +26 -0
- pyglet-3.0.dev10/examples/game/version1/game/util.py +5 -0
- pyglet-3.0.dev10/examples/game/version2/game/load.py +39 -0
- pyglet-3.0.dev10/examples/game/version2/game/player.py +50 -0
- pyglet-3.0.dev10/examples/game/version2/game/util.py +5 -0
- pyglet-3.0.dev10/examples/game/version3/game/load.py +33 -0
- pyglet-3.0.dev10/examples/game/version3/game/player.py +56 -0
- pyglet-3.0.dev10/examples/game/version3/game/util.py +12 -0
- pyglet-3.0.dev10/examples/game/version4/game/asteroid.py +32 -0
- pyglet-3.0.dev10/examples/game/version4/game/bullet.py +19 -0
- pyglet-3.0.dev10/examples/game/version4/game/load.py +31 -0
- pyglet-3.0.dev10/examples/game/version4/game/player.py +89 -0
- pyglet-3.0.dev10/examples/game/version4/game/util.py +12 -0
- pyglet-3.0.dev10/examples/game/version5/game/asteroid.py +32 -0
- pyglet-3.0.dev10/examples/game/version5/game/bullet.py +19 -0
- pyglet-3.0.dev10/examples/game/version5/game/load.py +31 -0
- pyglet-3.0.dev10/examples/game/version5/game/player.py +89 -0
- pyglet-3.0.dev10/examples/game/version5/game/util.py +12 -0
- pyglet-3.0.dev10/examples/graphics/instancing.py +158 -0
- pyglet-3.0.dev10/examples/image/image_display.py +52 -0
- pyglet-3.0.dev10/examples/opengl/opengl_core.py +88 -0
- pyglet-3.0.dev10/examples/sprite/display_sprite.py +26 -0
- pyglet-3.0.dev10/examples/sprite/multi_texture_sprite.py +39 -0
- pyglet-3.0.dev10/examples/sprite/sprite_batching.py +49 -0
- pyglet-3.0.dev10/examples/sprite/toggle_sprite_shader.py +132 -0
- pyglet-3.0.dev10/examples/text/text_effect_shaders.py +170 -0
- pyglet-3.0.dev10/examples/window/fixed_resolution.py +150 -0
- pyglet-3.0.dev10/pyglet/__init__.py +551 -0
- pyglet-3.0.dev10/pyglet/__init__.pyi +92 -0
- pyglet-3.0.dev10/pyglet/app/__init__.py +111 -0
- pyglet-3.0.dev10/pyglet/app/cocoa.py +343 -0
- pyglet-3.0.dev10/pyglet/app/ios.py +168 -0
- pyglet-3.0.dev10/pyglet/config/gl/__init__.py +133 -0
- pyglet-3.0.dev10/pyglet/config/gl/ios.py +45 -0
- pyglet-3.0.dev10/pyglet/config/gl/macos.py +261 -0
- pyglet-3.0.dev10/pyglet/config/gl/windows.py +267 -0
- pyglet-3.0.dev10/pyglet/display/__init__.py +85 -0
- pyglet-3.0.dev10/pyglet/display/headless.py +98 -0
- pyglet-3.0.dev10/pyglet/display/ios.py +49 -0
- pyglet-3.0.dev10/pyglet/enums.py +282 -0
- pyglet-3.0.dev10/pyglet/experimental/geoshader_sprite.py +835 -0
- pyglet-3.0.dev10/pyglet/experimental/particles.py +620 -0
- pyglet-3.0.dev10/pyglet/font/__init__.py +426 -0
- pyglet-3.0.dev10/pyglet/font/quartz.py +969 -0
- pyglet-3.0.dev10/pyglet/graphics/__init__.py +72 -0
- pyglet-3.0.dev10/pyglet/graphics/api/__init__.py +83 -0
- pyglet-3.0.dev10/pyglet/graphics/api/base.py +645 -0
- pyglet-3.0.dev10/pyglet/graphics/api/gl/cocoa/context.py +72 -0
- pyglet-3.0.dev10/pyglet/graphics/api/gl/context.py +444 -0
- pyglet-3.0.dev10/pyglet/graphics/api/gl/framebuffer.py +368 -0
- pyglet-3.0.dev10/pyglet/graphics/api/gl/gl.py +5892 -0
- pyglet-3.0.dev10/pyglet/graphics/api/gl/gl_compat.py +7795 -0
- pyglet-3.0.dev10/pyglet/graphics/api/gl/gl_fallback.py +98 -0
- pyglet-3.0.dev10/pyglet/graphics/api/gl/gles.py +3693 -0
- pyglet-3.0.dev10/pyglet/graphics/api/gl/global_opengl.py +152 -0
- pyglet-3.0.dev10/pyglet/graphics/api/gl/ios/__init__.py +3 -0
- pyglet-3.0.dev10/pyglet/graphics/api/gl/ios/context.py +131 -0
- pyglet-3.0.dev10/pyglet/graphics/api/gl/lib.py +115 -0
- pyglet-3.0.dev10/pyglet/graphics/api/gl/shader.py +1308 -0
- pyglet-3.0.dev10/pyglet/graphics/api/gl/shapes.py +56 -0
- pyglet-3.0.dev10/pyglet/graphics/api/gl/sprite.py +204 -0
- pyglet-3.0.dev10/pyglet/graphics/api/gl/text.py +212 -0
- pyglet-3.0.dev10/pyglet/graphics/api/gl/texture.py +1416 -0
- pyglet-3.0.dev10/pyglet/graphics/api/gl/vertexdomain.py +687 -0
- pyglet-3.0.dev10/pyglet/graphics/api/gl/win32/context.py +111 -0
- pyglet-3.0.dev10/pyglet/graphics/api/gl/xlib/context.py +180 -0
- pyglet-3.0.dev10/pyglet/graphics/api/gl2/global_opengl.py +68 -0
- pyglet-3.0.dev10/pyglet/graphics/api/gl2/shader.py +250 -0
- pyglet-3.0.dev10/pyglet/graphics/api/gl2/shapes.py +52 -0
- pyglet-3.0.dev10/pyglet/graphics/api/gl2/sprite.py +168 -0
- pyglet-3.0.dev10/pyglet/graphics/api/gl2/text.py +201 -0
- pyglet-3.0.dev10/pyglet/graphics/api/webgl/__init__.py +142 -0
- pyglet-3.0.dev10/pyglet/graphics/api/webgl/framebuffer.py +395 -0
- pyglet-3.0.dev10/pyglet/graphics/api/webgl/gl.py +1537 -0
- pyglet-3.0.dev10/pyglet/graphics/api/webgl/shader.py +961 -0
- pyglet-3.0.dev10/pyglet/graphics/api/webgl/shapes.py +93 -0
- pyglet-3.0.dev10/pyglet/graphics/api/webgl/sprite.py +204 -0
- pyglet-3.0.dev10/pyglet/graphics/api/webgl/text.py +213 -0
- pyglet-3.0.dev10/pyglet/graphics/api/webgl/texture.py +978 -0
- pyglet-3.0.dev10/pyglet/graphics/api/webgl/vertexdomain.py +612 -0
- pyglet-3.0.dev10/pyglet/graphics/draw.py +1291 -0
- pyglet-3.0.dev10/pyglet/graphics/framebuffer.py +443 -0
- pyglet-3.0.dev10/pyglet/graphics/instance.py +645 -0
- pyglet-3.0.dev10/pyglet/graphics/shader.py +1445 -0
- pyglet-3.0.dev10/pyglet/graphics/state.py +257 -0
- pyglet-3.0.dev10/pyglet/graphics/texture.py +1194 -0
- pyglet-3.0.dev10/pyglet/graphics/vertexdomain.py +1237 -0
- pyglet-3.0.dev10/pyglet/gui/ninepatch.py +325 -0
- pyglet-3.0.dev10/pyglet/gui/widgets.py +719 -0
- pyglet-3.0.dev10/pyglet/image/__init__.py +253 -0
- pyglet-3.0.dev10/pyglet/image/animation.py +139 -0
- pyglet-3.0.dev10/pyglet/image/base.py +699 -0
- pyglet-3.0.dev10/pyglet/image/codecs/quartz.py +109 -0
- pyglet-3.0.dev10/pyglet/input/macos/darwin_gc.py +634 -0
- pyglet-3.0.dev10/pyglet/lib.py +335 -0
- pyglet-3.0.dev10/pyglet/libs/__init__.py +44 -0
- pyglet-3.0.dev10/pyglet/libs/darwin/__init__.py +18 -0
- pyglet-3.0.dev10/pyglet/libs/darwin/agl.py +416 -0
- pyglet-3.0.dev10/pyglet/libs/darwin/cocoapy/__init__.py +51 -0
- pyglet-3.0.dev10/pyglet/libs/darwin/cocoapy/cocoatypes.py +147 -0
- pyglet-3.0.dev10/pyglet/libs/darwin/cocoapy/lib_appkit.py +148 -0
- pyglet-3.0.dev10/pyglet/libs/darwin/cocoapy/lib_cocoa.py +76 -0
- pyglet-3.0.dev10/pyglet/libs/darwin/cocoapy/lib_corefoundation.py +253 -0
- pyglet-3.0.dev10/pyglet/libs/darwin/cocoapy/lib_coregraphics.py +182 -0
- pyglet-3.0.dev10/pyglet/libs/darwin/cocoapy/lib_coretext.py +123 -0
- pyglet-3.0.dev10/pyglet/libs/darwin/cocoapy/lib_quartz.py +74 -0
- pyglet-3.0.dev10/pyglet/libs/darwin/cocoapy/lib_uikit.py +7 -0
- pyglet-3.0.dev10/pyglet/libs/darwin/cocoapy/runtime.py +1997 -0
- pyglet-3.0.dev10/pyglet/libs/darwin/coreaudio.py +233 -0
- pyglet-3.0.dev10/pyglet/libs/darwin/lib_agl.py +48 -0
- pyglet-3.0.dev10/pyglet/libs/egl/__init__.py +1 -0
- pyglet-3.0.dev10/pyglet/libs/egl/egl.py +731 -0
- pyglet-3.0.dev10/pyglet/libs/egl/lib.py +38 -0
- pyglet-3.0.dev10/pyglet/libs/linux/glx/glx.py +449 -0
- pyglet-3.0.dev10/pyglet/libs/linux/glx/lib_glx.py +54 -0
- pyglet-3.0.dev10/pyglet/libs/win32/lib_wgl.py +131 -0
- pyglet-3.0.dev10/pyglet/libs/win32/types.py +948 -0
- pyglet-3.0.dev10/pyglet/libs/win32/wgl.py +429 -0
- pyglet-3.0.dev10/pyglet/media/__init__.py +339 -0
- pyglet-3.0.dev10/pyglet/media/codecs/base.py +615 -0
- pyglet-3.0.dev10/pyglet/media/player.py +823 -0
- pyglet-3.0.dev10/pyglet/model/__init__.py +668 -0
- pyglet-3.0.dev10/pyglet/model/codecs/obj.py +285 -0
- pyglet-3.0.dev10/pyglet/shapes.py +2936 -0
- pyglet-3.0.dev10/pyglet/sprite.py +1104 -0
- pyglet-3.0.dev10/pyglet/text/__init__.py +671 -0
- pyglet-3.0.dev10/pyglet/text/caret.py +612 -0
- pyglet-3.0.dev10/pyglet/text/formats/structured.py +355 -0
- pyglet-3.0.dev10/pyglet/text/layout/base.py +1179 -0
- pyglet-3.0.dev10/pyglet/text/layout/boxes.py +1068 -0
- pyglet-3.0.dev10/pyglet/text/layout/incremental.py +993 -0
- pyglet-3.0.dev10/pyglet/text/layout/scrolling.py +211 -0
- pyglet-3.0.dev10/pyglet/window/__init__.py +2023 -0
- pyglet-3.0.dev10/pyglet/window/apple/cocoa/__init__.py +811 -0
- pyglet-3.0.dev10/pyglet/window/apple/cocoa/pyglet_delegate.py +161 -0
- pyglet-3.0.dev10/pyglet/window/apple/cocoa/pyglet_textview.py +193 -0
- pyglet-3.0.dev10/pyglet/window/apple/cocoa/pyglet_view.py +447 -0
- pyglet-3.0.dev10/pyglet/window/apple/cocoa/pyglet_window.py +85 -0
- pyglet-3.0.dev10/pyglet/window/apple/ios.py +212 -0
- pyglet-3.0.dev10/pyglet/window/camera/base.py +915 -0
- pyglet-3.0.dev10/tests/annotations.py +118 -0
- pyglet-3.0.dev10/tests/integration/app/test_eventloop.py +127 -0
- pyglet-3.0.dev10/tests/integration/graphics/opengl/test_framebuffer.py +259 -0
- pyglet-3.0.dev10/tests/integration/graphics/opengl/test_gl_extension_fallbacks.py +49 -0
- pyglet-3.0.dev10/tests/integration/graphics/opengl/test_instancing.py +525 -0
- pyglet-3.0.dev10/tests/integration/graphics/opengl/test_shaders.py +736 -0
- pyglet-3.0.dev10/tests/integration/graphics/test_cameras.py +510 -0
- pyglet-3.0.dev10/tests/integration/graphics/test_objects.py +566 -0
- pyglet-3.0.dev10/tests/integration/graphics/test_texture2d.py +72 -0
- pyglet-3.0.dev10/tests/integration/graphics/test_vertex_list.py +237 -0
- pyglet-3.0.dev10/tests/integration/graphics/webgl/test_buffers.py +17 -0
- pyglet-3.0.dev10/tests/integration/graphics/webgl/test_instancing.py +164 -0
- pyglet-3.0.dev10/tests/integration/graphics/webgl/test_shaders_and_batches.py +49 -0
- pyglet-3.0.dev10/tests/integration/media/test_driver.py +264 -0
- pyglet-3.0.dev10/tests/integration/media/test_pulse.py +342 -0
- pyglet-3.0.dev10/tests/integration/text/test_layout.py +225 -0
- pyglet-3.0.dev10/tests/unit/libs/darwin/cocoapy/test_cocoalibs.py +95 -0
- pyglet-3.0.dev10/tests/unit/media/test_player.py +914 -0
- pyglet-3.0.dev10/tests/unit/platform/test_mac_objc.py +305 -0
- pyglet-3.0.dev10/tests/unit/shapes/test_shapes.py +238 -0
- pyglet-3.0.dev10/tests/unit/test_sprite.py +385 -0
- pyglet-3.0.dev10/tools/gen_opengl/egl.template +10 -0
- pyglet-3.0.dev10/tools/gen_opengl/egl.xml +3617 -0
- pyglet-3.0.dev10/tools/gen_opengl/gen_egl.py +141 -0
- pyglet-3.0.dev10/tools/gen_opengl/gen_glx.py +99 -0
- pyglet-3.0.dev10/tools/gen_opengl/gen_khronos.py +217 -0
- pyglet-3.0.dev10/tools/gen_opengl/gen_wgl.py +108 -0
- pyglet-3.0.dev10/tools/gen_opengl/gengl.py +422 -0
- pyglet-3.0.dev10/tools/gen_opengl/gl.template +21 -0
- pyglet-3.0.dev10/tools/gen_opengl/gl.xml +47772 -0
- pyglet-3.0.dev10/tools/gen_opengl/gl_stub.template +18 -0
- pyglet-3.0.dev10/tools/gen_opengl/glx.template +15 -0
- pyglet-3.0.dev10/tools/gen_opengl/glx.xml +2208 -0
- pyglet-3.0.dev10/tools/gen_opengl/wgl.template +20 -0
- pyglet-3.0.dev10/tools/gen_opengl/wgl.xml +1988 -0
- pyglet-3.0.dev10/tools/web_example/example.py +41 -0
- pyglet-3.0.dev9/PKG-INFO +0 -188
- pyglet-3.0.dev9/contrib/dist_field/renderfield.py +0 -265
- pyglet-3.0.dev9/doc/internal/generated.rst +0 -135
- pyglet-3.0.dev9/doc/internal/gl.rst +0 -52
- pyglet-3.0.dev9/doc/modules/graphics/index.rst +0 -22
- pyglet-3.0.dev9/doc/programming_guide/examplegame.rst +0 -1261
- pyglet-3.0.dev9/doc/programming_guide/image.rst +0 -384
- pyglet-3.0.dev9/doc/programming_guide/migration.rst +0 -454
- pyglet-3.0.dev9/doc/programming_guide/rendering.rst +0 -823
- pyglet-3.0.dev9/examples/game/version1/asteroid.py +0 -34
- pyglet-3.0.dev9/examples/game/version1/game/load.py +0 -25
- pyglet-3.0.dev9/examples/game/version1/game/util.py +0 -17
- pyglet-3.0.dev9/examples/game/version2/game/load.py +0 -38
- pyglet-3.0.dev9/examples/game/version2/game/player.py +0 -48
- pyglet-3.0.dev9/examples/game/version2/game/util.py +0 -17
- pyglet-3.0.dev9/examples/game/version3/game/load.py +0 -32
- pyglet-3.0.dev9/examples/game/version3/game/player.py +0 -53
- pyglet-3.0.dev9/examples/game/version3/game/util.py +0 -24
- pyglet-3.0.dev9/examples/game/version4/game/asteroid.py +0 -30
- pyglet-3.0.dev9/examples/game/version4/game/bullet.py +0 -18
- pyglet-3.0.dev9/examples/game/version4/game/load.py +0 -30
- pyglet-3.0.dev9/examples/game/version4/game/player.py +0 -86
- pyglet-3.0.dev9/examples/game/version4/game/util.py +0 -24
- pyglet-3.0.dev9/examples/game/version5/game/asteroid.py +0 -30
- pyglet-3.0.dev9/examples/game/version5/game/bullet.py +0 -18
- pyglet-3.0.dev9/examples/game/version5/game/load.py +0 -30
- pyglet-3.0.dev9/examples/game/version5/game/player.py +0 -86
- pyglet-3.0.dev9/examples/game/version5/game/util.py +0 -24
- pyglet-3.0.dev9/examples/graphics/instancing.py +0 -153
- pyglet-3.0.dev9/examples/image/image_display.py +0 -54
- pyglet-3.0.dev9/examples/opengl/opengl_core.py +0 -90
- pyglet-3.0.dev9/examples/sprite/display_sprite.py +0 -30
- pyglet-3.0.dev9/examples/sprite/multi_texture_sprite.py +0 -42
- pyglet-3.0.dev9/examples/sprite/sprite_batching.py +0 -52
- pyglet-3.0.dev9/examples/sprite/toggle_sprite_shader.py +0 -133
- pyglet-3.0.dev9/examples/text/text_effect_shaders.py +0 -170
- pyglet-3.0.dev9/examples/window/fixed_resolution.py +0 -149
- pyglet-3.0.dev9/pyglet/__init__.py +0 -542
- pyglet-3.0.dev9/pyglet/__init__.pyi +0 -91
- pyglet-3.0.dev9/pyglet/app/__init__.py +0 -108
- pyglet-3.0.dev9/pyglet/app/cocoa.py +0 -294
- pyglet-3.0.dev9/pyglet/config/gl/__init__.py +0 -128
- pyglet-3.0.dev9/pyglet/config/gl/macos.py +0 -261
- pyglet-3.0.dev9/pyglet/config/gl/windows.py +0 -267
- pyglet-3.0.dev9/pyglet/display/__init__.py +0 -82
- pyglet-3.0.dev9/pyglet/display/headless.py +0 -98
- pyglet-3.0.dev9/pyglet/enums.py +0 -244
- pyglet-3.0.dev9/pyglet/experimental/geoshader_sprite.py +0 -803
- pyglet-3.0.dev9/pyglet/experimental/particles.py +0 -434
- pyglet-3.0.dev9/pyglet/font/__init__.py +0 -426
- pyglet-3.0.dev9/pyglet/font/quartz.py +0 -969
- pyglet-3.0.dev9/pyglet/graphics/__init__.py +0 -71
- pyglet-3.0.dev9/pyglet/graphics/api/__init__.py +0 -75
- pyglet-3.0.dev9/pyglet/graphics/api/base.py +0 -605
- pyglet-3.0.dev9/pyglet/graphics/api/gl/cocoa/context.py +0 -72
- pyglet-3.0.dev9/pyglet/graphics/api/gl/context.py +0 -442
- pyglet-3.0.dev9/pyglet/graphics/api/gl/framebuffer.py +0 -367
- pyglet-3.0.dev9/pyglet/graphics/api/gl/gl.py +0 -5463
- pyglet-3.0.dev9/pyglet/graphics/api/gl/global_opengl.py +0 -143
- pyglet-3.0.dev9/pyglet/graphics/api/gl/lib.py +0 -131
- pyglet-3.0.dev9/pyglet/graphics/api/gl/shader.py +0 -1304
- pyglet-3.0.dev9/pyglet/graphics/api/gl/shapes.py +0 -55
- pyglet-3.0.dev9/pyglet/graphics/api/gl/sprite.py +0 -201
- pyglet-3.0.dev9/pyglet/graphics/api/gl/text.py +0 -207
- pyglet-3.0.dev9/pyglet/graphics/api/gl/texture.py +0 -1426
- pyglet-3.0.dev9/pyglet/graphics/api/gl/vertexdomain.py +0 -882
- pyglet-3.0.dev9/pyglet/graphics/api/gl/win32/context.py +0 -111
- pyglet-3.0.dev9/pyglet/graphics/api/gl/xlib/context.py +0 -180
- pyglet-3.0.dev9/pyglet/graphics/api/gl1/gl_compat.py +0 -6182
- pyglet-3.0.dev9/pyglet/graphics/api/gl2/global_opengl.py +0 -62
- pyglet-3.0.dev9/pyglet/graphics/api/gl2/shader.py +0 -247
- pyglet-3.0.dev9/pyglet/graphics/api/gl2/shapes.py +0 -51
- pyglet-3.0.dev9/pyglet/graphics/api/gl2/sprite.py +0 -166
- pyglet-3.0.dev9/pyglet/graphics/api/gl2/text.py +0 -192
- pyglet-3.0.dev9/pyglet/graphics/api/webgl/__init__.py +0 -133
- pyglet-3.0.dev9/pyglet/graphics/api/webgl/framebuffer.py +0 -394
- pyglet-3.0.dev9/pyglet/graphics/api/webgl/gl.py +0 -1537
- pyglet-3.0.dev9/pyglet/graphics/api/webgl/shader.py +0 -958
- pyglet-3.0.dev9/pyglet/graphics/api/webgl/shapes.py +0 -92
- pyglet-3.0.dev9/pyglet/graphics/api/webgl/sprite.py +0 -201
- pyglet-3.0.dev9/pyglet/graphics/api/webgl/text.py +0 -204
- pyglet-3.0.dev9/pyglet/graphics/api/webgl/texture.py +0 -988
- pyglet-3.0.dev9/pyglet/graphics/api/webgl/vertexdomain.py +0 -609
- pyglet-3.0.dev9/pyglet/graphics/draw.py +0 -1271
- pyglet-3.0.dev9/pyglet/graphics/framebuffer.py +0 -443
- pyglet-3.0.dev9/pyglet/graphics/instance.py +0 -338
- pyglet-3.0.dev9/pyglet/graphics/shader.py +0 -1355
- pyglet-3.0.dev9/pyglet/graphics/state.py +0 -253
- pyglet-3.0.dev9/pyglet/graphics/texture.py +0 -1205
- pyglet-3.0.dev9/pyglet/graphics/vertexdomain.py +0 -1182
- pyglet-3.0.dev9/pyglet/gui/ninepatch.py +0 -315
- pyglet-3.0.dev9/pyglet/gui/widgets.py +0 -718
- pyglet-3.0.dev9/pyglet/image/__init__.py +0 -258
- pyglet-3.0.dev9/pyglet/image/animation.py +0 -144
- pyglet-3.0.dev9/pyglet/image/base.py +0 -717
- pyglet-3.0.dev9/pyglet/image/codecs/quartz.py +0 -109
- pyglet-3.0.dev9/pyglet/input/macos/darwin_gc.py +0 -646
- pyglet-3.0.dev9/pyglet/lib.py +0 -340
- pyglet-3.0.dev9/pyglet/libs/__init__.py +0 -19
- pyglet-3.0.dev9/pyglet/libs/darwin/__init__.py +0 -1
- pyglet-3.0.dev9/pyglet/libs/darwin/agl.py +0 -414
- pyglet-3.0.dev9/pyglet/libs/darwin/cocoapy/__init__.py +0 -39
- pyglet-3.0.dev9/pyglet/libs/darwin/cocoapy/cocoalibs.py +0 -827
- pyglet-3.0.dev9/pyglet/libs/darwin/cocoapy/cocoatypes.py +0 -136
- pyglet-3.0.dev9/pyglet/libs/darwin/cocoapy/runtime.py +0 -1834
- pyglet-3.0.dev9/pyglet/libs/darwin/coreaudio.py +0 -237
- pyglet-3.0.dev9/pyglet/libs/darwin/lib_agl.py +0 -38
- pyglet-3.0.dev9/pyglet/libs/egl/__init__.py +0 -2
- pyglet-3.0.dev9/pyglet/libs/egl/egl.py +0 -568
- pyglet-3.0.dev9/pyglet/libs/egl/eglext.py +0 -43
- pyglet-3.0.dev9/pyglet/libs/egl/lib.py +0 -31
- pyglet-3.0.dev9/pyglet/libs/linux/glx/glx.py +0 -578
- pyglet-3.0.dev9/pyglet/libs/linux/glx/glxext_arb.py +0 -1168
- pyglet-3.0.dev9/pyglet/libs/linux/glx/glxext_mesa.py +0 -8
- pyglet-3.0.dev9/pyglet/libs/linux/glx/glxext_nv.py +0 -980
- pyglet-3.0.dev9/pyglet/libs/linux/glx/lib_glx.py +0 -53
- pyglet-3.0.dev9/pyglet/libs/win32/lib_wgl.py +0 -130
- pyglet-3.0.dev9/pyglet/libs/win32/types.py +0 -882
- pyglet-3.0.dev9/pyglet/libs/win32/wgl.py +0 -328
- pyglet-3.0.dev9/pyglet/libs/win32/wglext_arb.py +0 -1606
- pyglet-3.0.dev9/pyglet/media/__init__.py +0 -280
- pyglet-3.0.dev9/pyglet/media/codecs/base.py +0 -623
- pyglet-3.0.dev9/pyglet/media/player.py +0 -765
- pyglet-3.0.dev9/pyglet/model/__init__.py +0 -666
- pyglet-3.0.dev9/pyglet/model/codecs/obj.py +0 -285
- pyglet-3.0.dev9/pyglet/shapes.py +0 -2760
- pyglet-3.0.dev9/pyglet/sprite.py +0 -1024
- pyglet-3.0.dev9/pyglet/text/__init__.py +0 -653
- pyglet-3.0.dev9/pyglet/text/caret.py +0 -611
- pyglet-3.0.dev9/pyglet/text/formats/structured.py +0 -354
- pyglet-3.0.dev9/pyglet/text/layout/base.py +0 -1138
- pyglet-3.0.dev9/pyglet/text/layout/boxes.py +0 -1038
- pyglet-3.0.dev9/pyglet/text/layout/incremental.py +0 -992
- pyglet-3.0.dev9/pyglet/text/layout/scrolling.py +0 -210
- pyglet-3.0.dev9/pyglet/window/__init__.py +0 -2021
- pyglet-3.0.dev9/pyglet/window/camera/base.py +0 -905
- pyglet-3.0.dev9/pyglet/window/cocoa/__init__.py +0 -748
- pyglet-3.0.dev9/pyglet/window/cocoa/pyglet_delegate.py +0 -165
- pyglet-3.0.dev9/pyglet/window/cocoa/pyglet_textview.py +0 -196
- pyglet-3.0.dev9/pyglet/window/cocoa/pyglet_view.py +0 -445
- pyglet-3.0.dev9/pyglet/window/cocoa/pyglet_window.py +0 -90
- pyglet-3.0.dev9/tests/annotations.py +0 -112
- pyglet-3.0.dev9/tests/integration/app/test_eventloop.py +0 -127
- pyglet-3.0.dev9/tests/integration/graphics/opengl/test_framebuffer.py +0 -259
- pyglet-3.0.dev9/tests/integration/graphics/opengl/test_instancing.py +0 -410
- pyglet-3.0.dev9/tests/integration/graphics/opengl/test_shaders.py +0 -727
- pyglet-3.0.dev9/tests/integration/graphics/test_cameras.py +0 -429
- pyglet-3.0.dev9/tests/integration/graphics/test_objects.py +0 -521
- pyglet-3.0.dev9/tests/integration/graphics/test_texture2d.py +0 -90
- pyglet-3.0.dev9/tests/integration/graphics/test_vertex_list.py +0 -234
- pyglet-3.0.dev9/tests/integration/graphics/webgl/test_shaders_and_batches.py +0 -49
- pyglet-3.0.dev9/tests/integration/media/test_driver.py +0 -264
- pyglet-3.0.dev9/tests/integration/media/test_pulse.py +0 -344
- pyglet-3.0.dev9/tests/integration/text/test_layout.py +0 -208
- pyglet-3.0.dev9/tests/unit/libs/darwin/cocoapy/test_cocoalibs.py +0 -95
- pyglet-3.0.dev9/tests/unit/media/test_player.py +0 -842
- pyglet-3.0.dev9/tests/unit/platform/test_mac_objc.py +0 -257
- pyglet-3.0.dev9/tests/unit/shapes/test_shapes.py +0 -129
- pyglet-3.0.dev9/tests/unit/test_sprite.py +0 -305
- pyglet-3.0.dev9/tools/gengl.py +0 -308
- pyglet-3.0.dev9/tools/gl.template +0 -19
- pyglet-3.0.dev9/tools/gl.xml +0 -51885
- pyglet-3.0.dev9/tools/gl_stub.template +0 -18
- pyglet-3.0.dev9/tools/web_example/example.py +0 -42
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/.coveragerc +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/.github/ISSUE_TEMPLATE/questions--or-other.md +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/.github/workflows/codeql.yml +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/.github/workflows/unittests.yml +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/.gitignore +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/.readthedocs.yml +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/API_CHANGES.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/LICENSE +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/MANIFEST.in +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/README.md +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/RELEASE_NOTES +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/TODO.txt +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/contrib/README.md +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/contrib/aseprite_codec/README +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/contrib/aseprite_codec/asedemo.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/contrib/aseprite_codec/aseprite.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/contrib/aseprite_codec/running.ase +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/contrib/dist_field/README +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/contrib/dist_field/genfield.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/contrib/dist_field/py.df.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/contrib/dist_field/py.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/contrib/qt_sprite_preview.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/contrib/scenemanager.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/contrib/spritebenchmark.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/contrib/svg/hello_world.svg +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/contrib/svg/svg_test.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/contrib/toys/follow_mouse.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/Makefile +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/_static/css/custom.css +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/_static/favicon.ico +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/_static/logo.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/_static/logo5.svg +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/_static/relatedlogo.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/conf.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/external_resources.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/index.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/internal/contributing.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/internal/dist.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/internal/doc.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/internal/media_logging_manual.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/internal/media_manual.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/internal/testing.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/internal/virtualenv.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/internal/wraptypes-class.svg +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/internal/wraptypes.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/make.bat +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/app.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/clock.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/config/base.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/config/gl.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/config/index.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/customtypes.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/dialog.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/display.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/enums.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/event.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/font/group.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/font/index.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/font/user.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/graphics/allocation.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/graphics/atlas.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/graphics/draw.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/graphics/framebuffer.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/graphics/shader.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/graphics/texture.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/graphics/vertexbuffer.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/graphics/vertexdomain.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/gui.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/image/animation.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/image/index.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/info.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/input.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/math.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/media.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/media_synthesis.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/models.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/pyglet.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/resource.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/shapes.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/sprite.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/storage.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/text/caret.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/text/document.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/text/index.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/text/layout.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/window.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/window_camera.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/window_key.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/modules/window_mouse.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/camera.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/context.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/debug.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/event_chains.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/eventloop.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/events.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/fonts.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/from_pygame.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/gl.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/gui.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/abstract_image.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/abstract_image.svg +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/buffer_image.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/buffer_image.svg +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/context_flow.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/context_flow.svg +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/cursor_mac_crosshair.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/cursor_mac_default.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/cursor_mac_hand.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/cursor_mac_no.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/cursor_mac_size_down.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/cursor_mac_size_left.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/cursor_mac_size_left_right.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/cursor_mac_size_right.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/cursor_mac_size_up.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/cursor_mac_size_up_down.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/cursor_mac_text.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/cursor_mac_wait.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/cursor_win_crosshair.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/cursor_win_default.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/cursor_win_hand.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/cursor_win_help.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/cursor_win_no.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/cursor_win_size.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/cursor_win_size_left_right.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/cursor_win_size_nesw.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/cursor_win_size_nwse.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/cursor_win_size_up_down.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/cursor_win_text.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/cursor_win_wait.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/cursor_win_wait_arrow.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/explosion.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/font_metrics.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/font_metrics.svg +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/image_classes.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/image_classes.svg +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/image_grid.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/image_grid.svg +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/image_sequence.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/image_sequence.svg +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/mouse_coordinates.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/mouse_coordinates.svg +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/screens.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/screens.svg +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/text_classes.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/text_classes.svg +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/window_location.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/window_location.svg +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/window_osx_borderless.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/window_osx_default.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/window_osx_dialog.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/window_osx_tool.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/window_xp_default.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/window_xp_dialog.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/window_xp_overlay.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/window_xp_tool.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/img/window_xp_transparent.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/input.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/installation.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/keyboard.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/math.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/media.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/migration2.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/models.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/mouse.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/opengles.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/options.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/pyodide.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/quickstart.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/resources.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/shapes.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/text.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/texture.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/time.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/programming_guide/windowing.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/doc/requirements.txt +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/dpi_scaled_window.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/events/events_key_state_handler.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/events/register_event_type.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/events/window_events.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/events/window_platform_event.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/game/resources/asteroid.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/game/resources/bullet.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/game/resources/bullet.wav +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/game/resources/engine_flame.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/game/resources/player.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/game/version1/game/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/game/version2/asteroid.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/game/version2/game/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/game/version2/game/physicalobject.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/game/version3/asteroid.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/game/version3/game/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/game/version3/game/physicalobject.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/game/version4/asteroid.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/game/version4/game/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/game/version4/game/physicalobject.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/game/version5/asteroid.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/game/version5/game/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/game/version5/game/physicalobject.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/graphics/instancing_order.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/graphics/uniform_buffer_object.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/gui/bar.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/gui/button_hover.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/gui/button_pressed.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/gui/button_unpressed.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/gui/knob.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/gui/widgets.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/hello_world.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/image/image_convert.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/input/apple_remote.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/input/controller.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/input/input.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/input/joystick.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/input/tablet.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/media/media_info.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/media/media_player.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/media/noisy/README +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/media/noisy/ball.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/media/noisy/ball.wav +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/media/noisy/noisy.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/media/soundspace/README +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/media/soundspace/reader.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/media/soundspace/res/bass.wav +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/media/soundspace/res/drums.wav +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/media/soundspace/res/guitar.wav +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/media/soundspace/res/piano.wav +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/media/soundspace/res/space.txt +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/media/soundspace/soundspace.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/media/synthesizer.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/media/video.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/model/box.mtl +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/model/box.obj +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/model/fpscamera.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/model/logo3d.mtl +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/model/logo3d.obj +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/model/model.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/model/pyglet.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/opengl/compute_shader.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/opengl/egl_context.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/opengl/minimal_shader.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/opengl/opengl_context.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/opengl/opengl_scissor.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/opengl/pyglet.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/opengl/torus.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/opengl/transform_shader.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/programming_guide/animation.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/programming_guide/dinosaur.gif +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/programming_guide/events.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/programming_guide/hello_world.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/programming_guide/image_viewer.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/programming_guide/kitten.jpg +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/programming_guide/window_subclass.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/resources/Brick1Blue.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/resources/Brick1Crack3.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/resources/Brick1Gray.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/resources/kitten.jpg +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/resources/pyglet.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/shapes.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/sprite/depth_sprite.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/sprite/multi_texture_sprite_animation.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/sprite/multi_texture_sprite_texture_array_animation.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/text/advanced_font.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/text/font_groups.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/text/html_label.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/text/pyglet.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/text/text_effects.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/text/text_input.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/text/user_bitmap_font.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/timer.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/window/camera/camera_group.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/window/camera/camera_scissor.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/window/camera/camera_views.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/window/clipboard.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/window/file_dialogs.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/window/file_drag_drops.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/window/fps_change.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/window/multiple_windows.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/window/no_backend.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/window/overlay_window.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/examples/window/transparent_window.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/make.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/app/async_app.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/app/base.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/app/linux.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/app/win32.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/clock.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/config/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/config/base.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/config/gl/egl.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/config/gl/webgl.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/config/gl/x11.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/customtypes.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/display/__init__.pyi +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/display/base.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/display/cocoa.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/display/emscripten.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/display/wayland.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/display/win32.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/display/xlib.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/display/xlib_vidmoderestore.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/event.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/experimental/README.md +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/experimental/flaccodec.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/experimental/hidraw.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/experimental/jobs.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/experimental/net.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/experimental/win32priority.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/extlibs/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/extlibs/earcut.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/extlibs/png.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/font/base.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/font/dwrite/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/font/dwrite/d2d1_lib.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/font/dwrite/d2d1_types_lib.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/font/dwrite/dwrite_lib.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/font/fontconfig.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/font/freetype.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/font/freetype_lib.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/font/group.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/font/harfbuzz.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/font/pyodide_js.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/font/ttf.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/font/user.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/font/win32.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/allocation.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/gl/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/gl/base.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/gl/buffer.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/gl/cocoa/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/gl/default_shaders.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/gl/draw.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/gl/egl/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/gl/egl/context.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/gl/enums.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/gl/gl_info.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/gl/renderer.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/gl/state.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/gl/vertexarray.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/gl/win32/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/gl/win32/wgl_info.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/gl/xlib/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/gl/xlib/glx_info.py +0 -0
- {pyglet-3.0.dev9/pyglet/graphics/api/gl1 → pyglet-3.0.dev10/pyglet/graphics/api/gl2}/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/gl2/buffer.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/gl2/draw.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/gl2/framebuffer.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/gl2/state.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/gl2/vertexdomain.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/webgl/buffer.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/webgl/context.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/webgl/draw.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/webgl/enums.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/webgl/gl_info.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/webgl/renderer.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/webgl/state.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/webgl/vertexarray.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/api/webgl/webgl_js.pyi +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/atlas.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/buffer.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/graphics/resource.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/gui/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/gui/frame.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/image/codecs/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/image/codecs/bmp.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/image/codecs/dds.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/image/codecs/gdiplus.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/image/codecs/gdkpixbuf2.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/image/codecs/gif.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/image/codecs/js_image.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/image/codecs/ktx2.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/image/codecs/pil.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/image/codecs/png.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/image/codecs/wic.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/info.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/input/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/input/base.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/input/controller.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/input/controller_db.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/input/emscripten/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/input/emscripten/gamepad_js.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/input/linux/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/input/linux/evdev.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/input/linux/evdev_constants.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/input/linux/x11_xinput.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/input/linux/x11_xinput_tablet.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/input/macos/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/input/macos/darwin_hid.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/input/win32/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/input/win32/directinput.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/input/win32/wintab.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/input/win32/xinput.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/darwin/cocoapy/cocoahelpers.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/darwin/quartzkey.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/emscripten/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/emscripten/files.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/emscripten/filesystem.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/emscripten/proxies.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/emscripten/pyglet_emscripten.js +0 -0
- {pyglet-3.0.dev9/pyglet/graphics/api/gl2 → pyglet-3.0.dev10/pyglet/libs/linux}/__init__.py +0 -0
- {pyglet-3.0.dev9/pyglet/libs/linux → pyglet-3.0.dev10/pyglet/libs/linux/glx}/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/linux/ioctl.py +0 -0
- {pyglet-3.0.dev9/pyglet/libs/linux/glx → pyglet-3.0.dev10/pyglet/libs/linux/wayland}/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/linux/wayland/client.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/linux/wayland/gbm.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/linux/wayland/lib_wayland.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/linux/wayland/wayland_egl.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/linux/wayland/xkbcommon.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/linux/x11/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/linux/x11/cursorfont.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/linux/x11/xf86vmode.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/linux/x11/xinerama.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/linux/x11/xinput.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/linux/x11/xlib.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/linux/x11/xrandr.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/linux/x11/xrender.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/linux/x11/xsync.py +0 -0
- {pyglet-3.0.dev9/pyglet/libs/linux/wayland → pyglet-3.0.dev10/pyglet/libs/shared}/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/shared/lib_harfbuzz.py +0 -0
- {pyglet-3.0.dev9/pyglet/libs/shared → pyglet-3.0.dev10/pyglet/libs/shared/spirv}/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/shared/spirv/lib_shaderc.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/shared/spirv/lib_spirv_cross.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/shared/vulkan_lib/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/shared/vulkan_lib/exceptions.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/shared/vulkan_lib/func.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/shared/vulkan_lib/func_helpers.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/shared/vulkan_lib/vk_video.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/shared/vulkan_lib/vk_video.pyi +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/shared/vulkan_lib/vulkan_core.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/shared/vulkan_lib/vulkan_core.pyi +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/shared/vulkan_lib/vulkan_ios.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/shared/vulkan_lib/vulkan_ios.pyi +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/shared/vulkan_lib/vulkan_macos.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/shared/vulkan_lib/vulkan_macos.pyi +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/shared/vulkan_lib/vulkan_metal.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/shared/vulkan_lib/vulkan_metal.pyi +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/shared/vulkan_lib/vulkan_wayland.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/shared/vulkan_lib/vulkan_wayland.pyi +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/shared/vulkan_lib/vulkan_win32.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/shared/vulkan_lib/vulkan_win32.pyi +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/shared/vulkan_lib/vulkan_xcb.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/shared/vulkan_lib/vulkan_xcb.pyi +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/shared/vulkan_lib/vulkan_xlib.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/shared/vulkan_lib/vulkan_xlib.pyi +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/shared/vulkan_lib/vulkan_xlib_xrandr.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/shared/vulkan_lib/vulkan_xlib_xrandr.pyi +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/win32/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/win32/com.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/win32/constants.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/win32/context_managers.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/win32/dinput.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/win32/libwintab.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/win32/wincodec.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/libs/win32/winkey.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/math.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/buffered_logger.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/codecs/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/codecs/coreaudio.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/codecs/ffmpeg.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/codecs/ffmpeg_lib/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/codecs/ffmpeg_lib/compat.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/codecs/ffmpeg_lib/libavcodec.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/codecs/ffmpeg_lib/libavformat.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/codecs/ffmpeg_lib/libavutil.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/codecs/ffmpeg_lib/libswresample.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/codecs/ffmpeg_lib/libswscale.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/codecs/gstreamer.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/codecs/pyogg.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/codecs/wave.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/codecs/webaudio_pyodide.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/codecs/wmf.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/devices/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/devices/base.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/devices/win32.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/drivers/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/drivers/base.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/drivers/directsound/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/drivers/directsound/adaptation.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/drivers/directsound/exceptions.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/drivers/directsound/interface.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/drivers/directsound/lib_dsound.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/drivers/listener.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/drivers/openal/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/drivers/openal/adaptation.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/drivers/openal/interface.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/drivers/openal/lib_alc.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/drivers/openal/lib_openal.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/drivers/pulse/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/drivers/pulse/adaptation.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/drivers/pulse/interface.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/drivers/pulse/lib_pulseaudio.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/drivers/pyodide_js/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/drivers/pyodide_js/adaptation.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/drivers/silent/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/drivers/silent/adaptation.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/drivers/xaudio2/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/drivers/xaudio2/adaptation.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/drivers/xaudio2/interface.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/drivers/xaudio2/lib_xaudio2.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/exceptions.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/instrumentation.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/player_worker_thread.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/media/synthesis.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/model/codecs/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/model/codecs/base.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/model/codecs/gltf.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/py.typed +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/resource.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/storage.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/text/document.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/text/effects.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/text/formats/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/text/formats/attributed.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/text/formats/html.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/text/formats/plaintext.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/text/layout/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/text/layout/flow.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/text/runlist.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/util.py +0 -0
- {pyglet-3.0.dev9/pyglet/libs/shared/spirv → pyglet-3.0.dev10/pyglet/window/apple}/__init__.py +0 -0
- {pyglet-3.0.dev9/pyglet/window → pyglet-3.0.dev10/pyglet/window/apple}/cocoa/systemcursor.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/window/camera/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/window/camera/camera2d.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/window/camera/camera3d.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/window/dialog/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/window/dialog/base.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/window/dialog/darwin.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/window/dialog/emscripten.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/window/dialog/linux.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/window/dialog/windows.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/window/emscripten/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/window/event.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/window/headless/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/window/key.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/window/mouse.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/window/wayland/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/window/win32/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyglet/window/xlib/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/pyproject.toml +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/base/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/base/data.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/base/event_loop.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/base/interactive.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/base/performance.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/conftest.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/fonts/README +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/fonts/action_man.ttf +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/fonts/action_man_atlas.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/fonts/action_man_bold.ttf +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/fonts/action_man_bold_italic.ttf +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/fonts/action_man_italic.ttf +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/fonts/courR12-ISO8859-1.pcf +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/8bpp.gif +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/cursor.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/dinosaur.gif +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/gdk_close.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/grey_background.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/icon1.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/icon_size1.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/icon_size2.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/icon_size3.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/icon_size4.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/icon_size5.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/l.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/la.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/multitexture.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/rgb.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/rgb_16bpp.bmp +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/rgb_1bpp.bmp +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/rgb_24bpp.bmp +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/rgb_32bpp.bmp +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/rgb_4bpp.bmp +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/rgb_8bpp.bmp +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/rgb_8bpp.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/rgb_8bpp_trans.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/rgb_bc6s.dds +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/rgb_dxt1.dds +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/rgba.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/rgba_32bpp.bmp +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/rgba_bc7.dds +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/rgba_bc7.ktx2 +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/rgba_dxt1.dds +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/rgba_dxt3.dds +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/rgba_dxt5.dds +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/images/tests.interactive.test_interactive_test_base._Test.test_1.001.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/media/README +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/media/alert.wav +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/media/login.wav +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/media/logout.wav +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/media/receive.wav +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/media/send.wav +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/media/synthesis_sawtooth_16_11025_1ch.wav +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/media/synthesis_sawtooth_16_44800_1ch.wav +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/media/synthesis_silence_16_11025_1ch.wav +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/media/synthesis_silence_16_44800_1ch.wav +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/media/synthesis_simplefm_16_11025_1ch.wav +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/media/synthesis_simplefm_16_44800_1ch.wav +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/media/synthesis_sine_16_11025_1ch.wav +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/media/synthesis_sine_16_44800_1ch.wav +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/media/synthesis_square_16_11025_1ch.wav +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/media/synthesis_square_16_44800_1ch.wav +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/media/synthesis_triangle_16_11025_1ch.wav +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/media/synthesis_triangle_16_44800_1ch.wav +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/models/logo3d.mtl +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/data/models/logo3d.obj +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/app/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/conftest.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/font/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/font/test_font.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/font/test_freetype_face.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/font/test_gdi_renderer.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/graphics/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/graphics/gl2/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/graphics/gl2/test_buffers.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/graphics/gl2/test_texture_readback.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/graphics/opengl/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/graphics/opengl/test_buffers.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/graphics/opengl/test_compute_shader.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/graphics/opengl/test_surface_info.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/graphics/opengl/test_texture.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/graphics/opengl/test_texture_compressed.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/graphics/test_allocation.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/graphics/test_atlas_bins.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/graphics/test_batch_migration.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/graphics/test_groups.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/graphics/test_resource_texture_transforms.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/graphics/test_texture3d.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/graphics/test_texture_mipmaps.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/graphics/test_texturearray.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/graphics/test_texturegrid.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/graphics/test_window_backend_config.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/graphics/webgl/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/graphics/webgl/conftest.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/graphics/webgl/test_context.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/graphics/webgl/test_shapes_sprites_and_text.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/graphics/webgl/test_textures_and_framebuffers.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/image/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/image/test_gdkpixbuf2.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/image/test_imagegrid.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/image/test_wic.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/libs/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/libs/darwin/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/libs/darwin/cocoapy/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/libs/darwin/cocoapy/test_cocoalibs.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/media/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/media/mock_player.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/media/test_directsound.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/media/test_ffmpeg.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/media/test_listener.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/media/test_loading.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/media/test_openal.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/media/test_player.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/media/test_xaudio2.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/model/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/model/test_loading.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/platform/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/platform/pyodide/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/platform/pyodide/test_async_event_loop.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/platform/pyodide/test_filesystem.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/platform/pyodide/test_proxy_lifecycle.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/platform/pyodide/test_runtime.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/platform/test_win_context_managers.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/platform/test_win_multicore_clock.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/resource/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/resource/dir1/dir1/f3.txt +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/resource/dir1/f2.txt +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/resource/dir1/res.zip +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/resource/dir2/f6.txt +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/resource/f1.txt +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/resource/rgbm.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/resource/test_resource_loading.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/test_integrations.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/text/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/text/test_empty_document.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/text/test_label_creation.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/window/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/window/test_context_share.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/window/test_event_sequence.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/integration/window/test_window_caption.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/conftest.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/graphics/group_ordering.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/image/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/image/test_image.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/media/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/media/test_player.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/screenshots/committed/README +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/screenshots/session/README +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/shapes/test_shapes.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/test_interactive_test_base.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/text/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/text/test_caret_color.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/text/test_content_valign.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/text/test_html.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/text/test_inline_elements.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/text/test_inline_elements_style_change.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/text/test_layout_anchoring.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/text/test_multiline_wrap.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/text/test_plain.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/text/test_style.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/window/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/window/test_window_events.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/window/test_window_fullscreen.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/window/test_window_modes.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/window/test_window_multisample.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/window/test_window_open.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/window/test_window_settings.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/window/test_window_styles.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/interactive/windowed_test_base.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/pyodide/README.md +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/pyodide/browser_harness.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/pyodide/index.html +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/pyodide/project_builder.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/pyodide/pytest_runner.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/pyodide/run_pyodide_tests.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/pyodide/script.js +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/requirements.txt +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/conftest.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/libs/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/libs/darwin/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/libs/darwin/cocoapy/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/math/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/math/test_mat.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/math/test_quat.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/math/test_vec2.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/math/test_vec3.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/math/test_vec4.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/media/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/media/test_player_worker_thread.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/media/test_sources.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/media/test_synthesis.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/platform/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/shader/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/shader/conftest.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/shader/test_shader.py-SUSPENDED +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/shapes/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/shapes/conftest.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/shapes/test_bordered_rectangle.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/test_atlas.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/test_clock.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/test_clock_freq.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/test_event_chain.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/test_events.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/test_graphics_resource.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/test_image_data.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/test_info.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/test_input.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/test_resource_path.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/test_storage.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/test_win32_com.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/text/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/text/test_caret.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tests/unit/text/test_text.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/al_info.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/benchmark_clock.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/ffmpeg/bokeh_timeline.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/ffmpeg/compare.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/ffmpeg/configure.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/ffmpeg/extractors.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/ffmpeg/fs.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/ffmpeg/mp.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/ffmpeg/mpexceptions.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/ffmpeg/playmany.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/ffmpeg/readme_ffmpeg_debbuging_branch.txt +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/ffmpeg/readme_run_tests.txt +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/ffmpeg/report.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/ffmpeg/reports.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/ffmpeg/retry_crashed.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/ffmpeg/run_test_suite.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/ffmpeg/summarize.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/ffmpeg/test_instrumentation.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/ffmpeg/timeline.py +0 -0
- {pyglet-3.0.dev9/tools → pyglet-3.0.dev10/tools/gen_opengl}/requirements.txt +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/gencontrollerdb.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/genwrappers.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/gl_info.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/inspect_font.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/web.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/web_example/README.md +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/web_example/pyglet.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/web_example/pyproject.toml +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/web_example/web/dev_style.css +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/web_example/web/index.html +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/wgl.h +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/wraptypes/__init__.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/wraptypes/cparser.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/wraptypes/ctypesparser.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/wraptypes/lex.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/wraptypes/preprocessor.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/wraptypes/wrap.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/tools/wraptypes/yacc.py +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/LICENSE.txt +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/README.rst +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/assets/favicon.ico +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/assets/static/css/example-custom-styles.css +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/assets/static/images/pyglet.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/content/404.html/contents.lr +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/content/404.html/ngc-5793.jpg +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/content/authors/benjamin/contents.lr +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/content/authors/benjamin/pyglet.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/content/authors/contents.lr +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/content/blog/contents.lr +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/content/blog/welcome-blog/contents.lr +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/content/contents.lr +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/content/eclipse.jpg +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/pyglet.lektorproject +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/AUTHORS.txt +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/CHANGELOG.md +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/CONTRIBUTING.md +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/LICENSE.txt +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/NOTICE.txt +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/README.md +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/assets/static/css/bootstrap.css +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/assets/static/css/icomoon.css +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/assets/static/css/magnific-popup.css +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/assets/static/css/style.css +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/assets/static/fonts/icomoon/icomoon.ttf +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/assets/static/fonts/icomoon/icomoon.woff +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/assets/static/images/Preloader_2.gif +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/assets/static/images/placeholder_person.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/assets/static/js/jquery-3.3.1.min.js +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/assets/static/js/jquery.easing.min.js +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/assets/static/js/jquery.magnific-popup.min.js +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/assets/static/js/jquery.stellar.js +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/assets/static/js/jquery.stellar.min.js +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/assets/static/js/jquery.waypoints.min.js +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/assets/static/js/magnific-popup-options.js +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/assets/static/js/main-singlelayout.js +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/assets/static/js/main.js +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/flowblocks/content.ini +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/flowblocks/gallery.ini +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/flowblocks/gallery_item.ini +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/flowblocks/member.ini +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/flowblocks/mission.ini +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/flowblocks/mission_tab.ini +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/flowblocks/service.ini +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/flowblocks/services.ini +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/flowblocks/team.ini +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/images/blog-index.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/images/full-blog.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/images/full-page.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/images/gallery-404.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/images/gallery-singlepage.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/images/mainpage-screenshots.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/images/responsive-layout.png +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/models/404.ini +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/models/author.ini +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/models/authors.ini +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/models/blog-post.ini +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/models/blog.ini +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/models/page.ini +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/models/single-layout.ini +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/templates/404.html +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/templates/author.html +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/templates/authors.html +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/templates/blocks/content.html +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/templates/blocks/gallery.html +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/templates/blocks/mission.html +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/templates/blocks/services.html +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/templates/blocks/team.html +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/templates/blog-layout.html +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/templates/blog-post.html +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/templates/blog.html +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/templates/layout.html +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/templates/macros/blog.html +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/templates/macros/pagination.html +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/templates/none.html +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/templates/page.html +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/templates/single-layout.html +0 -0
- {pyglet-3.0.dev9 → pyglet-3.0.dev10}/website/themes/lektor-icon/theme.ini +0 -0
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: pyglet
|
|
3
|
+
Version: 3.0.dev10
|
|
4
|
+
Summary: pyglet is a cross-platform games and multimedia package.
|
|
5
|
+
Author-email: Alex Holkner & contributors <Alex.Holkner@gmail.com>
|
|
6
|
+
Requires-Python: >=3.10
|
|
7
|
+
Description-Content-Type: text/markdown
|
|
8
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
9
|
+
Classifier: Environment :: MacOS X
|
|
10
|
+
Classifier: Environment :: Win32 (MS Windows)
|
|
11
|
+
Classifier: Environment :: X11 Applications
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: License :: OSI Approved :: BSD License
|
|
14
|
+
Classifier: Operating System :: MacOS :: MacOS X
|
|
15
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
16
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
23
|
+
Classifier: Topic :: Games/Entertainment
|
|
24
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
25
|
+
License-File: LICENSE
|
|
26
|
+
Project-URL: Documentation, https://pyglet.readthedocs.io
|
|
27
|
+
Project-URL: Home, https://pyglet.org
|
|
28
|
+
Project-URL: Repository, https://github.com/pyglet/pyglet/
|
|
29
|
+
Project-URL: Tracker, https://github.com/pyglet/pyglet/issues
|
|
30
|
+
|
|
31
|
+
[](https://pypi.python.org/pypi/pyglet) [](https://pyglet.readthedocs.io) [](https://github.com/pyglet/pyglet/actions/workflows/unittests.yml)
|
|
32
|
+
|
|
33
|
+

|
|
34
|
+
|
|
35
|
+
# pyglet
|
|
36
|
+
|
|
37
|
+
*pyglet* is a cross-platform windowing and multimedia library for Python, intended for developing games
|
|
38
|
+
and other visually rich applications. It supports Windowing, input event handling, Controllers & Joysticks,
|
|
39
|
+
OpenGL graphics, loading images and videos, and playing sounds and music. *pyglet* works on Windows, OS X and Linux.
|
|
40
|
+
|
|
41
|
+
> :exclamation: :exclamation: **We are preparing to release a major pyglet update very soon**.
|
|
42
|
+
> Version 3.0 will include an extensive internal rewrite, bringing support for multiple rendering backends
|
|
43
|
+
> and significant performance improvements. This brings back support for some legacy platforms, as well as
|
|
44
|
+
> new support for WebGL. The high level APIs will be largely the same, but some adjustments will be necessary
|
|
45
|
+
> if you are using OpenGL directly in your game or application. See the migration guide to prepare for the
|
|
46
|
+
> new release at https://pyglet.readthedocs.io/en/development/programming_guide/migration.html, and try out
|
|
47
|
+
> the new release by downloading a 3.0.devX release today (pip install --upgrade pyglet --pre).
|
|
48
|
+
> **If you want to do a pull request for the previous release, please target the appropriate branch**.
|
|
49
|
+
|
|
50
|
+
* pyglet [documentation]
|
|
51
|
+
* pyglet on [PyPI]
|
|
52
|
+
* pyglet [discord] server
|
|
53
|
+
* pyglet [mailing list]
|
|
54
|
+
* pyglet [issue tracker]
|
|
55
|
+
* pyglet [website]
|
|
56
|
+
|
|
57
|
+
pyglet has an active developer and user community. If you find a bug or a problem with the documentation,
|
|
58
|
+
please [open an issue](https://github.com/pyglet/pyglet/issues).
|
|
59
|
+
Anyone is welcome to join our [discord] server where a lot of the development discussion is going on.
|
|
60
|
+
It's also a great place to ask for help.
|
|
61
|
+
|
|
62
|
+
Some features of pyglet are:
|
|
63
|
+
|
|
64
|
+
* **No external dependencies or installation requirements.** For most application and game requirements, *pyglet*
|
|
65
|
+
needs nothing else besides Python, simplifying distribution and installation. It's easy to package and distribute
|
|
66
|
+
your project with [Nuitka](https://nuitka.net) or [PyInstaller](https://pyinstaller.org).
|
|
67
|
+
* **Take advantage of multiple windows and multi-monitor desktops.** *pyglet* allows you to use multiple
|
|
68
|
+
platform-native windows, and is fully aware of multi-monitor setups for use with fullscreen games.
|
|
69
|
+
* **Load images, sound, music and video in almost any format.** *pyglet* can optionally use FFmpeg to play back
|
|
70
|
+
audio formats such as MP3, OGG/Vorbis and WMA, and video formats such as MPEG2, H.264, H.265, WMV and Xvid.
|
|
71
|
+
Without FFmpeg, *pyglet* contains built-in support for standard formats such as wav, png, bmp, and others.
|
|
72
|
+
* **pyglet is written entirely in pure Python**, and makes use of the *ctypes* module to interface with system
|
|
73
|
+
libraries. You can modify the codebase or make a contribution without any second language compilation steps or
|
|
74
|
+
compiler setup. Despite being pure Python, *pyglet* has excellent performance thanks to advanced batching for
|
|
75
|
+
drawing thousands of objects.
|
|
76
|
+
* **pyglet is provided under the BSD open-source license**, allowing you to use it for both commercial and other
|
|
77
|
+
open-source projects with very little restriction.
|
|
78
|
+
|
|
79
|
+
## Requirements
|
|
80
|
+
|
|
81
|
+
pyglet runs under Python 3.10+. Being written in pure Python, it also works on other Python interpreters such as PyPy. Supported platforms are:
|
|
82
|
+
|
|
83
|
+
* Windows 7 or later
|
|
84
|
+
* macOS 10.9 or later.
|
|
85
|
+
* Linux, with the following libraries (most recent distributions will have
|
|
86
|
+
these in a default installation):
|
|
87
|
+
* OpenGL and GLX
|
|
88
|
+
* GDK 2.0+ or Pillow (required for loading images other than PNG and BMP)
|
|
89
|
+
* OpenAL or Pulseaudio (required for playing audio)
|
|
90
|
+
|
|
91
|
+
**As of pyglet 2.0, OpenGL 3.3+ is required**.
|
|
92
|
+
|
|
93
|
+
To play a large variety of compressed audio and video files,
|
|
94
|
+
pyglet can optionally take advantage of [FFmpeg](https://ffmpeg.org/).
|
|
95
|
+
|
|
96
|
+
## Installation
|
|
97
|
+
|
|
98
|
+
pyglet is installable from PyPI:
|
|
99
|
+
|
|
100
|
+
pip install --upgrade --user pyglet
|
|
101
|
+
|
|
102
|
+
## Installation from source
|
|
103
|
+
|
|
104
|
+
If you're reading this `README` from a source distribution, you can install pyglet with:
|
|
105
|
+
|
|
106
|
+
pip install --upgrade --user .
|
|
107
|
+
# or
|
|
108
|
+
python setup.py install --user
|
|
109
|
+
|
|
110
|
+
You can also install the latest development version directly from Github:
|
|
111
|
+
|
|
112
|
+
pip install --upgrade --user https://github.com/pyglet/pyglet/archive/master.zip
|
|
113
|
+
|
|
114
|
+
For local development install pyglet in editable mode:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
# with pip
|
|
118
|
+
pip install -e .
|
|
119
|
+
# with setup.py
|
|
120
|
+
python setup.py develop
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
There are no compilation steps during the installation; if you prefer,
|
|
124
|
+
you can simply add this directory to your `PYTHONPATH` and use pyglet without
|
|
125
|
+
installing it. You can also copy pyglet directly into your project folder.
|
|
126
|
+
|
|
127
|
+
## Contributing
|
|
128
|
+
|
|
129
|
+
**A good way to start contributing to a component of pyglet is by its documentation**. When studying the code you
|
|
130
|
+
are going to work with, also read the associated docs. If you don't understand the code with the help of the docs,
|
|
131
|
+
it is a sign that the docs should be improved. If you wish to make large changes to any part of pyglet, it's always
|
|
132
|
+
a good idea to reach out for feedback first. This can avoid wasted effort in cases where someone is already working
|
|
133
|
+
on something similar, or if your idea can't be accepted for any reason.
|
|
134
|
+
|
|
135
|
+
A basic outline of how to a contribution is as follows:
|
|
136
|
+
|
|
137
|
+
* Fork the [official repository](https://github.com/pyglet/pyglet/fork).
|
|
138
|
+
* In your fork, checkout the branch you wish to contribute to (such as *pyglet-1.5-maintenance*).
|
|
139
|
+
* Apply your changes to your fork.
|
|
140
|
+
* Submit a [pull request](https://github.com/pyglet/pyglet/pulls) describing the changes you have made.
|
|
141
|
+
* Alternatively you can create a patch and submit it to the issue tracker.
|
|
142
|
+
|
|
143
|
+
When making a pull request, check that you have addressed its respective documentation, both within the code docstrings
|
|
144
|
+
and the programming guide (if applicable). It is very important to all of us that the documentation matches the latest
|
|
145
|
+
code and vice versa.
|
|
146
|
+
|
|
147
|
+
Consequently, an error in the documentation, either because it is hard to understand or because it doesn't match the
|
|
148
|
+
code, is a bug that deserves to be reported on a ticket.
|
|
149
|
+
|
|
150
|
+
## Building Docs
|
|
151
|
+
|
|
152
|
+
[Documentation and Type Hints]: https://pyglet.readthedocs.io/en/latest/internal/doc.html
|
|
153
|
+
|
|
154
|
+
To get started quickly:
|
|
155
|
+
|
|
156
|
+
python -m pip install -e . --group docs
|
|
157
|
+
python make.py docs
|
|
158
|
+
|
|
159
|
+
Please check [Documentation and Type Hints][] guide to learn more.
|
|
160
|
+
|
|
161
|
+
## Testing
|
|
162
|
+
|
|
163
|
+
pyglet makes use of pytest for its test suite.
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
python -m pip install -e . --group test
|
|
167
|
+
# Only run unittests
|
|
168
|
+
pytest tests/unit
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Please check the [testing section in the development guide](https://pyglet.readthedocs.io/en/latest/internal/testing.html)
|
|
172
|
+
for more information about running and writing tests.
|
|
173
|
+
|
|
174
|
+
## Contact
|
|
175
|
+
|
|
176
|
+
pyglet is developed by many individual volunteers, and there is no central point of contact. If you have a question
|
|
177
|
+
about developing with pyglet, or you wish to contribute, please join the [discord] server, or [subreddit].
|
|
178
|
+
|
|
179
|
+
For legal issues, please contact [Alex Holkner](mailto:Alex.Holkner@gmail.com).
|
|
180
|
+
|
|
181
|
+
[discord]: https://discord.gg/QXyegWe
|
|
182
|
+
[subreddit]: https://www.reddit.com/r/pyglet/
|
|
183
|
+
[documentation]: https://pyglet.readthedocs.io
|
|
184
|
+
[wiki]: https://github.com/pyglet/pyglet/wiki
|
|
185
|
+
[pypi]: https://pypi.org/project/pyglet/
|
|
186
|
+
[website]: http://pyglet.org/
|
|
187
|
+
[issue tracker]: https://github.com/pyglet/pyglet/issues
|
|
188
|
+
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import sys
|
|
4
|
+
|
|
5
|
+
import pyglet
|
|
6
|
+
from pyglet.enums import BlendFactor
|
|
7
|
+
from pyglet.graphics.state import State
|
|
8
|
+
from pyglet.window import key
|
|
9
|
+
|
|
10
|
+
from typing import TYPE_CHECKING
|
|
11
|
+
|
|
12
|
+
if TYPE_CHECKING:
|
|
13
|
+
from pyglet.graphics import ShaderProgram, Group
|
|
14
|
+
from pyglet.graphics.texture import Texture
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class DepthFieldUniforms(State):
|
|
18
|
+
sets_state = True
|
|
19
|
+
|
|
20
|
+
def __init__(self, program: ShaderProgram):
|
|
21
|
+
self.program = program
|
|
22
|
+
|
|
23
|
+
def set_state(self, ctx) -> None:
|
|
24
|
+
self.program['bidirectional'] = enable_bidirectional
|
|
25
|
+
self.program['antialias'] = enable_antialias
|
|
26
|
+
self.program['outline'] = enable_outline
|
|
27
|
+
self.program['outline_width'] = outline_width
|
|
28
|
+
self.program['glow'] = enable_glow
|
|
29
|
+
self.program['glow_width'] = glow_width
|
|
30
|
+
|
|
31
|
+
class DistFieldGroup(pyglet.sprite.SpriteGroup):
|
|
32
|
+
|
|
33
|
+
def __init__(self, texture: Texture, blend_src: BlendFactor, blend_dest: BlendFactor, program: ShaderProgram,
|
|
34
|
+
parent: Group | None = None) -> None:
|
|
35
|
+
super().__init__(texture, blend_src, blend_dest, program, parent)
|
|
36
|
+
self.set_state(DepthFieldUniforms(program))
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class DistFieldSprite(pyglet.sprite.Sprite):
|
|
40
|
+
"""Override sprite to use DistFieldTextureGroup."""
|
|
41
|
+
group_class = DistFieldGroup
|
|
42
|
+
|
|
43
|
+
def __init__(self, img, x=0, y=0, z=0, blend_src=BlendFactor.SRC_ALPHA, blend_dest=BlendFactor.ONE_MINUS_SRC_ALPHA, batch=None,
|
|
44
|
+
group=None, subpixel=False, program=None) -> None:
|
|
45
|
+
super().__init__(img, x, y, z, blend_src, blend_dest, batch, group, subpixel, program)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
window = pyglet.window.Window(resizable=True)
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
@window.event
|
|
52
|
+
def on_resize(width, height):
|
|
53
|
+
scale_width = width / float(image.width)
|
|
54
|
+
scale_height = height / float(image.height)
|
|
55
|
+
sprite.scale = min(scale_width, scale_height)
|
|
56
|
+
sprite.x = width / 2
|
|
57
|
+
sprite.y = height / 2
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
@window.event
|
|
61
|
+
def on_draw():
|
|
62
|
+
window.clear()
|
|
63
|
+
sprite.draw()
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
@window.event
|
|
67
|
+
def on_key_press(symbol, modifiers):
|
|
68
|
+
global enable_bidirectional
|
|
69
|
+
global enable_antialias
|
|
70
|
+
global enable_outline
|
|
71
|
+
global enable_glow
|
|
72
|
+
global outline_width
|
|
73
|
+
global glow_width
|
|
74
|
+
if symbol == key.B:
|
|
75
|
+
enable_bidirectional = not enable_bidirectional
|
|
76
|
+
elif symbol == key.A:
|
|
77
|
+
enable_antialias = not enable_antialias
|
|
78
|
+
elif symbol == key.O:
|
|
79
|
+
enable_outline = not enable_outline
|
|
80
|
+
enable_glow = False
|
|
81
|
+
elif symbol == key.G:
|
|
82
|
+
enable_glow = not enable_glow
|
|
83
|
+
enable_outline = False
|
|
84
|
+
elif symbol == key.PERIOD:
|
|
85
|
+
if enable_glow:
|
|
86
|
+
glow_width += 0.005
|
|
87
|
+
else:
|
|
88
|
+
outline_width += 0.005
|
|
89
|
+
elif symbol == key.COMMA:
|
|
90
|
+
if enable_glow:
|
|
91
|
+
glow_width -= 0.005
|
|
92
|
+
else:
|
|
93
|
+
outline_width -= 0.005
|
|
94
|
+
|
|
95
|
+
print('-' * 78)
|
|
96
|
+
print('enable_bidirectional:', enable_bidirectional)
|
|
97
|
+
print('enable_antialias:', enable_antialias)
|
|
98
|
+
print('enable_outline:', enable_outline)
|
|
99
|
+
print('enable_glow:', enable_glow)
|
|
100
|
+
print('outline_width:', outline_width)
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
vertex_source = """#version 150 core
|
|
104
|
+
in vec3 translate;
|
|
105
|
+
in vec4 colors;
|
|
106
|
+
in vec3 tex_coords;
|
|
107
|
+
in vec2 scale;
|
|
108
|
+
in vec3 position;
|
|
109
|
+
in float rotation;
|
|
110
|
+
|
|
111
|
+
out vec4 vertex_colors;
|
|
112
|
+
out vec3 texture_coords;
|
|
113
|
+
|
|
114
|
+
uniform WindowBlock
|
|
115
|
+
{
|
|
116
|
+
mat4 projection;
|
|
117
|
+
mat4 view;
|
|
118
|
+
} window;
|
|
119
|
+
|
|
120
|
+
mat4 m_scale = mat4(1.0);
|
|
121
|
+
mat4 m_rotation = mat4(1.0);
|
|
122
|
+
mat4 m_translate = mat4(1.0);
|
|
123
|
+
|
|
124
|
+
void main()
|
|
125
|
+
{
|
|
126
|
+
m_scale[0][0] = scale.x;
|
|
127
|
+
m_scale[1][1] = scale.y;
|
|
128
|
+
m_translate[3][0] = translate.x;
|
|
129
|
+
m_translate[3][1] = translate.y;
|
|
130
|
+
m_translate[3][2] = translate.z;
|
|
131
|
+
m_rotation[0][0] = cos(-radians(rotation));
|
|
132
|
+
m_rotation[0][1] = sin(-radians(rotation));
|
|
133
|
+
m_rotation[1][0] = -sin(-radians(rotation));
|
|
134
|
+
m_rotation[1][1] = cos(-radians(rotation));
|
|
135
|
+
|
|
136
|
+
gl_Position = window.projection * window.view * m_translate * m_rotation * m_scale * vec4(position, 1.0);
|
|
137
|
+
|
|
138
|
+
vertex_colors = colors;
|
|
139
|
+
texture_coords = tex_coords;
|
|
140
|
+
}
|
|
141
|
+
"""
|
|
142
|
+
|
|
143
|
+
fragment_source = """#version 150 core
|
|
144
|
+
in vec4 vertex_colors;
|
|
145
|
+
in vec3 texture_coords;
|
|
146
|
+
out vec4 final_colors;
|
|
147
|
+
|
|
148
|
+
uniform sampler2D sprite_texture;
|
|
149
|
+
|
|
150
|
+
uniform bool bidirectional;
|
|
151
|
+
uniform bool antialias;
|
|
152
|
+
uniform bool outline;
|
|
153
|
+
uniform bool glow;
|
|
154
|
+
uniform float outline_width;
|
|
155
|
+
uniform float glow_width;
|
|
156
|
+
|
|
157
|
+
const vec4 outline_color = vec4(0.0, 0.0, 1.0, 1.0);
|
|
158
|
+
const vec4 glow_color = vec4(1.0, 0.0, 0.0, 1.0);
|
|
159
|
+
|
|
160
|
+
void main()
|
|
161
|
+
{
|
|
162
|
+
float alpha_mask;
|
|
163
|
+
if (bidirectional)
|
|
164
|
+
{
|
|
165
|
+
vec4 field = texture2D(sprite_texture, texture_coords.xy);
|
|
166
|
+
alpha_mask = float(field.r >= 0.5 && field.g >= 0.5);
|
|
167
|
+
}
|
|
168
|
+
else
|
|
169
|
+
{
|
|
170
|
+
alpha_mask = texture2D(sprite_texture, texture_coords.xy).a;
|
|
171
|
+
}
|
|
172
|
+
float alpha_width = fwidth(alpha_mask);
|
|
173
|
+
float intensity = alpha_mask;
|
|
174
|
+
|
|
175
|
+
final_colors = vertex_colors;
|
|
176
|
+
|
|
177
|
+
if (glow)
|
|
178
|
+
{
|
|
179
|
+
float glow_min = 0.5 - glow_width;
|
|
180
|
+
intensity = (alpha_mask - glow_min) / (0.5 - glow_min);
|
|
181
|
+
float glow_intensity = 0.0;
|
|
182
|
+
if (antialias)
|
|
183
|
+
glow_intensity = 1.0 - smoothstep(0.5 - alpha_width,
|
|
184
|
+
0.5 + alpha_width,
|
|
185
|
+
alpha_mask) * 2.0;
|
|
186
|
+
else
|
|
187
|
+
glow_intensity = float(alpha_mask < 0.5);
|
|
188
|
+
|
|
189
|
+
final_colors = mix(final_colors, glow_color, glow_intensity);
|
|
190
|
+
}
|
|
191
|
+
else if (outline)
|
|
192
|
+
{
|
|
193
|
+
float outline_intensity = 0.0;
|
|
194
|
+
float outline_min = 0.5 - outline_width;
|
|
195
|
+
float outline_max = 0.5;
|
|
196
|
+
if (antialias)
|
|
197
|
+
{
|
|
198
|
+
|
|
199
|
+
outline_intensity = 1.0 - smoothstep(outline_max - alpha_width,
|
|
200
|
+
outline_max + alpha_width,
|
|
201
|
+
alpha_mask) * 2.0;
|
|
202
|
+
|
|
203
|
+
intensity *= smoothstep(outline_min - alpha_width,
|
|
204
|
+
outline_min + alpha_width,
|
|
205
|
+
alpha_mask) * 2.0;
|
|
206
|
+
}
|
|
207
|
+
else
|
|
208
|
+
{
|
|
209
|
+
outline_intensity =
|
|
210
|
+
float(alpha_mask >= outline_min && alpha_mask <= outline_max);
|
|
211
|
+
intensity = float(alpha_mask >= outline_min);
|
|
212
|
+
}
|
|
213
|
+
final_colors = mix(final_colors, outline_color, outline_intensity);
|
|
214
|
+
}
|
|
215
|
+
else if (antialias)
|
|
216
|
+
{
|
|
217
|
+
intensity *= smoothstep(0.5 - alpha_width,
|
|
218
|
+
0.5 + alpha_width,
|
|
219
|
+
alpha_mask) * 2.0;
|
|
220
|
+
}
|
|
221
|
+
else
|
|
222
|
+
{
|
|
223
|
+
intensity = float(alpha_mask >= 0.5);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
final_colors.a = intensity;
|
|
227
|
+
}
|
|
228
|
+
"""
|
|
229
|
+
|
|
230
|
+
enable_bidirectional = False
|
|
231
|
+
enable_antialias = False
|
|
232
|
+
enable_outline = False
|
|
233
|
+
enable_glow = False
|
|
234
|
+
outline_width = 0.02
|
|
235
|
+
glow_width = 0.1
|
|
236
|
+
|
|
237
|
+
dist_shader = pyglet.graphics.ShaderProgram(
|
|
238
|
+
pyglet.graphics.Shader(vertex_source, "vertex"),
|
|
239
|
+
pyglet.graphics.Shader(fragment_source, "fragment"),
|
|
240
|
+
)
|
|
241
|
+
|
|
242
|
+
if len(sys.argv) > 1:
|
|
243
|
+
filename = sys.argv[1]
|
|
244
|
+
else:
|
|
245
|
+
filename = 'py.df.png'
|
|
246
|
+
|
|
247
|
+
controls = """
|
|
248
|
+
Following keys modify the shader operation:
|
|
249
|
+
|
|
250
|
+
A Toggle antialiasing
|
|
251
|
+
B Toggle bidirectional (see below)
|
|
252
|
+
O Toggle outline
|
|
253
|
+
G Toggle glow
|
|
254
|
+
, Decrease outline/glow
|
|
255
|
+
. Increase outline/glow
|
|
256
|
+
"""
|
|
257
|
+
print(controls)
|
|
258
|
+
|
|
259
|
+
image = pyglet.image.load(filename)
|
|
260
|
+
|
|
261
|
+
sprite = DistFieldSprite(image, anchor=(image.width // 2, image.height // 2), program=dist_shader)
|
|
262
|
+
|
|
263
|
+
pyglet.app.run()
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
ctypes Wrapper Generation
|
|
2
|
+
=========================
|
|
3
|
+
|
|
4
|
+
Pyglet has two ctypes-generation processes. The OpenGL-family
|
|
5
|
+
bindings use Khronos XML registries. The remaining legacy wrappers parse local
|
|
6
|
+
C headers.
|
|
7
|
+
|
|
8
|
+
Khronos XML registry bindings
|
|
9
|
+
-----------------------------
|
|
10
|
+
|
|
11
|
+
The XML registry generators live in ``tools/gen_opengl``:
|
|
12
|
+
|
|
13
|
+
* ``gengl.py`` generates OpenGL core, compatibility, and OpenGL ES bindings
|
|
14
|
+
from ``gl.xml``.
|
|
15
|
+
* ``gen_egl.py``, ``gen_glx.py``, and ``gen_wgl.py`` generate the EGL, GLX,
|
|
16
|
+
and WGL bindings from ``egl.xml``, ``glx.xml``, and ``wgl.xml``.
|
|
17
|
+
* There is no agl.xml file available, and is therefore no longer generated.
|
|
18
|
+
Since AGL is deprecated, it will not require any future updates.
|
|
19
|
+
|
|
20
|
+
Run the generators from the repository root::
|
|
21
|
+
|
|
22
|
+
python tools/gen_opengl/gengl.py --source local
|
|
23
|
+
python tools/gen_opengl/gen_egl.py
|
|
24
|
+
python tools/gen_opengl/gen_glx.py
|
|
25
|
+
python tools/gen_opengl/gen_wgl.py
|
|
26
|
+
|
|
27
|
+
``gengl.py`` can also retrieve the current ``gl.xml`` with ``--source url``.
|
|
28
|
+
The generated OpenGL modules are ``pyglet.graphics.api.gl.gl``,
|
|
29
|
+
``pyglet.graphics.api.gl.gl_compat``, and ``pyglet.graphics.api.gl.gles``.
|
|
30
|
+
|
|
31
|
+
Extension bindings
|
|
32
|
+
------------------
|
|
33
|
+
|
|
34
|
+
Each generator has an ``EXTENSIONS`` list. It contains extensions pyglet uses
|
|
35
|
+
or that are common enough for the normal binding module. The
|
|
36
|
+
registry contains many legacy and vendor specific extensions, so generating all
|
|
37
|
+
of them by default would substantially increase module size, increase time
|
|
38
|
+
spent linking/importing, and may require additional platform specific ctypes
|
|
39
|
+
declarations.
|
|
40
|
+
|
|
41
|
+
EGL, GLX, and WGL can write selected extensions to a sibling ``*_ext.py``
|
|
42
|
+
module instead::
|
|
43
|
+
|
|
44
|
+
python tools/gen_opengl/gen_egl.py --extensions-file
|
|
45
|
+
python tools/gen_opengl/gen_glx.py --extensions-file
|
|
46
|
+
python tools/gen_opengl/gen_wgl.py --extensions-file
|
|
47
|
+
|
|
48
|
+
Use ``--extra-extensions`` with ``--extensions-file`` to generate all unlisted
|
|
49
|
+
registry extensions into that extra module. Add any required type mappings and
|
|
50
|
+
template imports before enabling an extension that uses platform specific
|
|
51
|
+
types.
|
|
52
|
+
|
|
53
|
+
If an extension is useful to pyglet and broadly supported, add it to the
|
|
54
|
+
relevant ``EXTENSIONS`` list. For experimental, legacy, or application specific
|
|
55
|
+
extensions, prefer separate extension output.
|
|
56
|
+
|
|
57
|
+
If there is a commonly used extension, or your application relies on a specific
|
|
58
|
+
extension that pyglet does not include by default, we can include it. Feel free
|
|
59
|
+
to open an issue or pull request with the specific extension.
|
|
60
|
+
|
|
61
|
+
C-header wrapper bindings
|
|
62
|
+
-------------------------
|
|
63
|
+
|
|
64
|
+
``tools/genwrappers.py`` invokes the ``tools/wraptypes`` preprocessor
|
|
65
|
+
and C parser over headers installed on the local system. Unlike the XML
|
|
66
|
+
generators, it is platform and development header dependent. It is used for
|
|
67
|
+
X11 and a small number of other platform libraries, not EGL, GLX, or WGL.
|
|
68
|
+
|
|
69
|
+
On Linux, request the wrappers to generate explicitly::
|
|
70
|
+
|
|
71
|
+
python tools/genwrappers.py xlib xinerama
|
|
72
|
+
|
|
73
|
+
This requires the corresponding X11 and Xinerama development headers. The
|
|
74
|
+
current script still contains output paths from the former X11 package layout;
|
|
75
|
+
update those paths before regenerating the relocated
|
|
76
|
+
``pyglet.libs.linux.x11`` modules.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
OpenGL Interface Implementation
|
|
2
|
+
--------------------------------
|
|
3
|
+
|
|
4
|
+
See `OpenGL Interface` for details on the publicly-visible modules.
|
|
5
|
+
|
|
6
|
+
See `ctypes Wrapper Generation` for details on some of these modules are
|
|
7
|
+
generated.
|
|
8
|
+
|
|
9
|
+
ctypes linkage
|
|
10
|
+
==============
|
|
11
|
+
|
|
12
|
+
Most functions link to libGL.so (Linux), opengl32.dll (Windows) or
|
|
13
|
+
OpenGL.framework (OS X). ``pyglet.graphics.api.gl.lib`` provides some helper types then
|
|
14
|
+
imports linker functions for the appropriate platform: one of
|
|
15
|
+
``pyglet.libs.darwin.lib_agl``, ``pyglet.libs.linux.glx.lib_glx``, ``pyglet.libs.win32.lib_wgl``.
|
|
16
|
+
|
|
17
|
+
On any platform, the following steps are taken to link each function during
|
|
18
|
+
import:
|
|
19
|
+
|
|
20
|
+
1. Look in the appropriate library (e.g. libGL.so, opengl32.dll,
|
|
21
|
+
etc.) using ``cdll`` or ``windll``.
|
|
22
|
+
|
|
23
|
+
2. If not found, call ``wglGetProcAddress`` or ``glxGetProcAddress`` to try to
|
|
24
|
+
resolve the function's address dynamically. On OS X, skip this step.
|
|
25
|
+
|
|
26
|
+
3. On Windows, this will fail if the context hasn't been created yet. Create
|
|
27
|
+
and return a proxy object ``WGLFunctionProxy`` which will try the same
|
|
28
|
+
resolution again when the object is ``__call__``'d.
|
|
29
|
+
|
|
30
|
+
The proxy object caches its result so that subsequent calls have only a
|
|
31
|
+
single extra function-call overhead.
|
|
32
|
+
|
|
33
|
+
4. If the function is still not found (either during import or proxy call),
|
|
34
|
+
the function is replaced with ``MissingFunction`` (defined in
|
|
35
|
+
``pyglet.libs``), which raises an exception. The exception message
|
|
36
|
+
details the name of the function, and optionally the name of the extension
|
|
37
|
+
or OpenGL version it requires.
|
|
38
|
+
|
|
39
|
+
Binding regeneration
|
|
40
|
+
====================
|
|
41
|
+
|
|
42
|
+
The generated binding sources, registry extension policy, and the separate
|
|
43
|
+
C-header wrapper pipeline are documented in :doc:`generated`.
|
|
44
|
+
|
|
45
|
+
To access the linking function, import ``pyglet.graphics.api.gl.lib`` and use one of
|
|
46
|
+
``link_AGL``, ``link_GLX``, ``link_WGL`` or ``link_GL``. This
|
|
47
|
+
is what the generated modules do.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
pyglet.graphics
|
|
2
|
+
===============
|
|
3
|
+
|
|
4
|
+
.. rubric:: Submodules
|
|
5
|
+
|
|
6
|
+
.. toctree::
|
|
7
|
+
:maxdepth: 1
|
|
8
|
+
|
|
9
|
+
allocation
|
|
10
|
+
atlas
|
|
11
|
+
draw
|
|
12
|
+
framebuffer
|
|
13
|
+
instance
|
|
14
|
+
shader
|
|
15
|
+
texture
|
|
16
|
+
vertexbuffer
|
|
17
|
+
vertexdomain
|
|
18
|
+
|
|
19
|
+
.. rubric:: Details
|
|
20
|
+
|
|
21
|
+
.. automodule:: pyglet.graphics
|
|
22
|
+
:members:
|
|
23
|
+
:undoc-members:
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
pyglet.graphics.instance
|
|
2
|
+
========================
|
|
3
|
+
|
|
4
|
+
``VertexInstance`` provides an object handle for one independently managed
|
|
5
|
+
instance. For array-oriented workloads, ``InstanceCollection`` manages the
|
|
6
|
+
entire contiguous instance range without allocating a Python object for every
|
|
7
|
+
item. See :ref:`guide_instanced-rendering` for selection guidance and examples.
|
|
8
|
+
|
|
9
|
+
.. automodule:: pyglet.graphics.instance
|
|
10
|
+
:members: VertexInstance, InstanceCollection
|