pyglet 3.0.dev6__tar.gz → 3.0.dev7__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.
Files changed (1020) hide show
  1. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/.github/workflows/unittests.yml +25 -19
  2. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/.gitignore +4 -0
  3. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/PKG-INFO +10 -7
  4. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/README.md +9 -6
  5. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/RELEASE_NOTES +41 -0
  6. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/index.rst +1 -0
  7. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/gui.rst +6 -1
  8. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/window.rst +1 -1
  9. pyglet-3.0.dev7/doc/programming_guide/camera.rst +270 -0
  10. pyglet-3.0.dev7/doc/programming_guide/event_chains.rst +594 -0
  11. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/events.rst +5 -1
  12. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/installation.rst +13 -0
  13. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/migration.rst +96 -3
  14. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/text.rst +64 -7
  15. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/texture.rst +106 -2
  16. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/graphics/instancing.py +18 -15
  17. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/opengl/compute_shader.py +10 -3
  18. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/opengl/egl_context.py +2 -2
  19. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/window/camera/camera_group.py +9 -5
  20. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/window/camera/camera_scissor.py +1 -1
  21. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/window/camera/camera_views.py +10 -5
  22. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/__init__.py +13 -9
  23. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/app/async_app.py +2 -2
  24. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/app/cocoa.py +5 -9
  25. pyglet-3.0.dev7/pyglet/clock.py +1781 -0
  26. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/config/gl/egl.py +1 -1
  27. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/display/cocoa.py +23 -35
  28. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/display/emscripten.py +1 -1
  29. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/display/headless.py +2 -2
  30. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/event.py +4 -4
  31. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/font/__init__.py +5 -4
  32. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/font/base.py +2 -6
  33. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/font/dwrite/__init__.py +5 -4
  34. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/font/fontconfig.py +6 -5
  35. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/font/freetype.py +6 -4
  36. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/font/group.py +20 -21
  37. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/font/pyodide_js.py +5 -3
  38. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/font/quartz.py +52 -20
  39. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/font/user.py +16 -2
  40. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/font/win32.py +173 -79
  41. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/__init__.py +4 -4
  42. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/cocoa/context.py +0 -4
  43. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/context.py +9 -2
  44. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/egl/context.py +1 -1
  45. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/framebuffer.py +64 -10
  46. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/state.py +3 -5
  47. pyglet-3.0.dev7/pyglet/graphics/api/gl2/framebuffer.py +85 -0
  48. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/webgl/__init__.py +1 -1
  49. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/webgl/buffer.py +2 -2
  50. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/webgl/context.py +6 -7
  51. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/webgl/framebuffer.py +59 -21
  52. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/webgl/renderer.py +1 -1
  53. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/webgl/shader.py +1 -1
  54. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/webgl/state.py +3 -6
  55. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/webgl/texture.py +113 -60
  56. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/draw.py +120 -17
  57. pyglet-3.0.dev7/pyglet/graphics/framebuffer.py +443 -0
  58. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/state.py +67 -1
  59. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/texture.py +26 -1
  60. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/image/codecs/gdiplus.py +2 -0
  61. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/image/codecs/js_image.py +2 -2
  62. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/input/emscripten/gamepad_js.py +3 -3
  63. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/input/macos/darwin_gc.py +97 -10
  64. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/darwin/cocoapy/cocoalibs.py +5 -0
  65. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/darwin/cocoapy/runtime.py +111 -34
  66. pyglet-3.0.dev7/pyglet/libs/linux/egl/__init__.py +2 -0
  67. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/linux/egl/egl.py +1 -1
  68. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/linux/egl/eglext.py +22 -1
  69. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/win32/__init__.py +2 -0
  70. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/win32/types.py +1 -0
  71. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/math.py +62 -14
  72. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/__init__.py +112 -4
  73. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/codecs/__init__.py +44 -4
  74. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/codecs/base.py +28 -5
  75. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/codecs/coreaudio.py +6 -4
  76. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/codecs/ffmpeg.py +196 -33
  77. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/codecs/gstreamer.py +1 -1
  78. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/codecs/pyogg.py +1 -1
  79. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/codecs/wave.py +1 -1
  80. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/codecs/webaudio_pyodide.py +3 -3
  81. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/codecs/wmf.py +1 -1
  82. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/drivers/base.py +6 -0
  83. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/drivers/directsound/adaptation.py +4 -0
  84. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/drivers/directsound/interface.py +12 -3
  85. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/drivers/openal/adaptation.py +5 -1
  86. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/drivers/openal/interface.py +31 -10
  87. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/drivers/pulse/adaptation.py +5 -1
  88. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/drivers/pulse/interface.py +20 -12
  89. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/drivers/pyodide_js/adaptation.py +6 -2
  90. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/drivers/silent/adaptation.py +9 -0
  91. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/drivers/xaudio2/adaptation.py +4 -0
  92. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/drivers/xaudio2/interface.py +14 -3
  93. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/model/codecs/gltf.py +172 -30
  94. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/shapes.py +10 -2
  95. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/text/__init__.py +26 -12
  96. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/text/layout/base.py +70 -39
  97. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/text/layout/incremental.py +4 -3
  98. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/window/__init__.py +13 -13
  99. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/window/camera/base.py +239 -4
  100. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/window/camera/camera2d.py +86 -2
  101. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/window/camera/camera3d.py +58 -15
  102. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/window/cocoa/__init__.py +99 -52
  103. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/window/cocoa/pyglet_delegate.py +4 -2
  104. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/window/cocoa/pyglet_view.py +4 -4
  105. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/window/emscripten/__init__.py +2 -2
  106. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/window/headless/__init__.py +1 -1
  107. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pytest.ini +1 -1
  108. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/setup.py +7 -6
  109. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/annotations.py +4 -1
  110. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/base/event_loop.py +0 -2
  111. pyglet-3.0.dev7/tests/integration/conftest.py +14 -0
  112. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/font/test_font.py +41 -55
  113. pyglet-3.0.dev7/tests/integration/font/test_gdi_renderer.py +77 -0
  114. pyglet-3.0.dev7/tests/integration/graphics/gl2/__init__.py +1 -0
  115. pyglet-3.0.dev7/tests/integration/graphics/gl2/test_buffers.py +243 -0
  116. pyglet-3.0.dev7/tests/integration/graphics/opengl/__init__.py +1 -0
  117. {pyglet-3.0.dev6/tests/integration/graphics/opengl_core → pyglet-3.0.dev7/tests/integration/graphics/opengl}/test_buffers.py +62 -72
  118. {pyglet-3.0.dev6/tests/integration/graphics → pyglet-3.0.dev7/tests/integration/graphics/opengl}/test_compute_shader.py +2 -2
  119. pyglet-3.0.dev7/tests/integration/graphics/opengl/test_framebuffer.py +259 -0
  120. pyglet-3.0.dev6/tests/integration/graphics/opengl_core/test_opengl_instancing.py → pyglet-3.0.dev7/tests/integration/graphics/opengl/test_instancing.py +1 -1
  121. {pyglet-3.0.dev6/tests/integration/graphics → pyglet-3.0.dev7/tests/integration/graphics/opengl}/test_shaders.py +24 -24
  122. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/graphics/test_atlas_bins.py +10 -10
  123. pyglet-3.0.dev7/tests/integration/graphics/test_batch_migration.py +47 -0
  124. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/graphics/test_cameras.py +111 -34
  125. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/graphics/test_groups.py +208 -17
  126. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/graphics/test_objects.py +10 -10
  127. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/graphics/test_resource_texture_transforms.py +1 -1
  128. pyglet-3.0.dev7/tests/integration/graphics/webgl/__init__.py +1 -0
  129. pyglet-3.0.dev7/tests/integration/graphics/webgl/conftest.py +30 -0
  130. pyglet-3.0.dev7/tests/integration/graphics/webgl/test_context.py +30 -0
  131. pyglet-3.0.dev7/tests/integration/graphics/webgl/test_shaders_and_batches.py +49 -0
  132. pyglet-3.0.dev7/tests/integration/graphics/webgl/test_shapes_sprites_and_text.py +40 -0
  133. pyglet-3.0.dev7/tests/integration/graphics/webgl/test_textures_and_framebuffers.py +38 -0
  134. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/libs/darwin/cocoapy/test_cocoalibs.py +15 -26
  135. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/media/test_openal.py +5 -3
  136. pyglet-3.0.dev7/tests/integration/platform/pyodide/test_runtime.py +34 -0
  137. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/text/test_label_creation.py +8 -5
  138. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/text/test_layout.py +51 -4
  139. pyglet-3.0.dev7/tests/pyodide/README.md +45 -0
  140. pyglet-3.0.dev6/tools/pyodide/run_webgl_smoke.py → pyglet-3.0.dev7/tests/pyodide/browser_harness.py +20 -73
  141. pyglet-3.0.dev7/tests/pyodide/index.html +12 -0
  142. pyglet-3.0.dev7/tests/pyodide/project_builder.py +91 -0
  143. pyglet-3.0.dev7/tests/pyodide/pytest_runner.py +31 -0
  144. pyglet-3.0.dev7/tests/pyodide/run_pyodide_tests.py +75 -0
  145. pyglet-3.0.dev7/tests/pyodide/script.js +43 -0
  146. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/math/test_mat.py +27 -0
  147. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/media/test_sources.py +2 -2
  148. pyglet-3.0.dev7/tests/unit/platform/test_mac_objc.py +257 -0
  149. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/test_clock.py +247 -0
  150. pyglet-3.0.dev7/tests/unit/test_event_chain.py +1305 -0
  151. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/test_resource_path.py +2 -1
  152. {pyglet-3.0.dev6/tools/pyodide → pyglet-3.0.dev7/tools/pyodide/user_example}/index.html +3 -3
  153. {pyglet-3.0.dev6/tools/pyodide → pyglet-3.0.dev7/tools/pyodide/user_example}/script.js +2 -2
  154. pyglet-3.0.dev6/doc/programming_guide/camera.rst +0 -131
  155. pyglet-3.0.dev6/pyglet/clock.py +0 -568
  156. pyglet-3.0.dev6/pyglet/graphics/framebuffer.py +0 -30
  157. pyglet-3.0.dev6/pyglet/libs/egl/__init__.py +0 -2
  158. pyglet-3.0.dev6/pyglet/libs/egl/egl_lib.py +0 -576
  159. pyglet-3.0.dev6/pyglet/libs/egl/eglext.py +0 -63
  160. pyglet-3.0.dev6/tests/integration/conftest.py +0 -14
  161. pyglet-3.0.dev6/tests/integration/graphics/gl2/test_gl2_buffers.py +0 -69
  162. pyglet-3.0.dev6/tests/integration/graphics/opengl_core/__init__.py +0 -1
  163. pyglet-3.0.dev6/tests/integration/graphics/test_batch_migration.py +0 -26
  164. pyglet-3.0.dev6/tests/integration/graphics/test_framebuffer.py +0 -95
  165. pyglet-3.0.dev6/tests/unit/platform/test_mac_objc.py +0 -114
  166. pyglet-3.0.dev6/tools/pyodide/gen_pyodide_project.py +0 -194
  167. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/.coveragerc +0 -0
  168. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  169. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  170. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/.github/ISSUE_TEMPLATE/questions--or-other.md +0 -0
  171. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/.github/workflows/codeql.yml +0 -0
  172. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/.readthedocs.yml +0 -0
  173. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/API_CHANGES.rst +0 -0
  174. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/LICENSE +0 -0
  175. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/MANIFEST.in +0 -0
  176. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/TODO.txt +0 -0
  177. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/contrib/README.md +0 -0
  178. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/contrib/aseprite_codec/README +0 -0
  179. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/contrib/aseprite_codec/asedemo.py +0 -0
  180. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/contrib/aseprite_codec/aseprite.py +0 -0
  181. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/contrib/aseprite_codec/running.ase +0 -0
  182. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/contrib/dist_field/README +0 -0
  183. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/contrib/dist_field/genfield.py +0 -0
  184. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/contrib/dist_field/py.df.png +0 -0
  185. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/contrib/dist_field/py.png +0 -0
  186. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/contrib/dist_field/renderfield.py +0 -0
  187. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/contrib/qt_sprite_preview.py +0 -0
  188. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/contrib/scenemanager.py +0 -0
  189. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/contrib/spritebenchmark.py +0 -0
  190. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/contrib/svg/hello_world.svg +0 -0
  191. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/contrib/svg/svg_test.py +0 -0
  192. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/contrib/toys/follow_mouse.py +0 -0
  193. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/Makefile +0 -0
  194. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/_static/css/custom.css +0 -0
  195. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/_static/favicon.ico +0 -0
  196. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/_static/logo.png +0 -0
  197. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/_static/logo5.svg +0 -0
  198. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/_static/relatedlogo.png +0 -0
  199. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/conf.py +0 -0
  200. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/external_resources.rst +0 -0
  201. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/internal/contributing.rst +0 -0
  202. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/internal/dist.rst +0 -0
  203. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/internal/doc.rst +0 -0
  204. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/internal/generated.rst +0 -0
  205. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/internal/gl.rst +0 -0
  206. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/internal/media_logging_manual.rst +0 -0
  207. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/internal/media_manual.rst +0 -0
  208. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/internal/testing.rst +0 -0
  209. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/internal/virtualenv.rst +0 -0
  210. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/internal/wraptypes-class.svg +0 -0
  211. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/internal/wraptypes.rst +0 -0
  212. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/make.bat +0 -0
  213. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/app.rst +0 -0
  214. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/clock.rst +0 -0
  215. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/config/base.rst +0 -0
  216. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/config/gl.rst +0 -0
  217. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/config/index.rst +0 -0
  218. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/customtypes.rst +0 -0
  219. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/dialog.rst +0 -0
  220. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/display.rst +0 -0
  221. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/enums.rst +0 -0
  222. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/event.rst +0 -0
  223. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/font/group.rst +0 -0
  224. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/font/index.rst +0 -0
  225. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/font/user.rst +0 -0
  226. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/graphics/allocation.rst +0 -0
  227. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/graphics/atlas.rst +0 -0
  228. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/graphics/draw.rst +0 -0
  229. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/graphics/framebuffer.rst +0 -0
  230. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/graphics/index.rst +0 -0
  231. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/graphics/shader.rst +0 -0
  232. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/graphics/texture.rst +0 -0
  233. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/graphics/vertexbuffer.rst +0 -0
  234. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/graphics/vertexdomain.rst +0 -0
  235. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/image/animation.rst +0 -0
  236. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/image/index.rst +0 -0
  237. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/info.rst +0 -0
  238. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/input.rst +0 -0
  239. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/math.rst +0 -0
  240. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/media.rst +0 -0
  241. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/media_synthesis.rst +0 -0
  242. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/models.rst +0 -0
  243. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/pyglet.rst +0 -0
  244. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/resource.rst +0 -0
  245. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/shapes.rst +0 -0
  246. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/sprite.rst +0 -0
  247. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/text/caret.rst +0 -0
  248. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/text/document.rst +0 -0
  249. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/text/index.rst +0 -0
  250. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/text/layout.rst +0 -0
  251. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/window_key.rst +0 -0
  252. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/modules/window_mouse.rst +0 -0
  253. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/context.rst +0 -0
  254. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/debug.rst +0 -0
  255. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/eventloop.rst +0 -0
  256. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/examplegame.rst +0 -0
  257. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/gl.rst +0 -0
  258. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/gui.rst +0 -0
  259. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/image.rst +0 -0
  260. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/abstract_image.png +0 -0
  261. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/abstract_image.svg +0 -0
  262. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/buffer_image.png +0 -0
  263. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/buffer_image.svg +0 -0
  264. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/context_flow.png +0 -0
  265. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/context_flow.svg +0 -0
  266. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/cursor_mac_crosshair.png +0 -0
  267. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/cursor_mac_default.png +0 -0
  268. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/cursor_mac_hand.png +0 -0
  269. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/cursor_mac_no.png +0 -0
  270. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/cursor_mac_size_down.png +0 -0
  271. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/cursor_mac_size_left.png +0 -0
  272. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/cursor_mac_size_left_right.png +0 -0
  273. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/cursor_mac_size_right.png +0 -0
  274. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/cursor_mac_size_up.png +0 -0
  275. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/cursor_mac_size_up_down.png +0 -0
  276. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/cursor_mac_text.png +0 -0
  277. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/cursor_mac_wait.png +0 -0
  278. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/cursor_win_crosshair.png +0 -0
  279. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/cursor_win_default.png +0 -0
  280. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/cursor_win_hand.png +0 -0
  281. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/cursor_win_help.png +0 -0
  282. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/cursor_win_no.png +0 -0
  283. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/cursor_win_size.png +0 -0
  284. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/cursor_win_size_left_right.png +0 -0
  285. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/cursor_win_size_nesw.png +0 -0
  286. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/cursor_win_size_nwse.png +0 -0
  287. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/cursor_win_size_up_down.png +0 -0
  288. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/cursor_win_text.png +0 -0
  289. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/cursor_win_wait.png +0 -0
  290. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/cursor_win_wait_arrow.png +0 -0
  291. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/explosion.png +0 -0
  292. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/font_metrics.png +0 -0
  293. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/font_metrics.svg +0 -0
  294. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/image_classes.png +0 -0
  295. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/image_classes.svg +0 -0
  296. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/image_grid.png +0 -0
  297. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/image_grid.svg +0 -0
  298. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/image_sequence.png +0 -0
  299. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/image_sequence.svg +0 -0
  300. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/mouse_coordinates.png +0 -0
  301. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/mouse_coordinates.svg +0 -0
  302. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/screens.png +0 -0
  303. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/screens.svg +0 -0
  304. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/text_classes.png +0 -0
  305. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/text_classes.svg +0 -0
  306. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/window_location.png +0 -0
  307. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/window_location.svg +0 -0
  308. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/window_osx_borderless.png +0 -0
  309. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/window_osx_default.png +0 -0
  310. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/window_osx_dialog.png +0 -0
  311. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/window_osx_tool.png +0 -0
  312. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/window_xp_default.png +0 -0
  313. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/window_xp_dialog.png +0 -0
  314. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/window_xp_overlay.png +0 -0
  315. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/window_xp_tool.png +0 -0
  316. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/img/window_xp_transparent.png +0 -0
  317. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/input.rst +0 -0
  318. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/keyboard.rst +0 -0
  319. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/math.rst +0 -0
  320. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/media.rst +0 -0
  321. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/migration2.rst +0 -0
  322. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/models.rst +0 -0
  323. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/mouse.rst +0 -0
  324. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/opengles.rst +0 -0
  325. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/options.rst +0 -0
  326. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/pyodide.rst +0 -0
  327. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/quickstart.rst +0 -0
  328. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/rendering.rst +0 -0
  329. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/resources.rst +0 -0
  330. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/shapes.rst +0 -0
  331. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/time.rst +0 -0
  332. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/programming_guide/windowing.rst +0 -0
  333. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/doc/requirements.txt +0 -0
  334. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/dpi_scaled_window.py +0 -0
  335. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/events/events_key_state_handler.py +0 -0
  336. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/events/register_event_type.py +0 -0
  337. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/events/window_events.py +0 -0
  338. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/events/window_platform_event.py +0 -0
  339. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/resources/asteroid.png +0 -0
  340. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/resources/bullet.png +0 -0
  341. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/resources/bullet.wav +0 -0
  342. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/resources/engine_flame.png +0 -0
  343. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/resources/player.png +0 -0
  344. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version1/asteroid.py +0 -0
  345. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version1/game/__init__.py +0 -0
  346. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version1/game/load.py +0 -0
  347. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version1/game/util.py +0 -0
  348. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version2/asteroid.py +0 -0
  349. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version2/game/__init__.py +0 -0
  350. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version2/game/load.py +0 -0
  351. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version2/game/physicalobject.py +0 -0
  352. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version2/game/player.py +0 -0
  353. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version2/game/util.py +0 -0
  354. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version3/asteroid.py +0 -0
  355. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version3/game/__init__.py +0 -0
  356. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version3/game/load.py +0 -0
  357. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version3/game/physicalobject.py +0 -0
  358. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version3/game/player.py +0 -0
  359. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version3/game/util.py +0 -0
  360. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version4/asteroid.py +0 -0
  361. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version4/game/__init__.py +0 -0
  362. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version4/game/asteroid.py +0 -0
  363. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version4/game/bullet.py +0 -0
  364. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version4/game/load.py +0 -0
  365. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version4/game/physicalobject.py +0 -0
  366. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version4/game/player.py +0 -0
  367. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version4/game/util.py +0 -0
  368. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version5/asteroid.py +0 -0
  369. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version5/game/__init__.py +0 -0
  370. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version5/game/asteroid.py +0 -0
  371. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version5/game/bullet.py +0 -0
  372. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version5/game/load.py +0 -0
  373. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version5/game/physicalobject.py +0 -0
  374. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version5/game/player.py +0 -0
  375. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/game/version5/game/util.py +0 -0
  376. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/graphics/instancing_order.py +0 -0
  377. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/graphics/uniform_buffer_object.py +0 -0
  378. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/gui/bar.png +0 -0
  379. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/gui/button_hover.png +0 -0
  380. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/gui/button_pressed.png +0 -0
  381. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/gui/button_unpressed.png +0 -0
  382. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/gui/knob.png +0 -0
  383. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/gui/widgets.py +0 -0
  384. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/hello_world.py +0 -0
  385. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/image/image_convert.py +0 -0
  386. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/image/image_display.py +0 -0
  387. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/input/apple_remote.py +0 -0
  388. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/input/controller.py +0 -0
  389. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/input/input.py +0 -0
  390. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/input/joystick.py +0 -0
  391. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/input/tablet.py +0 -0
  392. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/media/media_info.py +0 -0
  393. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/media/media_player.py +0 -0
  394. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/media/noisy/README +0 -0
  395. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/media/noisy/ball.png +0 -0
  396. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/media/noisy/ball.wav +0 -0
  397. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/media/noisy/noisy.py +0 -0
  398. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/media/soundspace/README +0 -0
  399. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/media/soundspace/reader.py +0 -0
  400. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/media/soundspace/res/bass.wav +0 -0
  401. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/media/soundspace/res/drums.wav +0 -0
  402. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/media/soundspace/res/guitar.wav +0 -0
  403. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/media/soundspace/res/piano.wav +0 -0
  404. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/media/soundspace/res/space.txt +0 -0
  405. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/media/soundspace/soundspace.py +0 -0
  406. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/media/synthesizer.py +0 -0
  407. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/media/video.py +0 -0
  408. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/model/box.mtl +0 -0
  409. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/model/box.obj +0 -0
  410. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/model/fpscamera.py +0 -0
  411. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/model/logo3d.mtl +0 -0
  412. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/model/logo3d.obj +0 -0
  413. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/model/model.py +0 -0
  414. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/model/pyglet.png +0 -0
  415. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/opengl/minimal_shader.py +0 -0
  416. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/opengl/opengl_context.py +0 -0
  417. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/opengl/opengl_core.py +0 -0
  418. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/opengl/opengl_scissor.py +0 -0
  419. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/opengl/pyglet.png +0 -0
  420. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/opengl/torus.py +0 -0
  421. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/opengl/transform_shader.py +0 -0
  422. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/programming_guide/animation.py +0 -0
  423. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/programming_guide/dinosaur.gif +0 -0
  424. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/programming_guide/events.py +0 -0
  425. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/programming_guide/hello_world.py +0 -0
  426. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/programming_guide/image_viewer.py +0 -0
  427. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/programming_guide/kitten.jpg +0 -0
  428. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/programming_guide/window_subclass.py +0 -0
  429. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/resources/Brick1Blue.png +0 -0
  430. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/resources/Brick1Crack3.png +0 -0
  431. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/resources/Brick1Gray.png +0 -0
  432. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/resources/kitten.jpg +0 -0
  433. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/resources/pyglet.png +0 -0
  434. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/shapes.py +0 -0
  435. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/sprite/depth_sprite.py +0 -0
  436. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/sprite/display_sprite.py +0 -0
  437. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/sprite/multi_texture_sprite.py +0 -0
  438. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/sprite/multi_texture_sprite_animation.py +0 -0
  439. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/sprite/multi_texture_sprite_texture_array_animation.py +0 -0
  440. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/sprite/sprite_batching.py +0 -0
  441. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/sprite/toggle_sprite_shader.py +0 -0
  442. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/text/advanced_font.py +0 -0
  443. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/text/font_groups.py +0 -0
  444. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/text/html_label.py +0 -0
  445. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/text/pyglet.png +0 -0
  446. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/text/text_input.py +0 -0
  447. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/text/user_bitmap_font.py +0 -0
  448. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/timer.py +0 -0
  449. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/window/clipboard.py +0 -0
  450. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/window/file_dialogs.py +0 -0
  451. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/window/file_drag_drops.py +0 -0
  452. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/window/fixed_resolution.py +0 -0
  453. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/window/fps_change.py +0 -0
  454. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/window/multiple_windows.py +0 -0
  455. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/window/no_backend.py +0 -0
  456. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/window/overlay_window.py +0 -0
  457. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/examples/window/transparent_window.py +0 -0
  458. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/make.py +0 -0
  459. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/__init__.pyi +0 -0
  460. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/app/__init__.py +0 -0
  461. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/app/base.py +0 -0
  462. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/app/linux.py +0 -0
  463. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/app/win32.py +0 -0
  464. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/config/__init__.py +0 -0
  465. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/config/base.py +0 -0
  466. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/config/gl/__init__.py +0 -0
  467. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/config/gl/macos.py +0 -0
  468. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/config/gl/webgl.py +0 -0
  469. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/config/gl/windows.py +0 -0
  470. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/config/gl/x11.py +0 -0
  471. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/customtypes.py +0 -0
  472. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/display/__init__.py +0 -0
  473. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/display/__init__.pyi +0 -0
  474. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/display/base.py +0 -0
  475. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/display/wayland.py +0 -0
  476. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/display/win32.py +0 -0
  477. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/display/xlib.py +0 -0
  478. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/display/xlib_vidmoderestore.py +0 -0
  479. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/enums.py +0 -0
  480. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/experimental/README.md +0 -0
  481. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/experimental/flaccodec.py +0 -0
  482. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/experimental/geoshader_sprite.py +0 -0
  483. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/experimental/hidraw.py +0 -0
  484. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/experimental/jobs.py +0 -0
  485. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/experimental/net.py +0 -0
  486. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/experimental/particles.py +0 -0
  487. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/experimental/win32priority.py +0 -0
  488. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/extlibs/__init__.py +0 -0
  489. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/extlibs/earcut.py +0 -0
  490. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/extlibs/png.py +0 -0
  491. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/font/dwrite/d2d1_lib.py +0 -0
  492. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/font/dwrite/d2d1_types_lib.py +0 -0
  493. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/font/dwrite/dwrite_lib.py +0 -0
  494. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/font/freetype_lib.py +0 -0
  495. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/font/harfbuzz.py +0 -0
  496. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/font/ttf.py +0 -0
  497. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/allocation.py +0 -0
  498. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/__init__.py +0 -0
  499. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/base.py +0 -0
  500. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/__init__.py +0 -0
  501. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/base.py +0 -0
  502. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/buffer.py +0 -0
  503. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/cocoa/__init__.py +0 -0
  504. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/default_shaders.py +0 -0
  505. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/draw.py +0 -0
  506. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/egl/__init__.py +0 -0
  507. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/enums.py +0 -0
  508. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/gl.py +0 -0
  509. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/gl_info.py +0 -0
  510. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/global_opengl.py +0 -0
  511. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/lib.py +0 -0
  512. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/renderer.py +0 -0
  513. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/shader.py +0 -0
  514. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/shapes.py +0 -0
  515. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/sprite.py +0 -0
  516. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/text.py +0 -0
  517. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/texture.py +0 -0
  518. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/vertexarray.py +0 -0
  519. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/vertexdomain.py +0 -0
  520. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/win32/__init__.py +0 -0
  521. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/win32/context.py +0 -0
  522. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/win32/wgl_info.py +0 -0
  523. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/xlib/__init__.py +0 -0
  524. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/xlib/context.py +0 -0
  525. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl/xlib/glx_info.py +0 -0
  526. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl1/__init__.py +0 -0
  527. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl1/gl_compat.py +0 -0
  528. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl2/__init__.py +0 -0
  529. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl2/buffer.py +0 -0
  530. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl2/draw.py +0 -0
  531. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl2/global_opengl.py +0 -0
  532. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl2/shader.py +0 -0
  533. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl2/shapes.py +0 -0
  534. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl2/sprite.py +0 -0
  535. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl2/state.py +0 -0
  536. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl2/text.py +0 -0
  537. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/gl2/vertexdomain.py +0 -0
  538. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/webgl/draw.py +0 -0
  539. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/webgl/enums.py +0 -0
  540. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/webgl/gl.py +0 -0
  541. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/webgl/gl_info.py +0 -0
  542. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/webgl/shapes.py +0 -0
  543. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/webgl/sprite.py +0 -0
  544. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/webgl/text.py +0 -0
  545. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/webgl/vertexarray.py +0 -0
  546. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/webgl/vertexdomain.py +0 -0
  547. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/api/webgl/webgl_js.pyi +0 -0
  548. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/atlas.py +0 -0
  549. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/buffer.py +0 -0
  550. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/instance.py +0 -0
  551. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/shader.py +0 -0
  552. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/graphics/vertexdomain.py +0 -0
  553. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/gui/__init__.py +0 -0
  554. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/gui/frame.py +0 -0
  555. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/gui/ninepatch.py +0 -0
  556. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/gui/widgets.py +0 -0
  557. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/image/__init__.py +0 -0
  558. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/image/animation.py +0 -0
  559. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/image/base.py +0 -0
  560. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/image/codecs/__init__.py +0 -0
  561. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/image/codecs/bmp.py +0 -0
  562. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/image/codecs/dds.py +0 -0
  563. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/image/codecs/gdkpixbuf2.py +0 -0
  564. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/image/codecs/gif.py +0 -0
  565. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/image/codecs/ktx2.py +0 -0
  566. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/image/codecs/pil.py +0 -0
  567. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/image/codecs/png.py +0 -0
  568. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/image/codecs/quartz.py +0 -0
  569. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/image/codecs/wic.py +0 -0
  570. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/info.py +0 -0
  571. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/input/__init__.py +0 -0
  572. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/input/base.py +0 -0
  573. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/input/controller.py +0 -0
  574. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/input/controller_db.py +0 -0
  575. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/input/emscripten/__init__.py +0 -0
  576. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/input/linux/__init__.py +0 -0
  577. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/input/linux/evdev.py +0 -0
  578. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/input/linux/evdev_constants.py +0 -0
  579. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/input/linux/x11_xinput.py +0 -0
  580. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/input/linux/x11_xinput_tablet.py +0 -0
  581. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/input/macos/__init__.py +0 -0
  582. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/input/macos/darwin_hid.py +0 -0
  583. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/input/win32/__init__.py +0 -0
  584. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/input/win32/directinput.py +0 -0
  585. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/input/win32/wintab.py +0 -0
  586. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/input/win32/xinput.py +0 -0
  587. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/lib.py +0 -0
  588. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/__init__.py +0 -0
  589. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/darwin/__init__.py +0 -0
  590. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/darwin/agl.py +0 -0
  591. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/darwin/cocoapy/__init__.py +0 -0
  592. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/darwin/cocoapy/cocoahelpers.py +0 -0
  593. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/darwin/cocoapy/cocoatypes.py +0 -0
  594. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/darwin/coreaudio.py +0 -0
  595. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/darwin/lib_agl.py +0 -0
  596. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/darwin/quartzkey.py +0 -0
  597. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/linux/__init__.py +0 -0
  598. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/linux/egl/lib.py +0 -0
  599. {pyglet-3.0.dev6/pyglet/libs/linux/egl → pyglet-3.0.dev7/pyglet/libs/linux/glx}/__init__.py +0 -0
  600. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/linux/glx/glx.py +0 -0
  601. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/linux/glx/glxext_arb.py +0 -0
  602. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/linux/glx/glxext_mesa.py +0 -0
  603. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/linux/glx/glxext_nv.py +0 -0
  604. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/linux/glx/lib_glx.py +0 -0
  605. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/linux/ioctl.py +0 -0
  606. {pyglet-3.0.dev6/pyglet/libs/linux/glx → pyglet-3.0.dev7/pyglet/libs/linux/wayland}/__init__.py +0 -0
  607. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/linux/wayland/client.py +0 -0
  608. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/linux/wayland/gbm.py +0 -0
  609. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/linux/wayland/lib_wayland.py +0 -0
  610. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/linux/wayland/wayland_egl.py +0 -0
  611. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/linux/wayland/xkbcommon.py +0 -0
  612. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/linux/x11/__init__.py +0 -0
  613. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/linux/x11/cursorfont.py +0 -0
  614. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/linux/x11/xf86vmode.py +0 -0
  615. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/linux/x11/xinerama.py +0 -0
  616. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/linux/x11/xinput.py +0 -0
  617. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/linux/x11/xlib.py +0 -0
  618. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/linux/x11/xrandr.py +0 -0
  619. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/linux/x11/xrender.py +0 -0
  620. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/linux/x11/xsync.py +0 -0
  621. {pyglet-3.0.dev6/pyglet/libs/linux/wayland → pyglet-3.0.dev7/pyglet/libs/shared}/__init__.py +0 -0
  622. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/shared/lib_harfbuzz.py +0 -0
  623. {pyglet-3.0.dev6/pyglet/libs/shared → pyglet-3.0.dev7/pyglet/libs/shared/spirv}/__init__.py +0 -0
  624. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/shared/spirv/lib_shaderc.py +0 -0
  625. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/shared/spirv/lib_spirv_cross.py +0 -0
  626. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/shared/vulkan_lib/__init__.py +0 -0
  627. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/shared/vulkan_lib/exceptions.py +0 -0
  628. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/shared/vulkan_lib/func.py +0 -0
  629. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/shared/vulkan_lib/func_helpers.py +0 -0
  630. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/shared/vulkan_lib/vk_video.py +0 -0
  631. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/shared/vulkan_lib/vk_video.pyi +0 -0
  632. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/shared/vulkan_lib/vulkan_core.py +0 -0
  633. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/shared/vulkan_lib/vulkan_core.pyi +0 -0
  634. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/shared/vulkan_lib/vulkan_ios.py +0 -0
  635. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/shared/vulkan_lib/vulkan_ios.pyi +0 -0
  636. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/shared/vulkan_lib/vulkan_macos.py +0 -0
  637. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/shared/vulkan_lib/vulkan_macos.pyi +0 -0
  638. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/shared/vulkan_lib/vulkan_metal.py +0 -0
  639. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/shared/vulkan_lib/vulkan_metal.pyi +0 -0
  640. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/shared/vulkan_lib/vulkan_wayland.py +0 -0
  641. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/shared/vulkan_lib/vulkan_wayland.pyi +0 -0
  642. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/shared/vulkan_lib/vulkan_win32.py +0 -0
  643. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/shared/vulkan_lib/vulkan_win32.pyi +0 -0
  644. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/shared/vulkan_lib/vulkan_xcb.py +0 -0
  645. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/shared/vulkan_lib/vulkan_xcb.pyi +0 -0
  646. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/shared/vulkan_lib/vulkan_xlib.py +0 -0
  647. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/shared/vulkan_lib/vulkan_xlib.pyi +0 -0
  648. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/shared/vulkan_lib/vulkan_xlib_xrandr.py +0 -0
  649. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/shared/vulkan_lib/vulkan_xlib_xrandr.pyi +0 -0
  650. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/win32/com.py +0 -0
  651. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/win32/constants.py +0 -0
  652. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/win32/context_managers.py +0 -0
  653. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/win32/dinput.py +0 -0
  654. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/win32/lib_wgl.py +0 -0
  655. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/win32/libwintab.py +0 -0
  656. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/win32/wgl.py +0 -0
  657. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/win32/wglext_arb.py +0 -0
  658. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/win32/wincodec.py +0 -0
  659. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/libs/win32/winkey.py +0 -0
  660. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/buffered_logger.py +0 -0
  661. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/codecs/ffmpeg_lib/__init__.py +0 -0
  662. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/codecs/ffmpeg_lib/compat.py +0 -0
  663. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/codecs/ffmpeg_lib/libavcodec.py +0 -0
  664. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/codecs/ffmpeg_lib/libavformat.py +0 -0
  665. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/codecs/ffmpeg_lib/libavutil.py +0 -0
  666. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/codecs/ffmpeg_lib/libswresample.py +0 -0
  667. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/codecs/ffmpeg_lib/libswscale.py +0 -0
  668. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/devices/__init__.py +0 -0
  669. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/devices/base.py +0 -0
  670. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/devices/win32.py +0 -0
  671. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/drivers/__init__.py +0 -0
  672. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/drivers/directsound/__init__.py +0 -0
  673. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/drivers/directsound/exceptions.py +0 -0
  674. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/drivers/directsound/lib_dsound.py +0 -0
  675. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/drivers/listener.py +0 -0
  676. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/drivers/openal/__init__.py +0 -0
  677. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/drivers/openal/lib_alc.py +0 -0
  678. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/drivers/openal/lib_openal.py +0 -0
  679. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/drivers/pulse/__init__.py +0 -0
  680. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/drivers/pulse/lib_pulseaudio.py +0 -0
  681. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/drivers/pyodide_js/__init__.py +0 -0
  682. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/drivers/silent/__init__.py +0 -0
  683. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/drivers/xaudio2/__init__.py +0 -0
  684. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/drivers/xaudio2/lib_xaudio2.py +0 -0
  685. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/exceptions.py +0 -0
  686. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/instrumentation.py +0 -0
  687. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/player.py +0 -0
  688. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/player_worker_thread.py +0 -0
  689. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/media/synthesis.py +0 -0
  690. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/model/__init__.py +0 -0
  691. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/model/codecs/__init__.py +0 -0
  692. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/model/codecs/base.py +0 -0
  693. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/model/codecs/obj.py +0 -0
  694. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/py.typed +0 -0
  695. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/resource.py +0 -0
  696. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/sprite.py +0 -0
  697. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/text/caret.py +0 -0
  698. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/text/document.py +0 -0
  699. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/text/formats/__init__.py +0 -0
  700. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/text/formats/attributed.py +0 -0
  701. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/text/formats/html.py +0 -0
  702. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/text/formats/plaintext.py +0 -0
  703. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/text/formats/structured.py +0 -0
  704. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/text/layout/__init__.py +0 -0
  705. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/text/layout/scrolling.py +0 -0
  706. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/text/runlist.py +0 -0
  707. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/util.py +0 -0
  708. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/window/camera/__init__.py +0 -0
  709. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/window/cocoa/pyglet_textview.py +0 -0
  710. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/window/cocoa/pyglet_window.py +0 -0
  711. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/window/cocoa/systemcursor.py +0 -0
  712. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/window/dialog/__init__.py +0 -0
  713. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/window/dialog/base.py +0 -0
  714. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/window/dialog/darwin.py +0 -0
  715. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/window/dialog/linux.py +0 -0
  716. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/window/dialog/windows.py +0 -0
  717. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/window/event.py +0 -0
  718. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/window/key.py +0 -0
  719. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/window/mouse.py +0 -0
  720. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/window/wayland/__init__.py +0 -0
  721. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/window/win32/__init__.py +0 -0
  722. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyglet/window/xlib/__init__.py +0 -0
  723. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/pyproject.toml +0 -0
  724. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/__init__.py +0 -0
  725. {pyglet-3.0.dev6/pyglet/libs/shared/spirv → pyglet-3.0.dev7/tests/base}/__init__.py +0 -0
  726. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/base/data.py +0 -0
  727. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/base/interactive.py +0 -0
  728. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/base/performance.py +0 -0
  729. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/conftest.py +0 -0
  730. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/fonts/README +0 -0
  731. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/fonts/action_man.ttf +0 -0
  732. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/fonts/action_man_atlas.png +0 -0
  733. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/fonts/action_man_bold.ttf +0 -0
  734. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/fonts/action_man_bold_italic.ttf +0 -0
  735. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/fonts/action_man_italic.ttf +0 -0
  736. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/fonts/courR12-ISO8859-1.pcf +0 -0
  737. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/8bpp.gif +0 -0
  738. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/cursor.png +0 -0
  739. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/dinosaur.gif +0 -0
  740. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/gdk_close.png +0 -0
  741. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/grey_background.png +0 -0
  742. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/icon1.png +0 -0
  743. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/icon_size1.png +0 -0
  744. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/icon_size2.png +0 -0
  745. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/icon_size3.png +0 -0
  746. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/icon_size4.png +0 -0
  747. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/icon_size5.png +0 -0
  748. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/l.png +0 -0
  749. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/la.png +0 -0
  750. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/multitexture.png +0 -0
  751. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/rgb.png +0 -0
  752. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/rgb_16bpp.bmp +0 -0
  753. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/rgb_1bpp.bmp +0 -0
  754. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/rgb_24bpp.bmp +0 -0
  755. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/rgb_32bpp.bmp +0 -0
  756. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/rgb_4bpp.bmp +0 -0
  757. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/rgb_8bpp.bmp +0 -0
  758. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/rgb_8bpp.png +0 -0
  759. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/rgb_8bpp_trans.png +0 -0
  760. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/rgb_bc6s.dds +0 -0
  761. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/rgb_dxt1.dds +0 -0
  762. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/rgba.png +0 -0
  763. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/rgba_32bpp.bmp +0 -0
  764. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/rgba_bc7.dds +0 -0
  765. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/rgba_bc7.ktx2 +0 -0
  766. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/rgba_dxt1.dds +0 -0
  767. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/rgba_dxt3.dds +0 -0
  768. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/rgba_dxt5.dds +0 -0
  769. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/images/tests.interactive.test_interactive_test_base._Test.test_1.001.png +0 -0
  770. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/media/README +0 -0
  771. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/media/alert.wav +0 -0
  772. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/media/login.wav +0 -0
  773. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/media/logout.wav +0 -0
  774. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/media/receive.wav +0 -0
  775. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/media/send.wav +0 -0
  776. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/media/synthesis_sawtooth_16_11025_1ch.wav +0 -0
  777. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/media/synthesis_sawtooth_16_44800_1ch.wav +0 -0
  778. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/media/synthesis_silence_16_11025_1ch.wav +0 -0
  779. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/media/synthesis_silence_16_44800_1ch.wav +0 -0
  780. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/media/synthesis_simplefm_16_11025_1ch.wav +0 -0
  781. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/media/synthesis_simplefm_16_44800_1ch.wav +0 -0
  782. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/media/synthesis_sine_16_11025_1ch.wav +0 -0
  783. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/media/synthesis_sine_16_44800_1ch.wav +0 -0
  784. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/media/synthesis_square_16_11025_1ch.wav +0 -0
  785. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/media/synthesis_square_16_44800_1ch.wav +0 -0
  786. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/media/synthesis_triangle_16_11025_1ch.wav +0 -0
  787. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/media/synthesis_triangle_16_44800_1ch.wav +0 -0
  788. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/models/logo3d.mtl +0 -0
  789. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/data/models/logo3d.obj +0 -0
  790. {pyglet-3.0.dev6/tests/base → pyglet-3.0.dev7/tests/integration}/__init__.py +0 -0
  791. {pyglet-3.0.dev6/tests/integration → pyglet-3.0.dev7/tests/integration/app}/__init__.py +0 -0
  792. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/app/test_eventloop.py +0 -0
  793. {pyglet-3.0.dev6/tests/integration/app → pyglet-3.0.dev7/tests/integration/font}/__init__.py +0 -0
  794. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/font/test_freetype_face.py +0 -0
  795. {pyglet-3.0.dev6/tests/integration/font → pyglet-3.0.dev7/tests/integration/graphics}/__init__.py +0 -0
  796. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/graphics/test_allocation.py +0 -0
  797. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/graphics/test_texture2d.py +0 -0
  798. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/graphics/test_texture3d.py +0 -0
  799. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/graphics/test_texture_mipmaps.py +0 -0
  800. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/graphics/test_texturearray.py +0 -0
  801. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/graphics/test_texturegrid.py +0 -0
  802. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/graphics/test_vertex_list.py +0 -0
  803. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/graphics/test_window_backend_config.py +0 -0
  804. {pyglet-3.0.dev6/tests/integration/graphics → pyglet-3.0.dev7/tests/integration/image}/__init__.py +0 -0
  805. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/image/test_gdkpixbuf2.py +0 -0
  806. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/image/test_imagegrid.py +0 -0
  807. {pyglet-3.0.dev6/tests/integration/image → pyglet-3.0.dev7/tests/integration/libs}/__init__.py +0 -0
  808. {pyglet-3.0.dev6/tests/integration/libs → pyglet-3.0.dev7/tests/integration/libs/darwin}/__init__.py +0 -0
  809. {pyglet-3.0.dev6/tests/integration/libs/darwin → pyglet-3.0.dev7/tests/integration/libs/darwin/cocoapy}/__init__.py +0 -0
  810. {pyglet-3.0.dev6/tests/integration/libs/darwin/cocoapy → pyglet-3.0.dev7/tests/integration/media}/__init__.py +0 -0
  811. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/media/mock_player.py +0 -0
  812. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/media/test_directsound.py +0 -0
  813. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/media/test_driver.py +0 -0
  814. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/media/test_ffmpeg.py +0 -0
  815. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/media/test_listener.py +0 -0
  816. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/media/test_loading.py +0 -0
  817. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/media/test_player.py +0 -0
  818. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/media/test_pulse.py +0 -0
  819. {pyglet-3.0.dev6/tests/integration/media → pyglet-3.0.dev7/tests/integration/model}/__init__.py +0 -0
  820. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/model/test_loading.py +0 -0
  821. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/platform/__init__.py +0 -0
  822. {pyglet-3.0.dev6/tests/integration/model → pyglet-3.0.dev7/tests/integration/platform/pyodide}/__init__.py +0 -0
  823. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/platform/test_win_context_managers.py +0 -0
  824. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/platform/test_win_multicore_clock.py +0 -0
  825. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/resource/__init__.py +0 -0
  826. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/resource/dir1/dir1/f3.txt +0 -0
  827. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/resource/dir1/f2.txt +0 -0
  828. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/resource/dir1/res.zip +0 -0
  829. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/resource/dir2/f6.txt +0 -0
  830. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/resource/f1.txt +0 -0
  831. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/resource/rgbm.png +0 -0
  832. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/resource/test_resource_loading.py +0 -0
  833. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/test_integrations.py +0 -0
  834. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/text/__init__.py +0 -0
  835. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/text/test_empty_document.py +0 -0
  836. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/window/__init__.py +0 -0
  837. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/window/test_context_share.py +0 -0
  838. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/window/test_event_sequence.py +0 -0
  839. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/integration/window/test_window_caption.py +0 -0
  840. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/__init__.py +0 -0
  841. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/conftest.py +0 -0
  842. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/graphics/group_ordering.py +0 -0
  843. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/image/__init__.py +0 -0
  844. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/image/test_image.py +0 -0
  845. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/media/__init__.py +0 -0
  846. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/media/test_player.py +0 -0
  847. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/screenshots/committed/README +0 -0
  848. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/screenshots/session/README +0 -0
  849. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/shapes/test_shapes.py +0 -0
  850. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/test_interactive_test_base.py +0 -0
  851. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/text/__init__.py +0 -0
  852. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/text/test_caret_color.py +0 -0
  853. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/text/test_content_valign.py +0 -0
  854. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/text/test_html.py +0 -0
  855. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/text/test_inline_elements.py +0 -0
  856. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/text/test_inline_elements_style_change.py +0 -0
  857. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/text/test_layout_anchoring.py +0 -0
  858. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/text/test_multiline_wrap.py +0 -0
  859. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/text/test_plain.py +0 -0
  860. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/text/test_style.py +0 -0
  861. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/window/__init__.py +0 -0
  862. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/window/test_window_events.py +0 -0
  863. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/window/test_window_fullscreen.py +0 -0
  864. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/window/test_window_modes.py +0 -0
  865. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/window/test_window_multisample.py +0 -0
  866. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/window/test_window_open.py +0 -0
  867. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/window/test_window_settings.py +0 -0
  868. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/window/test_window_styles.py +0 -0
  869. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/interactive/windowed_test_base.py +0 -0
  870. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/requirements.txt +0 -0
  871. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/__init__.py +0 -0
  872. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/conftest.py +0 -0
  873. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/libs/__init__.py +0 -0
  874. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/libs/darwin/__init__.py +0 -0
  875. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/libs/darwin/cocoapy/__init__.py +0 -0
  876. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/libs/darwin/cocoapy/test_cocoalibs.py +0 -0
  877. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/math/__init__.py +0 -0
  878. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/math/test_quat.py +0 -0
  879. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/math/test_vec2.py +0 -0
  880. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/math/test_vec3.py +0 -0
  881. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/math/test_vec4.py +0 -0
  882. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/media/__init__.py +0 -0
  883. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/media/test_player.py +0 -0
  884. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/media/test_synthesis.py +0 -0
  885. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/platform/__init__.py +0 -0
  886. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/shader/__init__.py +0 -0
  887. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/shader/conftest.py +0 -0
  888. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/shader/test_shader.py-SUSPENDED +0 -0
  889. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/shapes/__init__.py +0 -0
  890. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/shapes/conftest.py +0 -0
  891. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/shapes/test_bordered_rectangle.py +0 -0
  892. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/shapes/test_shapes.py +0 -0
  893. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/test_atlas.py +0 -0
  894. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/test_clock_freq.py +0 -0
  895. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/test_events.py +0 -0
  896. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/test_image_data.py +0 -0
  897. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/test_input.py +0 -0
  898. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/test_sprite.py +0 -0
  899. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/text/__init__.py +0 -0
  900. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/text/test_caret.py +0 -0
  901. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tests/unit/text/test_text.py +0 -0
  902. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/al_info.py +0 -0
  903. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/ffmpeg/bokeh_timeline.py +0 -0
  904. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/ffmpeg/compare.py +0 -0
  905. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/ffmpeg/configure.py +0 -0
  906. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/ffmpeg/extractors.py +0 -0
  907. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/ffmpeg/fs.py +0 -0
  908. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/ffmpeg/mp.py +0 -0
  909. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/ffmpeg/mpexceptions.py +0 -0
  910. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/ffmpeg/playmany.py +0 -0
  911. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/ffmpeg/readme_ffmpeg_debbuging_branch.txt +0 -0
  912. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/ffmpeg/readme_run_tests.txt +0 -0
  913. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/ffmpeg/report.py +0 -0
  914. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/ffmpeg/reports.py +0 -0
  915. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/ffmpeg/retry_crashed.py +0 -0
  916. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/ffmpeg/run_test_suite.py +0 -0
  917. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/ffmpeg/summarize.py +0 -0
  918. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/ffmpeg/test_instrumentation.py +0 -0
  919. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/ffmpeg/timeline.py +0 -0
  920. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/gencontrollerdb.py +0 -0
  921. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/gengl.py +0 -0
  922. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/genwrappers.py +0 -0
  923. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/gl.template +0 -0
  924. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/gl.xml +0 -0
  925. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/gl_info.py +0 -0
  926. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/gl_stub.template +0 -0
  927. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/inspect_font.py +0 -0
  928. {pyglet-3.0.dev6/tools/pyodide → pyglet-3.0.dev7/tools/pyodide/user_example}/dev_style.css +0 -0
  929. {pyglet-3.0.dev6/tools/pyodide → pyglet-3.0.dev7/tools/pyodide/user_example}/example.py +0 -0
  930. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/requirements.txt +0 -0
  931. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/wgl.h +0 -0
  932. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/wraptypes/__init__.py +0 -0
  933. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/wraptypes/cparser.py +0 -0
  934. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/wraptypes/ctypesparser.py +0 -0
  935. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/wraptypes/lex.py +0 -0
  936. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/wraptypes/preprocessor.py +0 -0
  937. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/wraptypes/wrap.py +0 -0
  938. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/tools/wraptypes/yacc.py +0 -0
  939. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/LICENSE.txt +0 -0
  940. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/README.rst +0 -0
  941. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/assets/favicon.ico +0 -0
  942. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/assets/static/css/example-custom-styles.css +0 -0
  943. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/assets/static/images/pyglet.png +0 -0
  944. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/content/404.html/contents.lr +0 -0
  945. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/content/404.html/ngc-5793.jpg +0 -0
  946. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/content/authors/benjamin/contents.lr +0 -0
  947. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/content/authors/benjamin/pyglet.png +0 -0
  948. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/content/authors/contents.lr +0 -0
  949. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/content/blog/contents.lr +0 -0
  950. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/content/blog/welcome-blog/contents.lr +0 -0
  951. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/content/contents.lr +0 -0
  952. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/content/eclipse.jpg +0 -0
  953. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/pyglet.lektorproject +0 -0
  954. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/AUTHORS.txt +0 -0
  955. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/CHANGELOG.md +0 -0
  956. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/CONTRIBUTING.md +0 -0
  957. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/LICENSE.txt +0 -0
  958. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/NOTICE.txt +0 -0
  959. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/README.md +0 -0
  960. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/assets/static/css/bootstrap.css +0 -0
  961. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/assets/static/css/icomoon.css +0 -0
  962. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/assets/static/css/magnific-popup.css +0 -0
  963. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/assets/static/css/style.css +0 -0
  964. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  965. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  966. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
  967. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/assets/static/fonts/icomoon/icomoon.ttf +0 -0
  968. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/assets/static/fonts/icomoon/icomoon.woff +0 -0
  969. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/assets/static/images/Preloader_2.gif +0 -0
  970. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/assets/static/images/placeholder_person.png +0 -0
  971. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/assets/static/js/jquery-3.3.1.min.js +0 -0
  972. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/assets/static/js/jquery.easing.min.js +0 -0
  973. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/assets/static/js/jquery.magnific-popup.min.js +0 -0
  974. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/assets/static/js/jquery.stellar.js +0 -0
  975. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/assets/static/js/jquery.stellar.min.js +0 -0
  976. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/assets/static/js/jquery.waypoints.min.js +0 -0
  977. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/assets/static/js/magnific-popup-options.js +0 -0
  978. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/assets/static/js/main-singlelayout.js +0 -0
  979. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/assets/static/js/main.js +0 -0
  980. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/flowblocks/content.ini +0 -0
  981. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/flowblocks/gallery.ini +0 -0
  982. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/flowblocks/gallery_item.ini +0 -0
  983. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/flowblocks/member.ini +0 -0
  984. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/flowblocks/mission.ini +0 -0
  985. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/flowblocks/mission_tab.ini +0 -0
  986. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/flowblocks/service.ini +0 -0
  987. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/flowblocks/services.ini +0 -0
  988. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/flowblocks/team.ini +0 -0
  989. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/images/blog-index.png +0 -0
  990. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/images/full-blog.png +0 -0
  991. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/images/full-page.png +0 -0
  992. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/images/gallery-404.png +0 -0
  993. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/images/gallery-singlepage.png +0 -0
  994. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/images/mainpage-screenshots.png +0 -0
  995. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/images/responsive-layout.png +0 -0
  996. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/models/404.ini +0 -0
  997. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/models/author.ini +0 -0
  998. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/models/authors.ini +0 -0
  999. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/models/blog-post.ini +0 -0
  1000. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/models/blog.ini +0 -0
  1001. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/models/page.ini +0 -0
  1002. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/models/single-layout.ini +0 -0
  1003. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/templates/404.html +0 -0
  1004. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/templates/author.html +0 -0
  1005. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/templates/authors.html +0 -0
  1006. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/templates/blocks/content.html +0 -0
  1007. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/templates/blocks/gallery.html +0 -0
  1008. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/templates/blocks/mission.html +0 -0
  1009. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/templates/blocks/services.html +0 -0
  1010. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/templates/blocks/team.html +0 -0
  1011. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/templates/blog-layout.html +0 -0
  1012. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/templates/blog-post.html +0 -0
  1013. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/templates/blog.html +0 -0
  1014. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/templates/layout.html +0 -0
  1015. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/templates/macros/blog.html +0 -0
  1016. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/templates/macros/pagination.html +0 -0
  1017. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/templates/none.html +0 -0
  1018. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/templates/page.html +0 -0
  1019. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/templates/single-layout.html +0 -0
  1020. {pyglet-3.0.dev6 → pyglet-3.0.dev7}/website/themes/lektor-icon/theme.ini +0 -0
