pyglet 3.0.dev8__tar.gz → 3.0.dev9__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 (1041) hide show
  1. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/PKG-INFO +1 -1
  2. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/migration.rst +12 -3
  3. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/rendering.rst +2 -2
  4. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/texture.rst +1 -1
  5. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/__init__.py +1 -1
  6. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/experimental/geoshader_sprite.py +4 -4
  7. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/experimental/particles.py +1 -1
  8. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/__init__.py +8 -0
  9. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/__init__.py +1 -3
  10. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/base.py +0 -68
  11. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/__init__.py +1 -1
  12. pyglet-3.0.dev9/pyglet/graphics/api/gl/base.py +55 -0
  13. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/buffer.py +25 -25
  14. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/context.py +16 -19
  15. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/framebuffer.py +15 -20
  16. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/global_opengl.py +1 -6
  17. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/shader.py +22 -24
  18. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/state.py +13 -9
  19. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/texture.py +69 -34
  20. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/vertexarray.py +8 -7
  21. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl2/buffer.py +2 -2
  22. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl2/framebuffer.py +1 -3
  23. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/webgl/__init__.py +0 -18
  24. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/webgl/buffer.py +16 -16
  25. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/webgl/context.py +9 -54
  26. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/webgl/framebuffer.py +13 -20
  27. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/webgl/gl_info.py +1 -1
  28. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/webgl/shader.py +15 -16
  29. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/webgl/state.py +13 -15
  30. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/webgl/texture.py +68 -39
  31. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/webgl/vertexarray.py +8 -7
  32. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/atlas.py +4 -4
  33. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/buffer.py +19 -4
  34. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/framebuffer.py +2 -2
  35. pyglet-3.0.dev9/pyglet/graphics/resource.py +124 -0
  36. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/shader.py +19 -15
  37. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/texture.py +23 -21
  38. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/image/__init__.py +1 -1
  39. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/resource.py +1 -1
  40. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/sprite.py +3 -3
  41. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/opengl/test_compute_shader.py +1 -1
  42. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/opengl/test_shaders.py +2 -2
  43. pyglet-3.0.dev9/tests/unit/test_graphics_resource.py +104 -0
  44. pyglet-3.0.dev8/pyglet/graphics/api/gl/base.py +0 -24
  45. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/.coveragerc +0 -0
  46. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  47. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  48. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/.github/ISSUE_TEMPLATE/questions--or-other.md +0 -0
  49. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/.github/workflows/codeql.yml +0 -0
  50. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/.github/workflows/unittests.yml +0 -0
  51. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/.gitignore +0 -0
  52. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/.readthedocs.yml +0 -0
  53. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/API_CHANGES.rst +0 -0
  54. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/LICENSE +0 -0
  55. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/MANIFEST.in +0 -0
  56. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/README.md +0 -0
  57. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/RELEASE_NOTES +0 -0
  58. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/TODO.txt +0 -0
  59. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/contrib/README.md +0 -0
  60. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/contrib/aseprite_codec/README +0 -0
  61. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/contrib/aseprite_codec/asedemo.py +0 -0
  62. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/contrib/aseprite_codec/aseprite.py +0 -0
  63. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/contrib/aseprite_codec/running.ase +0 -0
  64. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/contrib/dist_field/README +0 -0
  65. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/contrib/dist_field/genfield.py +0 -0
  66. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/contrib/dist_field/py.df.png +0 -0
  67. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/contrib/dist_field/py.png +0 -0
  68. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/contrib/dist_field/renderfield.py +0 -0
  69. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/contrib/qt_sprite_preview.py +0 -0
  70. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/contrib/scenemanager.py +0 -0
  71. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/contrib/spritebenchmark.py +0 -0
  72. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/contrib/svg/hello_world.svg +0 -0
  73. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/contrib/svg/svg_test.py +0 -0
  74. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/contrib/toys/follow_mouse.py +0 -0
  75. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/Makefile +0 -0
  76. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/_static/css/custom.css +0 -0
  77. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/_static/favicon.ico +0 -0
  78. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/_static/logo.png +0 -0
  79. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/_static/logo5.svg +0 -0
  80. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/_static/relatedlogo.png +0 -0
  81. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/conf.py +0 -0
  82. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/external_resources.rst +0 -0
  83. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/index.rst +0 -0
  84. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/internal/contributing.rst +0 -0
  85. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/internal/dist.rst +0 -0
  86. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/internal/doc.rst +0 -0
  87. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/internal/generated.rst +0 -0
  88. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/internal/gl.rst +0 -0
  89. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/internal/media_logging_manual.rst +0 -0
  90. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/internal/media_manual.rst +0 -0
  91. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/internal/testing.rst +0 -0
  92. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/internal/virtualenv.rst +0 -0
  93. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/internal/wraptypes-class.svg +0 -0
  94. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/internal/wraptypes.rst +0 -0
  95. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/make.bat +0 -0
  96. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/app.rst +0 -0
  97. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/clock.rst +0 -0
  98. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/config/base.rst +0 -0
  99. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/config/gl.rst +0 -0
  100. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/config/index.rst +0 -0
  101. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/customtypes.rst +0 -0
  102. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/dialog.rst +0 -0
  103. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/display.rst +0 -0
  104. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/enums.rst +0 -0
  105. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/event.rst +0 -0
  106. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/font/group.rst +0 -0
  107. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/font/index.rst +0 -0
  108. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/font/user.rst +0 -0
  109. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/graphics/allocation.rst +0 -0
  110. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/graphics/atlas.rst +0 -0
  111. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/graphics/draw.rst +0 -0
  112. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/graphics/framebuffer.rst +0 -0
  113. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/graphics/index.rst +0 -0
  114. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/graphics/shader.rst +0 -0
  115. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/graphics/texture.rst +0 -0
  116. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/graphics/vertexbuffer.rst +0 -0
  117. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/graphics/vertexdomain.rst +0 -0
  118. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/gui.rst +0 -0
  119. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/image/animation.rst +0 -0
  120. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/image/index.rst +0 -0
  121. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/info.rst +0 -0
  122. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/input.rst +0 -0
  123. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/math.rst +0 -0
  124. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/media.rst +0 -0
  125. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/media_synthesis.rst +0 -0
  126. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/models.rst +0 -0
  127. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/pyglet.rst +0 -0
  128. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/resource.rst +0 -0
  129. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/shapes.rst +0 -0
  130. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/sprite.rst +0 -0
  131. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/storage.rst +0 -0
  132. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/text/caret.rst +0 -0
  133. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/text/document.rst +0 -0
  134. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/text/index.rst +0 -0
  135. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/text/layout.rst +0 -0
  136. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/window.rst +0 -0
  137. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/window_camera.rst +0 -0
  138. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/window_key.rst +0 -0
  139. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/modules/window_mouse.rst +0 -0
  140. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/camera.rst +0 -0
  141. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/context.rst +0 -0
  142. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/debug.rst +0 -0
  143. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/event_chains.rst +0 -0
  144. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/eventloop.rst +0 -0
  145. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/events.rst +0 -0
  146. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/examplegame.rst +0 -0
  147. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/fonts.rst +0 -0
  148. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/from_pygame.rst +0 -0
  149. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/gl.rst +0 -0
  150. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/gui.rst +0 -0
  151. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/image.rst +0 -0
  152. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/abstract_image.png +0 -0
  153. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/abstract_image.svg +0 -0
  154. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/buffer_image.png +0 -0
  155. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/buffer_image.svg +0 -0
  156. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/context_flow.png +0 -0
  157. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/context_flow.svg +0 -0
  158. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/cursor_mac_crosshair.png +0 -0
  159. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/cursor_mac_default.png +0 -0
  160. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/cursor_mac_hand.png +0 -0
  161. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/cursor_mac_no.png +0 -0
  162. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/cursor_mac_size_down.png +0 -0
  163. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/cursor_mac_size_left.png +0 -0
  164. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/cursor_mac_size_left_right.png +0 -0
  165. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/cursor_mac_size_right.png +0 -0
  166. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/cursor_mac_size_up.png +0 -0
  167. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/cursor_mac_size_up_down.png +0 -0
  168. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/cursor_mac_text.png +0 -0
  169. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/cursor_mac_wait.png +0 -0
  170. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/cursor_win_crosshair.png +0 -0
  171. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/cursor_win_default.png +0 -0
  172. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/cursor_win_hand.png +0 -0
  173. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/cursor_win_help.png +0 -0
  174. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/cursor_win_no.png +0 -0
  175. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/cursor_win_size.png +0 -0
  176. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/cursor_win_size_left_right.png +0 -0
  177. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/cursor_win_size_nesw.png +0 -0
  178. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/cursor_win_size_nwse.png +0 -0
  179. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/cursor_win_size_up_down.png +0 -0
  180. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/cursor_win_text.png +0 -0
  181. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/cursor_win_wait.png +0 -0
  182. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/cursor_win_wait_arrow.png +0 -0
  183. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/explosion.png +0 -0
  184. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/font_metrics.png +0 -0
  185. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/font_metrics.svg +0 -0
  186. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/image_classes.png +0 -0
  187. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/image_classes.svg +0 -0
  188. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/image_grid.png +0 -0
  189. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/image_grid.svg +0 -0
  190. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/image_sequence.png +0 -0
  191. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/image_sequence.svg +0 -0
  192. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/mouse_coordinates.png +0 -0
  193. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/mouse_coordinates.svg +0 -0
  194. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/screens.png +0 -0
  195. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/screens.svg +0 -0
  196. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/text_classes.png +0 -0
  197. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/text_classes.svg +0 -0
  198. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/window_location.png +0 -0
  199. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/window_location.svg +0 -0
  200. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/window_osx_borderless.png +0 -0
  201. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/window_osx_default.png +0 -0
  202. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/window_osx_dialog.png +0 -0
  203. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/window_osx_tool.png +0 -0
  204. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/window_xp_default.png +0 -0
  205. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/window_xp_dialog.png +0 -0
  206. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/window_xp_overlay.png +0 -0
  207. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/window_xp_tool.png +0 -0
  208. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/img/window_xp_transparent.png +0 -0
  209. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/input.rst +0 -0
  210. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/installation.rst +0 -0
  211. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/keyboard.rst +0 -0
  212. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/math.rst +0 -0
  213. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/media.rst +0 -0
  214. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/migration2.rst +0 -0
  215. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/models.rst +0 -0
  216. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/mouse.rst +0 -0
  217. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/opengles.rst +0 -0
  218. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/options.rst +0 -0
  219. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/pyodide.rst +0 -0
  220. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/quickstart.rst +0 -0
  221. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/resources.rst +0 -0
  222. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/shapes.rst +0 -0
  223. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/text.rst +0 -0
  224. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/time.rst +0 -0
  225. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/programming_guide/windowing.rst +0 -0
  226. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/doc/requirements.txt +0 -0
  227. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/dpi_scaled_window.py +0 -0
  228. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/events/events_key_state_handler.py +0 -0
  229. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/events/register_event_type.py +0 -0
  230. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/events/window_events.py +0 -0
  231. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/events/window_platform_event.py +0 -0
  232. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/resources/asteroid.png +0 -0
  233. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/resources/bullet.png +0 -0
  234. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/resources/bullet.wav +0 -0
  235. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/resources/engine_flame.png +0 -0
  236. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/resources/player.png +0 -0
  237. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version1/asteroid.py +0 -0
  238. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version1/game/__init__.py +0 -0
  239. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version1/game/load.py +0 -0
  240. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version1/game/util.py +0 -0
  241. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version2/asteroid.py +0 -0
  242. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version2/game/__init__.py +0 -0
  243. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version2/game/load.py +0 -0
  244. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version2/game/physicalobject.py +0 -0
  245. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version2/game/player.py +0 -0
  246. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version2/game/util.py +0 -0
  247. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version3/asteroid.py +0 -0
  248. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version3/game/__init__.py +0 -0
  249. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version3/game/load.py +0 -0
  250. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version3/game/physicalobject.py +0 -0
  251. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version3/game/player.py +0 -0
  252. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version3/game/util.py +0 -0
  253. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version4/asteroid.py +0 -0
  254. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version4/game/__init__.py +0 -0
  255. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version4/game/asteroid.py +0 -0
  256. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version4/game/bullet.py +0 -0
  257. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version4/game/load.py +0 -0
  258. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version4/game/physicalobject.py +0 -0
  259. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version4/game/player.py +0 -0
  260. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version4/game/util.py +0 -0
  261. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version5/asteroid.py +0 -0
  262. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version5/game/__init__.py +0 -0
  263. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version5/game/asteroid.py +0 -0
  264. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version5/game/bullet.py +0 -0
  265. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version5/game/load.py +0 -0
  266. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version5/game/physicalobject.py +0 -0
  267. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version5/game/player.py +0 -0
  268. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/game/version5/game/util.py +0 -0
  269. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/graphics/instancing.py +0 -0
  270. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/graphics/instancing_order.py +0 -0
  271. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/graphics/uniform_buffer_object.py +0 -0
  272. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/gui/bar.png +0 -0
  273. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/gui/button_hover.png +0 -0
  274. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/gui/button_pressed.png +0 -0
  275. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/gui/button_unpressed.png +0 -0
  276. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/gui/knob.png +0 -0
  277. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/gui/widgets.py +0 -0
  278. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/hello_world.py +0 -0
  279. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/image/image_convert.py +0 -0
  280. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/image/image_display.py +0 -0
  281. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/input/apple_remote.py +0 -0
  282. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/input/controller.py +0 -0
  283. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/input/input.py +0 -0
  284. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/input/joystick.py +0 -0
  285. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/input/tablet.py +0 -0
  286. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/media/media_info.py +0 -0
  287. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/media/media_player.py +0 -0
  288. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/media/noisy/README +0 -0
  289. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/media/noisy/ball.png +0 -0
  290. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/media/noisy/ball.wav +0 -0
  291. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/media/noisy/noisy.py +0 -0
  292. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/media/soundspace/README +0 -0
  293. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/media/soundspace/reader.py +0 -0
  294. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/media/soundspace/res/bass.wav +0 -0
  295. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/media/soundspace/res/drums.wav +0 -0
  296. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/media/soundspace/res/guitar.wav +0 -0
  297. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/media/soundspace/res/piano.wav +0 -0
  298. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/media/soundspace/res/space.txt +0 -0
  299. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/media/soundspace/soundspace.py +0 -0
  300. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/media/synthesizer.py +0 -0
  301. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/media/video.py +0 -0
  302. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/model/box.mtl +0 -0
  303. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/model/box.obj +0 -0
  304. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/model/fpscamera.py +0 -0
  305. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/model/logo3d.mtl +0 -0
  306. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/model/logo3d.obj +0 -0
  307. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/model/model.py +0 -0
  308. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/model/pyglet.png +0 -0
  309. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/opengl/compute_shader.py +0 -0
  310. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/opengl/egl_context.py +0 -0
  311. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/opengl/minimal_shader.py +0 -0
  312. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/opengl/opengl_context.py +0 -0
  313. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/opengl/opengl_core.py +0 -0
  314. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/opengl/opengl_scissor.py +0 -0
  315. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/opengl/pyglet.png +0 -0
  316. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/opengl/torus.py +0 -0
  317. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/opengl/transform_shader.py +0 -0
  318. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/programming_guide/animation.py +0 -0
  319. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/programming_guide/dinosaur.gif +0 -0
  320. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/programming_guide/events.py +0 -0
  321. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/programming_guide/hello_world.py +0 -0
  322. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/programming_guide/image_viewer.py +0 -0
  323. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/programming_guide/kitten.jpg +0 -0
  324. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/programming_guide/window_subclass.py +0 -0
  325. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/resources/Brick1Blue.png +0 -0
  326. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/resources/Brick1Crack3.png +0 -0
  327. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/resources/Brick1Gray.png +0 -0
  328. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/resources/kitten.jpg +0 -0
  329. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/resources/pyglet.png +0 -0
  330. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/shapes.py +0 -0
  331. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/sprite/depth_sprite.py +0 -0
  332. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/sprite/display_sprite.py +0 -0
  333. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/sprite/multi_texture_sprite.py +0 -0
  334. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/sprite/multi_texture_sprite_animation.py +0 -0
  335. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/sprite/multi_texture_sprite_texture_array_animation.py +0 -0
  336. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/sprite/sprite_batching.py +0 -0
  337. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/sprite/toggle_sprite_shader.py +0 -0
  338. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/text/advanced_font.py +0 -0
  339. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/text/font_groups.py +0 -0
  340. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/text/html_label.py +0 -0
  341. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/text/pyglet.png +0 -0
  342. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/text/text_effect_shaders.py +0 -0
  343. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/text/text_effects.py +0 -0
  344. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/text/text_input.py +0 -0
  345. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/text/user_bitmap_font.py +0 -0
  346. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/timer.py +0 -0
  347. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/window/camera/camera_group.py +0 -0
  348. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/window/camera/camera_scissor.py +0 -0
  349. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/window/camera/camera_views.py +0 -0
  350. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/window/clipboard.py +0 -0
  351. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/window/file_dialogs.py +0 -0
  352. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/window/file_drag_drops.py +0 -0
  353. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/window/fixed_resolution.py +0 -0
  354. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/window/fps_change.py +0 -0
  355. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/window/multiple_windows.py +0 -0
  356. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/window/no_backend.py +0 -0
  357. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/window/overlay_window.py +0 -0
  358. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/examples/window/transparent_window.py +0 -0
  359. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/make.py +0 -0
  360. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/__init__.pyi +0 -0
  361. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/app/__init__.py +0 -0
  362. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/app/async_app.py +0 -0
  363. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/app/base.py +0 -0
  364. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/app/cocoa.py +0 -0
  365. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/app/linux.py +0 -0
  366. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/app/win32.py +0 -0
  367. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/clock.py +0 -0
  368. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/config/__init__.py +0 -0
  369. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/config/base.py +0 -0
  370. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/config/gl/__init__.py +0 -0
  371. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/config/gl/egl.py +0 -0
  372. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/config/gl/macos.py +0 -0
  373. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/config/gl/webgl.py +0 -0
  374. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/config/gl/windows.py +0 -0
  375. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/config/gl/x11.py +0 -0
  376. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/customtypes.py +0 -0
  377. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/display/__init__.py +0 -0
  378. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/display/__init__.pyi +0 -0
  379. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/display/base.py +0 -0
  380. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/display/cocoa.py +0 -0
  381. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/display/emscripten.py +0 -0
  382. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/display/headless.py +0 -0
  383. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/display/wayland.py +0 -0
  384. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/display/win32.py +0 -0
  385. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/display/xlib.py +0 -0
  386. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/display/xlib_vidmoderestore.py +0 -0
  387. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/enums.py +0 -0
  388. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/event.py +0 -0
  389. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/experimental/README.md +0 -0
  390. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/experimental/flaccodec.py +0 -0
  391. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/experimental/hidraw.py +0 -0
  392. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/experimental/jobs.py +0 -0
  393. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/experimental/net.py +0 -0
  394. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/experimental/win32priority.py +0 -0
  395. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/extlibs/__init__.py +0 -0
  396. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/extlibs/earcut.py +0 -0
  397. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/extlibs/png.py +0 -0
  398. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/font/__init__.py +0 -0
  399. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/font/base.py +0 -0
  400. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/font/dwrite/__init__.py +0 -0
  401. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/font/dwrite/d2d1_lib.py +0 -0
  402. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/font/dwrite/d2d1_types_lib.py +0 -0
  403. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/font/dwrite/dwrite_lib.py +0 -0
  404. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/font/fontconfig.py +0 -0
  405. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/font/freetype.py +0 -0
  406. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/font/freetype_lib.py +0 -0
  407. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/font/group.py +0 -0
  408. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/font/harfbuzz.py +0 -0
  409. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/font/pyodide_js.py +0 -0
  410. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/font/quartz.py +0 -0
  411. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/font/ttf.py +0 -0
  412. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/font/user.py +0 -0
  413. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/font/win32.py +0 -0
  414. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/allocation.py +0 -0
  415. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/cocoa/__init__.py +0 -0
  416. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/cocoa/context.py +0 -0
  417. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/default_shaders.py +0 -0
  418. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/draw.py +0 -0
  419. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/egl/__init__.py +0 -0
  420. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/egl/context.py +0 -0
  421. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/enums.py +0 -0
  422. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/gl.py +0 -0
  423. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/gl_info.py +0 -0
  424. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/lib.py +0 -0
  425. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/renderer.py +0 -0
  426. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/shapes.py +0 -0
  427. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/sprite.py +0 -0
  428. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/text.py +0 -0
  429. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/vertexdomain.py +0 -0
  430. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/win32/__init__.py +0 -0
  431. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/win32/context.py +0 -0
  432. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/win32/wgl_info.py +0 -0
  433. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/xlib/__init__.py +0 -0
  434. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/xlib/context.py +0 -0
  435. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl/xlib/glx_info.py +0 -0
  436. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl1/__init__.py +0 -0
  437. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl1/gl_compat.py +0 -0
  438. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl2/__init__.py +0 -0
  439. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl2/draw.py +0 -0
  440. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl2/global_opengl.py +0 -0
  441. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl2/shader.py +0 -0
  442. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl2/shapes.py +0 -0
  443. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl2/sprite.py +0 -0
  444. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl2/state.py +0 -0
  445. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl2/text.py +0 -0
  446. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/gl2/vertexdomain.py +0 -0
  447. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/webgl/draw.py +0 -0
  448. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/webgl/enums.py +0 -0
  449. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/webgl/gl.py +0 -0
  450. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/webgl/renderer.py +0 -0
  451. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/webgl/shapes.py +0 -0
  452. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/webgl/sprite.py +0 -0
  453. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/webgl/text.py +0 -0
  454. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/webgl/vertexdomain.py +0 -0
  455. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/api/webgl/webgl_js.pyi +0 -0
  456. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/draw.py +0 -0
  457. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/instance.py +0 -0
  458. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/state.py +0 -0
  459. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/graphics/vertexdomain.py +0 -0
  460. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/gui/__init__.py +0 -0
  461. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/gui/frame.py +0 -0
  462. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/gui/ninepatch.py +0 -0
  463. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/gui/widgets.py +0 -0
  464. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/image/animation.py +0 -0
  465. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/image/base.py +0 -0
  466. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/image/codecs/__init__.py +0 -0
  467. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/image/codecs/bmp.py +0 -0
  468. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/image/codecs/dds.py +0 -0
  469. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/image/codecs/gdiplus.py +0 -0
  470. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/image/codecs/gdkpixbuf2.py +0 -0
  471. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/image/codecs/gif.py +0 -0
  472. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/image/codecs/js_image.py +0 -0
  473. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/image/codecs/ktx2.py +0 -0
  474. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/image/codecs/pil.py +0 -0
  475. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/image/codecs/png.py +0 -0
  476. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/image/codecs/quartz.py +0 -0
  477. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/image/codecs/wic.py +0 -0
  478. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/info.py +0 -0
  479. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/input/__init__.py +0 -0
  480. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/input/base.py +0 -0
  481. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/input/controller.py +0 -0
  482. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/input/controller_db.py +0 -0
  483. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/input/emscripten/__init__.py +0 -0
  484. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/input/emscripten/gamepad_js.py +0 -0
  485. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/input/linux/__init__.py +0 -0
  486. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/input/linux/evdev.py +0 -0
  487. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/input/linux/evdev_constants.py +0 -0
  488. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/input/linux/x11_xinput.py +0 -0
  489. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/input/linux/x11_xinput_tablet.py +0 -0
  490. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/input/macos/__init__.py +0 -0
  491. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/input/macos/darwin_gc.py +0 -0
  492. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/input/macos/darwin_hid.py +0 -0
  493. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/input/win32/__init__.py +0 -0
  494. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/input/win32/directinput.py +0 -0
  495. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/input/win32/wintab.py +0 -0
  496. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/input/win32/xinput.py +0 -0
  497. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/lib.py +0 -0
  498. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/__init__.py +0 -0
  499. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/darwin/__init__.py +0 -0
  500. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/darwin/agl.py +0 -0
  501. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/darwin/cocoapy/__init__.py +0 -0
  502. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/darwin/cocoapy/cocoahelpers.py +0 -0
  503. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/darwin/cocoapy/cocoalibs.py +0 -0
  504. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/darwin/cocoapy/cocoatypes.py +0 -0
  505. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/darwin/cocoapy/runtime.py +0 -0
  506. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/darwin/coreaudio.py +0 -0
  507. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/darwin/lib_agl.py +0 -0
  508. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/darwin/quartzkey.py +0 -0
  509. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/egl/__init__.py +0 -0
  510. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/egl/egl.py +0 -0
  511. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/egl/eglext.py +0 -0
  512. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/egl/lib.py +0 -0
  513. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/emscripten/__init__.py +0 -0
  514. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/emscripten/files.py +0 -0
  515. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/emscripten/filesystem.py +0 -0
  516. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/emscripten/proxies.py +0 -0
  517. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/emscripten/pyglet_emscripten.js +0 -0
  518. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/linux/__init__.py +0 -0
  519. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/linux/glx/__init__.py +0 -0
  520. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/linux/glx/glx.py +0 -0
  521. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/linux/glx/glxext_arb.py +0 -0
  522. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/linux/glx/glxext_mesa.py +0 -0
  523. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/linux/glx/glxext_nv.py +0 -0
  524. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/linux/glx/lib_glx.py +0 -0
  525. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/linux/ioctl.py +0 -0
  526. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/linux/wayland/__init__.py +0 -0
  527. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/linux/wayland/client.py +0 -0
  528. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/linux/wayland/gbm.py +0 -0
  529. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/linux/wayland/lib_wayland.py +0 -0
  530. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/linux/wayland/wayland_egl.py +0 -0
  531. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/linux/wayland/xkbcommon.py +0 -0
  532. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/linux/x11/__init__.py +0 -0
  533. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/linux/x11/cursorfont.py +0 -0
  534. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/linux/x11/xf86vmode.py +0 -0
  535. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/linux/x11/xinerama.py +0 -0
  536. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/linux/x11/xinput.py +0 -0
  537. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/linux/x11/xlib.py +0 -0
  538. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/linux/x11/xrandr.py +0 -0
  539. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/linux/x11/xrender.py +0 -0
  540. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/linux/x11/xsync.py +0 -0
  541. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/__init__.py +0 -0
  542. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/lib_harfbuzz.py +0 -0
  543. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/spirv/__init__.py +0 -0
  544. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/spirv/lib_shaderc.py +0 -0
  545. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/spirv/lib_spirv_cross.py +0 -0
  546. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/vulkan_lib/__init__.py +0 -0
  547. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/vulkan_lib/exceptions.py +0 -0
  548. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/vulkan_lib/func.py +0 -0
  549. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/vulkan_lib/func_helpers.py +0 -0
  550. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/vulkan_lib/vk_video.py +0 -0
  551. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/vulkan_lib/vk_video.pyi +0 -0
  552. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/vulkan_lib/vulkan_core.py +0 -0
  553. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/vulkan_lib/vulkan_core.pyi +0 -0
  554. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/vulkan_lib/vulkan_ios.py +0 -0
  555. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/vulkan_lib/vulkan_ios.pyi +0 -0
  556. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/vulkan_lib/vulkan_macos.py +0 -0
  557. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/vulkan_lib/vulkan_macos.pyi +0 -0
  558. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/vulkan_lib/vulkan_metal.py +0 -0
  559. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/vulkan_lib/vulkan_metal.pyi +0 -0
  560. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/vulkan_lib/vulkan_wayland.py +0 -0
  561. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/vulkan_lib/vulkan_wayland.pyi +0 -0
  562. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/vulkan_lib/vulkan_win32.py +0 -0
  563. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/vulkan_lib/vulkan_win32.pyi +0 -0
  564. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/vulkan_lib/vulkan_xcb.py +0 -0
  565. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/vulkan_lib/vulkan_xcb.pyi +0 -0
  566. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/vulkan_lib/vulkan_xlib.py +0 -0
  567. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/vulkan_lib/vulkan_xlib.pyi +0 -0
  568. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/vulkan_lib/vulkan_xlib_xrandr.py +0 -0
  569. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/shared/vulkan_lib/vulkan_xlib_xrandr.pyi +0 -0
  570. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/win32/__init__.py +0 -0
  571. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/win32/com.py +0 -0
  572. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/win32/constants.py +0 -0
  573. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/win32/context_managers.py +0 -0
  574. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/win32/dinput.py +0 -0
  575. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/win32/lib_wgl.py +0 -0
  576. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/win32/libwintab.py +0 -0
  577. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/win32/types.py +0 -0
  578. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/win32/wgl.py +0 -0
  579. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/win32/wglext_arb.py +0 -0
  580. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/win32/wincodec.py +0 -0
  581. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/libs/win32/winkey.py +0 -0
  582. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/math.py +0 -0
  583. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/__init__.py +0 -0
  584. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/buffered_logger.py +0 -0
  585. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/codecs/__init__.py +0 -0
  586. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/codecs/base.py +0 -0
  587. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/codecs/coreaudio.py +0 -0
  588. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/codecs/ffmpeg.py +0 -0
  589. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/codecs/ffmpeg_lib/__init__.py +0 -0
  590. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/codecs/ffmpeg_lib/compat.py +0 -0
  591. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/codecs/ffmpeg_lib/libavcodec.py +0 -0
  592. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/codecs/ffmpeg_lib/libavformat.py +0 -0
  593. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/codecs/ffmpeg_lib/libavutil.py +0 -0
  594. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/codecs/ffmpeg_lib/libswresample.py +0 -0
  595. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/codecs/ffmpeg_lib/libswscale.py +0 -0
  596. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/codecs/gstreamer.py +0 -0
  597. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/codecs/pyogg.py +0 -0
  598. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/codecs/wave.py +0 -0
  599. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/codecs/webaudio_pyodide.py +0 -0
  600. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/codecs/wmf.py +0 -0
  601. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/devices/__init__.py +0 -0
  602. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/devices/base.py +0 -0
  603. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/devices/win32.py +0 -0
  604. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/drivers/__init__.py +0 -0
  605. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/drivers/base.py +0 -0
  606. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/drivers/directsound/__init__.py +0 -0
  607. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/drivers/directsound/adaptation.py +0 -0
  608. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/drivers/directsound/exceptions.py +0 -0
  609. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/drivers/directsound/interface.py +0 -0
  610. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/drivers/directsound/lib_dsound.py +0 -0
  611. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/drivers/listener.py +0 -0
  612. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/drivers/openal/__init__.py +0 -0
  613. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/drivers/openal/adaptation.py +0 -0
  614. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/drivers/openal/interface.py +0 -0
  615. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/drivers/openal/lib_alc.py +0 -0
  616. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/drivers/openal/lib_openal.py +0 -0
  617. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/drivers/pulse/__init__.py +0 -0
  618. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/drivers/pulse/adaptation.py +0 -0
  619. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/drivers/pulse/interface.py +0 -0
  620. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/drivers/pulse/lib_pulseaudio.py +0 -0
  621. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/drivers/pyodide_js/__init__.py +0 -0
  622. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/drivers/pyodide_js/adaptation.py +0 -0
  623. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/drivers/silent/__init__.py +0 -0
  624. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/drivers/silent/adaptation.py +0 -0
  625. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/drivers/xaudio2/__init__.py +0 -0
  626. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/drivers/xaudio2/adaptation.py +0 -0
  627. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/drivers/xaudio2/interface.py +0 -0
  628. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/drivers/xaudio2/lib_xaudio2.py +0 -0
  629. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/exceptions.py +0 -0
  630. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/instrumentation.py +0 -0
  631. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/player.py +0 -0
  632. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/player_worker_thread.py +0 -0
  633. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/media/synthesis.py +0 -0
  634. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/model/__init__.py +0 -0
  635. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/model/codecs/__init__.py +0 -0
  636. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/model/codecs/base.py +0 -0
  637. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/model/codecs/gltf.py +0 -0
  638. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/model/codecs/obj.py +0 -0
  639. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/py.typed +0 -0
  640. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/shapes.py +0 -0
  641. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/storage.py +0 -0
  642. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/text/__init__.py +0 -0
  643. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/text/caret.py +0 -0
  644. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/text/document.py +0 -0
  645. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/text/effects.py +0 -0
  646. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/text/formats/__init__.py +0 -0
  647. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/text/formats/attributed.py +0 -0
  648. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/text/formats/html.py +0 -0
  649. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/text/formats/plaintext.py +0 -0
  650. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/text/formats/structured.py +0 -0
  651. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/text/layout/__init__.py +0 -0
  652. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/text/layout/base.py +0 -0
  653. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/text/layout/boxes.py +0 -0
  654. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/text/layout/flow.py +0 -0
  655. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/text/layout/incremental.py +0 -0
  656. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/text/layout/scrolling.py +0 -0
  657. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/text/runlist.py +0 -0
  658. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/util.py +0 -0
  659. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/window/__init__.py +0 -0
  660. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/window/camera/__init__.py +0 -0
  661. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/window/camera/base.py +0 -0
  662. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/window/camera/camera2d.py +0 -0
  663. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/window/camera/camera3d.py +0 -0
  664. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/window/cocoa/__init__.py +0 -0
  665. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/window/cocoa/pyglet_delegate.py +0 -0
  666. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/window/cocoa/pyglet_textview.py +0 -0
  667. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/window/cocoa/pyglet_view.py +0 -0
  668. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/window/cocoa/pyglet_window.py +0 -0
  669. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/window/cocoa/systemcursor.py +0 -0
  670. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/window/dialog/__init__.py +0 -0
  671. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/window/dialog/base.py +0 -0
  672. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/window/dialog/darwin.py +0 -0
  673. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/window/dialog/emscripten.py +0 -0
  674. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/window/dialog/linux.py +0 -0
  675. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/window/dialog/windows.py +0 -0
  676. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/window/emscripten/__init__.py +0 -0
  677. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/window/event.py +0 -0
  678. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/window/headless/__init__.py +0 -0
  679. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/window/key.py +0 -0
  680. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/window/mouse.py +0 -0
  681. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/window/wayland/__init__.py +0 -0
  682. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/window/win32/__init__.py +0 -0
  683. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyglet/window/xlib/__init__.py +0 -0
  684. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/pyproject.toml +0 -0
  685. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/__init__.py +0 -0
  686. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/annotations.py +0 -0
  687. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/base/__init__.py +0 -0
  688. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/base/data.py +0 -0
  689. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/base/event_loop.py +0 -0
  690. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/base/interactive.py +0 -0
  691. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/base/performance.py +0 -0
  692. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/conftest.py +0 -0
  693. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/fonts/README +0 -0
  694. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/fonts/action_man.ttf +0 -0
  695. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/fonts/action_man_atlas.png +0 -0
  696. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/fonts/action_man_bold.ttf +0 -0
  697. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/fonts/action_man_bold_italic.ttf +0 -0
  698. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/fonts/action_man_italic.ttf +0 -0
  699. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/fonts/courR12-ISO8859-1.pcf +0 -0
  700. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/8bpp.gif +0 -0
  701. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/cursor.png +0 -0
  702. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/dinosaur.gif +0 -0
  703. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/gdk_close.png +0 -0
  704. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/grey_background.png +0 -0
  705. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/icon1.png +0 -0
  706. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/icon_size1.png +0 -0
  707. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/icon_size2.png +0 -0
  708. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/icon_size3.png +0 -0
  709. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/icon_size4.png +0 -0
  710. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/icon_size5.png +0 -0
  711. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/l.png +0 -0
  712. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/la.png +0 -0
  713. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/multitexture.png +0 -0
  714. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/rgb.png +0 -0
  715. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/rgb_16bpp.bmp +0 -0
  716. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/rgb_1bpp.bmp +0 -0
  717. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/rgb_24bpp.bmp +0 -0
  718. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/rgb_32bpp.bmp +0 -0
  719. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/rgb_4bpp.bmp +0 -0
  720. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/rgb_8bpp.bmp +0 -0
  721. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/rgb_8bpp.png +0 -0
  722. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/rgb_8bpp_trans.png +0 -0
  723. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/rgb_bc6s.dds +0 -0
  724. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/rgb_dxt1.dds +0 -0
  725. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/rgba.png +0 -0
  726. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/rgba_32bpp.bmp +0 -0
  727. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/rgba_bc7.dds +0 -0
  728. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/rgba_bc7.ktx2 +0 -0
  729. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/rgba_dxt1.dds +0 -0
  730. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/rgba_dxt3.dds +0 -0
  731. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/rgba_dxt5.dds +0 -0
  732. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/images/tests.interactive.test_interactive_test_base._Test.test_1.001.png +0 -0
  733. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/media/README +0 -0
  734. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/media/alert.wav +0 -0
  735. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/media/login.wav +0 -0
  736. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/media/logout.wav +0 -0
  737. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/media/receive.wav +0 -0
  738. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/media/send.wav +0 -0
  739. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/media/synthesis_sawtooth_16_11025_1ch.wav +0 -0
  740. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/media/synthesis_sawtooth_16_44800_1ch.wav +0 -0
  741. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/media/synthesis_silence_16_11025_1ch.wav +0 -0
  742. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/media/synthesis_silence_16_44800_1ch.wav +0 -0
  743. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/media/synthesis_simplefm_16_11025_1ch.wav +0 -0
  744. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/media/synthesis_simplefm_16_44800_1ch.wav +0 -0
  745. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/media/synthesis_sine_16_11025_1ch.wav +0 -0
  746. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/media/synthesis_sine_16_44800_1ch.wav +0 -0
  747. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/media/synthesis_square_16_11025_1ch.wav +0 -0
  748. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/media/synthesis_square_16_44800_1ch.wav +0 -0
  749. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/media/synthesis_triangle_16_11025_1ch.wav +0 -0
  750. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/media/synthesis_triangle_16_44800_1ch.wav +0 -0
  751. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/models/logo3d.mtl +0 -0
  752. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/data/models/logo3d.obj +0 -0
  753. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/__init__.py +0 -0
  754. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/app/__init__.py +0 -0
  755. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/app/test_eventloop.py +0 -0
  756. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/conftest.py +0 -0
  757. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/font/__init__.py +0 -0
  758. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/font/test_font.py +0 -0
  759. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/font/test_freetype_face.py +0 -0
  760. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/font/test_gdi_renderer.py +0 -0
  761. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/__init__.py +0 -0
  762. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/gl2/__init__.py +0 -0
  763. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/gl2/test_buffers.py +0 -0
  764. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/gl2/test_texture_readback.py +0 -0
  765. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/opengl/__init__.py +0 -0
  766. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/opengl/test_buffers.py +0 -0
  767. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/opengl/test_framebuffer.py +0 -0
  768. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/opengl/test_instancing.py +0 -0
  769. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/opengl/test_surface_info.py +0 -0
  770. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/opengl/test_texture.py +0 -0
  771. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/opengl/test_texture_compressed.py +0 -0
  772. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/test_allocation.py +0 -0
  773. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/test_atlas_bins.py +0 -0
  774. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/test_batch_migration.py +0 -0
  775. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/test_cameras.py +0 -0
  776. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/test_groups.py +0 -0
  777. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/test_objects.py +0 -0
  778. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/test_resource_texture_transforms.py +0 -0
  779. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/test_texture2d.py +0 -0
  780. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/test_texture3d.py +0 -0
  781. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/test_texture_mipmaps.py +0 -0
  782. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/test_texturearray.py +0 -0
  783. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/test_texturegrid.py +0 -0
  784. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/test_vertex_list.py +0 -0
  785. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/test_window_backend_config.py +0 -0
  786. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/webgl/__init__.py +0 -0
  787. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/webgl/conftest.py +0 -0
  788. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/webgl/test_context.py +0 -0
  789. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/webgl/test_shaders_and_batches.py +0 -0
  790. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/webgl/test_shapes_sprites_and_text.py +0 -0
  791. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/graphics/webgl/test_textures_and_framebuffers.py +0 -0
  792. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/image/__init__.py +0 -0
  793. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/image/test_gdkpixbuf2.py +0 -0
  794. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/image/test_imagegrid.py +0 -0
  795. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/image/test_wic.py +0 -0
  796. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/libs/__init__.py +0 -0
  797. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/libs/darwin/__init__.py +0 -0
  798. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/libs/darwin/cocoapy/__init__.py +0 -0
  799. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/libs/darwin/cocoapy/test_cocoalibs.py +0 -0
  800. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/media/__init__.py +0 -0
  801. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/media/mock_player.py +0 -0
  802. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/media/test_directsound.py +0 -0
  803. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/media/test_driver.py +0 -0
  804. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/media/test_ffmpeg.py +0 -0
  805. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/media/test_listener.py +0 -0
  806. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/media/test_loading.py +0 -0
  807. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/media/test_openal.py +0 -0
  808. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/media/test_player.py +0 -0
  809. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/media/test_pulse.py +0 -0
  810. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/media/test_xaudio2.py +0 -0
  811. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/model/__init__.py +0 -0
  812. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/model/test_loading.py +0 -0
  813. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/platform/__init__.py +0 -0
  814. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/platform/pyodide/__init__.py +0 -0
  815. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/platform/pyodide/test_async_event_loop.py +0 -0
  816. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/platform/pyodide/test_filesystem.py +0 -0
  817. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/platform/pyodide/test_proxy_lifecycle.py +0 -0
  818. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/platform/pyodide/test_runtime.py +0 -0
  819. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/platform/test_win_context_managers.py +0 -0
  820. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/platform/test_win_multicore_clock.py +0 -0
  821. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/resource/__init__.py +0 -0
  822. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/resource/dir1/dir1/f3.txt +0 -0
  823. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/resource/dir1/f2.txt +0 -0
  824. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/resource/dir1/res.zip +0 -0
  825. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/resource/dir2/f6.txt +0 -0
  826. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/resource/f1.txt +0 -0
  827. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/resource/rgbm.png +0 -0
  828. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/resource/test_resource_loading.py +0 -0
  829. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/test_integrations.py +0 -0
  830. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/text/__init__.py +0 -0
  831. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/text/test_empty_document.py +0 -0
  832. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/text/test_label_creation.py +0 -0
  833. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/text/test_layout.py +0 -0
  834. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/window/__init__.py +0 -0
  835. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/window/test_context_share.py +0 -0
  836. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/window/test_event_sequence.py +0 -0
  837. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/integration/window/test_window_caption.py +0 -0
  838. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/__init__.py +0 -0
  839. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/conftest.py +0 -0
  840. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/graphics/group_ordering.py +0 -0
  841. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/image/__init__.py +0 -0
  842. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/image/test_image.py +0 -0
  843. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/media/__init__.py +0 -0
  844. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/media/test_player.py +0 -0
  845. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/screenshots/committed/README +0 -0
  846. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/screenshots/session/README +0 -0
  847. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/shapes/test_shapes.py +0 -0
  848. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/test_interactive_test_base.py +0 -0
  849. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/text/__init__.py +0 -0
  850. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/text/test_caret_color.py +0 -0
  851. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/text/test_content_valign.py +0 -0
  852. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/text/test_html.py +0 -0
  853. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/text/test_inline_elements.py +0 -0
  854. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/text/test_inline_elements_style_change.py +0 -0
  855. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/text/test_layout_anchoring.py +0 -0
  856. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/text/test_multiline_wrap.py +0 -0
  857. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/text/test_plain.py +0 -0
  858. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/text/test_style.py +0 -0
  859. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/window/__init__.py +0 -0
  860. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/window/test_window_events.py +0 -0
  861. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/window/test_window_fullscreen.py +0 -0
  862. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/window/test_window_modes.py +0 -0
  863. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/window/test_window_multisample.py +0 -0
  864. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/window/test_window_open.py +0 -0
  865. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/window/test_window_settings.py +0 -0
  866. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/window/test_window_styles.py +0 -0
  867. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/interactive/windowed_test_base.py +0 -0
  868. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/pyodide/README.md +0 -0
  869. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/pyodide/browser_harness.py +0 -0
  870. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/pyodide/index.html +0 -0
  871. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/pyodide/project_builder.py +0 -0
  872. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/pyodide/pytest_runner.py +0 -0
  873. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/pyodide/run_pyodide_tests.py +0 -0
  874. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/pyodide/script.js +0 -0
  875. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/requirements.txt +0 -0
  876. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/__init__.py +0 -0
  877. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/conftest.py +0 -0
  878. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/libs/__init__.py +0 -0
  879. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/libs/darwin/__init__.py +0 -0
  880. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/libs/darwin/cocoapy/__init__.py +0 -0
  881. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/libs/darwin/cocoapy/test_cocoalibs.py +0 -0
  882. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/math/__init__.py +0 -0
  883. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/math/test_mat.py +0 -0
  884. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/math/test_quat.py +0 -0
  885. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/math/test_vec2.py +0 -0
  886. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/math/test_vec3.py +0 -0
  887. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/math/test_vec4.py +0 -0
  888. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/media/__init__.py +0 -0
  889. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/media/test_player.py +0 -0
  890. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/media/test_player_worker_thread.py +0 -0
  891. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/media/test_sources.py +0 -0
  892. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/media/test_synthesis.py +0 -0
  893. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/platform/__init__.py +0 -0
  894. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/platform/test_mac_objc.py +0 -0
  895. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/shader/__init__.py +0 -0
  896. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/shader/conftest.py +0 -0
  897. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/shader/test_shader.py-SUSPENDED +0 -0
  898. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/shapes/__init__.py +0 -0
  899. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/shapes/conftest.py +0 -0
  900. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/shapes/test_bordered_rectangle.py +0 -0
  901. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/shapes/test_shapes.py +0 -0
  902. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/test_atlas.py +0 -0
  903. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/test_clock.py +0 -0
  904. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/test_clock_freq.py +0 -0
  905. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/test_event_chain.py +0 -0
  906. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/test_events.py +0 -0
  907. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/test_image_data.py +0 -0
  908. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/test_info.py +0 -0
  909. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/test_input.py +0 -0
  910. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/test_resource_path.py +0 -0
  911. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/test_sprite.py +0 -0
  912. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/test_storage.py +0 -0
  913. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/test_win32_com.py +0 -0
  914. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/text/__init__.py +0 -0
  915. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/text/test_caret.py +0 -0
  916. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tests/unit/text/test_text.py +0 -0
  917. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/al_info.py +0 -0
  918. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/benchmark_clock.py +0 -0
  919. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/ffmpeg/bokeh_timeline.py +0 -0
  920. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/ffmpeg/compare.py +0 -0
  921. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/ffmpeg/configure.py +0 -0
  922. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/ffmpeg/extractors.py +0 -0
  923. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/ffmpeg/fs.py +0 -0
  924. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/ffmpeg/mp.py +0 -0
  925. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/ffmpeg/mpexceptions.py +0 -0
  926. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/ffmpeg/playmany.py +0 -0
  927. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/ffmpeg/readme_ffmpeg_debbuging_branch.txt +0 -0
  928. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/ffmpeg/readme_run_tests.txt +0 -0
  929. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/ffmpeg/report.py +0 -0
  930. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/ffmpeg/reports.py +0 -0
  931. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/ffmpeg/retry_crashed.py +0 -0
  932. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/ffmpeg/run_test_suite.py +0 -0
  933. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/ffmpeg/summarize.py +0 -0
  934. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/ffmpeg/test_instrumentation.py +0 -0
  935. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/ffmpeg/timeline.py +0 -0
  936. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/gencontrollerdb.py +0 -0
  937. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/gengl.py +0 -0
  938. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/genwrappers.py +0 -0
  939. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/gl.template +0 -0
  940. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/gl.xml +0 -0
  941. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/gl_info.py +0 -0
  942. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/gl_stub.template +0 -0
  943. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/inspect_font.py +0 -0
  944. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/requirements.txt +0 -0
  945. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/web.py +0 -0
  946. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/web_example/README.md +0 -0
  947. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/web_example/example.py +0 -0
  948. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/web_example/pyglet.png +0 -0
  949. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/web_example/pyproject.toml +0 -0
  950. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/web_example/web/dev_style.css +0 -0
  951. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/web_example/web/index.html +0 -0
  952. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/wgl.h +0 -0
  953. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/wraptypes/__init__.py +0 -0
  954. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/wraptypes/cparser.py +0 -0
  955. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/wraptypes/ctypesparser.py +0 -0
  956. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/wraptypes/lex.py +0 -0
  957. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/wraptypes/preprocessor.py +0 -0
  958. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/wraptypes/wrap.py +0 -0
  959. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/tools/wraptypes/yacc.py +0 -0
  960. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/LICENSE.txt +0 -0
  961. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/README.rst +0 -0
  962. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/assets/favicon.ico +0 -0
  963. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/assets/static/css/example-custom-styles.css +0 -0
  964. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/assets/static/images/pyglet.png +0 -0
  965. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/content/404.html/contents.lr +0 -0
  966. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/content/404.html/ngc-5793.jpg +0 -0
  967. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/content/authors/benjamin/contents.lr +0 -0
  968. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/content/authors/benjamin/pyglet.png +0 -0
  969. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/content/authors/contents.lr +0 -0
  970. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/content/blog/contents.lr +0 -0
  971. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/content/blog/welcome-blog/contents.lr +0 -0
  972. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/content/contents.lr +0 -0
  973. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/content/eclipse.jpg +0 -0
  974. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/pyglet.lektorproject +0 -0
  975. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/AUTHORS.txt +0 -0
  976. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/CHANGELOG.md +0 -0
  977. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/CONTRIBUTING.md +0 -0
  978. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/LICENSE.txt +0 -0
  979. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/NOTICE.txt +0 -0
  980. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/README.md +0 -0
  981. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/assets/static/css/bootstrap.css +0 -0
  982. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/assets/static/css/icomoon.css +0 -0
  983. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/assets/static/css/magnific-popup.css +0 -0
  984. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/assets/static/css/style.css +0 -0
  985. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  986. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  987. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
  988. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/assets/static/fonts/icomoon/icomoon.ttf +0 -0
  989. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/assets/static/fonts/icomoon/icomoon.woff +0 -0
  990. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/assets/static/images/Preloader_2.gif +0 -0
  991. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/assets/static/images/placeholder_person.png +0 -0
  992. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/assets/static/js/jquery-3.3.1.min.js +0 -0
  993. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/assets/static/js/jquery.easing.min.js +0 -0
  994. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/assets/static/js/jquery.magnific-popup.min.js +0 -0
  995. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/assets/static/js/jquery.stellar.js +0 -0
  996. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/assets/static/js/jquery.stellar.min.js +0 -0
  997. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/assets/static/js/jquery.waypoints.min.js +0 -0
  998. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/assets/static/js/magnific-popup-options.js +0 -0
  999. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/assets/static/js/main-singlelayout.js +0 -0
  1000. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/assets/static/js/main.js +0 -0
  1001. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/flowblocks/content.ini +0 -0
  1002. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/flowblocks/gallery.ini +0 -0
  1003. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/flowblocks/gallery_item.ini +0 -0
  1004. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/flowblocks/member.ini +0 -0
  1005. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/flowblocks/mission.ini +0 -0
  1006. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/flowblocks/mission_tab.ini +0 -0
  1007. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/flowblocks/service.ini +0 -0
  1008. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/flowblocks/services.ini +0 -0
  1009. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/flowblocks/team.ini +0 -0
  1010. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/images/blog-index.png +0 -0
  1011. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/images/full-blog.png +0 -0
  1012. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/images/full-page.png +0 -0
  1013. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/images/gallery-404.png +0 -0
  1014. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/images/gallery-singlepage.png +0 -0
  1015. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/images/mainpage-screenshots.png +0 -0
  1016. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/images/responsive-layout.png +0 -0
  1017. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/models/404.ini +0 -0
  1018. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/models/author.ini +0 -0
  1019. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/models/authors.ini +0 -0
  1020. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/models/blog-post.ini +0 -0
  1021. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/models/blog.ini +0 -0
  1022. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/models/page.ini +0 -0
  1023. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/models/single-layout.ini +0 -0
  1024. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/templates/404.html +0 -0
  1025. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/templates/author.html +0 -0
  1026. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/templates/authors.html +0 -0
  1027. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/templates/blocks/content.html +0 -0
  1028. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/templates/blocks/gallery.html +0 -0
  1029. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/templates/blocks/mission.html +0 -0
  1030. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/templates/blocks/services.html +0 -0
  1031. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/templates/blocks/team.html +0 -0
  1032. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/templates/blog-layout.html +0 -0
  1033. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/templates/blog-post.html +0 -0
  1034. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/templates/blog.html +0 -0
  1035. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/templates/layout.html +0 -0
  1036. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/templates/macros/blog.html +0 -0
  1037. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/templates/macros/pagination.html +0 -0
  1038. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/templates/none.html +0 -0
  1039. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/templates/page.html +0 -0
  1040. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/templates/single-layout.html +0 -0
  1041. {pyglet-3.0.dev8 → pyglet-3.0.dev9}/website/themes/lektor-icon/theme.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyglet
