pyglet 3.0.dev3__tar.gz → 3.0.dev4__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 (1002) hide show
  1. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/.github/workflows/unittests.yml +70 -19
  2. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/PKG-INFO +1 -1
  3. pyglet-3.0.dev4/contrib/README.md +19 -0
  4. {pyglet-3.0.dev3/experimental → pyglet-3.0.dev4/contrib}/spritebenchmark.py +2 -0
  5. pyglet-3.0.dev4/contrib/svg/svg_test.py +341 -0
  6. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/index.rst +4 -0
  7. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/internal/media_manual.rst +7 -7
  8. pyglet-3.0.dev4/doc/modules/config/base.rst +6 -0
  9. pyglet-3.0.dev4/doc/modules/config/gl.rst +6 -0
  10. pyglet-3.0.dev4/doc/modules/config/index.rst +14 -0
  11. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/dialog.rst +4 -0
  12. pyglet-3.0.dev4/doc/modules/font/group.rst +6 -0
  13. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/graphics/atlas.rst +1 -1
  14. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/graphics/index.rst +3 -0
  15. pyglet-3.0.dev4/doc/modules/graphics/texture.rst +6 -0
  16. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/graphics/vertexbuffer.rst +1 -1
  17. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/media.rst +10 -1
  18. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/resource.rst +2 -2
  19. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/sprite.rst +8 -0
  20. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/examplegame.rst +105 -19
  21. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/gui.rst +1 -1
  22. pyglet-3.0.dev4/doc/programming_guide/image.rst +384 -0
  23. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/media.rst +23 -15
  24. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/migration.rst +1 -1
  25. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/migration2.rst +2 -2
  26. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/quickstart.rst +5 -4
  27. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/rendering.rst +54 -5
  28. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/text.rst +27 -3
  29. pyglet-3.0.dev4/doc/programming_guide/texture.rst +307 -0
  30. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/windowing.rst +66 -1
  31. pyglet-3.0.dev4/doc/requirements.txt +5 -0
  32. pyglet-3.0.dev4/examples/graphics/instancing_order.py +150 -0
  33. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/media/media_player.py +4 -67
  34. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/model/fpscamera.py +52 -15
  35. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/opengl/minimal_shader.py +7 -6
  36. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/opengl/opengl_scissor.py +11 -9
  37. pyglet-3.0.dev4/examples/opengl/transform_shader.py +193 -0
  38. pyglet-3.0.dev4/examples/sprite/multi_texture_sprite.py +42 -0
  39. pyglet-3.0.dev4/examples/sprite/multi_texture_sprite_animation.py +61 -0
  40. pyglet-3.0.dev4/examples/sprite/multi_texture_sprite_texture_array_animation.py +68 -0
  41. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/sprite/sprite_batching.py +2 -5
  42. pyglet-3.0.dev4/examples/sprite/toggle_sprite_shader.py +133 -0
  43. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/__init__.py +2 -2
  44. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/app/cocoa.py +2 -1
  45. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/customtypes.py +2 -2
  46. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/event.py +10 -2
  47. pyglet-3.0.dev4/pyglet/experimental/README.md +31 -0
  48. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/experimental/geoshader_sprite.py +2 -6
  49. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/experimental/net.py +6 -6
  50. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/experimental/particles.py +38 -0
  51. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/font/dwrite/__init__.py +1 -1
  52. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/font/dwrite/d2d1_lib.py +1 -1
  53. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/font/fontconfig.py +1 -1
  54. pyglet-3.0.dev4/pyglet/graphics/__init__.py +50 -0
  55. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/__init__.py +14 -25
  56. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/buffer.py +108 -25
  57. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/draw.py +4 -168
  58. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/global_opengl.py +1 -1
  59. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/shader.py +127 -157
  60. pyglet-3.0.dev4/pyglet/graphics/api/gl/sprite.py +201 -0
  61. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/texture.py +28 -11
  62. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/vertexdomain.py +115 -4
  63. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl2/buffer.py +3 -4
  64. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl2/draw.py +6 -134
  65. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl2/global_opengl.py +1 -1
  66. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl2/shader.py +64 -9
  67. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl2/shapes.py +1 -1
  68. pyglet-3.0.dev4/pyglet/graphics/api/gl2/sprite.py +166 -0
  69. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl2/vertexdomain.py +3 -2
  70. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/webgl/__init__.py +1 -1
  71. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/webgl/buffer.py +100 -30
  72. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/webgl/draw.py +4 -134
  73. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/webgl/shader.py +126 -152
  74. pyglet-3.0.dev4/pyglet/graphics/api/webgl/sprite.py +201 -0
  75. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/webgl/texture.py +2 -0
  76. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/webgl/vertexdomain.py +2 -1
  77. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/atlas.py +4 -4
  78. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/buffer.py +27 -0
  79. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/draw.py +107 -24
  80. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/instance.py +155 -2
  81. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/shader.py +287 -11
  82. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/texture.py +68 -56
  83. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/vertexdomain.py +169 -8
  84. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/image/__init__.py +12 -12
  85. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/image/animation.py +9 -4
  86. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/image/base.py +8 -9
  87. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/image/codecs/wic.py +1 -1
  88. pyglet-3.0.dev4/pyglet/info.py +394 -0
  89. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/input/win32/directinput.py +10 -3
  90. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/lib.py +6 -1
  91. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/darwin/cocoapy/cocoalibs.py +83 -0
  92. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/darwin/cocoapy/runtime.py +38 -17
  93. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/math.py +76 -42
  94. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/codecs/base.py +2 -2
  95. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/codecs/wave.py +17 -11
  96. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/drivers/base.py +15 -8
  97. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/drivers/pulse/adaptation.py +2 -2
  98. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/drivers/pulse/interface.py +2 -2
  99. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/player.py +9 -1
  100. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/synthesis.py +3 -3
  101. pyglet-3.0.dev4/pyglet/model/__init__.py +665 -0
  102. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/model/codecs/__init__.py +2 -2
  103. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/model/codecs/obj.py +7 -1
  104. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/resource.py +74 -6
  105. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/shapes.py +4 -3
  106. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/sprite.py +292 -11
  107. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/text/__init__.py +2 -2
  108. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/text/caret.py +7 -6
  109. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/window/__init__.py +2 -2
  110. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/annotations.py +1 -1
  111. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/conftest.py +11 -0
  112. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/graphics/gl2/test_gl2_buffers.py +2 -2
  113. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/graphics/opengl_core/test_buffers.py +59 -6
  114. pyglet-3.0.dev4/tests/integration/graphics/opengl_core/test_opengl_instancing.py +411 -0
  115. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/graphics/test_atlas_bins.py +3 -3
  116. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/graphics/test_compute_shader.py +2 -2
  117. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/graphics/test_framebuffer.py +4 -4
  118. pyglet-3.0.dev4/tests/integration/graphics/test_objects.py +521 -0
  119. pyglet-3.0.dev3/tests/integration/resource/test_resource_image_loading.py → pyglet-3.0.dev4/tests/integration/graphics/test_resource_texture_transforms.py +4 -5
  120. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/graphics/test_shaders.py +49 -7
  121. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/graphics/test_texture3d.py +2 -2
  122. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/graphics/test_texture_mipmaps.py +2 -2
  123. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/graphics/test_texturearray.py +2 -2
  124. pyglet-3.0.dev3/tests/integration/window/test_window_config.py → pyglet-3.0.dev4/tests/integration/graphics/test_window_backend_config.py +5 -5
  125. pyglet-3.0.dev4/tests/integration/libs/darwin/cocoapy/test_cocoalibs.py +87 -0
  126. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/interactive/conftest.py +2 -0
  127. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/interactive/window/test_window_events.py +46 -41
  128. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/interactive/window/test_window_fullscreen.py +9 -13
  129. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/interactive/window/test_window_modes.py +1 -3
  130. pyglet-3.0.dev4/tests/interactive/window/test_window_multisample.py +216 -0
  131. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/interactive/window/test_window_open.py +20 -12
  132. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/interactive/window/test_window_settings.py +90 -85
  133. pyglet-3.0.dev4/tests/unit/libs/darwin/cocoapy/test_cocoalibs.py +95 -0
  134. pyglet-3.0.dev4/tests/unit/math/__init__.py +0 -0
  135. pyglet-3.0.dev4/tests/unit/math/test_quat.py +63 -0
  136. pyglet-3.0.dev4/tests/unit/media/__init__.py +0 -0
  137. pyglet-3.0.dev4/tests/unit/platform/__init__.py +0 -0
  138. pyglet-3.0.dev4/tests/unit/shader/__init__.py +0 -0
  139. pyglet-3.0.dev4/tests/unit/shapes/__init__.py +0 -0
  140. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/unit/test_events.py +12 -0
  141. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/unit/test_sprite.py +65 -0
  142. pyglet-3.0.dev4/tests/unit/text/__init__.py +0 -0
  143. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/unit/text/test_caret.py +1 -1
  144. pyglet-3.0.dev3/contrib/logo3d/logo3d.jpg +0 -0
  145. pyglet-3.0.dev3/contrib/logo3d/logo3d.obj.zip +0 -0
  146. pyglet-3.0.dev3/contrib/logo3d/logo3d.wings +0 -0
  147. pyglet-3.0.dev3/doc/programming_guide/image.rst +0 -1004
  148. pyglet-3.0.dev3/doc/requirements.txt +0 -5
  149. pyglet-3.0.dev3/examples/sprite/multi_texture_sprite.py +0 -203
  150. pyglet-3.0.dev3/experimental/instancing/sprite_instance.py +0 -73
  151. pyglet-3.0.dev3/experimental/instancing/sprite_instance_object.py +0 -103
  152. pyglet-3.0.dev3/experimental/multitexture_sprite/multitexturesprite.py +0 -152
  153. pyglet-3.0.dev3/experimental/svg_test.py +0 -394
  154. pyglet-3.0.dev3/experimental/wayland/gbm_egl_context.py +0 -64
  155. pyglet-3.0.dev3/pyglet/experimental/README.md +0 -6
  156. pyglet-3.0.dev3/pyglet/experimental/multitexture_sprite.py +0 -541
  157. pyglet-3.0.dev3/pyglet/graphics/__init__.py +0 -18
  158. pyglet-3.0.dev3/pyglet/graphics/api/gl/sprite.py +0 -102
  159. pyglet-3.0.dev3/pyglet/graphics/api/gl2/sprite.py +0 -79
  160. pyglet-3.0.dev3/pyglet/graphics/api/webgl/sprite.py +0 -102
  161. pyglet-3.0.dev3/pyglet/info.py +0 -200
  162. pyglet-3.0.dev3/pyglet/model/__init__.py +0 -406
  163. pyglet-3.0.dev3/tests/integration/graphics/opengl_core/test_opengl_instancing.py +0 -158
  164. pyglet-3.0.dev3/tests/interactive/window/test_window_multisample.py +0 -148
  165. pyglet-3.0.dev3/tests/interactive/window/window_util.py +0 -27
  166. pyglet-3.0.dev3/tests/unit/math/test_quat.py +0 -23
  167. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/.coveragerc +0 -0
  168. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  169. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  170. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/.github/ISSUE_TEMPLATE/questions--or-other.md +0 -0
  171. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/.github/workflows/codeql.yml +0 -0
  172. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/.gitignore +0 -0
  173. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/.readthedocs.yml +0 -0
  174. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/API_CHANGES.rst +0 -0
  175. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/LICENSE +0 -0
  176. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/MANIFEST.in +0 -0
  177. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/README.md +0 -0
  178. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/RELEASE_NOTES +0 -0
  179. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/TODO.txt +0 -0
  180. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/contrib/aseprite_codec/README +0 -0
  181. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/contrib/aseprite_codec/asedemo.py +0 -0
  182. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/contrib/aseprite_codec/aseprite.py +0 -0
  183. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/contrib/aseprite_codec/running.ase +0 -0
  184. {pyglet-3.0.dev3/experimental → pyglet-3.0.dev4/contrib}/dist_field/README +0 -0
  185. {pyglet-3.0.dev3/experimental → pyglet-3.0.dev4/contrib}/dist_field/genfield.py +0 -0
  186. {pyglet-3.0.dev3/experimental → pyglet-3.0.dev4/contrib}/dist_field/py.df.png +0 -0
  187. {pyglet-3.0.dev3/experimental → pyglet-3.0.dev4/contrib}/dist_field/py.png +0 -0
  188. {pyglet-3.0.dev3/experimental → pyglet-3.0.dev4/contrib}/dist_field/renderfield.py +0 -0
  189. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/contrib/qt_sprite_preview.py +0 -0
  190. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/contrib/scenemanager.py +0 -0
  191. {pyglet-3.0.dev3/experimental → pyglet-3.0.dev4/contrib/svg}/hello_world.svg +0 -0
  192. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/contrib/toys/follow_mouse.py +0 -0
  193. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/Makefile +0 -0
  194. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/_static/css/custom.css +0 -0
  195. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/_static/favicon.ico +0 -0
  196. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/_static/logo.png +0 -0
  197. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/_static/logo5.svg +0 -0
  198. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/_static/relatedlogo.png +0 -0
  199. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/conf.py +0 -0
  200. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/external_resources.rst +0 -0
  201. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/internal/contributing.rst +0 -0
  202. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/internal/dist.rst +0 -0
  203. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/internal/doc.rst +0 -0
  204. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/internal/generated.rst +0 -0
  205. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/internal/gl.rst +0 -0
  206. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/internal/media_logging_manual.rst +0 -0
  207. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/internal/testing.rst +0 -0
  208. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/internal/virtualenv.rst +0 -0
  209. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/internal/wraptypes-class.svg +0 -0
  210. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/internal/wraptypes.rst +0 -0
  211. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/make.bat +0 -0
  212. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/app.rst +0 -0
  213. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/clock.rst +0 -0
  214. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/customtypes.rst +0 -0
  215. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/display.rst +0 -0
  216. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/enums.rst +0 -0
  217. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/event.rst +0 -0
  218. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/font/index.rst +0 -0
  219. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/font/user.rst +0 -0
  220. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/graphics/allocation.rst +0 -0
  221. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/graphics/draw.rst +0 -0
  222. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/graphics/framebuffer.rst +0 -0
  223. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/graphics/shader.rst +0 -0
  224. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/graphics/vertexdomain.rst +0 -0
  225. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/gui.rst +0 -0
  226. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/image/animation.rst +0 -0
  227. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/image/index.rst +0 -0
  228. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/info.rst +0 -0
  229. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/input.rst +0 -0
  230. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/math.rst +0 -0
  231. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/media_synthesis.rst +0 -0
  232. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/models.rst +0 -0
  233. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/pyglet.rst +0 -0
  234. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/shapes.rst +0 -0
  235. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/text/caret.rst +0 -0
  236. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/text/document.rst +0 -0
  237. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/text/index.rst +0 -0
  238. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/text/layout.rst +0 -0
  239. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/window.rst +0 -0
  240. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/window_key.rst +0 -0
  241. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/modules/window_mouse.rst +0 -0
  242. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/context.rst +0 -0
  243. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/debug.rst +0 -0
  244. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/eventloop.rst +0 -0
  245. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/events.rst +0 -0
  246. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/gl.rst +0 -0
  247. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/abstract_image.png +0 -0
  248. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/abstract_image.svg +0 -0
  249. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/buffer_image.png +0 -0
  250. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/buffer_image.svg +0 -0
  251. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/context_flow.png +0 -0
  252. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/context_flow.svg +0 -0
  253. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/cursor_mac_crosshair.png +0 -0
  254. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/cursor_mac_default.png +0 -0
  255. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/cursor_mac_hand.png +0 -0
  256. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/cursor_mac_no.png +0 -0
  257. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/cursor_mac_size_down.png +0 -0
  258. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/cursor_mac_size_left.png +0 -0
  259. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/cursor_mac_size_left_right.png +0 -0
  260. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/cursor_mac_size_right.png +0 -0
  261. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/cursor_mac_size_up.png +0 -0
  262. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/cursor_mac_size_up_down.png +0 -0
  263. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/cursor_mac_text.png +0 -0
  264. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/cursor_mac_wait.png +0 -0
  265. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/cursor_win_crosshair.png +0 -0
  266. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/cursor_win_default.png +0 -0
  267. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/cursor_win_hand.png +0 -0
  268. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/cursor_win_help.png +0 -0
  269. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/cursor_win_no.png +0 -0
  270. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/cursor_win_size.png +0 -0
  271. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/cursor_win_size_left_right.png +0 -0
  272. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/cursor_win_size_nesw.png +0 -0
  273. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/cursor_win_size_nwse.png +0 -0
  274. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/cursor_win_size_up_down.png +0 -0
  275. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/cursor_win_text.png +0 -0
  276. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/cursor_win_wait.png +0 -0
  277. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/cursor_win_wait_arrow.png +0 -0
  278. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/explosion.png +0 -0
  279. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/font_metrics.png +0 -0
  280. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/font_metrics.svg +0 -0
  281. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/image_classes.png +0 -0
  282. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/image_classes.svg +0 -0
  283. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/image_grid.png +0 -0
  284. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/image_grid.svg +0 -0
  285. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/image_sequence.png +0 -0
  286. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/image_sequence.svg +0 -0
  287. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/mouse_coordinates.png +0 -0
  288. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/mouse_coordinates.svg +0 -0
  289. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/screens.png +0 -0
  290. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/screens.svg +0 -0
  291. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/text_classes.png +0 -0
  292. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/text_classes.svg +0 -0
  293. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/window_location.png +0 -0
  294. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/window_location.svg +0 -0
  295. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/window_osx_borderless.png +0 -0
  296. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/window_osx_default.png +0 -0
  297. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/window_osx_dialog.png +0 -0
  298. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/window_osx_tool.png +0 -0
  299. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/window_xp_default.png +0 -0
  300. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/window_xp_dialog.png +0 -0
  301. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/window_xp_overlay.png +0 -0
  302. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/window_xp_tool.png +0 -0
  303. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/img/window_xp_transparent.png +0 -0
  304. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/input.rst +0 -0
  305. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/installation.rst +0 -0
  306. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/keyboard.rst +0 -0
  307. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/math.rst +0 -0
  308. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/models.rst +0 -0
  309. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/mouse.rst +0 -0
  310. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/opengles.rst +0 -0
  311. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/options.rst +0 -0
  312. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/pyodide.rst +0 -0
  313. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/resources.rst +0 -0
  314. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/shapes.rst +0 -0
  315. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/doc/programming_guide/time.rst +0 -0
  316. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/dpi_scaled_window.py +0 -0
  317. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/events/events_key_state_handler.py +0 -0
  318. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/events/register_event_type.py +0 -0
  319. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/events/window_events.py +0 -0
  320. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/events/window_platform_event.py +0 -0
  321. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/resources/asteroid.png +0 -0
  322. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/resources/bullet.png +0 -0
  323. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/resources/bullet.wav +0 -0
  324. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/resources/engine_flame.png +0 -0
  325. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/resources/player.png +0 -0
  326. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version1/asteroid.py +0 -0
  327. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version1/game/__init__.py +0 -0
  328. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version1/game/load.py +0 -0
  329. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version1/game/util.py +0 -0
  330. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version2/asteroid.py +0 -0
  331. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version2/game/__init__.py +0 -0
  332. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version2/game/load.py +0 -0
  333. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version2/game/physicalobject.py +0 -0
  334. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version2/game/player.py +0 -0
  335. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version2/game/util.py +0 -0
  336. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version3/asteroid.py +0 -0
  337. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version3/game/__init__.py +0 -0
  338. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version3/game/load.py +0 -0
  339. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version3/game/physicalobject.py +0 -0
  340. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version3/game/player.py +0 -0
  341. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version3/game/util.py +0 -0
  342. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version4/asteroid.py +0 -0
  343. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version4/game/__init__.py +0 -0
  344. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version4/game/asteroid.py +0 -0
  345. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version4/game/bullet.py +0 -0
  346. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version4/game/load.py +0 -0
  347. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version4/game/physicalobject.py +0 -0
  348. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version4/game/player.py +0 -0
  349. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version4/game/util.py +0 -0
  350. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version5/asteroid.py +0 -0
  351. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version5/game/__init__.py +0 -0
  352. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version5/game/asteroid.py +0 -0
  353. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version5/game/bullet.py +0 -0
  354. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version5/game/load.py +0 -0
  355. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version5/game/physicalobject.py +0 -0
  356. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version5/game/player.py +0 -0
  357. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/game/version5/game/util.py +0 -0
  358. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/graphics/instancing.py +0 -0
  359. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/gui/bar.png +0 -0
  360. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/gui/button_hover.png +0 -0
  361. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/gui/button_pressed.png +0 -0
  362. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/gui/button_unpressed.png +0 -0
  363. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/gui/knob.png +0 -0
  364. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/gui/widgets.py +0 -0
  365. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/hello_world.py +0 -0
  366. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/image/image_convert.py +0 -0
  367. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/image/image_display.py +0 -0
  368. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/input/apple_remote.py +0 -0
  369. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/input/controller.py +0 -0
  370. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/input/input.py +0 -0
  371. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/input/joystick.py +0 -0
  372. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/input/tablet.py +0 -0
  373. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/media/media_info.py +0 -0
  374. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/media/noisy/README +0 -0
  375. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/media/noisy/ball.png +0 -0
  376. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/media/noisy/ball.wav +0 -0
  377. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/media/noisy/noisy.py +0 -0
  378. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/media/soundspace/README +0 -0
  379. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/media/soundspace/reader.py +0 -0
  380. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/media/soundspace/res/bass.wav +0 -0
  381. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/media/soundspace/res/drums.wav +0 -0
  382. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/media/soundspace/res/guitar.wav +0 -0
  383. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/media/soundspace/res/piano.wav +0 -0
  384. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/media/soundspace/res/space.txt +0 -0
  385. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/media/soundspace/soundspace.py +0 -0
  386. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/media/synthesizer.py +0 -0
  387. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/media/video.py +0 -0
  388. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/model/box.mtl +0 -0
  389. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/model/box.obj +0 -0
  390. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/model/logo3d.mtl +0 -0
  391. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/model/logo3d.obj +0 -0
  392. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/model/model.py +0 -0
  393. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/model/pyglet.png +0 -0
  394. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/opengl/compute_shader.py +0 -0
  395. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/opengl/egl_context.py +0 -0
  396. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/opengl/opengl_context.py +0 -0
  397. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/opengl/opengl_core.py +0 -0
  398. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/opengl/pyglet.png +0 -0
  399. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/opengl/torus.py +0 -0
  400. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/programming_guide/animation.py +0 -0
  401. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/programming_guide/dinosaur.gif +0 -0
  402. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/programming_guide/events.py +0 -0
  403. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/programming_guide/hello_world.py +0 -0
  404. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/programming_guide/image_viewer.py +0 -0
  405. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/programming_guide/kitten.jpg +0 -0
  406. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/programming_guide/window_subclass.py +0 -0
  407. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/resources/Brick1Blue.png +0 -0
  408. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/resources/Brick1Crack3.png +0 -0
  409. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/resources/Brick1Gray.png +0 -0
  410. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/resources/kitten.jpg +0 -0
  411. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/resources/pyglet.png +0 -0
  412. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/shapes.py +0 -0
  413. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/sprite/depth_sprite.py +0 -0
  414. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/sprite/display_sprite.py +0 -0
  415. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/text/advanced_font.py +0 -0
  416. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/text/font_groups.py +0 -0
  417. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/text/html_label.py +0 -0
  418. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/text/pyglet.png +0 -0
  419. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/text/text_input.py +0 -0
  420. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/text/user_bitmap_font.py +0 -0
  421. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/timer.py +0 -0
  422. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/window/camera.py +0 -0
  423. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/window/camera_group.py +0 -0
  424. {pyglet-3.0.dev3/examples → pyglet-3.0.dev4/examples/window}/clipboard.py +0 -0
  425. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/window/file_dialogs.py +0 -0
  426. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/window/fixed_resolution.py +0 -0
  427. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/window/fps_change.py +0 -0
  428. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/window/multiple_windows.py +0 -0
  429. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/window/no_backend.py +0 -0
  430. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/window/overlay_window.py +0 -0
  431. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/examples/window/transparent_window.py +0 -0
  432. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/make.py +0 -0
  433. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/__init__.pyi +0 -0
  434. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/app/__init__.py +0 -0
  435. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/app/async_app.py +0 -0
  436. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/app/base.py +0 -0
  437. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/app/linux.py +0 -0
  438. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/app/win32.py +0 -0
  439. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/clock.py +0 -0
  440. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/config/__init__.py +0 -0
  441. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/config/base.py +0 -0
  442. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/config/gl/__init__.py +0 -0
  443. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/config/gl/egl.py +0 -0
  444. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/config/gl/macos.py +0 -0
  445. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/config/gl/webgl.py +0 -0
  446. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/config/gl/windows.py +0 -0
  447. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/config/gl/x11.py +0 -0
  448. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/display/__init__.py +0 -0
  449. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/display/__init__.pyi +0 -0
  450. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/display/base.py +0 -0
  451. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/display/cocoa.py +0 -0
  452. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/display/emscripten.py +0 -0
  453. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/display/headless.py +0 -0
  454. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/display/wayland.py +0 -0
  455. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/display/win32.py +0 -0
  456. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/display/xlib.py +0 -0
  457. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/display/xlib_vidmoderestore.py +0 -0
  458. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/enums.py +0 -0
  459. {pyglet-3.0.dev3 → pyglet-3.0.dev4/pyglet}/experimental/flaccodec.py +0 -0
  460. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/experimental/hidraw.py +0 -0
  461. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/experimental/jobs.py +0 -0
  462. {pyglet-3.0.dev3 → pyglet-3.0.dev4/pyglet}/experimental/win32priority.py +0 -0
  463. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/extlibs/__init__.py +0 -0
  464. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/extlibs/earcut.py +0 -0
  465. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/extlibs/png.py +0 -0
  466. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/font/__init__.py +0 -0
  467. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/font/base.py +0 -0
  468. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/font/dwrite/d2d1_types_lib.py +0 -0
  469. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/font/dwrite/dwrite_lib.py +0 -0
  470. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/font/freetype.py +0 -0
  471. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/font/freetype_lib.py +0 -0
  472. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/font/group.py +0 -0
  473. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/font/harfbuzz.py +0 -0
  474. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/font/pyodide_js.py +0 -0
  475. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/font/quartz.py +0 -0
  476. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/font/ttf.py +0 -0
  477. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/font/user.py +0 -0
  478. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/font/win32.py +0 -0
  479. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/allocation.py +0 -0
  480. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/base.py +0 -0
  481. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/__init__.py +0 -0
  482. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/base.py +0 -0
  483. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/cocoa/__init__.py +0 -0
  484. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/cocoa/context.py +0 -0
  485. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/context.py +0 -0
  486. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/default_shaders.py +0 -0
  487. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/egl/__init__.py +0 -0
  488. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/egl/context.py +0 -0
  489. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/enums.py +0 -0
  490. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/framebuffer.py +0 -0
  491. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/gl.py +0 -0
  492. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/gl_info.py +0 -0
  493. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/lib.py +0 -0
  494. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/shapes.py +0 -0
  495. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/state.py +0 -0
  496. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/text.py +0 -0
  497. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/vertexarray.py +0 -0
  498. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/win32/__init__.py +0 -0
  499. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/win32/context.py +0 -0
  500. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/win32/wgl_info.py +0 -0
  501. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/xlib/__init__.py +0 -0
  502. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/xlib/context.py +0 -0
  503. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl/xlib/glx_info.py +0 -0
  504. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl1/__init__.py +0 -0
  505. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl1/gl_compat.py +0 -0
  506. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl2/__init__.py +0 -0
  507. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/gl2/text.py +0 -0
  508. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/webgl/context.py +0 -0
  509. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/webgl/enums.py +0 -0
  510. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/webgl/framebuffer.py +0 -0
  511. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/webgl/gl.py +0 -0
  512. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/webgl/gl_info.py +0 -0
  513. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/webgl/shapes.py +0 -0
  514. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/webgl/state.py +0 -0
  515. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/webgl/text.py +0 -0
  516. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/webgl/vertexarray.py +0 -0
  517. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/api/webgl/webgl_js.pyi +0 -0
  518. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/framebuffer.py +0 -0
  519. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/graphics/state.py +0 -0
  520. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/gui/__init__.py +0 -0
  521. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/gui/frame.py +0 -0
  522. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/gui/ninepatch.py +0 -0
  523. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/gui/widgets.py +0 -0
  524. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/image/codecs/__init__.py +0 -0
  525. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/image/codecs/bmp.py +0 -0
  526. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/image/codecs/dds.py +0 -0
  527. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/image/codecs/gdiplus.py +0 -0
  528. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/image/codecs/gdkpixbuf2.py +0 -0
  529. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/image/codecs/gif.py +0 -0
  530. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/image/codecs/js_image.py +0 -0
  531. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/image/codecs/ktx2.py +0 -0
  532. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/image/codecs/pil.py +0 -0
  533. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/image/codecs/png.py +0 -0
  534. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/image/codecs/quartz.py +0 -0
  535. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/input/__init__.py +0 -0
  536. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/input/base.py +0 -0
  537. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/input/controller.py +0 -0
  538. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/input/controller_db.py +0 -0
  539. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/input/emscripten/__init__.py +0 -0
  540. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/input/emscripten/gamepad_js.py +0 -0
  541. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/input/linux/__init__.py +0 -0
  542. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/input/linux/evdev.py +0 -0
  543. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/input/linux/evdev_constants.py +0 -0
  544. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/input/linux/x11_xinput.py +0 -0
  545. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/input/linux/x11_xinput_tablet.py +0 -0
  546. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/input/macos/__init__.py +0 -0
  547. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/input/macos/darwin_gc.py +0 -0
  548. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/input/macos/darwin_hid.py +0 -0
  549. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/input/win32/__init__.py +0 -0
  550. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/input/win32/wintab.py +0 -0
  551. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/input/win32/xinput.py +0 -0
  552. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/__init__.py +0 -0
  553. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/darwin/__init__.py +0 -0
  554. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/darwin/agl.py +0 -0
  555. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/darwin/cocoapy/__init__.py +0 -0
  556. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/darwin/cocoapy/cocoahelpers.py +0 -0
  557. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/darwin/cocoapy/cocoatypes.py +0 -0
  558. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/darwin/coreaudio.py +0 -0
  559. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/darwin/lib_agl.py +0 -0
  560. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/darwin/quartzkey.py +0 -0
  561. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/egl/__init__.py +0 -0
  562. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/egl/egl_lib.py +0 -0
  563. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/egl/eglext.py +0 -0
  564. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/linux/__init__.py +0 -0
  565. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/linux/egl/__init__.py +0 -0
  566. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/linux/egl/egl.py +0 -0
  567. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/linux/egl/eglext.py +0 -0
  568. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/linux/egl/lib.py +0 -0
  569. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/linux/glx/__init__.py +0 -0
  570. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/linux/glx/glx.py +0 -0
  571. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/linux/glx/glxext_arb.py +0 -0
  572. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/linux/glx/glxext_mesa.py +0 -0
  573. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/linux/glx/glxext_nv.py +0 -0
  574. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/linux/glx/lib_glx.py +0 -0
  575. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/linux/ioctl.py +0 -0
  576. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/linux/wayland/__init__.py +0 -0
  577. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/linux/wayland/client.py +0 -0
  578. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/linux/wayland/gbm.py +0 -0
  579. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/linux/wayland/lib_wayland.py +0 -0
  580. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/linux/wayland/wayland_egl.py +0 -0
  581. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/linux/wayland/xkbcommon.py +0 -0
  582. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/linux/x11/__init__.py +0 -0
  583. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/linux/x11/cursorfont.py +0 -0
  584. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/linux/x11/xf86vmode.py +0 -0
  585. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/linux/x11/xinerama.py +0 -0
  586. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/linux/x11/xinput.py +0 -0
  587. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/linux/x11/xlib.py +0 -0
  588. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/linux/x11/xrandr.py +0 -0
  589. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/linux/x11/xrender.py +0 -0
  590. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/linux/x11/xsync.py +0 -0
  591. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/__init__.py +0 -0
  592. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/lib_harfbuzz.py +0 -0
  593. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/spirv/__init__.py +0 -0
  594. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/spirv/lib_shaderc.py +0 -0
  595. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/spirv/lib_spirv_cross.py +0 -0
  596. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/vulkan_lib/__init__.py +0 -0
  597. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/vulkan_lib/exceptions.py +0 -0
  598. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/vulkan_lib/func.py +0 -0
  599. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/vulkan_lib/func_helpers.py +0 -0
  600. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/vulkan_lib/vk_video.py +0 -0
  601. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/vulkan_lib/vk_video.pyi +0 -0
  602. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/vulkan_lib/vulkan_core.py +0 -0
  603. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/vulkan_lib/vulkan_core.pyi +0 -0
  604. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/vulkan_lib/vulkan_ios.py +0 -0
  605. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/vulkan_lib/vulkan_ios.pyi +0 -0
  606. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/vulkan_lib/vulkan_macos.py +0 -0
  607. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/vulkan_lib/vulkan_macos.pyi +0 -0
  608. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/vulkan_lib/vulkan_metal.py +0 -0
  609. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/vulkan_lib/vulkan_metal.pyi +0 -0
  610. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/vulkan_lib/vulkan_wayland.py +0 -0
  611. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/vulkan_lib/vulkan_wayland.pyi +0 -0
  612. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/vulkan_lib/vulkan_win32.py +0 -0
  613. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/vulkan_lib/vulkan_win32.pyi +0 -0
  614. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/vulkan_lib/vulkan_xcb.py +0 -0
  615. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/vulkan_lib/vulkan_xcb.pyi +0 -0
  616. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/vulkan_lib/vulkan_xlib.py +0 -0
  617. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/vulkan_lib/vulkan_xlib.pyi +0 -0
  618. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/vulkan_lib/vulkan_xlib_xrandr.py +0 -0
  619. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/shared/vulkan_lib/vulkan_xlib_xrandr.pyi +0 -0
  620. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/win32/__init__.py +0 -0
  621. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/win32/com.py +0 -0
  622. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/win32/constants.py +0 -0
  623. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/win32/context_managers.py +0 -0
  624. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/win32/dinput.py +0 -0
  625. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/win32/lib_wgl.py +0 -0
  626. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/win32/libwintab.py +0 -0
  627. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/win32/types.py +0 -0
  628. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/win32/wgl.py +0 -0
  629. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/win32/wglext_arb.py +0 -0
  630. /pyglet-3.0.dev3/pyglet/image/codecs/wincodec_lib.py → /pyglet-3.0.dev4/pyglet/libs/win32/wincodec.py +0 -0
  631. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/libs/win32/winkey.py +0 -0
  632. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/__init__.py +0 -0
  633. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/buffered_logger.py +0 -0
  634. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/codecs/__init__.py +0 -0
  635. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/codecs/coreaudio.py +0 -0
  636. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/codecs/ffmpeg.py +0 -0
  637. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/codecs/ffmpeg_lib/__init__.py +0 -0
  638. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/codecs/ffmpeg_lib/compat.py +0 -0
  639. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/codecs/ffmpeg_lib/libavcodec.py +0 -0
  640. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/codecs/ffmpeg_lib/libavformat.py +0 -0
  641. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/codecs/ffmpeg_lib/libavutil.py +0 -0
  642. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/codecs/ffmpeg_lib/libswresample.py +0 -0
  643. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/codecs/ffmpeg_lib/libswscale.py +0 -0
  644. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/codecs/gstreamer.py +0 -0
  645. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/codecs/pyogg.py +0 -0
  646. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/codecs/webaudio_pyodide.py +0 -0
  647. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/codecs/wmf.py +0 -0
  648. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/devices/__init__.py +0 -0
  649. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/devices/base.py +0 -0
  650. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/devices/win32.py +0 -0
  651. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/drivers/__init__.py +0 -0
  652. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/drivers/directsound/__init__.py +0 -0
  653. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/drivers/directsound/adaptation.py +0 -0
  654. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/drivers/directsound/exceptions.py +0 -0
  655. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/drivers/directsound/interface.py +0 -0
  656. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/drivers/directsound/lib_dsound.py +0 -0
  657. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/drivers/listener.py +0 -0
  658. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/drivers/openal/__init__.py +0 -0
  659. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/drivers/openal/adaptation.py +0 -0
  660. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/drivers/openal/interface.py +0 -0
  661. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/drivers/openal/lib_alc.py +0 -0
  662. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/drivers/openal/lib_openal.py +0 -0
  663. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/drivers/pulse/__init__.py +0 -0
  664. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/drivers/pulse/lib_pulseaudio.py +0 -0
  665. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/drivers/pyodide_js/__init__.py +0 -0
  666. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/drivers/pyodide_js/adaptation.py +0 -0
  667. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/drivers/silent/__init__.py +0 -0
  668. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/drivers/silent/adaptation.py +0 -0
  669. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/drivers/xaudio2/__init__.py +0 -0
  670. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/drivers/xaudio2/adaptation.py +0 -0
  671. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/drivers/xaudio2/interface.py +0 -0
  672. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/drivers/xaudio2/lib_xaudio2.py +0 -0
  673. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/exceptions.py +0 -0
  674. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/instrumentation.py +0 -0
  675. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/media/player_worker_thread.py +0 -0
  676. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/model/codecs/base.py +0 -0
  677. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/model/codecs/gltf.py +0 -0
  678. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/py.typed +0 -0
  679. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/text/document.py +0 -0
  680. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/text/formats/__init__.py +0 -0
  681. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/text/formats/attributed.py +0 -0
  682. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/text/formats/html.py +0 -0
  683. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/text/formats/plaintext.py +0 -0
  684. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/text/formats/structured.py +0 -0
  685. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/text/layout/__init__.py +0 -0
  686. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/text/layout/base.py +0 -0
  687. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/text/layout/incremental.py +0 -0
  688. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/text/layout/scrolling.py +0 -0
  689. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/text/runlist.py +0 -0
  690. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/util.py +0 -0
  691. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/window/cocoa/__init__.py +0 -0
  692. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/window/cocoa/pyglet_delegate.py +0 -0
  693. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/window/cocoa/pyglet_textview.py +0 -0
  694. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/window/cocoa/pyglet_view.py +0 -0
  695. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/window/cocoa/pyglet_window.py +0 -0
  696. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/window/cocoa/systemcursor.py +0 -0
  697. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/window/dialog/__init__.py +0 -0
  698. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/window/dialog/base.py +0 -0
  699. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/window/dialog/darwin.py +0 -0
  700. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/window/dialog/linux.py +0 -0
  701. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/window/dialog/windows.py +0 -0
  702. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/window/emscripten/__init__.py +0 -0
  703. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/window/event.py +0 -0
  704. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/window/headless/__init__.py +0 -0
  705. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/window/key.py +0 -0
  706. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/window/mouse.py +0 -0
  707. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/window/wayland/__init__.py +0 -0
  708. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/window/win32/__init__.py +0 -0
  709. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyglet/window/xlib/__init__.py +0 -0
  710. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pyproject.toml +0 -0
  711. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/pytest.ini +0 -0
  712. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/setup.py +0 -0
  713. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/__init__.py +0 -0
  714. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/base/__init__.py +0 -0
  715. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/base/data.py +0 -0
  716. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/base/event_loop.py +0 -0
  717. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/base/interactive.py +0 -0
  718. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/base/performance.py +0 -0
  719. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/fonts/README +0 -0
  720. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/fonts/action_man.ttf +0 -0
  721. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/fonts/action_man_atlas.png +0 -0
  722. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/fonts/action_man_bold.ttf +0 -0
  723. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/fonts/action_man_bold_italic.ttf +0 -0
  724. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/fonts/action_man_italic.ttf +0 -0
  725. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/fonts/courR12-ISO8859-1.pcf +0 -0
  726. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/8bpp.gif +0 -0
  727. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/cursor.png +0 -0
  728. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/dinosaur.gif +0 -0
  729. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/gdk_close.png +0 -0
  730. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/grey_background.png +0 -0
  731. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/icon1.png +0 -0
  732. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/icon_size1.png +0 -0
  733. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/icon_size2.png +0 -0
  734. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/icon_size3.png +0 -0
  735. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/icon_size4.png +0 -0
  736. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/icon_size5.png +0 -0
  737. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/l.png +0 -0
  738. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/la.png +0 -0
  739. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/multitexture.png +0 -0
  740. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/rgb.png +0 -0
  741. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/rgb_16bpp.bmp +0 -0
  742. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/rgb_1bpp.bmp +0 -0
  743. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/rgb_24bpp.bmp +0 -0
  744. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/rgb_32bpp.bmp +0 -0
  745. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/rgb_4bpp.bmp +0 -0
  746. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/rgb_8bpp.bmp +0 -0
  747. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/rgb_8bpp.png +0 -0
  748. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/rgb_8bpp_trans.png +0 -0
  749. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/rgb_bc6s.dds +0 -0
  750. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/rgb_dxt1.dds +0 -0
  751. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/rgba.png +0 -0
  752. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/rgba_32bpp.bmp +0 -0
  753. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/rgba_bc7.dds +0 -0
  754. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/rgba_bc7.ktx2 +0 -0
  755. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/rgba_dxt1.dds +0 -0
  756. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/rgba_dxt3.dds +0 -0
  757. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/rgba_dxt5.dds +0 -0
  758. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/images/tests.interactive.test_interactive_test_base._Test.test_1.001.png +0 -0
  759. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/media/README +0 -0
  760. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/media/alert.wav +0 -0
  761. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/media/login.wav +0 -0
  762. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/media/logout.wav +0 -0
  763. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/media/receive.wav +0 -0
  764. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/media/send.wav +0 -0
  765. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/media/synthesis_sawtooth_16_11025_1ch.wav +0 -0
  766. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/media/synthesis_sawtooth_16_44800_1ch.wav +0 -0
  767. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/media/synthesis_silence_16_11025_1ch.wav +0 -0
  768. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/media/synthesis_silence_16_44800_1ch.wav +0 -0
  769. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/media/synthesis_simplefm_16_11025_1ch.wav +0 -0
  770. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/media/synthesis_simplefm_16_44800_1ch.wav +0 -0
  771. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/media/synthesis_sine_16_11025_1ch.wav +0 -0
  772. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/media/synthesis_sine_16_44800_1ch.wav +0 -0
  773. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/media/synthesis_square_16_11025_1ch.wav +0 -0
  774. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/media/synthesis_square_16_44800_1ch.wav +0 -0
  775. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/media/synthesis_triangle_16_11025_1ch.wav +0 -0
  776. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/media/synthesis_triangle_16_44800_1ch.wav +0 -0
  777. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/models/logo3d.mtl +0 -0
  778. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/data/models/logo3d.obj +0 -0
  779. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/__init__.py +0 -0
  780. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/app/__init__.py +0 -0
  781. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/app/test_eventloop.py +0 -0
  782. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/conftest.py +0 -0
  783. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/font/__init__.py +0 -0
  784. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/font/test_font.py +0 -0
  785. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/font/test_freetype_face.py +0 -0
  786. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/graphics/__init__.py +0 -0
  787. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/graphics/opengl_core/__init__.py +0 -0
  788. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/graphics/test_allocation.py +0 -0
  789. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/graphics/test_batch_migration.py +0 -0
  790. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/graphics/test_groups.py +0 -0
  791. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/graphics/test_texture2d.py +0 -0
  792. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/graphics/test_texturegrid.py +0 -0
  793. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/graphics/test_vertex_list.py +0 -0
  794. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/image/__init__.py +0 -0
  795. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/image/test_gdkpixbuf2.py +0 -0
  796. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/image/test_imagegrid.py +0 -0
  797. {pyglet-3.0.dev3/tests/integration/media → pyglet-3.0.dev4/tests/integration/libs}/__init__.py +0 -0
  798. {pyglet-3.0.dev3/tests/integration/model → pyglet-3.0.dev4/tests/integration/libs/darwin}/__init__.py +0 -0
  799. {pyglet-3.0.dev3/tests/integration/resource → pyglet-3.0.dev4/tests/integration/libs/darwin/cocoapy}/__init__.py +0 -0
  800. {pyglet-3.0.dev3/tests/integration/text → pyglet-3.0.dev4/tests/integration/media}/__init__.py +0 -0
  801. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/media/mock_player.py +0 -0
  802. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/media/test_directsound.py +0 -0
  803. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/media/test_driver.py +0 -0
  804. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/media/test_ffmpeg.py +0 -0
  805. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/media/test_listener.py +0 -0
  806. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/media/test_loading.py +0 -0
  807. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/media/test_openal.py +0 -0
  808. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/media/test_player.py +0 -0
  809. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/media/test_pulse.py +0 -0
  810. {pyglet-3.0.dev3/tests/integration/window → pyglet-3.0.dev4/tests/integration/model}/__init__.py +0 -0
  811. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/model/test_loading.py +0 -0
  812. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/platform/__init__.py +0 -0
  813. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/platform/test_win_context_managers.py +0 -0
  814. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/platform/test_win_multicore_clock.py +0 -0
  815. {pyglet-3.0.dev3/tests/interactive → pyglet-3.0.dev4/tests/integration/resource}/__init__.py +0 -0
  816. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/resource/dir1/dir1/f3.txt +0 -0
  817. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/resource/dir1/f2.txt +0 -0
  818. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/resource/dir1/res.zip +0 -0
  819. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/resource/dir2/f6.txt +0 -0
  820. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/resource/f1.txt +0 -0
  821. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/resource/rgbm.png +0 -0
  822. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/resource/test_resource_loading.py +0 -0
  823. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/test_integrations.py +0 -0
  824. {pyglet-3.0.dev3/tests/interactive/image → pyglet-3.0.dev4/tests/integration/text}/__init__.py +0 -0
  825. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/text/test_empty_document.py +0 -0
  826. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/text/test_label_creation.py +0 -0
  827. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/text/test_layout.py +0 -0
  828. {pyglet-3.0.dev3/tests/interactive/media → pyglet-3.0.dev4/tests/integration/window}/__init__.py +0 -0
  829. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/window/test_context_share.py +0 -0
  830. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/window/test_event_sequence.py +0 -0
  831. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/integration/window/test_window_caption.py +0 -0
  832. {pyglet-3.0.dev3/tests/interactive/text → pyglet-3.0.dev4/tests/interactive}/__init__.py +0 -0
  833. {pyglet-3.0.dev3/tests/interactive/window → pyglet-3.0.dev4/tests/interactive/image}/__init__.py +0 -0
  834. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/interactive/image/test_image.py +0 -0
  835. {pyglet-3.0.dev3/tests/unit → pyglet-3.0.dev4/tests/interactive/media}/__init__.py +0 -0
  836. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/interactive/media/test_player.py +0 -0
  837. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/interactive/screenshots/committed/README +0 -0
  838. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/interactive/screenshots/session/README +0 -0
  839. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/interactive/shapes/test_shapes.py +0 -0
  840. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/interactive/test_interactive_test_base.py +0 -0
  841. {pyglet-3.0.dev3/tests/unit/math → pyglet-3.0.dev4/tests/interactive/text}/__init__.py +0 -0
  842. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/interactive/text/test_caret_color.py +0 -0
  843. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/interactive/text/test_content_valign.py +0 -0
  844. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/interactive/text/test_html.py +0 -0
  845. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/interactive/text/test_inline_elements.py +0 -0
  846. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/interactive/text/test_inline_elements_style_change.py +0 -0
  847. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/interactive/text/test_layout_anchoring.py +0 -0
  848. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/interactive/text/test_multiline_wrap.py +0 -0
  849. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/interactive/text/test_plain.py +0 -0
  850. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/interactive/text/test_style.py +0 -0
  851. {pyglet-3.0.dev3/tests/unit/media → pyglet-3.0.dev4/tests/interactive/window}/__init__.py +0 -0
  852. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/interactive/window/test_window_styles.py +0 -0
  853. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/interactive/windowed_test_base.py +0 -0
  854. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/requirements.txt +0 -0
  855. {pyglet-3.0.dev3/tests/unit/platform → pyglet-3.0.dev4/tests/unit}/__init__.py +0 -0
  856. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/unit/conftest.py +0 -0
  857. {pyglet-3.0.dev3/tests/unit/shader → pyglet-3.0.dev4/tests/unit/libs}/__init__.py +0 -0
  858. {pyglet-3.0.dev3/tests/unit/shapes → pyglet-3.0.dev4/tests/unit/libs/darwin}/__init__.py +0 -0
  859. {pyglet-3.0.dev3/tests/unit/text → pyglet-3.0.dev4/tests/unit/libs/darwin/cocoapy}/__init__.py +0 -0
  860. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/unit/math/test_mat.py +0 -0
  861. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/unit/math/test_vec2.py +0 -0
  862. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/unit/math/test_vec3.py +0 -0
  863. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/unit/math/test_vec4.py +0 -0
  864. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/unit/media/test_player.py +0 -0
  865. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/unit/media/test_sources.py +0 -0
  866. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/unit/media/test_synthesis.py +0 -0
  867. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/unit/platform/test_mac_objc.py +0 -0
  868. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/unit/shader/conftest.py +0 -0
  869. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/unit/shader/test_shader.py-SUSPENDED +0 -0
  870. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/unit/shapes/conftest.py +0 -0
  871. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/unit/shapes/test_bordered_rectangle.py +0 -0
  872. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/unit/shapes/test_shapes.py +0 -0
  873. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/unit/test_atlas.py +0 -0
  874. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/unit/test_clock.py +0 -0
  875. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/unit/test_clock_freq.py +0 -0
  876. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/unit/test_image_data.py +0 -0
  877. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/unit/test_input.py +0 -0
  878. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/unit/test_resource_path.py +0 -0
  879. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tests/unit/text/test_text.py +0 -0
  880. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/al_info.py +0 -0
  881. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/ffmpeg/bokeh_timeline.py +0 -0
  882. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/ffmpeg/compare.py +0 -0
  883. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/ffmpeg/configure.py +0 -0
  884. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/ffmpeg/extractors.py +0 -0
  885. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/ffmpeg/fs.py +0 -0
  886. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/ffmpeg/mp.py +0 -0
  887. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/ffmpeg/mpexceptions.py +0 -0
  888. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/ffmpeg/playmany.py +0 -0
  889. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/ffmpeg/readme_ffmpeg_debbuging_branch.txt +0 -0
  890. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/ffmpeg/readme_run_tests.txt +0 -0
  891. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/ffmpeg/report.py +0 -0
  892. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/ffmpeg/reports.py +0 -0
  893. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/ffmpeg/retry_crashed.py +0 -0
  894. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/ffmpeg/run_test_suite.py +0 -0
  895. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/ffmpeg/summarize.py +0 -0
  896. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/ffmpeg/test_instrumentation.py +0 -0
  897. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/ffmpeg/timeline.py +0 -0
  898. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/gencontrollerdb.py +0 -0
  899. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/gengl.py +0 -0
  900. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/genwrappers.py +0 -0
  901. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/gl.template +0 -0
  902. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/gl.xml +0 -0
  903. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/gl_info.py +0 -0
  904. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/gl_stub.template +0 -0
  905. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/inspect_font.py +0 -0
  906. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/pyodide/dev_style.css +0 -0
  907. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/pyodide/example.py +0 -0
  908. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/pyodide/gen_pyodide_project.py +0 -0
  909. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/pyodide/index.html +0 -0
  910. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/pyodide/run_webgl_smoke.py +0 -0
  911. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/pyodide/script.js +0 -0
  912. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/requirements.txt +0 -0
  913. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/wgl.h +0 -0
  914. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/wraptypes/__init__.py +0 -0
  915. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/wraptypes/cparser.py +0 -0
  916. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/wraptypes/ctypesparser.py +0 -0
  917. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/wraptypes/lex.py +0 -0
  918. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/wraptypes/preprocessor.py +0 -0
  919. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/wraptypes/wrap.py +0 -0
  920. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/tools/wraptypes/yacc.py +0 -0
  921. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/LICENSE.txt +0 -0
  922. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/README.rst +0 -0
  923. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/assets/favicon.ico +0 -0
  924. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/assets/static/css/example-custom-styles.css +0 -0
  925. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/assets/static/images/pyglet.png +0 -0
  926. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/content/404.html/contents.lr +0 -0
  927. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/content/404.html/ngc-5793.jpg +0 -0
  928. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/content/authors/benjamin/contents.lr +0 -0
  929. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/content/authors/benjamin/pyglet.png +0 -0
  930. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/content/authors/contents.lr +0 -0
  931. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/content/blog/contents.lr +0 -0
  932. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/content/blog/welcome-blog/contents.lr +0 -0
  933. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/content/contents.lr +0 -0
  934. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/content/eclipse.jpg +0 -0
  935. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/pyglet.lektorproject +0 -0
  936. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/AUTHORS.txt +0 -0
  937. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/CHANGELOG.md +0 -0
  938. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/CONTRIBUTING.md +0 -0
  939. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/LICENSE.txt +0 -0
  940. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/NOTICE.txt +0 -0
  941. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/README.md +0 -0
  942. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/assets/static/css/bootstrap.css +0 -0
  943. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/assets/static/css/icomoon.css +0 -0
  944. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/assets/static/css/magnific-popup.css +0 -0
  945. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/assets/static/css/style.css +0 -0
  946. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  947. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  948. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
  949. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/assets/static/fonts/icomoon/icomoon.ttf +0 -0
  950. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/assets/static/fonts/icomoon/icomoon.woff +0 -0
  951. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/assets/static/images/Preloader_2.gif +0 -0
  952. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/assets/static/images/placeholder_person.png +0 -0
  953. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/assets/static/js/jquery-3.3.1.min.js +0 -0
  954. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/assets/static/js/jquery.easing.min.js +0 -0
  955. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/assets/static/js/jquery.magnific-popup.min.js +0 -0
  956. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/assets/static/js/jquery.stellar.js +0 -0
  957. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/assets/static/js/jquery.stellar.min.js +0 -0
  958. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/assets/static/js/jquery.waypoints.min.js +0 -0
  959. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/assets/static/js/magnific-popup-options.js +0 -0
  960. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/assets/static/js/main-singlelayout.js +0 -0
  961. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/assets/static/js/main.js +0 -0
  962. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/flowblocks/content.ini +0 -0
  963. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/flowblocks/gallery.ini +0 -0
  964. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/flowblocks/gallery_item.ini +0 -0
  965. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/flowblocks/member.ini +0 -0
  966. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/flowblocks/mission.ini +0 -0
  967. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/flowblocks/mission_tab.ini +0 -0
  968. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/flowblocks/service.ini +0 -0
  969. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/flowblocks/services.ini +0 -0
  970. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/flowblocks/team.ini +0 -0
  971. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/images/blog-index.png +0 -0
  972. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/images/full-blog.png +0 -0
  973. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/images/full-page.png +0 -0
  974. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/images/gallery-404.png +0 -0
  975. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/images/gallery-singlepage.png +0 -0
  976. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/images/mainpage-screenshots.png +0 -0
  977. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/images/responsive-layout.png +0 -0
  978. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/models/404.ini +0 -0
  979. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/models/author.ini +0 -0
  980. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/models/authors.ini +0 -0
  981. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/models/blog-post.ini +0 -0
  982. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/models/blog.ini +0 -0
  983. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/models/page.ini +0 -0
  984. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/models/single-layout.ini +0 -0
  985. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/templates/404.html +0 -0
  986. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/templates/author.html +0 -0
  987. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/templates/authors.html +0 -0
  988. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/templates/blocks/content.html +0 -0
  989. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/templates/blocks/gallery.html +0 -0
  990. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/templates/blocks/mission.html +0 -0
  991. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/templates/blocks/services.html +0 -0
  992. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/templates/blocks/team.html +0 -0
  993. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/templates/blog-layout.html +0 -0
  994. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/templates/blog-post.html +0 -0
  995. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/templates/blog.html +0 -0
  996. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/templates/layout.html +0 -0
  997. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/templates/macros/blog.html +0 -0
  998. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/templates/macros/pagination.html +0 -0
  999. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/templates/none.html +0 -0
  1000. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/templates/page.html +0 -0
  1001. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/templates/single-layout.html +0 -0
  1002. {pyglet-3.0.dev3 → pyglet-3.0.dev4}/website/themes/lektor-icon/theme.ini +0 -0