@@ -5,15 +5,16 @@ on: [push, pull_request]
5
5
  jobs:
6
6
  linux:
7
7
  runs-on: ubuntu-latest
8
+ timeout-minutes: 10
8
9
  strategy:
9
10
  matrix:
10
- python-version: [ '3.9', '3.10', '3.11', '3.12', '3.13', '3.14', 'pypy-3.10' ]
11
+ python-version: [ '3.10', '3.11', '3.12', '3.13', '3.14', 'pypy-3.10' ]
11
12
 
12
13
  name: Python ${{ matrix.python-version }} Ubuntu
13
14
  steps:
14
- - uses: actions/checkout@v4
15
+ - uses: actions/checkout@v7
15
16
  - name: Setup python
16
- uses: actions/setup-python@v5
17
+ uses: actions/setup-python@v6
17
18
  with:
18
19
  python-version: ${{ matrix.python-version }}
19
20
  - name: Install dependencies
@@ -56,35 +57,39 @@ jobs:
56
57
 
57
58
  osx:
58
59
  runs-on: macos-latest
60
+ timeout-minutes: 10
59
61
  strategy:
60
62
  matrix:
61
63
  python-version: [ '3.10', '3.11', '3.12', '3.13', '3.14']
62
64
  name: Python ${{ matrix.python-version }} macOS