3
- Version: 3.0.dev8
3
+ Version: 3.0.dev9
4
4
  Summary: pyglet is a cross-platform games and multimedia package.
5
5
  Author-email: Alex Holkner & contributors <Alex.Holkner@gmail.com>
6
6
  Requires-Python: >=3.10
@@ -368,19 +368,19 @@ Previously to apply a state, your group might look like this::
368
368
  self.texture = texture
369
369
 
370
370
  def set_state(self):
371
- glBindTexture(GL_TEXTURE_2D, self.texture.id)
371
+ glBindTexture(GL_TEXTURE_2D, self.texture.handle)
372
372
 
373
373
  def unset_state(self):
374
374
  # not required
375
375
 
376
376
  def __eq__(self, other):
377
377
  return (self.__class__ is other.__class__ and
378
- self.texture.id == other.texture.id and
378
+ self.texture.key == other.texture.key and
379
379
  self.texture.target == other.texture.target and
380
380
  self.parent == other.parent)
381
381
 
382
382
  def __hash__(self):
383
- return hash((self.texture.id, self.texture.target))
383
+ return hash((self.texture.key, self.texture.target))
384
384
 
385
385
  That same group with Pyglet 3.0 look like this::
386
386
 
@@ -422,6 +422,14 @@ Additional changes not covered above:
422
422
  ``Texture.blit_into`` was renamed to ``Texture.upload`` and