@@ -8,9 +8,8 @@ jobs:
8
8
  strategy:
9
9
  matrix:
10
10
  python-version: [ '3.9', '3.10', '3.11', '3.12', '3.13', '3.14', 'pypy-3.10' ]
11
- backend-override: [[opengl, '4.6'], [gl2, '2.0'], [gles2, '2.0'], [gles3, '3.2']]
12
11
 
13
- name: Python ${{ matrix.python-version }} Ubuntu ${{ matrix.backend-override[0] }}
12
+ name: Python ${{ matrix.python-version }} Ubuntu
14
13
  steps:
15
14
  - uses: actions/checkout@v4
16
15
  - name: Setup python
@@ -26,15 +25,34 @@ jobs:
26
25
  sudo apt-get install xvfb ffmpeg
27
26
  - name: Run tests
28
27
  env:
29
- PYGLET_BACKEND: ${{ matrix.backend-override[0] }}
30
- MESA_GL_VERSION_OVERRIDE: ${{ matrix.backend-override[1] }}
31
- MESA_GLES_VERSION_OVERRIDE: ${{ matrix.backend-override[1] }}
32
28
  ALSOFT_DRIVERS: "null"
33
29
  ALSOFT_LOGLEVEL: 1
34
30
  run: |
31
+ backend_overrides=(
32
+ "opengl:4.6"
33
+ "gl2:2.0"
34
+ "gles2:2.0"
35
+ "gles3:3.2"
36
+ )
37
+
38
+ export PYGLET_BACKEND=opengl
39
+ export MESA_GL_VERSION_OVERRIDE=4.6
40
+ export MESA_GLES_VERSION_OVERRIDE=4.6
35
41
  openal-info || true