63
65
  steps:
64
- - uses: actions/checkout@v4
66
+ - uses: actions/checkout@v7
65
67
  - name: Setup python
66
- uses: actions/setup-python@v5
68
+ uses: actions/setup-python@v6
67
69
  with:
68
70
  python-version: ${{ matrix.python-version }}
69
71
  - name: Install dependencies
70
72
  run: |
71
73
  pip install pytest
72
74
  - name: Run tests
75
+ env:
76
+ PYGLET_BACKEND: opengl
73
77
  run: |
74
78
  python3 -m pyglet.info
75
- pytest tests --ignore=tests/interactive --ignore=tests/integration
79
+ pytest tests --ignore=tests/interactive
76
80
 
77
81
  windows:
78
82
  runs-on: windows-latest
83
+ timeout-minutes: 10
79
84
  strategy:
80
85
  matrix:
81
- python-version: [ '3.9', '3.10', '3.11', '3.12', '3.13', '3.14']
86
+ python-version: [ '3.10', '3.11', '3.12', '3.13', '3.14']
82
87
 
83
88
  name: Python ${{ matrix.python-version }} Windows
84
89
  steps:
85
- - uses: actions/checkout@v4
90
+ - uses: actions/checkout@v7
86
91
  - name: Setup python
87
- uses: actions/setup-python@v5
92
+ uses: actions/setup-python@v6
88
93
  with:
89
94
  python-version: ${{ matrix.python-version }}
90
95
  - uses: msys2/setup-msys2@v2
@@ -92,7 +97,7 @@ jobs:
92
97
  msystem: MINGW64
93
98
  release: false
94
99
  install: mingw-w64-x86_64-mesa
95
- - uses: ssciwr/setup-mesa-dist-win@v2
100
+ - uses: ssciwr/setup-mesa-dist-win@v3
96
101
  - name: Install dependencies
97
102
  run: |
98
103
  pip install pytest
@@ -125,15 +130,16 @@ jobs:
125
130
 
126
131
  headless:
127
132
  runs-on: ubuntu-latest
133
+ timeout-minutes: 10
128
134
  strategy:
129
135
  matrix:
130
136
  python-version: [ '3.12', '3.13', '3.14', 'pypy-3.10' ]
131
137
 
132
138
  name: Python ${{ matrix.python-version }} Ubuntu HEADLESS
133
139
  steps:
134
- - uses: actions/checkout@v4
140
+ - uses: actions/checkout@v7
135
141
  - name: Setup python
136
- uses: actions/setup-python@v5
142
+ uses: actions/setup-python@v6
137
143
  with:
138
144
  python-version: ${{ matrix.python-version }}
139
145
  - name: Install dependencies