423
423
  ``Texture.get_image_data`` was renamed to ``Texture.fetch`` to better reflect that these involve GPU requests.
424
424
 
425
+ * Graphics resource identities:
426
+ Backend-created resources such as textures, buffers, shaders, shader programs,
427
+ framebuffers, renderbuffers, and vertex arrays now separate their backend
428
+ ``handle`` from their stable pyglet ``key``. Use ``resource.handle`` when
429
+ passing a resource to a backend API, and ``resource.key`` for equality,
430
+ hashing, batching, or cache keys. The read-only ``resource.id`` alias is
431
+ deprecated; replace it with ``handle``.
432
+
425
433
  * Fonts and text:
426
434
  ``pyglet.font.manager`` now supports custom font-name callbacks,
427
435
  ``pyglet.font.get_custom_font_names`` was added, and ``pyglet.font.FontGroup``
@@ -434,6 +442,7 @@ Additional changes not covered above:
434
442
  ``Window.set_mouse_visible`` was renamed to
435
443
  ``Window.set_mouse_cursor_visible``, and ``Window.set_mouse_platform_visible``
436
444
  was renamed to ``Window.set_mouse_cursor_platform_visible``.
445
+ ``MouseCursor.gl_drawable`` was renamed to ``MouseCursor.api_drawable``.
437
446
 