36
42
  xvfb-run --auto-servernum python3 -m pyglet.info
37
- xvfb-run --auto-servernum pytest tests --ignore=tests/interactive
43
+ xvfb-run --auto-servernum pytest tests \
44
+ --ignore=tests/interactive \
45
+ --ignore=tests/integration/graphics
46
+ for backend_override in "${backend_overrides[@]}"; do
47
+ backend="${backend_override%%:*}"
48
+ version="${backend_override##*:}"
49
+ export PYGLET_BACKEND="${backend}"
50
+ export MESA_GL_VERSION_OVERRIDE="${version}"
51
+ export MESA_GLES_VERSION_OVERRIDE="${version}"
52
+ echo "Running backend-sensitive tests for backend=${backend}, version=${version}"
53
+ xvfb-run --auto-servernum python3 -m pyglet.info
54
+ xvfb-run --auto-servernum pytest tests/integration/graphics
55
+ done
38
56
 
39
57
  osx:
40
58
  runs-on: macos-latest
@@ -61,9 +79,8 @@ jobs:
61
79
  strategy:
62
80
  matrix:
63
81
  python-version: [ '3.9', '3.10', '3.11', '3.12', '3.13', '3.14']
64
- backend-override: [[opengl, '4.6'], [gl2, '2.0'], [gles2, '2.0']]
65
82
 