@@ -170,14 +176,14 @@ jobs:
170
176
  pytest tests/integration/graphics
171
177
  done
172
178
 
173
- webgl-smoke:
179
+ pyodide-tests:
174
180
  runs-on: ubuntu-latest
175
- timeout-minutes: 15
176
- name: Pyodide WebGL Test
181
+ timeout-minutes: 10
182
+ name: Pyodide Tests
177
183
  steps:
178
- - uses: actions/checkout@v4
184
+ - uses: actions/checkout@v7
179
185
  - name: Setup python
180
- uses: actions/setup-python@v5
186
+ uses: actions/setup-python@v6
181
187
  with:
182
188
  python-version: '3.12'
183
189
  - name: Install dependencies
@@ -185,6 +191,6 @@ jobs:
185
191
  python -m pip install --upgrade pip
186
192
  pip install playwright
187
193
  python -m playwright install --with-deps chromium
188
- - name: Run WebGL test
194
+ - name: Run Pyodide tests
189
195
  run: |
190
- python tools/pyodide/run_webgl_smoke.py --clean --timeout-seconds 300
196
+ python tests/pyodide/run_pyodide_tests.py --clean --timeout-seconds 300
@@ -44,6 +44,10 @@ doc/api
44
44
  doc/internal/build.rst