438
447
  * ``pyglet.input``:
439
448
  Controllers now dispatch separate events for left/right sticks and
@@ -550,7 +550,7 @@ a texture requires the following before drawing::
550
550
 
551
551
  from pyglet.graphics.api.gl import *
552
552
  glActiveTexture(GL_TEXTURE0)
553
- glBindTexture(texture.target, texture.id)
553
+ glBindTexture(texture.target, texture.handle)
554
554
 
555
555
  With a :py:class:`~pyglet.graphics.Group` these state changes can be
556
556
  encapsulated and associated with the vertex lists they affect.
@@ -566,7 +566,7 @@ and `Group.unset_state` methods to perform the required state changes::
566
566
  def set_state(self):
567
567
  self.program.use()
568
568
  glActiveTexture(GL_TEXTURE0)
569
- glBindTexture(self.texture.target, self.texture.id)
569
+ glBindTexture(self.texture.target, self.texture.handle)
570
570
 
571
571
  def unset_state(self):
572
572
  self.program.stop()
@@ -389,7 +389,7 @@ A :py:class:`~pyglet.graphics.texture.Texture` has a ``target`` and ``id``:
389
389
  ::
390
390
 
391
391
  from pyglet.graphics.api.gl import *
392
- glBindTexture(texture.target, texture.id)
392
+ glBindTexture(texture.target, texture.handle)
393
393
 