66
- name: Python ${{ matrix.python-version }} Windows ${{ matrix.backend-override[0] }}
83
+ name: Python ${{ matrix.python-version }} Windows
67
84
  steps:
68
85
  - uses: actions/checkout@v4
69
86
  - name: Setup python
@@ -81,22 +98,38 @@ jobs:
81
98
  pip install pytest
82
99
  - name: Run tests
83
100
  shell: pwsh
84
- env:
85
- PYGLET_BACKEND: ${{ matrix.backend-override[0] }}
86
- MESA_GL_VERSION_OVERRIDE: ${{ matrix.backend-override[1] }}
87
- MESA_GLES_VERSION_OVERRIDE: ${{ matrix.backend-override[1] }}
88
101
  run: |
102
+ $backend_test_args = @(
103
+ 'tests/integration/graphics'
104
+ )
105
+
106
+ $backend_overrides = @(
107
+ @{ backend = 'opengl'; version = '4.6' },
108
+ @{ backend = 'gl2'; version = '2.0' },
109
+ @{ backend = 'gles2'; version = '2.0' }
110
+ )
111
+
112
+ $env:PYGLET_BACKEND = 'opengl'
113
+ $env:MESA_GL_VERSION_OVERRIDE = '4.6'
114
+ $env:MESA_GLES_VERSION_OVERRIDE = '4.6'
89
115
  python3 -m pyglet.info