45
45
  website/dist
46
46
  tools/*tab.py
47
+ tools/pyodide/.*_build/
48
+ tools/pyodide/**/.build/
49
+ tests/pyodide/**/.build/
50
+ .pyodide_test_build/
47
51
  exprtab.py
48
52
  parser.out
49
53
  parsetab.py
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyglet
3
- Version: 3.0.dev6
3
+ Version: 3.0.dev7
4
4
  Summary: pyglet is a cross-platform games and multimedia package.
5
5
  Author-email: Alex Holkner & contributors <Alex.Holkner@gmail.com>
6
6
  Requires-Python: >=3.10
@@ -18,10 +18,13 @@ Project-URL: Home, https://pyglet.org
18
18
  and other visually rich applications. It supports Windowing, input event handling, Controllers & Joysticks,
19
19
  OpenGL graphics, loading images and videos, and playing sounds and music. *pyglet* works on Windows, OS X and Linux.
20
20
 
21
- > :exclamation: :exclamation: A major pyglet update has just been released (v2.1). This brings many
22
- > new exciting features, but also some necessary breaking changes. If your game/application has suddenly
23
- > stopped working, please read the [migration section in the documentation](https://pyglet.readthedocs.io/en/latest/programming_guide/migration.html)
24
- > The previous version of pyglet is tracked in the `pyglet-2.0-maintenance` branch.
21
+ > :exclamation: :exclamation: **We are preparing to release a major pyglet update very soon**.
22
+ > Version 3.0 will include an extensive internal rewrite, bringing support for multiple rendering backends
23
+ > and significant performance improvements. This brings back support for some legacy platforms, as well as
24
+ > new support for WebGL. The high level APIs will be largely the same, but some adjustments will be necessary
25
+ > if you are using OpenGL directly in your game or application. See the migration guide to prepare for the
26
+ > new release at https://pyglet.readthedocs.io/en/development/programming_guide/migration.html, and try out
27
+ > the new release by downloading a 3.0.devX release today (pip install --upgrade pyglet --pre).
25
28
  > **If you want to do a pull request for the previous release, please target the appropriate branch**.
26
29
 
27
30
  * pyglet [documentation]
@@ -55,10 +58,10 @@ Some features of pyglet are:
55
58
 
56
59
  ## Requirements
57
60
 
58
- pyglet runs under Python 3.8+. Being written in pure Python, it also works on other Python interpreters such as PyPy. Supported platforms are:
61
+ pyglet runs under Python 3.10+. Being written in pure Python, it also works on other Python interpreters such as PyPy. Supported platforms are:
59
62
 
60
63
  * Windows 7 or later
61
- * Mac OS X 10.3 or later
64
+ * macOS 10.9 or later.
62
65
  * Linux, with the following libraries (most recent distributions will have
63
66
  these in a default installation):
64
67
  * OpenGL and GLX
@@ -8,10 +8,13 @@
8
8
  and other visually rich applications. It supports Windowing, input event handling, Controllers & Joysticks,
9
9
  OpenGL graphics, loading images and videos, and playing sounds and music. *pyglet* works on Windows, OS X and Linux.
10
10
 
11
- > :exclamation: :exclamation: A major pyglet update has just been released (v2.1). This brings many
12
- > new exciting features, but also some necessary breaking changes. If your game/application has suddenly
13
- > stopped working, please read the [migration section in the documentation](https://pyglet.readthedocs.io/en/latest/programming_guide/migration.html)
14
- > The previous version of pyglet is tracked in the `pyglet-2.0-maintenance` branch.
11
+ > :exclamation: :exclamation: **We are preparing to release a major pyglet update very soon**.
12
+ > Version 3.0 will include an extensive internal rewrite, bringing support for multiple rendering backends
13
+ > and significant performance improvements. This brings back support for some legacy platforms, as well as
14
+ > new support for WebGL. The high level APIs will be largely the same, but some adjustments will be necessary
15
+ > if you are using OpenGL directly in your game or application. See the migration guide to prepare for the
16
+ > new release at https://pyglet.readthedocs.io/en/development/programming_guide/migration.html, and try out
17
+ > the new release by downloading a 3.0.devX release today (pip install --upgrade pyglet --pre).
15
18
  > **If you want to do a pull request for the previous release, please target the appropriate branch**.
16
19
 
17
20
  * pyglet [documentation]
@@ -45,10 +48,10 @@ Some features of pyglet are:
45
48
 
46
49
  ## Requirements
47
50
 
48
- pyglet runs under Python 3.8+. Being written in pure Python, it also works on other Python interpreters such as PyPy. Supported platforms are:
51
+ pyglet runs under Python 3.10+. Being written in pure Python, it also works on other Python interpreters such as PyPy. Supported platforms are:
49
52
 
50
53
  * Windows 7 or later
51
- * Mac OS X 10.3 or later
54
+ * macOS 10.9 or later.
52
55
  * Linux, with the following libraries (most recent distributions will have
53
56
  these in a default installation):
54
57
  * OpenGL and GLX
@@ -1,3 +1,44 @@
1
+ pyglet 2.1.16
2
+
3
+ Bugfixes
4
+ --------
5
+ - math: Fix Mat3.scale and Mat4.translate to match Mat4 conventions. (#1460)
6
+ - math: Fix Mat4.scale to use all values, not only diagonals. (#1463)
7
+ - text: Route glyph placements to avoid accumulation errors. (#1450)
8
+ - media: Backport ffmpeg fixes from pyglet 3.0. (#1459)
9
+
10
+
11
+ pyglet 2.1.15
12
+
13
+ Bugfixes
14
+ --------
15
+ linux.fontconfig: Fix incorrect FcFreeTypeQueryFace argument. #1454
16
+
17
+ Improvements
18
+ ------------
19
+ media: Improved support for 32bit audio, and enhanced capability detection and handling. #1415
20
+ docs: Add missing includes for gui.Frame. #1444
21
+ docs: Update paragraph spacing documentation.
22
+ docs: Update details about supported Python versions. #1434
23
+ docs: Add section on drawing VertexLists, and usage examples.
24
+
25
+
26
+ pyglet 2.1.14
27
+
28
+ Bugfixes
29
+ --------
30
+ shapes: Handle ZeroDivisionError and domain error when calculating miter scale (#1418)
31
+ window: On macOS, fix RecursionError when resizing Windows. (#1421)
32
+ text: Fix larger sized characters causing wrap issues. (#1426)
33
+
34
+ Improvements
35
+ ------------
36
+ typing: Fix the Label type hints for font_family. (#1407)
37
+ typing: Add type hints to the Quaternion.from_mat* methods. (#1406)
38
+ typing: Provide concrete typing for Window based on selected platform. (#1409)
39
+ docs: Fix typo. (#1416)
40
+
41
+
1
42
  pyglet 2.1.13
2
43
 
3
44
  Bugfixes
@@ -56,6 +56,7 @@ If you are migrating from an older version of pyglet, please read through
56
56
  programming_guide/rendering
57
57
  programming_guide/camera
58
58
  programming_guide/events
59
+ programming_guide/event_chains
59
60
  programming_guide/gui
60
61
  programming_guide/time
61
62
  programming_guide/context
@@ -22,6 +22,11 @@ Classes
22
22
  :undoc-members:
23
23
  :show-inheritance:
24
24
 
25
+ .. autoclass:: Frame
26
+ :members:
27
+ :undoc-members:
28
+ :show-inheritance:
29
+
25
30
  .. autoclass:: ToggleButton
26
31
  :members:
27
32
  :undoc-members:
@@ -37,4 +42,4 @@ Classes
37
42
  :undoc-members:
38
43
  :show-inheritance:
39
44
 
40
-
45
+
@@ -90,7 +90,7 @@ Classes
90
90
  .. autoattribute:: context
91
91
  .. autoattribute:: display
92
92
  .. autoattribute:: dpi
93
- .. autoattribute:: default_camera
93
+ .. autoattribute:: camera
94
94
  .. autoattribute:: fullscreen
95
95
  .. autoattribute:: has_exit
96
96
  .. autoattribute:: height
@@ -0,0 +1,270 @@
1
+ .. _guide_camera:
2
+
3
+ Cameras and Views
4
+ =================
5
+
6
+ Pyglet provides camera scopes in :py:mod:`pyglet.window.camera` for 2D and 3D rendering.
7
+ For common 2D workflows, use :py:class:`~pyglet.window.camera.Camera2D`. By default, the
8
+ window is created with a 2D camera.
9
+
10
+ What a camera manages
11
+ ---------------------
12
+
13
+ A camera describes how world coordinates are projected into a viewport and supplies the resulting
14
+ projection and view matrices when drawing. It keeps the transform, viewport, coordinate-conversion,
15
+ and shader-data sides of that operation together. This is especially useful when a frame contains
16
+ multiple world views, a fixed UI, a minimap, or separate rendering passes.
17
+
18
+ On modern graphics backends, pyglet supplies camera matrices to shaders through uniform-buffer
19
+ storage. Cameras stage matrix changes on the CPU, upload only changed data into ring-buffered GPU
20
+ regions, and bind the correct region when a camera draw scope begins. This prevents one camera or
21
+ view from accidentally overwriting matrices that the GPU is still using for another draw and avoids
22
+ unnecessary synchronization. Applications normally only update camera properties and select which
23
+ camera should draw; they do not need to manage this storage directly.
24
+
25
+ Default camera behavior
26
+ -----------------------
27
+
28
+ Every window has a default camera at :py:attr:`pyglet.window.Window.camera`.
29
+ The :py:attr:`~pyglet.window.Window.projection`, :py:attr:`~pyglet.window.Window.view`,
30
+ and :py:attr:`~pyglet.window.Window.viewport` properties proxy directly to the
31
+ camera's root view.
32
+
33
+ The default camera is initialized with the window context. A normal ``Batch.draw()`` uses it
34
+ automatically unless another camera is selected in the draw options or by a group.
35
+
36
+ Assigning ``window.projection`` or ``window.view`` remains available for applications that need
37
+ custom matrices. Assigning a projection disables the default ``Camera2D`` automatic projection,
38
+ so the application is then responsible for updating that matrix when the window or viewport changes.
39
+
40
+ Creating 2D and 3D cameras
41
+ --------------------------
42
+
43
+ Create cameras from a window, and optionally configure scroll/zoom behavior::
44
+
45
+ window = pyglet.window.Window()
46
+
47
+ world_camera = pyglet.window.camera.Camera2D(
48
+ window,
49
+ scroll_speed=5,
50
+ min_zoom=0.25,
51
+ max_zoom=4,
52
+ )
53
+
54
+ world_camera.zoom += 0.25
55
+ world_camera.move(1, 0)
56
+ world_camera.position = (50, 0)
57
+
58
+ For perspective rendering, create a :py:class:`~pyglet.window.camera.Camera3D`::
59
+
60
+ from pyglet.math import Vec3
61
+ from pyglet.window.camera import Camera3D
62
+
63
+ scene_camera = Camera3D(
64
+ window,
65
+ position=Vec3(0, 2, 8),
66
+ target=Vec3(0, 1, 0),
67
+ near=0.1,
68
+ far=1000.0,
69
+ field_of_view=60.0,
70
+ )
71
+
72
+ Use :py:class:`~pyglet.window.camera.FPSCamera` for first-person movement or
73
+ :py:class:`~pyglet.window.camera.ThirdPersonCamera` for an orbiting camera that follows a target.
74
+ These are presets built on ``Camera3D`` and use the same drawing and view APIs.
75
+
76
+ Multiple cameras and views
77
+ --------------------------
78
+
79
+ An application can create any number of 2D and 3D camera instances. Each camera has independent
80
+ projection settings and managed matrix storage, so separate world, UI, player, and render-pass
81
+ cameras do not conflict with one another.
82
+
83
+ A camera *view* is useful when several draw scopes belong to the same camera. Views share their
84
+ camera's projection behavior while providing their own transform, viewport, scissor, and matrix
85
+ storage. They can inherit transforms from other views, making them a lighter and more closely related
86
+ alternative to creating another independent camera.
87
+
88
+
89
+ Creating views
90
+ --------------
91
+
92
+ A camera can have multiple views. Views let you scope additional transforms and scissor
93
+ areas inside one camera.
94
+
95
+ Use ``camera.create_view()`` for additional view scopes. This is useful for parallax
96
+ layers, minimaps, and nested local transforms::
97
+
98
+ window = pyglet.window.Window()
99
+
100
+ ui_camera = pyglet.window.camera.Camera2D(window)
101
+ inherited_view = ui_camera.create_view(inherit=True) # Inherits parent transform chain.
102
+ independent_view = ui_camera.create_view(inherit=False) # Parented to camera root view.
103
+
104
+ Views share the camera's projection behavior and can be used anywhere a camera
105
+ scope is expected. Each view has its own viewport, inherited from its parent view
106
+ unless explicitly overridden.
107
+
108
+ Views can also be created from other views. For example::
109
+
110
+ ui_camera = pyglet.window.camera.Camera2D(window)
111
+ scroll_box_a = ui_camera.create_view()
112
+ scroll_box_b = scroll_box_a.create_view()
113
+
114
+ If ``scroll_box_a`` moves or zooms, ``scroll_box_b`` inherits those changes.
115
+
116
+ Using camera scopes with batches
117
+ --------------------------------
118
+
119
+ Cameras can be used to target a specific batch instead of groups::
120
+
121
+ @window.event
122
+ def on_draw():
123
+ window.clear()
124
+
125
+ with world_batch.draw_with_options() as options:
126
+ options.camera = world_camera
127
+
128
+ with gui_batch.draw_with_options() as options:
129
+ options.camera = gui_camera
130
+
131
+
132
+ Using camera scopes in groups
133
+ -----------------------------
134
+
135
+ Attach camera scopes to groups with ``Group.set_camera``::
136
+
137
+ world_group = pyglet.graphics.Group(order=0)
138
+ world_group.set_camera(world_camera)
139
+
140
+ ui_group = pyglet.graphics.Group(order=1)
141
+ ui_group.set_camera(window.camera)
142
+
143
+ pyglet.sprite.Sprite(world_image, batch=batch, group=world_group)
144
+ pyglet.text.Label("HUD", batch=batch, group=ui_group)
145
+
146
+
147
+ .. note:: ``Group.set_camera`` applies camera state at draw entry by calling ``begin()``.
148
+ It does not call ``end()`` during group unsetting.
149
+
150
+ When camera changes are applied
151
+ -------------------------------
152
+
153
+ Changing ``position``, ``zoom``, orientation, projection, or viewport updates camera state, but it
154
+ does not immediately replace the matrices used by unrelated drawing. The matrices are resolved,
155
+ committed, and bound when the camera's batch or group scope begins. Make camera changes before the
156
+ draw that should use them::
157
+
158
+ def update(dt):
159
+ world_camera.move(input_x * dt, input_y * dt)
160
+
161
+ @window.event
162
+ def on_draw():
163
+ window.clear()
164
+ with world_batch.draw_with_options() as options:
165
+ options.camera = world_camera
166
+
167
+ Applications normally should not call ``camera.begin()`` or ``camera.end()`` directly. Batch draw
168
+ options and camera groups provide the rendering context needed to apply the state correctly.
169
+
170
+ Custom shader integration
171
+ -------------------------
172
+
173
+ Custom vertex shaders on modern graphics backends can consume the selected camera through the same
174
+ ``WindowBlock`` used by pyglet's built-in shaders::
175
+
176
+ uniform WindowBlock
177
+ {
178
+ mat4 projection;
179
+ mat4 view;
180
+ } window;
181
+
182
+ void main()
183
+ {
184
+ gl_Position = window.projection * window.view * vec4(position, 1.0);
185
+ }
186
+
187
+ pyglet assigns the ``WindowBlock`` binding and binds the selected camera's region for each camera
188
+ scope. Multiple ``Camera2D``, ``Camera3D``, and camera-view instances are supported; each receives
189
+ managed storage. Avoid manually uploading or replacing the ``WindowBlock`` data used by these
190
+ camera-scoped draws, because doing so bypasses the per-camera regions and draw-time binding.
191
+
192
+ OpenGL 2 and OpenGL ES 2 shaders
193
+ ---------------------------------
194
+
195
+ The OpenGL 2 and OpenGL ES 2 backends do not use uniform buffers. On these backends, a camera writes
196
+ ordinary ``u_projection`` and ``u_view`` uniforms to the active shader program::
197
+
198
+ uniform mat4 u_projection;
199
+ uniform mat4 u_view;
200
+
201
+ void main()
202
+ {
203
+ gl_Position = u_projection * u_view * vec4(position, 1.0);
204
+ }
205
+
206
+ If a custom shader uses different names, pass them as ``projection_uniform`` and ``view_uniform``
207
+ when constructing the camera. Camera movement, views, batches, and groups otherwise use the same API.
208
+
209
+ Viewport
210
+ --------
211
+
212
+ Each camera view has a ``viewport`` in framebuffer coordinates::
213
+
214
+ world_camera.viewport = (0, 0, window.width // 2, window.height)
215
+
216
+ ``camera.viewport`` remains as a convenience proxy for ``camera.view.viewport``.
217
+ Set ``view.viewport`` directly when a child view needs a different viewport::
218
+
219
+ minimap_view = world_camera.create_view()
220
+ minimap_view.viewport = (16, 16, 256, 256)
221
+
222
+ Viewport belongs to the view because the viewport determines how that specific
223
+ view maps drawn content into framebuffer pixels. Child views can represent split
224
+ screens, minimaps, editor panels, or nested render regions while still sharing
225
+ the same camera projection and storage behavior.
226
+
227
+ By default, the root view's viewport follows the full framebuffer and updates on
228
+ resize/scale events. A child view inherits its parent viewport until it is given
229
+ an explicit value. Setting a tuple makes that view's viewport explicit, and it
230
+ will no longer update automatically. In those cases you will have to update your
231
+ viewport coordinates explicitly.
232
+
233
+ Coordinate conversion
234
+ ---------------------
235
+
236
+ Cameras and views provide helpers for moving points through the same coordinate
237
+ spaces used when drawing::
238
+
239
+ @window.event
240
+ def on_mouse_press(x, y, button, modifiers):
241
+ world_position = world_camera.screen_to_world(x, y)
242
+ minimap_position = minimap_view.screen_to_world(x, y)
243
+
244
+ Use the camera methods for the root view, or call the same methods on a child
245
+ view when viewport inheritance or view-local transforms matter. The helpers
246
+ include conversions between screen, viewport, view, and world spaces, such as
247
+ ``screen_to_viewport``, ``viewport_to_world``, ``screen_to_world``, and
248
+ ``world_to_screen``.
249
+
250
+ Scissor
251
+ -------
252
+
253
+ Scissor clipping can be set on both cameras and views.
254
+
255
+ Use ``set_scissor_area(...)`` for fixed window-space clipping::
256
+
257
+ world_camera.set_scissor_area(0, 0, window.width // 2, window.height)
258
+
259
+ Use ``set_scissor_area_relative(...)`` when clipping should move with the
260
+ camera/view transform::
261
+
262
+ moving_panel = ui_camera.create_view(inherit=True)
263
+ moving_panel.set_scissor_area_relative(40, 40, 280, 160)
264
+ moving_panel.offset_x += 16 # Scissor follows the moved view
265
+
266
+ When a camera/view is applied through ``Group.set_camera``, pyglet automatically applies
267
+ matching scissor state for that group.
268
+
269
+ For nested views, the effective scissor is the intersection of all scissor areas in the
270
+ view chain.