394
394
  .. _OpenGL Programming Guide: http://www.opengl-redbook.com/
395
395
 
@@ -18,7 +18,7 @@ if TYPE_CHECKING:
18
18
  from typing import Any, Callable, ItemsView, Sized
19
19
 
20
20
  #: The release version
21
- version = '3.0.dev8'
21
+ version = '3.0.dev9'
22
22
  __version__ = version
23
23
 
24
24
  MIN_PYTHON_VERSION = 3, 10
@@ -200,7 +200,7 @@ class SpriteGroup(graphics.Group):
200
200
  self.program.use()
201
201
 
202
202
  glActiveTexture(GL_TEXTURE0)
203
- glBindTexture(self.texture.target, self.texture.id)
203
+ glBindTexture(self.texture.target, self.texture.handle)
204
204
 
205
205
  glEnable(GL_BLEND)
206
206
  glBlendFunc(self.blend_src, self.blend_dest)
@@ -217,13 +217,13 @@ class SpriteGroup(graphics.Group):
217
217
  self.program is other.program and
218
218
  self.parent == other.parent and
219
219
  self.texture.target == other.texture.target and
220
- self.texture.id == other.texture.id and
220
+ self.texture.key == other.texture.key and
221
221
  self.blend_src == other.blend_src and
222
222
  self.blend_dest == other.blend_dest)