90
- pytest tests --ignore=tests/interactive
116
+ pytest tests --ignore=tests/interactive --ignore=tests/integration/graphics
117
+ foreach ($backend_override in $backend_overrides) {
118
+ $env:PYGLET_BACKEND = $backend_override.backend
119
+ $env:MESA_GL_VERSION_OVERRIDE = $backend_override.version
120
+ $env:MESA_GLES_VERSION_OVERRIDE = $backend_override.version
121
+ Write-Host "Running backend-sensitive tests for backend=$($backend_override.backend), version=$($backend_override.version)"
122
+ python3 -m pyglet.info
123
+ pytest @backend_test_args
124
+ }
91
125
 
92
126
  headless:
93
127
  runs-on: ubuntu-latest
94
128
  strategy:
95
129
  matrix:
96
130
  python-version: [ '3.12', '3.13', '3.14', 'pypy-3.10' ]
97
- backend-override: [[opengl, '4.6'], [gles2, '2.0'], [gles3, '3.2']]
98
131
 
99
- name: Python ${{ matrix.python-version }} Ubuntu HEADLESS ${{ matrix.backend-override[0] }}
132
+ name: Python ${{ matrix.python-version }} Ubuntu HEADLESS
100
133
  steps:
101
134
  - uses: actions/checkout@v4
102
135
  - name: Setup python
@@ -111,13 +144,31 @@ jobs:
111
144
  sudo apt-get install --fix-missing libgl1-mesa-dev xvfb
112
145
  - name: Run tests
113
146
  env:
114
- PYGLET_BACKEND: ${{ matrix.backend-override[0] }}
115
- MESA_GL_VERSION_OVERRIDE: ${{ matrix.backend-override[1] }}
116
- MESA_GLES_VERSION_OVERRIDE: ${{ matrix.backend-override[1] }}
117
147
  PYGLET_HEADLESS: true
118
148
  run: |
149
+ backend_overrides=(
150
+ "opengl:4.6"
151
+ "gles2:2.0"
152
+ "gles3:3.2"
153
+ )
154
+
155
+ export PYGLET_BACKEND=opengl
156
+ export MESA_GL_VERSION_OVERRIDE=4.6
157
+ export MESA_GLES_VERSION_OVERRIDE=4.6
119
158
  python3 -m pyglet.info
120
- pytest tests --ignore=tests/interactive
159
+ pytest tests \
160
+ --ignore=tests/interactive \
161
+ --ignore=tests/integration/graphics
162
+ for backend_override in "${backend_overrides[@]}"; do
163
+ backend="${backend_override%%:*}"
164
+ version="${backend_override##*:}"
165
+ export PYGLET_BACKEND="${backend}"
166
+ export MESA_GL_VERSION_OVERRIDE="${version}"
167
+ export MESA_GLES_VERSION_OVERRIDE="${version}"
168
+ echo "Running backend-sensitive tests for backend=${backend}, version=${version}"
169
+ python3 -m pyglet.info
170
+ pytest tests/integration/graphics
171
+ done
121
172
 