223
223
 
224
224
  def __hash__(self):
225
225
  return hash((self.program, self.parent,
226
- self.texture.id, self.texture.target,
226
+ self.texture.key, self.texture.target,
227
227
  self.blend_src, self.blend_dest))
228
228
 
229
229
 
@@ -442,7 +442,7 @@ class Sprite(event.EventDispatcher):
442
442
  self._set_texture(img.get_texture())
443
443
 
444
444
  def _set_texture(self, texture):
445
- if texture.id is not self._texture.id:
445
+ if texture.key != self._texture.key:
446
446
  self._group = self._group.__class__(texture,
447
447
  self._group.blend_src,
448
448
  self._group.blend_dest,
@@ -319,7 +319,7 @@ class Emitter(event.EventDispatcher):
319
319
  self.dispatch_event('on_animation_end')
320
320
 
321
321
  def _set_texture(self, texture):
322
- if texture.id is not self._texture.id:
322
+ if texture.key != self._texture.key:
323
323
  self._group = self._group.__class__(texture,
324
324
  self._group.blend_src,
325
325
  self._group.blend_dest,
@@ -40,6 +40,10 @@ if TYPE_CHECKING:
40
40
  from pyglet.graphics.state import State, Viewport, ViewportProtocol # noqa: F401
41
41
  from pyglet.graphics.shader import get_default_shader # noqa: F401
42
42
  from pyglet.graphics.buffer import UniformBufferRegion # noqa: F401
43
+ from pyglet.graphics.resource import ( # noqa: F401
44
+ BufferKey, FramebufferKey, FramebufferResource, GraphicsResource, RenderbufferKey, RenderbufferResource,
45
+ ResourceKey, ShaderKey, ShaderProgramKey, TextureKey, VertexArrayKey, VertexArrayResource,
46
+ )
43
47
  from pyglet.graphics.draw import get_default_batch # noqa: F401
44
48
  from pyglet.graphics.texture import PixelData, Texture, TextureGrid, Texture3D, TextureArray # noqa: F401
45
49
  from pyglet.graphics.atlas import TextureBin, TextureArrayBin, TextureAtlas # noqa: F401
@@ -58,6 +62,10 @@ else:
58
62
  from pyglet.graphics.state import State, Viewport, ViewportProtocol # noqa: F401
59
63
  from pyglet.graphics.api import core # noqa: F401
60
64
  from pyglet.graphics.buffer import UniformBufferRegion # noqa: F401
65
+ from pyglet.graphics.resource import ( # noqa: F401
66
+ BufferKey, FramebufferKey, FramebufferResource, GraphicsResource, RenderbufferKey, RenderbufferResource,
67
+ ResourceKey, ShaderKey, ShaderProgramKey, TextureKey, VertexArrayKey, VertexArrayResource,
68
+ )
61
69
  from pyglet.graphics.texture import PixelData, Texture, TextureGrid, Texture3D, TextureArray # noqa: F401
62
70
  from pyglet.graphics.atlas import TextureBin, TextureArrayBin, TextureAtlas # noqa: F401
63
71
  from pyglet.graphics.framebuffer import Framebuffer, RenderTexture, Renderbuffer, TextureRenderTarget # noqa: F401
@@ -5,7 +5,7 @@ from typing import TYPE_CHECKING, Sequence
5
5
  import pyglet
6
6
 
7
7
  from pyglet.enums import GraphicsAPI
8
- from pyglet.graphics.api.base import ResourceManagement, NullBackend
8
+ from pyglet.graphics.api.base import NullBackend
9
9
 
10
10
  if TYPE_CHECKING:
11
11
  from pyglet.graphics.api.base import GraphicsConfig
@@ -14,8 +14,6 @@ if TYPE_CHECKING:
14
14
 
15
15
  core = NullBackend()
16
16
 
17
- resource_manager = ResourceManagement()
18
-
19
17
 
20
18
  # Enforce WebGL if emscripten is detected.
21
19
  # Create better fallback/choosing system later.
@@ -13,7 +13,6 @@ from pyglet.util import debug_print
13
13
 
14
14
  if TYPE_CHECKING:
15
15
  from pyglet.config import SurfaceConfig
16
- from pyglet.graphics.api.gl import ObjectSpace
17
16
  from pyglet.graphics.buffer import BufferRange
18
17
  from pyglet.window import Window
19
18
 
@@ -35,11 +34,6 @@ class BackendGlobalObject(ABC): # Temp name for now.
35
34
  def have_context(self) -> bool:
36
35
  return self._have_context
37
36
 
38
- @property
39
- @abstractmethod
40
- def object_space(self) -> ObjectSpace:
41
- ...
42
-
43
37
  @abstractmethod
44
38
  def get_surface_context(
45
39
  self,
@@ -111,10 +105,6 @@ class NullBackend(BackendGlobalObject): # noqa: D101
111
105
  def _raise_no_backend(self) -> NoReturn:
112
106
  raise UnavailableBackendError
113
107
 
114
- @property
115
- def object_space(self) -> ObjectSpace:
116
- self._raise_no_backend()
117
-
118
108
  def get_surface_context(self, window: Window, config: SurfaceConfig,
119
109
  shared: SurfaceContext | None = None) -> SurfaceContext:
120
110
  self._raise_no_backend()
@@ -613,61 +603,3 @@ class GraphicsConfig:
613
603
  def user_set_attributes(self) -> set[str]:
614
604
  """Return a set of attribute names that were explicitly set by the user."""
615
605
  return self._user_set_attributes
616
-
617
-
618
- class GraphicsResource(Protocol): # noqa: D101
619
- def delete(self) -> None:
620
- ...
621
-
622
-
623
- class ResourceManagement:
624
- """A manager to handle the freeing of resources for an API.
625
-
626
- In some graphical API's, the order in which you free resources can be very specific.
627
- """
628
- managers: list[GraphicsResource]
629
- weak_resources: weakref.WeakSet[GraphicsResource]
630
-
631
- def __init__(self) -> None: # noqa: D107
632
- self._func = None
633
- self.managers = []
634
- self.weak_resources = weakref.WeakSet()
635
- atexit.register(self.on_exit_cleanup)
636
-
637
- def set_pre_cleanup_func(self, func: Callable) -> None:
638
- """Register a function to be called before cleanup.
639
-
640
- Some API's may need to enforce a sync before cleanup.
641
- """
642
- self._func = func
643
-
644
- def register_manager(self, resource: GraphicsResource) -> None:
645
- """A manager handles multiple resources, these will be called in reverse order on cleanup."""
646
- self.managers.append(resource)
647
-
648
- def register_resource(self, resource: GraphicsResource) -> None:
649
- """Registers a resource as a weak reference.
650
-
651
- Some resources do not have a manager, but they do need to be freed before others. Keeping them permanently
652
- may prevent them from being garbage collected prior to shutdown.
653
- """
654
- self.weak_resources.add(resource)
655
-
656
- def on_exit_cleanup(self) -> None:
657
- """Cleans up all graphical resources that have been registered on application exit."""
658
- self.cleanup_all()
659
-
660
- def cleanup_all(self) -> None:
661
- """Cleans up all graphical resources that have been registered.
662
-
663
- Weak resources registered are destroyed first.
664
-
665
- Managers are called last, and in reverse order of registered.
666
- """
667
- if self._func:
668
- self._func()
669
-
670
- for resource in self.weak_resources:
671
- resource.delete()
672
- for resource in reversed(self.managers):
673
- resource.delete()
@@ -52,7 +52,7 @@ import pyglet as _pyglet
52
52
  from pyglet import compat_platform
53
53
  from pyglet.graphics.api.gl.gl import * # Must always be imported before gl_info or bad things happen. # noqa: F403
54
54
  from pyglet.graphics.api.gl.lib import GLException # noqa: F401
55
- from .base import ObjectSpace # noqa: F401
55
+ from .base import GLSharedObjectSpace # noqa: F401
56
56
  from .context import OpenGLSurfaceContext
57
57
 
58
58
  _is_pyglet_doc_run = hasattr(_sys, "is_pyglet_doc_run") and _sys.is_pyglet_doc_run
@@ -0,0 +1,55 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ if TYPE_CHECKING:
6
+ from pyglet.graphics.api.gl.context import OpenGLSurfaceContext
7
+
8
+
9
+ class GLSharedObjectSpace:
10
+ """Queues OpenGL objects for deletion by any context in a share group."""
11
+
12
+ def __init__(self) -> None: # noqa: D107
13
+ self._textures: list[int] = []
14
+ self._buffers: list[int] = []
15
+ self._shader_programs: list[int] = []
16
+ self._shaders: list[int] = []
17
+ self._renderbuffers: list[int] = []
18
+
19
+ def defer_texture(self, texture_id: int) -> None:
20
+ self._textures.append(texture_id)
21
+
22
+ def defer_buffer(self, buffer_id: int) -> None:
23
+ self._buffers.append(buffer_id)
24
+
25
+ def defer_shader_program(self, program_id: int) -> None:
26
+ self._shader_programs.append(program_id)
27
+
28
+ def defer_shader(self, shader_id: int) -> None:
29
+ self._shaders.append(shader_id)
30
+
31
+ def defer_renderbuffer(self, renderbuffer_id: int) -> None:
32
+ self._renderbuffers.append(renderbuffer_id)
33
+
34
+ def flush(self, context: OpenGLSurfaceContext) -> None:
35
+ """Delete queued objects using a current context in this share group."""
36
+ if self._textures:
37
+ context._delete_objects(self._textures, context.glDeleteTextures) # noqa: SLF001
38
+ if self._buffers:
39
+ context._delete_objects(self._buffers, context.glDeleteBuffers) # noqa: SLF001
40
+ if self._shader_programs:
41
+ context._delete_objects_one_by_one(self._shader_programs, context.glDeleteProgram) # noqa: SLF001
42
+ if self._shaders:
43
+ context._delete_objects_one_by_one(self._shaders, context.glDeleteShader) # noqa: SLF001
44
+ if self._renderbuffers:
45
+ context._delete_objects(self._renderbuffers, context.glDeleteRenderbuffers) # noqa: SLF001
46
+
47
+
48
+ class ContextException(Exception):
49
+ pass
50
+
51
+
52
+ class ConfigException(Exception):
53
+ pass
54
+
55
+
@@ -56,7 +56,7 @@ class GLBufferObject(AbstractBuffer):
56
56
  This class intentionally treats data as bytes for GPU transfer.
57
57
  """
58
58
 
59
- id: int | None
59
+ handle: int | None
60
60
  usage: int
61
61
  target: int
62
62
 
@@ -81,7 +81,7 @@ class GLBufferObject(AbstractBuffer):
81
81
 
82
82
  buffer_id = GLuint()
83
83
  self._context.glGenBuffers(1, buffer_id)
84
- self.id = buffer_id.value
84
+ self._handle = buffer_id.value
85
85
  self._allocated = False
86
86
  self._data_uploaded = False
87
87
 
@@ -92,7 +92,7 @@ class GLBufferObject(AbstractBuffer):
92
92
  )
93
93
 
94
94
  def bind(self) -> None:
95
- self._context.glBindBuffer(self.target, self.id)
95
+ self._context.glBindBuffer(self.target, self._handle)
96
96
 
97
97
  def unbind(self) -> None:
98
98
  self._context.glBindBuffer(self.target, 0)
@@ -154,18 +154,18 @@ class GLBufferObject(AbstractBuffer):
154
154
  self._data_uploaded = False
155
155
 
156
156
  def delete(self) -> None:
157
- if self.id is None:
157
+ if self._handle is None:
158
158
  return
159
- self._context.glDeleteBuffers(1, GLuint(self.id))
160
- self.id = None
159
+ self._context.glDeleteBuffers(1, GLuint(self._handle))
160
+ self._handle = None
161
161
  self._allocated = False
162
162
  self._data_uploaded = False
163
163
 
164
164
  def __del__(self) -> None:
165
- if self.id is not None:
165
+ if self._handle is not None:
166
166
  try:
167
- self._context.delete_buffer(self.id)
168
- self.id = None
167
+ self._context.delete_buffer(self._handle)
168
+ self._handle = None
169
169
  except (AttributeError, ImportError):
170
170
  pass # Interpreter is shutting down
171
171
 
@@ -196,7 +196,7 @@ class GLBufferObject(AbstractBuffer):
196
196
  self._allocated = True
197
197
 
198
198
  def __repr__(self) -> str:
199
- return f"{self.__class__.__name__}(id={self.id}, size={self.size})"
199
+ return f"{self.__class__.__name__}(handle={self._handle}, size={self.size})"
200
200
 
201
201
 
202
202
  class GLMappedBufferObject(GLBufferObject, BaseMappedBufferObject):
@@ -398,7 +398,7 @@ class GLIndexedBufferObject(GLBackedBufferObject):
398
398
  )
399
399
 
400
400
  def bind_to_index_buffer(self) -> None:
401
- self._context.glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, self.id)
401
+ self._context.glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, self._handle)
402
402
 
403
403
 
404
404
  class GLPixelBufferObject(GLBufferObject, PixelBuffer):
@@ -463,13 +463,13 @@ class GLTransformFeedbackBufferObject(GLBufferObject, TransformFeedbackBuffer):
463
463
 
464
464
  def bind_base(self, index: int) -> None:
465
465
  self._ensure_allocated()
466
- self._context.glBindBufferBase(GL_TRANSFORM_FEEDBACK_BUFFER, index, self.id)
466
+ self._context.glBindBufferBase(GL_TRANSFORM_FEEDBACK_BUFFER, index, self._handle)
467
467
  self._data_uploaded = True
468
468
 
469
469
  def bind_range(self, index: int, offset: int, size: int) -> None:
470
470
  self._validate_byte_range(offset, size)
471
471
  self._ensure_allocated()
472
- self._context.glBindBufferRange(GL_TRANSFORM_FEEDBACK_BUFFER, index, self.id, offset, size)
472
+ self._context.glBindBufferRange(GL_TRANSFORM_FEEDBACK_BUFFER, index, self._handle, offset, size)
473
473
  self._data_uploaded = True
474
474
 
475
475
 
@@ -524,7 +524,7 @@ class GLUniformBufferObject(UniformBufferObject):
524
524
  return GLBufferObject(context, buffer_size, target=GL_UNIFORM_BUFFER)
525
525
 
526
526
  def _bind_range(self, binding: int, offset: int, size: int) -> None:
527
- self._context.glBindBufferRange(GL_UNIFORM_BUFFER, binding, self.buffer.id, offset, size)
527
+ self._context.glBindBufferRange(GL_UNIFORM_BUFFER, binding, self.buffer.handle, offset, size)
528
528
 
529
529
  class PersistentBufferObject(BaseMappedBufferObject):
530
530
  """A persistently mapped OpenGL buffer.
@@ -533,7 +533,7 @@ class PersistentBufferObject(BaseMappedBufferObject):
533
533
  and remains mapped for the buffer lifetime.
534
534
  """
535
535
 
536
- id: int | None
536
+ handle: int | None
537
537
  target: int
538
538
  usage: int
539
539
  flags: int
@@ -564,7 +564,7 @@ class PersistentBufferObject(BaseMappedBufferObject):
564
564
  self.data_type = graphics_attr.attribute.fmt.data_type
565
565
  self.flags = GL_MAP_READ_BIT | GL_MAP_WRITE_BIT | GL_MAP_PERSISTENT_BIT | GL_MAP_COHERENT_BIT
566
566
 
567
- self.id = None
567
+ self._handle = None
568
568
  self.store = None
569
569
  self._mapped = None
570
570
  self._mapped_ptr = 0
@@ -600,8 +600,8 @@ class PersistentBufferObject(BaseMappedBufferObject):
600
600
  if preserve:
601
601
  ctypes.memmove(new_ptr, preserve, len(preserve))
602
602
 
603
- old_id = self.id
604
- self.id = new_id
603
+ old_id = self._handle
604
+ self._handle = new_id
605
605
  self.size = size
606
606
  self._mapped = new_mapped
607
607
  self._mapped_ptr = new_ptr
@@ -643,7 +643,7 @@ class PersistentBufferObject(BaseMappedBufferObject):
643
643
  return self._require_store().element_size
644
644
 
645
645
  def bind(self) -> None:
646
- self._context.glBindBuffer(self.target, self.id)
646
+ self._context.glBindBuffer(self.target, self._handle)
647
647
 
648
648
  def unbind(self) -> None:
649
649
  self._context.glBindBuffer(self.target, 0)
@@ -684,20 +684,20 @@ class PersistentBufferObject(BaseMappedBufferObject):
684
684
  return
685
685
 
686
686
  def delete(self) -> None:
687
- if self.id is None:
687
+ if self._handle is None:
688
688
  return
689
- self._context.glDeleteBuffers(1, GLuint(self.id))
690
- self.id = None
689
+ self._context.glDeleteBuffers(1, GLuint(self._handle))
690
+ self._handle = None
691
691
  self._mapped = None
692
692
  self._mapped_ptr = 0
693
693
  self._storage_size = 0
694
694
  self.get_region.cache_clear()
695
695
 
696
696
  def __del__(self) -> None:
697
- if self.id is not None:
697
+ if self._handle is not None:
698
698
  try:
699
- self._context.delete_buffer(self.id)
700
- self.id = None
699
+ self._context.delete_buffer(self._handle)
700
+ self._handle = None
701
701
  except (AttributeError, ImportError):
702
702
  pass # Interpreter is shutting down
703
703
 
@@ -5,7 +5,8 @@ import weakref
5
5
  from typing import Callable, TYPE_CHECKING
6
6
 
7
7
  from pyglet.graphics import GraphicsAPIError, GraphicsIntegrationError
8
- from pyglet.graphics.api.gl import gl, gl_info, ObjectSpace
8
+ from pyglet.graphics.api.gl import gl, gl_info
9
+ from pyglet.graphics.api.gl.base import GLSharedObjectSpace
9
10
  from pyglet.graphics.api.base import SurfaceContext, NullContext
10
11
  from pyglet.graphics.api.gl.gl import (
11
12
  GL_ALREADY_SIGNALED,
@@ -43,7 +44,7 @@ class OpenGLSurfaceContext(SurfaceContext, GLFunctions):
43
44
  _info: gl_info.GLInfo
44
45
 
45
46
  #: A container which is shared between all contexts that share GL objects.
46
- object_space: ObjectSpace
47
+ object_space: GLSharedObjectSpace
47
48
  config: SurfaceConfig
48
49
  context_share: OpenGLSurfaceContext | None
49
50
 
@@ -75,7 +76,7 @@ class OpenGLSurfaceContext(SurfaceContext, GLFunctions):
75
76
  if context_share:
76
77
  self.object_space = context_share.object_space
77
78
  else:
78
- self.object_space = ObjectSpace()
79
+ self.object_space = GLSharedObjectSpace()
79
80
 
80
81
  self.cached_programs = weakref.WeakValueDictionary()
81
82
  self.renderer = GLRenderer(self)
@@ -177,17 +178,7 @@ class OpenGLSurfaceContext(SurfaceContext, GLFunctions):
177
178
  self.uniform_getters, self.uniform_setters = self._get_uniform_func_tables()
178
179
  self._info.query(self)
179
180
 
180
- if self.object_space.doomed_textures:
181
- self._delete_objects(self.object_space.doomed_textures, self.glDeleteTextures)
182
- if self.object_space.doomed_buffers:
183
- self._delete_objects(self.object_space.doomed_buffers, self.glDeleteBuffers)
184
- if self.object_space.doomed_shader_programs:
185
- self._delete_objects_one_by_one(self.object_space.doomed_shader_programs,
186
- self.glDeleteProgram)
187
- if self.object_space.doomed_shaders:
188
- self._delete_objects_one_by_one(self.object_space.doomed_shaders, self.glDeleteShader)
189
- if self.object_space.doomed_renderbuffers:
190
- self._delete_objects(self.object_space.doomed_renderbuffers, self.glDeleteRenderbuffers)
181
+ self.object_space.flush(self)
191
182
 
192
183
  if self.doomed_vaos:
193
184
  self._delete_objects(self.doomed_vaos, self.glDeleteVertexArrays)
@@ -273,7 +264,7 @@ class OpenGLSurfaceContext(SurfaceContext, GLFunctions):
273
264
  if self._safe_to_operate_on_object_space():
274
265
  self.glDeleteTextures(1, GLuint(texture_id))
275
266
  else:
276
- self.object_space.doomed_textures.append(texture_id)
267
+ self.object_space.defer_texture(texture_id)
277
268
 
278
269
  def delete_buffer(self, buffer_id: int) -> None:
279
270
  """Safely delete a Buffer belonging to this context's object space.
@@ -284,7 +275,7 @@ class OpenGLSurfaceContext(SurfaceContext, GLFunctions):
284
275
  if self._safe_to_operate_on_object_space():
285
276
  self.glDeleteBuffers(1, GLuint(buffer_id))
286
277
  else:
287
- self.object_space.doomed_buffers.append(buffer_id)
278
+ self.object_space.defer_buffer(buffer_id)
288
279
 
289
280
  def delete_shader_program(self, program_id: int) -> None:
290
281
  """Safely delete a ShaderProgram belonging to this context's object space.
@@ -295,7 +286,7 @@ class OpenGLSurfaceContext(SurfaceContext, GLFunctions):
295
286
  if self._safe_to_operate_on_object_space():
296
287
  self.glDeleteProgram(GLuint(program_id))
297
288
  else:
298
- self.object_space.doomed_shader_programs.append(program_id)
289
+ self.object_space.defer_shader_program(program_id)
299
290
 
300
291
  def delete_shader(self, shader_id: int) -> None:
301
292
  """Safely delete a Shader belonging to this context's object space.
@@ -306,7 +297,7 @@ class OpenGLSurfaceContext(SurfaceContext, GLFunctions):
306
297
  if self._safe_to_operate_on_object_space():
307
298
  self.glDeleteShader(GLuint(shader_id))
308
299
  else:
309
- self.object_space.doomed_shaders.append(shader_id)
300
+ self.object_space.defer_shader(shader_id)
310
301
 
311
302
  def delete_renderbuffer(self, rbo_id: int) -> None:
312
303
  """Safely delete a Renderbuffer belonging to this context's object space.
@@ -317,7 +308,7 @@ class OpenGLSurfaceContext(SurfaceContext, GLFunctions):
317
308
  if self._safe_to_operate_on_object_space():
318
309
  self.glDeleteRenderbuffers(1, GLuint(rbo_id))
319
310
  else:
320
- self.object_space.doomed_renderbuffers.append(rbo_id)
311
+ self.object_space.defer_renderbuffer(rbo_id)
321
312
 
322
313
  def delete_vao(self, vao_id: int) -> None:
323
314
  """Safely delete a Vertex Array Object belonging to this context.
@@ -357,6 +348,7 @@ class OpenGLSurfaceContext(SurfaceContext, GLFunctions):
357
348
  def _get_uniform_func_tables(self):
358
349
  _uniform_getters: dict[GLDataType, Callable] = {
359
350
  gl.GLint: self.glGetUniformiv,
351
+ gl.GLuint: self.glGetUniformuiv,
360
352
  gl.GLfloat: self.glGetUniformfv,
361
353
  gl.GLboolean: self.glGetUniformiv,
362
354
  }
@@ -373,6 +365,11 @@ class OpenGLSurfaceContext(SurfaceContext, GLFunctions):
373
365
  gl.GL_INT_VEC3: (gl.GLint, self.glUniform3iv, self.glProgramUniform3iv, 3),
374
366
  gl.GL_INT_VEC4: (gl.GLint, self.glUniform4iv, self.glProgramUniform4iv, 4),
375
367
 
368
+ gl.GL_UNSIGNED_INT: (gl.GLuint, self.glUniform1uiv, self.glProgramUniform1uiv, 1),
369
+ gl.GL_UNSIGNED_INT_VEC2: (gl.GLuint, self.glUniform2uiv, self.glProgramUniform2uiv, 2),
370
+ gl.GL_UNSIGNED_INT_VEC3: (gl.GLuint, self.glUniform3uiv, self.glProgramUniform3uiv, 3),
371
+ gl.GL_UNSIGNED_INT_VEC4: (gl.GLuint, self.glUniform4uiv, self.glProgramUniform4uiv, 4),
372
+
376
373
  gl.GL_FLOAT: (gl.GLfloat, self.glUniform1fv, self.glProgramUniform1fv, 1),
377
374
  gl.GL_FLOAT_VEC2: (gl.GLfloat, self.glUniform2fv, self.glProgramUniform2fv, 2),
378
375
  gl.GL_FLOAT_VEC3: (gl.GLfloat, self.glUniform3fv, self.glProgramUniform3fv, 3),