122
173
  webgl-smoke:
123
174
  runs-on: ubuntu-latest
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyglet
3
- Version: 3.0.dev3
3
+ Version: 3.0.dev4
4
4
  Summary: pyglet is a cross-platform games and multimedia package.
5
5
  Author-email: Alex Holkner & contributors <Alex.Holkner@gmail.com>
6
6
  Requires-Python: >=3.8
@@ -0,0 +1,19 @@
1
+ # Contrib
2
+
3
+ The `contrib` directory contains supplemental examples, integrations, and recipes for building applications. Many
4
+ of these are contributions by other users who have found useful patterns, and code that may be beneficial for
5
+ others.
6
+
7
+ Content in this directory is intended to help users learn, and explore integrations to see how specific features
8
+ can be implemented.
9
+
10
+ ---
11
+
12
+ # Contribution Rules
13
+
14
+ - Keep contributions focused and self-contained.
15
+ - Prefer readability and include comments where possible.
16
+ - Include a README or docstring header for non-trivial contributions.
17
+ - Avoid mixing unrelated concepts together.
18
+ - Keep code style consistent with the repository.
19
+ - Avoid heavy use of overriding internals, as these may change with versioning.
@@ -1,5 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
+ """Simple sprite stress benchmark that adjusts sprite count to track target FPS."""
4
+
3
5
  import random
4
6
 
5
7
  import pyglet
@@ -0,0 +1,341 @@
1
+ from __future__ import annotations
2
+
3
+ import os.path
4
+ import re
5
+ import xml.dom.minidom
6
+
7
+ import pyglet
8
+ from pyglet.enums import BlendFactor, GeometryMode
9
+ from pyglet.graphics import Group, Shader, ShaderGroup, ShaderProgram
10
+ from pyglet.graphics.api.base import SurfaceContext
11
+ from pyglet.graphics.api.gl import (
12
+ GL_DONT_CARE,
13
+ GL_LINE_SMOOTH,
14
+ GL_LINE_SMOOTH_HINT,
15
+ glDisable,
16
+ glEnable,
17
+ glHint,
18
+ )
19
+ from pyglet.graphics.state import State
20
+
21
+
22
+ _VERTEX_SOURCE = """#version 330 core
23
+ in vec2 position;
24
+
25
+ uniform WindowBlock
26
+ {
27
+ mat4 projection;
28
+ mat4 view;
29
+ } window;
30
+
31
+ void main()
32
+ {
33
+ gl_Position = window.projection * window.view * vec4(position, 0.0, 1.0);
34
+ }
35
+ """
36
+
37
+ _FRAGMENT_SOURCE = """#version 330 core
38
+ out vec4 final_color;
39
+
40
+ void main()
41
+ {
42
+ final_color = vec4(1.0, 0.0, 0.0, 1.0);
43
+ }
44
+ """
45
+
46
+
47
+ class LineSmoothState(State):
48
+ sets_state = True
49
+ unsets_state = True
50
+
51
+ def set_state(self, ctx: SurfaceContext) -> None:
52
+ glEnable(GL_LINE_SMOOTH)
53
+ glHint(GL_LINE_SMOOTH_HINT, GL_DONT_CARE)
54
+
55
+ def unset_state(self, ctx: SurfaceContext) -> None:
56
+ glDisable(GL_LINE_SMOOTH)
57
+
58
+
59
+ class Curve:
60
+ PATH_RE = re.compile(r'([MLHVCSQTAZ])([^MLHVCSQTAZ]*)', re.IGNORECASE)
61
+ INT = r'([+-]?\d+)'
62
+ FLOAT = r'(?:[\s,]*)([+-]?\d+(?:\.\d+)?)'
63
+
64
+ HANDLERS = {}
65
+
66
+ def handle(self, rx, types, HANDLERS=HANDLERS):
67
+ def register(function):
68
+ HANDLERS[self] = (rx and re.compile(rx), function, types)
69
+ return function
70
+
71
+ return register
72
+
73
+ def __init__(self, spec):
74
+ self.start = None
75
+ self.current = None
76
+ self.last_control = None
77
+ self.min_x = self.min_y = self.max_x = self.max_y = None
78
+ self.segments = []
79
+
80
+ for cmd, value in self.PATH_RE.findall(spec):
81
+ if not cmd:
82
+ continue
83
+ rx, handler, types = self.HANDLERS[cmd.upper()]
84
+ if rx is None:
85
+ handler(self, cmd)
86
+ continue
87
+ v = []
88
+ for fields in rx.findall(value):
89
+ if not isinstance(fields, tuple):
90
+ fields = (fields,)
91
+ v.append([types[i](e) for i, e in enumerate(fields)])
92
+ handler(self, cmd, v)
93
+
94
+ def _determine_rect(self, x, y):
95
+ y = -y
96
+ if self.min_x is None:
97
+ self.min_x = self.max_x = x
98
+ self.min_y = self.max_y = y
99
+ return
100
+ if self.min_x > x:
101
+ self.min_x = x
102
+ elif self.max_x < x:
103
+ self.max_x = x
104
+ if self.min_y > y:
105
+ self.min_y = y
106
+ elif self.max_y < y:
107
+ self.max_y = y
108
+
109
+ def _append_line(self, x1, y1, x2, y2):
110
+ self.segments.append((x1, -y1, x2, -y2))
111
+ self._determine_rect(x1, y1)
112
+ self._determine_rect(x2, y2)
113
+
114
+ @handle('M', FLOAT * 2, (float, float))
115
+ def moveto(self, cmd, points):
116
+ points = [list(map(float, point)) for point in points]
117
+ if not points:
118
+ return
119
+ self.start = self.current = points[0]
120
+ self.last_control = None
121
+ if len(points) > 1:
122
+ self.lineto({'m': 'l', 'M': 'L'}[cmd], points[1:])
123
+
124
+ @handle('L', FLOAT * 2, (float, float))
125
+ def lineto(self, cmd, points):
126
+ if self.current is None:
127
+ return
128
+ for point in points:
129
+ cx, cy = self.current
130
+ x, y = list(map(float, point))
131
+ self._append_line(cx, cy, x, y)
132
+ self.current = (x, y)
133
+ self.last_control = None
134
+
135
+ @handle('H', FLOAT, (float,))
136
+ def horizontal_lineto(self, cmd, xvals):
137
+ if self.current is None or not xvals:
138
+ return
139
+ cx, cy = self.current
140
+ x = float(xvals[-1][0])
141
+ self._append_line(cx, cy, x, cy)
142
+ self.current = (x, cy)
143
+ self.last_control = None
144
+
145
+ @handle('V', FLOAT, (float,))
146
+ def vertical_lineto(self, cmd, yvals):
147
+ if self.current is None or not yvals:
148
+ return
149
+ cx, cy = self.current
150
+ y = float(yvals[-1][0])
151
+ self._append_line(cx, cy, cx, y)
152
+ self.current = (cx, y)
153
+ self.last_control = None
154
+
155
+ @handle('Z', None, None)
156
+ def closepath(self, cmd):
157
+ if self.current is None or self.start is None:
158
+ return
159
+ cx, cy = self.current
160
+ sx, sy = self.start
161
+ self._append_line(cx, cy, sx, sy)
162
+ self.current = self.start
163
+ self.last_control = None
164
+
165
+ @handle('C', FLOAT * 6, (float,) * 6)
166
+ def curveto(self, cmd, control_points):
167
+ if self.current is None:
168
+ return
169
+ last = None
170
+ for entry in control_points:
171
+ x1, y1, x2, y2, x, y = list(map(float, entry))
172
+ cx, cy = self.current
173
+ self.last_control = (x2, y2)
174
+ self.current = (x, y)
175
+ t = 0.0
176
+ while t <= 1.0001:
177
+ a = t
178
+ a2 = a**2
179
+ a3 = a**3
180
+ b = 1 - t
181
+ b2 = b**2
182
+ b3 = b**3
183
+ px = cx * b3 + 3 * x1 * b2 * a + 3 * x2 * b * a2 + x * a3
184
+ py = cy * b3 + 3 * y1 * b2 * a + 3 * y2 * b * a2 + y * a3
185
+ if last is not None:
186
+ self._append_line(last[0], last[1], px, py)
187
+ last = (px, py)
188
+ t += 0.01
189
+
190
+ @handle('S', FLOAT * 4, (float,) * 4)
191
+ def smooth_curveto(self, cmd, control_points):
192
+ if self.current is None:
193
+ return
194
+ if self.last_control is None:
195
+ self.last_control = self.current
196
+
197
+ last = None
198
+ for entry in control_points:
199
+ x2, y2, x, y = list(map(float, entry))
200
+ cx, cy = self.current
201
+ lcx, lcy = self.last_control
202
+ x1, y1 = cx + (cx - lcx), cy + (cy - lcy)
203
+
204
+ self.last_control = (x2, y2)
205
+ self.current = (x, y)
206
+
207
+ t = 0.0
208
+ while t <= 1.0001:
209
+ a = t
210
+ a2 = a**2
211
+ a3 = a**3
212
+ b = 1 - t
213
+ b2 = b**2
214
+ b3 = b**3
215
+ px = cx * b3 + 3 * x1 * b2 * a + 3 * x2 * b * a2 + x * a3
216
+ py = cy * b3 + 3 * y1 * b2 * a + 3 * y2 * b * a2 + y * a3
217
+ if last is not None:
218
+ self._append_line(last[0], last[1], px, py)
219
+ last = (px, py)
220
+ t += 0.01
221
+
222
+ @handle('Q', FLOAT * 4, (float,) * 4)
223
+ def quadratic_curveto(self, cmd, control_points):
224
+ raise NotImplementedError('not implemented')
225
+
226
+ @handle('T', FLOAT * 2, (float,) * 2)
227
+ def smooth_quadratic_curveto(self, cmd, control_points):
228
+ raise NotImplementedError('not implemented')
229
+
230
+ @handle('A', FLOAT * 3 + INT * 2 + FLOAT * 2, (float,) * 3 + (int,) * 2 + (float,) * 2)
231
+ def elliptical_arc(self, cmd, parameters):
232
+ raise NotImplementedError('not implemented')
233
+
234
+
235
+ class SVG:
236
+ def __init__(self, filename, rect=None):
237
+ self._rect = rect
238
+ self.scale_x = 1.0
239
+ self.scale_y = 1.0
240
+ self.translate_x = 0.0
241
+ self.translate_y = 0.0
242
+
243
+ self.batch = pyglet.graphics.Batch()
244
+ self.shader = ShaderProgram(Shader(_VERTEX_SOURCE, "vertex"), Shader(_FRAGMENT_SOURCE, "fragment"))
245
+
246
+ shader_group = ShaderGroup(self.shader)
247
+ self.line_group = Group(parent=shader_group)
248
+ self.line_group.set_blend(BlendFactor.SRC_ALPHA, BlendFactor.ONE_MINUS_SRC_ALPHA)
249
+ self.line_group.add_state(LineSmoothState())
250
+
251
+ dom = xml.dom.minidom.parse(filename)
252
+ svg_tag = dom.documentElement
253
+ if svg_tag.tagName != 'svg':
254
+ raise ValueError(f'document is <{svg_tag.tagName}> instead of <svg>')
255
+
256
+ self.objects = []
257
+ for group_tag in svg_tag.getElementsByTagName('g'):
258
+ for path_tag in group_tag.getElementsByTagName('path'):
259
+ self.objects.append(Curve(path_tag.getAttribute('d')))
260
+
261
+ self.min_x = min(o.min_x for o in self.objects if o.min_x is not None)
262
+ self.max_x = max(o.max_x for o in self.objects if o.max_x is not None)
263
+ self.min_y = min(o.min_y for o in self.objects if o.min_y is not None)
264
+ self.max_y = max(o.max_y for o in self.objects if o.max_y is not None)
265
+
266
+ if rect is None:
267
+ self._rect = (
268
+ self.min_x,
269
+ self.min_y,
270
+ self.max_x - self.min_x,
271
+ self.max_y - self.min_y,
272
+ )
273
+
274
+ self.drawables = []
275
+ self._build_vertex_lists()
276
+ self.rect = self._rect
277
+
278
+ @property
279
+ def rect(self):
280
+ return self._rect
281
+
282
+ @rect.setter
283
+ def rect(self, new_rect):
284
+ self._rect = new_rect
285
+ self.translate_x, self.translate_y, rw, rh = new_rect
286
+ width = self.max_x - self.min_x
287
+ height = self.max_y - self.min_y
288
+ self.scale_x = abs(rw / width) if width else 1.0
289
+ self.scale_y = abs(rh / height) if height else 1.0
290
+ self._update_vertices()
291
+
292
+ def _build_vertex_lists(self):
293
+ for curve in self.objects:
294
+ if not curve.segments:
295
+ continue
296
+ positions = []
297
+ for x1, y1, x2, y2 in curve.segments:
298
+ positions.extend((x1, y1, x2, y2))
299
+ vertex_list = self.shader.vertex_list(
300
+ len(positions) // 2,
301
+ GeometryMode.LINES,
302
+ self.batch,
303
+ self.line_group,
304
+ position=('f', positions),
305
+ )
306
+ self.drawables.append((curve, vertex_list))
307
+
308
+ def _update_vertices(self):
309
+ for curve, vertex_list in self.drawables:
310
+ transformed = []
311
+ for x1, y1, x2, y2 in curve.segments:
312
+ transformed.extend((
313
+ (x1 - self.min_x) * self.scale_x + self.translate_x,
314
+ (y1 - self.min_y) * self.scale_y + self.translate_y,
315
+ (x2 - self.min_x) * self.scale_x + self.translate_x,
316
+ (y2 - self.min_y) * self.scale_y + self.translate_y,
317
+ ))
318
+ vertex_list.position[:] = transformed
319
+
320
+ def draw(self):
321
+ self.batch.draw()
322
+
323
+
324
+ window = pyglet.window.Window(width=600, height=300, resizable=True)
325
+
326
+ dirname = os.path.dirname(__file__)
327
+ svg = SVG(os.path.join(dirname, 'hello_world.svg'), rect=(0, 0, 600, 300))
328
+
329
+
330
+ @window.event
331
+ def on_draw():
332
+ window.clear()
333
+ svg.draw()
334
+
335
+
336
+ @window.event
337
+ def on_resize(w, h):
338
+ svg.rect = (0, 0, w, h)
339
+
340
+
341
+ pyglet.app.run()
@@ -51,6 +51,7 @@ If you are migrating from an older version of pyglet, please read through
51
51
  programming_guide/shapes
52
52
  programming_guide/models
53
53
  programming_guide/resources
54
+ programming_guide/texture
54
55
  programming_guide/rendering
55
56
  programming_guide/events
56
57
  programming_guide/gui
@@ -65,6 +66,7 @@ If you are migrating from an older version of pyglet, please read through
65
66
  programming_guide/options
66
67
  programming_guide/debug
67
68
  programming_guide/migration
69
+ programming_guide/migration2
68
70
  programming_guide/pyodide
69
71
 
70
72
  .. toctree::
@@ -74,6 +76,7 @@ If you are migrating from an older version of pyglet, please read through
74
76
  modules/pyglet
75
77
  modules/app
76
78
  modules/clock
79
+ modules/config/index
77
80
  modules/display
78
81
  modules/customtypes
79
82
  modules/enums
@@ -86,6 +89,7 @@ If you are migrating from an older version of pyglet, please read through
86
89
  modules/input
87
90
  modules/math
88
91
  modules/media
92
+ modules/models
89
93
  modules/resource
90
94
  modules/sprite
91
95
  modules/shapes
@@ -75,7 +75,7 @@ A silent audio driver that consumes, but does not play back any audio is also
75
75
  available.
76
76
 
77
77
  If your source contains video, and you are using a :class:`~pyglet.media.VideoPlayer`
78
- then the player will contain a :meth:`~pyglet.media.VideoPlayer.texture`
78
+ then the player will contain a :attr:`~pyglet.media.player.VideoPlayer.texture`
79
79
  property returning the current video frame.
80
80
 
81
81
  The player has an internal `master clock` which is used to synchronize the
@@ -83,11 +83,11 @@ video and the audio. The audio synchronization is delegated to the
83
83
  ``AudioPlayer``. More info found below. The video synchronization is made by
84
84
  asking the :class:`~pyglet.media.Source` for the next video timestamp.
85
85
  The player then schedules on pyglet event loop a
86
- call to its :meth:`~pyglet.media.AudioPlayer.update_texture` with a delay
86
+ call to its :meth:`~pyglet.media.player.VideoPlayer.update_texture` with a delay
87
87
  equal to the difference between the next video timestamp and the master clock
88
88
  current time.
89
89
 
90
- When :meth:`~pyglet.media.AudioPlayer.update_texture` is called, we will
90
+ When :meth:`~pyglet.media.player.VideoPlayer.update_texture` is called, we will
91
91
  check if the actual master clock time is not too late compared to the video
92
92
  timestamp. This could happen if the loop was very busy and the function could
93
93
  not be called on time. In this case, the frame would be skipped until we find
@@ -309,21 +309,21 @@ When the client code runs ``player.play()``:
309
309
  The :class:`~pyglet.media.player.AudioPlayer` will check if there is an audio track
310
310
  on the media. If so it will instantiate an ``AudioPlayer`` appropriate for the
311
311
  available sound driver on the platform. It will create an empty
312
- :class:`~pyglet.image.Texture` if the media contains video frames and will
313
- schedule its :meth:`~pyglet.media.AudioPlayer.update_texture` to be called
312
+ :class:`~pyglet.graphics.texture.Texture` if the media contains video frames and will
313
+ schedule its :meth:`~pyglet.media.player.VideoPlayer.update_texture` to be called
314
314
  immediately. Finally it will start the master clock.
315
315
 
316
316
  The ``AudioPlayer`` will start playing
317
317
  :ref:`as described above <audioplayer-play>`.
318
318
 
319
- When the :meth:`~pyglet.media.VideoPlayer.update_texture` method is called,
319
+ When the :meth:`~pyglet.media.player.VideoPlayer.update_texture` method is called,
320
320
  the next video timestamp will be checked with the master clock. We allow a
321
321
  delay up to the frame duration. If the master clock is beyond that time, the
322
322
  frame will be skipped. We will check the following frames for its timestamp
323
323
  until we find the appropriate frame for the master clock time. We will set the
324
324
  :attr:`~pyglet.media.player.VideoPlayer.texture` to the new video frame. We will
325
325
  check for the next video frame timestamp and we will schedule a new call to
326
- :meth:`~pyglet.media.VideoPlayer.update_texture` with a delay equals to the
326
+ :meth:`~pyglet.media.player.VideoPlayer.update_texture` with a delay equals to the
327
327
  difference between the next video timestamps and the master clock time.
328
328
 
329
329
  Helpful tools
@@ -0,0 +1,6 @@
1
+ pyglet.config.base
2
+ ==================
3
+
4
+ .. automodule:: pyglet.config.base
5
+ :members:
6
+ :undoc-members:
@@ -0,0 +1,6 @@
1
+ pyglet.config.gl
2
+ ================
3
+
4
+ .. automodule:: pyglet.config.gl
5
+ :members:
6
+ :undoc-members:
@@ -0,0 +1,14 @@
1
+ pyglet.config
2
+ =============
3
+
4
+ .. rubric:: Submodules
5
+
6
+ .. toctree::
7
+ :maxdepth: 1
8
+
9
+ base
10
+ gl
11
+
12
+ .. automodule:: pyglet.config
13
+ :members:
14
+ :undoc-members:
@@ -12,6 +12,8 @@ Classes
12
12
 
13
13
  .. rubric:: Methods
14
14
 
15
+ .. automethod:: __init__
16
+
15
17
  .. automethod:: open
16
18
 
17
19
  .. rubric:: Events
@@ -23,6 +25,8 @@ Classes
23
25
 
24
26
  .. rubric:: Methods
25
27
 
28
+ .. automethod:: __init__
29
+
26
30
  .. automethod:: open
27
31
 
28
32
  .. rubric:: Events
@@ -0,0 +1,6 @@
1
+ pyglet.font.group
2
+ =================
3
+
4
+ .. automodule:: pyglet.font.group
5
+ :members:
6
+ :undoc-members:
@@ -1,5 +1,5 @@
1
1
  pyglet.graphics.atlas
2
- ==================
2
+ =====================
3
3
 
4
4
  .. automodule:: pyglet.graphics.atlas
5
5
  :members:
@@ -7,8 +7,11 @@ pyglet.graphics
7
7
  :maxdepth: 1
8
8
 
9
9
  allocation
10
+ atlas
11
+ draw
10
12
  framebuffer
11
13
  shader
14
+ texture
12
15
  vertexbuffer
13
16
  vertexdomain
14
17
 
@@ -0,0 +1,6 @@
1
+ pyglet.graphics.texture
2
+ =======================
3
+
4
+ .. automodule:: pyglet.graphics.texture
5
+ :members:
6
+ :undoc-members: