pyglet 3.0.dev4__tar.gz → 3.0.dev6__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 (1004) hide show
  1. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/PKG-INFO +2 -2
  2. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/contrib/dist_field/renderfield.py +1 -1
  3. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/contrib/svg/svg_test.py +1 -1
  4. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/index.rst +2 -0
  5. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/window.rst +2 -0
  6. pyglet-3.0.dev6/doc/programming_guide/camera.rst +131 -0
  7. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/eventloop.rst +2 -3
  8. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/migration.rst +24 -0
  9. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/requirements.txt +2 -2
  10. pyglet-3.0.dev6/examples/graphics/uniform_buffer_object.py +152 -0
  11. pyglet-3.0.dev6/examples/model/fpscamera.py +293 -0
  12. pyglet-3.0.dev6/examples/model/model.py +44 -0
  13. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/opengl/transform_shader.py +1 -1
  14. pyglet-3.0.dev6/examples/window/camera/camera_group.py +91 -0
  15. pyglet-3.0.dev6/examples/window/camera/camera_scissor.py +101 -0
  16. pyglet-3.0.dev6/examples/window/camera/camera_views.py +126 -0
  17. pyglet-3.0.dev6/examples/window/file_drag_drops.py +114 -0
  18. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/__init__.py +1 -1
  19. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/customtypes.py +11 -5
  20. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/event.py +3 -23
  21. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/experimental/geoshader_sprite.py +9 -2
  22. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/__init__.py +10 -0
  23. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/base.py +169 -54
  24. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl/buffer.py +36 -4
  25. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl/cocoa/context.py +1 -1
  26. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl/context.py +46 -7
  27. pyglet-3.0.dev6/pyglet/graphics/api/gl/draw.py +45 -0
  28. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl/egl/context.py +1 -1
  29. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl/gl_info.py +4 -0
  30. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl/global_opengl.py +0 -87
  31. pyglet-3.0.dev6/pyglet/graphics/api/gl/renderer.py +23 -0
  32. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl/shader.py +18 -2
  33. pyglet-3.0.dev6/pyglet/graphics/api/gl/state.py +257 -0
  34. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl/win32/context.py +1 -1
  35. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl/xlib/context.py +1 -1
  36. pyglet-3.0.dev6/pyglet/graphics/api/gl2/draw.py +43 -0
  37. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl2/global_opengl.py +0 -63
  38. pyglet-3.0.dev6/pyglet/graphics/api/gl2/state.py +29 -0
  39. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/webgl/__init__.py +0 -85
  40. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/webgl/buffer.py +30 -1
  41. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/webgl/context.py +5 -2
  42. pyglet-3.0.dev6/pyglet/graphics/api/webgl/draw.py +38 -0
  43. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/webgl/gl_info.py +5 -0
  44. pyglet-3.0.dev6/pyglet/graphics/api/webgl/renderer.py +23 -0
  45. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/webgl/shader.py +18 -2
  46. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/webgl/state.py +78 -61
  47. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/buffer.py +380 -10
  48. pyglet-3.0.dev6/pyglet/graphics/draw.py +1147 -0
  49. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/shader.py +48 -9
  50. pyglet-3.0.dev6/pyglet/graphics/state.py +187 -0
  51. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/vertexdomain.py +10 -2
  52. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/win32/__init__.py +10 -0
  53. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/win32/constants.py +13 -0
  54. pyglet-3.0.dev6/pyglet/libs/win32/context_managers.py +139 -0
  55. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/win32/types.py +71 -0
  56. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/shapes.py +18 -32
  57. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/sprite.py +12 -21
  58. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/window/__init__.py +103 -36
  59. pyglet-3.0.dev6/pyglet/window/camera/__init__.py +28 -0
  60. pyglet-3.0.dev6/pyglet/window/camera/base.py +666 -0
  61. pyglet-3.0.dev6/pyglet/window/camera/camera2d.py +333 -0
  62. pyglet-3.0.dev6/pyglet/window/camera/camera3d.py +318 -0
  63. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/window/cocoa/__init__.py +0 -9
  64. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/window/cocoa/pyglet_view.py +69 -20
  65. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/window/emscripten/__init__.py +0 -8
  66. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/window/headless/__init__.py +0 -8
  67. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/window/wayland/__init__.py +0 -7
  68. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/window/win32/__init__.py +174 -17
  69. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/window/xlib/__init__.py +60 -10
  70. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyproject.toml +1 -1
  71. pyglet-3.0.dev6/tests/integration/graphics/opengl_core/test_buffers.py +637 -0
  72. pyglet-3.0.dev6/tests/integration/graphics/test_cameras.py +311 -0
  73. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/graphics/test_groups.py +180 -6
  74. pyglet-3.0.dev6/tests/interactive/graphics/group_ordering.py +455 -0
  75. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/shapes/test_bordered_rectangle.py +35 -23
  76. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/test_events.py +79 -0
  77. pyglet-3.0.dev4/examples/model/fpscamera.py +0 -395
  78. pyglet-3.0.dev4/examples/model/model.py +0 -56
  79. pyglet-3.0.dev4/examples/window/camera.py +0 -144
  80. pyglet-3.0.dev4/examples/window/camera_group.py +0 -176
  81. pyglet-3.0.dev4/pyglet/graphics/api/gl/draw.py +0 -463
  82. pyglet-3.0.dev4/pyglet/graphics/api/gl/state.py +0 -219
  83. pyglet-3.0.dev4/pyglet/graphics/api/gl2/draw.py +0 -473
  84. pyglet-3.0.dev4/pyglet/graphics/api/webgl/draw.py +0 -460
  85. pyglet-3.0.dev4/pyglet/graphics/draw.py +0 -660
  86. pyglet-3.0.dev4/pyglet/graphics/state.py +0 -93
  87. pyglet-3.0.dev4/pyglet/libs/win32/context_managers.py +0 -74
  88. pyglet-3.0.dev4/tests/integration/graphics/opengl_core/test_buffers.py +0 -306
  89. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/.coveragerc +0 -0
  90. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  91. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  92. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/.github/ISSUE_TEMPLATE/questions--or-other.md +0 -0
  93. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/.github/workflows/codeql.yml +0 -0
  94. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/.github/workflows/unittests.yml +0 -0
  95. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/.gitignore +0 -0
  96. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/.readthedocs.yml +0 -0
  97. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/API_CHANGES.rst +0 -0
  98. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/LICENSE +0 -0
  99. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/MANIFEST.in +0 -0
  100. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/README.md +0 -0
  101. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/RELEASE_NOTES +0 -0
  102. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/TODO.txt +0 -0
  103. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/contrib/README.md +0 -0
  104. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/contrib/aseprite_codec/README +0 -0
  105. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/contrib/aseprite_codec/asedemo.py +0 -0
  106. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/contrib/aseprite_codec/aseprite.py +0 -0
  107. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/contrib/aseprite_codec/running.ase +0 -0
  108. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/contrib/dist_field/README +0 -0
  109. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/contrib/dist_field/genfield.py +0 -0
  110. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/contrib/dist_field/py.df.png +0 -0
  111. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/contrib/dist_field/py.png +0 -0
  112. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/contrib/qt_sprite_preview.py +0 -0
  113. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/contrib/scenemanager.py +0 -0
  114. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/contrib/spritebenchmark.py +0 -0
  115. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/contrib/svg/hello_world.svg +0 -0
  116. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/contrib/toys/follow_mouse.py +0 -0
  117. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/Makefile +0 -0
  118. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/_static/css/custom.css +0 -0
  119. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/_static/favicon.ico +0 -0
  120. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/_static/logo.png +0 -0
  121. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/_static/logo5.svg +0 -0
  122. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/_static/relatedlogo.png +0 -0
  123. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/conf.py +0 -0
  124. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/external_resources.rst +0 -0
  125. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/internal/contributing.rst +0 -0
  126. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/internal/dist.rst +0 -0
  127. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/internal/doc.rst +0 -0
  128. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/internal/generated.rst +0 -0
  129. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/internal/gl.rst +0 -0
  130. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/internal/media_logging_manual.rst +0 -0
  131. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/internal/media_manual.rst +0 -0
  132. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/internal/testing.rst +0 -0
  133. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/internal/virtualenv.rst +0 -0
  134. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/internal/wraptypes-class.svg +0 -0
  135. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/internal/wraptypes.rst +0 -0
  136. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/make.bat +0 -0
  137. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/app.rst +0 -0
  138. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/clock.rst +0 -0
  139. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/config/base.rst +0 -0
  140. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/config/gl.rst +0 -0
  141. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/config/index.rst +0 -0
  142. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/customtypes.rst +0 -0
  143. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/dialog.rst +0 -0
  144. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/display.rst +0 -0
  145. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/enums.rst +0 -0
  146. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/event.rst +0 -0
  147. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/font/group.rst +0 -0
  148. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/font/index.rst +0 -0
  149. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/font/user.rst +0 -0
  150. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/graphics/allocation.rst +0 -0
  151. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/graphics/atlas.rst +0 -0
  152. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/graphics/draw.rst +0 -0
  153. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/graphics/framebuffer.rst +0 -0
  154. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/graphics/index.rst +0 -0
  155. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/graphics/shader.rst +0 -0
  156. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/graphics/texture.rst +0 -0
  157. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/graphics/vertexbuffer.rst +0 -0
  158. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/graphics/vertexdomain.rst +0 -0
  159. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/gui.rst +0 -0
  160. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/image/animation.rst +0 -0
  161. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/image/index.rst +0 -0
  162. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/info.rst +0 -0
  163. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/input.rst +0 -0
  164. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/math.rst +0 -0
  165. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/media.rst +0 -0
  166. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/media_synthesis.rst +0 -0
  167. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/models.rst +0 -0
  168. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/pyglet.rst +0 -0
  169. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/resource.rst +0 -0
  170. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/shapes.rst +0 -0
  171. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/sprite.rst +0 -0
  172. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/text/caret.rst +0 -0
  173. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/text/document.rst +0 -0
  174. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/text/index.rst +0 -0
  175. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/text/layout.rst +0 -0
  176. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/window_key.rst +0 -0
  177. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/modules/window_mouse.rst +0 -0
  178. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/context.rst +0 -0
  179. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/debug.rst +0 -0
  180. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/events.rst +0 -0
  181. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/examplegame.rst +0 -0
  182. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/gl.rst +0 -0
  183. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/gui.rst +0 -0
  184. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/image.rst +0 -0
  185. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/abstract_image.png +0 -0
  186. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/abstract_image.svg +0 -0
  187. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/buffer_image.png +0 -0
  188. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/buffer_image.svg +0 -0
  189. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/context_flow.png +0 -0
  190. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/context_flow.svg +0 -0
  191. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/cursor_mac_crosshair.png +0 -0
  192. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/cursor_mac_default.png +0 -0
  193. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/cursor_mac_hand.png +0 -0
  194. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/cursor_mac_no.png +0 -0
  195. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/cursor_mac_size_down.png +0 -0
  196. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/cursor_mac_size_left.png +0 -0
  197. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/cursor_mac_size_left_right.png +0 -0
  198. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/cursor_mac_size_right.png +0 -0
  199. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/cursor_mac_size_up.png +0 -0
  200. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/cursor_mac_size_up_down.png +0 -0
  201. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/cursor_mac_text.png +0 -0
  202. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/cursor_mac_wait.png +0 -0
  203. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/cursor_win_crosshair.png +0 -0
  204. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/cursor_win_default.png +0 -0
  205. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/cursor_win_hand.png +0 -0
  206. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/cursor_win_help.png +0 -0
  207. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/cursor_win_no.png +0 -0
  208. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/cursor_win_size.png +0 -0
  209. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/cursor_win_size_left_right.png +0 -0
  210. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/cursor_win_size_nesw.png +0 -0
  211. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/cursor_win_size_nwse.png +0 -0
  212. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/cursor_win_size_up_down.png +0 -0
  213. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/cursor_win_text.png +0 -0
  214. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/cursor_win_wait.png +0 -0
  215. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/cursor_win_wait_arrow.png +0 -0
  216. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/explosion.png +0 -0
  217. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/font_metrics.png +0 -0
  218. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/font_metrics.svg +0 -0
  219. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/image_classes.png +0 -0
  220. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/image_classes.svg +0 -0
  221. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/image_grid.png +0 -0
  222. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/image_grid.svg +0 -0
  223. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/image_sequence.png +0 -0
  224. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/image_sequence.svg +0 -0
  225. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/mouse_coordinates.png +0 -0
  226. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/mouse_coordinates.svg +0 -0
  227. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/screens.png +0 -0
  228. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/screens.svg +0 -0
  229. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/text_classes.png +0 -0
  230. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/text_classes.svg +0 -0
  231. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/window_location.png +0 -0
  232. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/window_location.svg +0 -0
  233. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/window_osx_borderless.png +0 -0
  234. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/window_osx_default.png +0 -0
  235. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/window_osx_dialog.png +0 -0
  236. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/window_osx_tool.png +0 -0
  237. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/window_xp_default.png +0 -0
  238. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/window_xp_dialog.png +0 -0
  239. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/window_xp_overlay.png +0 -0
  240. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/window_xp_tool.png +0 -0
  241. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/img/window_xp_transparent.png +0 -0
  242. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/input.rst +0 -0
  243. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/installation.rst +0 -0
  244. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/keyboard.rst +0 -0
  245. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/math.rst +0 -0
  246. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/media.rst +0 -0
  247. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/migration2.rst +0 -0
  248. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/models.rst +0 -0
  249. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/mouse.rst +0 -0
  250. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/opengles.rst +0 -0
  251. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/options.rst +0 -0
  252. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/pyodide.rst +0 -0
  253. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/quickstart.rst +0 -0
  254. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/rendering.rst +0 -0
  255. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/resources.rst +0 -0
  256. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/shapes.rst +0 -0
  257. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/text.rst +0 -0
  258. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/texture.rst +0 -0
  259. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/time.rst +0 -0
  260. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/doc/programming_guide/windowing.rst +0 -0
  261. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/dpi_scaled_window.py +0 -0
  262. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/events/events_key_state_handler.py +0 -0
  263. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/events/register_event_type.py +0 -0
  264. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/events/window_events.py +0 -0
  265. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/events/window_platform_event.py +0 -0
  266. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/resources/asteroid.png +0 -0
  267. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/resources/bullet.png +0 -0
  268. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/resources/bullet.wav +0 -0
  269. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/resources/engine_flame.png +0 -0
  270. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/resources/player.png +0 -0
  271. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version1/asteroid.py +0 -0
  272. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version1/game/__init__.py +0 -0
  273. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version1/game/load.py +0 -0
  274. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version1/game/util.py +0 -0
  275. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version2/asteroid.py +0 -0
  276. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version2/game/__init__.py +0 -0
  277. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version2/game/load.py +0 -0
  278. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version2/game/physicalobject.py +0 -0
  279. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version2/game/player.py +0 -0
  280. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version2/game/util.py +0 -0
  281. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version3/asteroid.py +0 -0
  282. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version3/game/__init__.py +0 -0
  283. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version3/game/load.py +0 -0
  284. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version3/game/physicalobject.py +0 -0
  285. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version3/game/player.py +0 -0
  286. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version3/game/util.py +0 -0
  287. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version4/asteroid.py +0 -0
  288. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version4/game/__init__.py +0 -0
  289. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version4/game/asteroid.py +0 -0
  290. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version4/game/bullet.py +0 -0
  291. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version4/game/load.py +0 -0
  292. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version4/game/physicalobject.py +0 -0
  293. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version4/game/player.py +0 -0
  294. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version4/game/util.py +0 -0
  295. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version5/asteroid.py +0 -0
  296. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version5/game/__init__.py +0 -0
  297. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version5/game/asteroid.py +0 -0
  298. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version5/game/bullet.py +0 -0
  299. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version5/game/load.py +0 -0
  300. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version5/game/physicalobject.py +0 -0
  301. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version5/game/player.py +0 -0
  302. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/game/version5/game/util.py +0 -0
  303. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/graphics/instancing.py +0 -0
  304. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/graphics/instancing_order.py +0 -0
  305. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/gui/bar.png +0 -0
  306. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/gui/button_hover.png +0 -0
  307. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/gui/button_pressed.png +0 -0
  308. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/gui/button_unpressed.png +0 -0
  309. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/gui/knob.png +0 -0
  310. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/gui/widgets.py +0 -0
  311. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/hello_world.py +0 -0
  312. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/image/image_convert.py +0 -0
  313. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/image/image_display.py +0 -0
  314. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/input/apple_remote.py +0 -0
  315. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/input/controller.py +0 -0
  316. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/input/input.py +0 -0
  317. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/input/joystick.py +0 -0
  318. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/input/tablet.py +0 -0
  319. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/media/media_info.py +0 -0
  320. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/media/media_player.py +0 -0
  321. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/media/noisy/README +0 -0
  322. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/media/noisy/ball.png +0 -0
  323. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/media/noisy/ball.wav +0 -0
  324. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/media/noisy/noisy.py +0 -0
  325. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/media/soundspace/README +0 -0
  326. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/media/soundspace/reader.py +0 -0
  327. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/media/soundspace/res/bass.wav +0 -0
  328. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/media/soundspace/res/drums.wav +0 -0
  329. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/media/soundspace/res/guitar.wav +0 -0
  330. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/media/soundspace/res/piano.wav +0 -0
  331. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/media/soundspace/res/space.txt +0 -0
  332. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/media/soundspace/soundspace.py +0 -0
  333. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/media/synthesizer.py +0 -0
  334. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/media/video.py +0 -0
  335. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/model/box.mtl +0 -0
  336. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/model/box.obj +0 -0
  337. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/model/logo3d.mtl +0 -0
  338. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/model/logo3d.obj +0 -0
  339. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/model/pyglet.png +0 -0
  340. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/opengl/compute_shader.py +0 -0
  341. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/opengl/egl_context.py +0 -0
  342. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/opengl/minimal_shader.py +0 -0
  343. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/opengl/opengl_context.py +0 -0
  344. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/opengl/opengl_core.py +0 -0
  345. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/opengl/opengl_scissor.py +0 -0
  346. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/opengl/pyglet.png +0 -0
  347. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/opengl/torus.py +0 -0
  348. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/programming_guide/animation.py +0 -0
  349. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/programming_guide/dinosaur.gif +0 -0
  350. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/programming_guide/events.py +0 -0
  351. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/programming_guide/hello_world.py +0 -0
  352. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/programming_guide/image_viewer.py +0 -0
  353. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/programming_guide/kitten.jpg +0 -0
  354. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/programming_guide/window_subclass.py +0 -0
  355. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/resources/Brick1Blue.png +0 -0
  356. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/resources/Brick1Crack3.png +0 -0
  357. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/resources/Brick1Gray.png +0 -0
  358. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/resources/kitten.jpg +0 -0
  359. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/resources/pyglet.png +0 -0
  360. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/shapes.py +0 -0
  361. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/sprite/depth_sprite.py +0 -0
  362. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/sprite/display_sprite.py +0 -0
  363. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/sprite/multi_texture_sprite.py +0 -0
  364. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/sprite/multi_texture_sprite_animation.py +0 -0
  365. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/sprite/multi_texture_sprite_texture_array_animation.py +0 -0
  366. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/sprite/sprite_batching.py +0 -0
  367. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/sprite/toggle_sprite_shader.py +0 -0
  368. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/text/advanced_font.py +0 -0
  369. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/text/font_groups.py +0 -0
  370. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/text/html_label.py +0 -0
  371. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/text/pyglet.png +0 -0
  372. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/text/text_input.py +0 -0
  373. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/text/user_bitmap_font.py +0 -0
  374. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/timer.py +0 -0
  375. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/window/clipboard.py +0 -0
  376. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/window/file_dialogs.py +0 -0
  377. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/window/fixed_resolution.py +0 -0
  378. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/window/fps_change.py +0 -0
  379. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/window/multiple_windows.py +0 -0
  380. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/window/no_backend.py +0 -0
  381. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/window/overlay_window.py +0 -0
  382. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/examples/window/transparent_window.py +0 -0
  383. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/make.py +0 -0
  384. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/__init__.pyi +0 -0
  385. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/app/__init__.py +0 -0
  386. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/app/async_app.py +0 -0
  387. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/app/base.py +0 -0
  388. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/app/cocoa.py +0 -0
  389. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/app/linux.py +0 -0
  390. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/app/win32.py +0 -0
  391. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/clock.py +0 -0
  392. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/config/__init__.py +0 -0
  393. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/config/base.py +0 -0
  394. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/config/gl/__init__.py +0 -0
  395. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/config/gl/egl.py +0 -0
  396. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/config/gl/macos.py +0 -0
  397. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/config/gl/webgl.py +0 -0
  398. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/config/gl/windows.py +0 -0
  399. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/config/gl/x11.py +0 -0
  400. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/display/__init__.py +0 -0
  401. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/display/__init__.pyi +0 -0
  402. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/display/base.py +0 -0
  403. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/display/cocoa.py +0 -0
  404. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/display/emscripten.py +0 -0
  405. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/display/headless.py +0 -0
  406. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/display/wayland.py +0 -0
  407. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/display/win32.py +0 -0
  408. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/display/xlib.py +0 -0
  409. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/display/xlib_vidmoderestore.py +0 -0
  410. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/enums.py +0 -0
  411. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/experimental/README.md +0 -0
  412. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/experimental/flaccodec.py +0 -0
  413. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/experimental/hidraw.py +0 -0
  414. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/experimental/jobs.py +0 -0
  415. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/experimental/net.py +0 -0
  416. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/experimental/particles.py +0 -0
  417. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/experimental/win32priority.py +0 -0
  418. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/extlibs/__init__.py +0 -0
  419. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/extlibs/earcut.py +0 -0
  420. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/extlibs/png.py +0 -0
  421. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/font/__init__.py +0 -0
  422. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/font/base.py +0 -0
  423. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/font/dwrite/__init__.py +0 -0
  424. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/font/dwrite/d2d1_lib.py +0 -0
  425. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/font/dwrite/d2d1_types_lib.py +0 -0
  426. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/font/dwrite/dwrite_lib.py +0 -0
  427. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/font/fontconfig.py +0 -0
  428. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/font/freetype.py +0 -0
  429. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/font/freetype_lib.py +0 -0
  430. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/font/group.py +0 -0
  431. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/font/harfbuzz.py +0 -0
  432. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/font/pyodide_js.py +0 -0
  433. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/font/quartz.py +0 -0
  434. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/font/ttf.py +0 -0
  435. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/font/user.py +0 -0
  436. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/font/win32.py +0 -0
  437. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/allocation.py +0 -0
  438. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/__init__.py +0 -0
  439. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl/__init__.py +0 -0
  440. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl/base.py +0 -0
  441. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl/cocoa/__init__.py +0 -0
  442. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl/default_shaders.py +0 -0
  443. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl/egl/__init__.py +0 -0
  444. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl/enums.py +0 -0
  445. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl/framebuffer.py +0 -0
  446. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl/gl.py +0 -0
  447. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl/lib.py +0 -0
  448. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl/shapes.py +0 -0
  449. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl/sprite.py +0 -0
  450. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl/text.py +0 -0
  451. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl/texture.py +0 -0
  452. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl/vertexarray.py +0 -0
  453. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl/vertexdomain.py +0 -0
  454. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl/win32/__init__.py +0 -0
  455. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl/win32/wgl_info.py +0 -0
  456. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl/xlib/__init__.py +0 -0
  457. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl/xlib/glx_info.py +0 -0
  458. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl1/__init__.py +0 -0
  459. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl1/gl_compat.py +0 -0
  460. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl2/__init__.py +0 -0
  461. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl2/buffer.py +0 -0
  462. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl2/shader.py +0 -0
  463. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl2/shapes.py +0 -0
  464. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl2/sprite.py +0 -0
  465. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl2/text.py +0 -0
  466. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/gl2/vertexdomain.py +0 -0
  467. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/webgl/enums.py +0 -0
  468. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/webgl/framebuffer.py +0 -0
  469. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/webgl/gl.py +0 -0
  470. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/webgl/shapes.py +0 -0
  471. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/webgl/sprite.py +0 -0
  472. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/webgl/text.py +0 -0
  473. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/webgl/texture.py +0 -0
  474. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/webgl/vertexarray.py +0 -0
  475. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/webgl/vertexdomain.py +0 -0
  476. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/api/webgl/webgl_js.pyi +0 -0
  477. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/atlas.py +0 -0
  478. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/framebuffer.py +0 -0
  479. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/instance.py +0 -0
  480. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/graphics/texture.py +0 -0
  481. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/gui/__init__.py +0 -0
  482. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/gui/frame.py +0 -0
  483. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/gui/ninepatch.py +0 -0
  484. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/gui/widgets.py +0 -0
  485. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/image/__init__.py +0 -0
  486. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/image/animation.py +0 -0
  487. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/image/base.py +0 -0
  488. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/image/codecs/__init__.py +0 -0
  489. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/image/codecs/bmp.py +0 -0
  490. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/image/codecs/dds.py +0 -0
  491. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/image/codecs/gdiplus.py +0 -0
  492. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/image/codecs/gdkpixbuf2.py +0 -0
  493. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/image/codecs/gif.py +0 -0
  494. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/image/codecs/js_image.py +0 -0
  495. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/image/codecs/ktx2.py +0 -0
  496. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/image/codecs/pil.py +0 -0
  497. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/image/codecs/png.py +0 -0
  498. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/image/codecs/quartz.py +0 -0
  499. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/image/codecs/wic.py +0 -0
  500. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/info.py +0 -0
  501. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/input/__init__.py +0 -0
  502. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/input/base.py +0 -0
  503. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/input/controller.py +0 -0
  504. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/input/controller_db.py +0 -0
  505. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/input/emscripten/__init__.py +0 -0
  506. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/input/emscripten/gamepad_js.py +0 -0
  507. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/input/linux/__init__.py +0 -0
  508. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/input/linux/evdev.py +0 -0
  509. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/input/linux/evdev_constants.py +0 -0
  510. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/input/linux/x11_xinput.py +0 -0
  511. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/input/linux/x11_xinput_tablet.py +0 -0
  512. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/input/macos/__init__.py +0 -0
  513. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/input/macos/darwin_gc.py +0 -0
  514. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/input/macos/darwin_hid.py +0 -0
  515. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/input/win32/__init__.py +0 -0
  516. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/input/win32/directinput.py +0 -0
  517. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/input/win32/wintab.py +0 -0
  518. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/input/win32/xinput.py +0 -0
  519. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/lib.py +0 -0
  520. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/__init__.py +0 -0
  521. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/darwin/__init__.py +0 -0
  522. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/darwin/agl.py +0 -0
  523. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/darwin/cocoapy/__init__.py +0 -0
  524. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/darwin/cocoapy/cocoahelpers.py +0 -0
  525. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/darwin/cocoapy/cocoalibs.py +0 -0
  526. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/darwin/cocoapy/cocoatypes.py +0 -0
  527. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/darwin/cocoapy/runtime.py +0 -0
  528. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/darwin/coreaudio.py +0 -0
  529. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/darwin/lib_agl.py +0 -0
  530. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/darwin/quartzkey.py +0 -0
  531. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/egl/__init__.py +0 -0
  532. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/egl/egl_lib.py +0 -0
  533. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/egl/eglext.py +0 -0
  534. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/linux/__init__.py +0 -0
  535. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/linux/egl/__init__.py +0 -0
  536. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/linux/egl/egl.py +0 -0
  537. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/linux/egl/eglext.py +0 -0
  538. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/linux/egl/lib.py +0 -0
  539. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/linux/glx/__init__.py +0 -0
  540. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/linux/glx/glx.py +0 -0
  541. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/linux/glx/glxext_arb.py +0 -0
  542. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/linux/glx/glxext_mesa.py +0 -0
  543. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/linux/glx/glxext_nv.py +0 -0
  544. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/linux/glx/lib_glx.py +0 -0
  545. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/linux/ioctl.py +0 -0
  546. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/linux/wayland/__init__.py +0 -0
  547. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/linux/wayland/client.py +0 -0
  548. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/linux/wayland/gbm.py +0 -0
  549. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/linux/wayland/lib_wayland.py +0 -0
  550. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/linux/wayland/wayland_egl.py +0 -0
  551. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/linux/wayland/xkbcommon.py +0 -0
  552. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/linux/x11/__init__.py +0 -0
  553. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/linux/x11/cursorfont.py +0 -0
  554. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/linux/x11/xf86vmode.py +0 -0
  555. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/linux/x11/xinerama.py +0 -0
  556. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/linux/x11/xinput.py +0 -0
  557. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/linux/x11/xlib.py +0 -0
  558. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/linux/x11/xrandr.py +0 -0
  559. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/linux/x11/xrender.py +0 -0
  560. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/linux/x11/xsync.py +0 -0
  561. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/__init__.py +0 -0
  562. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/lib_harfbuzz.py +0 -0
  563. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/spirv/__init__.py +0 -0
  564. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/spirv/lib_shaderc.py +0 -0
  565. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/spirv/lib_spirv_cross.py +0 -0
  566. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/vulkan_lib/__init__.py +0 -0
  567. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/vulkan_lib/exceptions.py +0 -0
  568. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/vulkan_lib/func.py +0 -0
  569. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/vulkan_lib/func_helpers.py +0 -0
  570. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/vulkan_lib/vk_video.py +0 -0
  571. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/vulkan_lib/vk_video.pyi +0 -0
  572. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/vulkan_lib/vulkan_core.py +0 -0
  573. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/vulkan_lib/vulkan_core.pyi +0 -0
  574. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/vulkan_lib/vulkan_ios.py +0 -0
  575. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/vulkan_lib/vulkan_ios.pyi +0 -0
  576. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/vulkan_lib/vulkan_macos.py +0 -0
  577. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/vulkan_lib/vulkan_macos.pyi +0 -0
  578. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/vulkan_lib/vulkan_metal.py +0 -0
  579. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/vulkan_lib/vulkan_metal.pyi +0 -0
  580. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/vulkan_lib/vulkan_wayland.py +0 -0
  581. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/vulkan_lib/vulkan_wayland.pyi +0 -0
  582. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/vulkan_lib/vulkan_win32.py +0 -0
  583. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/vulkan_lib/vulkan_win32.pyi +0 -0
  584. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/vulkan_lib/vulkan_xcb.py +0 -0
  585. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/vulkan_lib/vulkan_xcb.pyi +0 -0
  586. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/vulkan_lib/vulkan_xlib.py +0 -0
  587. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/vulkan_lib/vulkan_xlib.pyi +0 -0
  588. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/vulkan_lib/vulkan_xlib_xrandr.py +0 -0
  589. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/shared/vulkan_lib/vulkan_xlib_xrandr.pyi +0 -0
  590. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/win32/com.py +0 -0
  591. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/win32/dinput.py +0 -0
  592. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/win32/lib_wgl.py +0 -0
  593. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/win32/libwintab.py +0 -0
  594. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/win32/wgl.py +0 -0
  595. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/win32/wglext_arb.py +0 -0
  596. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/win32/wincodec.py +0 -0
  597. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/libs/win32/winkey.py +0 -0
  598. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/math.py +0 -0
  599. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/__init__.py +0 -0
  600. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/buffered_logger.py +0 -0
  601. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/codecs/__init__.py +0 -0
  602. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/codecs/base.py +0 -0
  603. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/codecs/coreaudio.py +0 -0
  604. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/codecs/ffmpeg.py +0 -0
  605. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/codecs/ffmpeg_lib/__init__.py +0 -0
  606. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/codecs/ffmpeg_lib/compat.py +0 -0
  607. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/codecs/ffmpeg_lib/libavcodec.py +0 -0
  608. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/codecs/ffmpeg_lib/libavformat.py +0 -0
  609. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/codecs/ffmpeg_lib/libavutil.py +0 -0
  610. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/codecs/ffmpeg_lib/libswresample.py +0 -0
  611. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/codecs/ffmpeg_lib/libswscale.py +0 -0
  612. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/codecs/gstreamer.py +0 -0
  613. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/codecs/pyogg.py +0 -0
  614. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/codecs/wave.py +0 -0
  615. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/codecs/webaudio_pyodide.py +0 -0
  616. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/codecs/wmf.py +0 -0
  617. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/devices/__init__.py +0 -0
  618. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/devices/base.py +0 -0
  619. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/devices/win32.py +0 -0
  620. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/drivers/__init__.py +0 -0
  621. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/drivers/base.py +0 -0
  622. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/drivers/directsound/__init__.py +0 -0
  623. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/drivers/directsound/adaptation.py +0 -0
  624. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/drivers/directsound/exceptions.py +0 -0
  625. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/drivers/directsound/interface.py +0 -0
  626. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/drivers/directsound/lib_dsound.py +0 -0
  627. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/drivers/listener.py +0 -0
  628. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/drivers/openal/__init__.py +0 -0
  629. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/drivers/openal/adaptation.py +0 -0
  630. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/drivers/openal/interface.py +0 -0
  631. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/drivers/openal/lib_alc.py +0 -0
  632. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/drivers/openal/lib_openal.py +0 -0
  633. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/drivers/pulse/__init__.py +0 -0
  634. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/drivers/pulse/adaptation.py +0 -0
  635. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/drivers/pulse/interface.py +0 -0
  636. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/drivers/pulse/lib_pulseaudio.py +0 -0
  637. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/drivers/pyodide_js/__init__.py +0 -0
  638. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/drivers/pyodide_js/adaptation.py +0 -0
  639. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/drivers/silent/__init__.py +0 -0
  640. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/drivers/silent/adaptation.py +0 -0
  641. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/drivers/xaudio2/__init__.py +0 -0
  642. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/drivers/xaudio2/adaptation.py +0 -0
  643. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/drivers/xaudio2/interface.py +0 -0
  644. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/drivers/xaudio2/lib_xaudio2.py +0 -0
  645. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/exceptions.py +0 -0
  646. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/instrumentation.py +0 -0
  647. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/player.py +0 -0
  648. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/player_worker_thread.py +0 -0
  649. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/media/synthesis.py +0 -0
  650. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/model/__init__.py +0 -0
  651. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/model/codecs/__init__.py +0 -0
  652. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/model/codecs/base.py +0 -0
  653. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/model/codecs/gltf.py +0 -0
  654. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/model/codecs/obj.py +0 -0
  655. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/py.typed +0 -0
  656. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/resource.py +0 -0
  657. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/text/__init__.py +0 -0
  658. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/text/caret.py +0 -0
  659. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/text/document.py +0 -0
  660. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/text/formats/__init__.py +0 -0
  661. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/text/formats/attributed.py +0 -0
  662. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/text/formats/html.py +0 -0
  663. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/text/formats/plaintext.py +0 -0
  664. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/text/formats/structured.py +0 -0
  665. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/text/layout/__init__.py +0 -0
  666. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/text/layout/base.py +0 -0
  667. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/text/layout/incremental.py +0 -0
  668. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/text/layout/scrolling.py +0 -0
  669. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/text/runlist.py +0 -0
  670. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/util.py +0 -0
  671. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/window/cocoa/pyglet_delegate.py +0 -0
  672. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/window/cocoa/pyglet_textview.py +0 -0
  673. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/window/cocoa/pyglet_window.py +0 -0
  674. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/window/cocoa/systemcursor.py +0 -0
  675. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/window/dialog/__init__.py +0 -0
  676. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/window/dialog/base.py +0 -0
  677. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/window/dialog/darwin.py +0 -0
  678. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/window/dialog/linux.py +0 -0
  679. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/window/dialog/windows.py +0 -0
  680. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/window/event.py +0 -0
  681. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/window/key.py +0 -0
  682. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pyglet/window/mouse.py +0 -0
  683. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/pytest.ini +0 -0
  684. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/setup.py +0 -0
  685. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/__init__.py +0 -0
  686. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/annotations.py +0 -0
  687. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/base/__init__.py +0 -0
  688. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/base/data.py +0 -0
  689. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/base/event_loop.py +0 -0
  690. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/base/interactive.py +0 -0
  691. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/base/performance.py +0 -0
  692. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/conftest.py +0 -0
  693. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/fonts/README +0 -0
  694. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/fonts/action_man.ttf +0 -0
  695. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/fonts/action_man_atlas.png +0 -0
  696. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/fonts/action_man_bold.ttf +0 -0
  697. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/fonts/action_man_bold_italic.ttf +0 -0
  698. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/fonts/action_man_italic.ttf +0 -0
  699. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/fonts/courR12-ISO8859-1.pcf +0 -0
  700. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/8bpp.gif +0 -0
  701. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/cursor.png +0 -0
  702. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/dinosaur.gif +0 -0
  703. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/gdk_close.png +0 -0
  704. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/grey_background.png +0 -0
  705. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/icon1.png +0 -0
  706. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/icon_size1.png +0 -0
  707. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/icon_size2.png +0 -0
  708. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/icon_size3.png +0 -0
  709. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/icon_size4.png +0 -0
  710. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/icon_size5.png +0 -0
  711. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/l.png +0 -0
  712. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/la.png +0 -0
  713. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/multitexture.png +0 -0
  714. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/rgb.png +0 -0
  715. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/rgb_16bpp.bmp +0 -0
  716. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/rgb_1bpp.bmp +0 -0
  717. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/rgb_24bpp.bmp +0 -0
  718. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/rgb_32bpp.bmp +0 -0
  719. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/rgb_4bpp.bmp +0 -0
  720. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/rgb_8bpp.bmp +0 -0
  721. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/rgb_8bpp.png +0 -0
  722. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/rgb_8bpp_trans.png +0 -0
  723. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/rgb_bc6s.dds +0 -0
  724. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/rgb_dxt1.dds +0 -0
  725. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/rgba.png +0 -0
  726. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/rgba_32bpp.bmp +0 -0
  727. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/rgba_bc7.dds +0 -0
  728. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/rgba_bc7.ktx2 +0 -0
  729. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/rgba_dxt1.dds +0 -0
  730. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/rgba_dxt3.dds +0 -0
  731. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/rgba_dxt5.dds +0 -0
  732. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/images/tests.interactive.test_interactive_test_base._Test.test_1.001.png +0 -0
  733. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/media/README +0 -0
  734. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/media/alert.wav +0 -0
  735. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/media/login.wav +0 -0
  736. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/media/logout.wav +0 -0
  737. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/media/receive.wav +0 -0
  738. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/media/send.wav +0 -0
  739. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/media/synthesis_sawtooth_16_11025_1ch.wav +0 -0
  740. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/media/synthesis_sawtooth_16_44800_1ch.wav +0 -0
  741. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/media/synthesis_silence_16_11025_1ch.wav +0 -0
  742. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/media/synthesis_silence_16_44800_1ch.wav +0 -0
  743. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/media/synthesis_simplefm_16_11025_1ch.wav +0 -0
  744. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/media/synthesis_simplefm_16_44800_1ch.wav +0 -0
  745. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/media/synthesis_sine_16_11025_1ch.wav +0 -0
  746. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/media/synthesis_sine_16_44800_1ch.wav +0 -0
  747. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/media/synthesis_square_16_11025_1ch.wav +0 -0
  748. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/media/synthesis_square_16_44800_1ch.wav +0 -0
  749. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/media/synthesis_triangle_16_11025_1ch.wav +0 -0
  750. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/media/synthesis_triangle_16_44800_1ch.wav +0 -0
  751. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/models/logo3d.mtl +0 -0
  752. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/data/models/logo3d.obj +0 -0
  753. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/__init__.py +0 -0
  754. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/app/__init__.py +0 -0
  755. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/app/test_eventloop.py +0 -0
  756. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/conftest.py +0 -0
  757. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/font/__init__.py +0 -0
  758. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/font/test_font.py +0 -0
  759. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/font/test_freetype_face.py +0 -0
  760. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/graphics/__init__.py +0 -0
  761. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/graphics/gl2/test_gl2_buffers.py +0 -0
  762. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/graphics/opengl_core/__init__.py +0 -0
  763. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/graphics/opengl_core/test_opengl_instancing.py +0 -0
  764. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/graphics/test_allocation.py +0 -0
  765. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/graphics/test_atlas_bins.py +0 -0
  766. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/graphics/test_batch_migration.py +0 -0
  767. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/graphics/test_compute_shader.py +0 -0
  768. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/graphics/test_framebuffer.py +0 -0
  769. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/graphics/test_objects.py +0 -0
  770. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/graphics/test_resource_texture_transforms.py +0 -0
  771. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/graphics/test_shaders.py +0 -0
  772. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/graphics/test_texture2d.py +0 -0
  773. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/graphics/test_texture3d.py +0 -0
  774. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/graphics/test_texture_mipmaps.py +0 -0
  775. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/graphics/test_texturearray.py +0 -0
  776. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/graphics/test_texturegrid.py +0 -0
  777. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/graphics/test_vertex_list.py +0 -0
  778. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/graphics/test_window_backend_config.py +0 -0
  779. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/image/__init__.py +0 -0
  780. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/image/test_gdkpixbuf2.py +0 -0
  781. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/image/test_imagegrid.py +0 -0
  782. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/libs/__init__.py +0 -0
  783. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/libs/darwin/__init__.py +0 -0
  784. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/libs/darwin/cocoapy/__init__.py +0 -0
  785. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/libs/darwin/cocoapy/test_cocoalibs.py +0 -0
  786. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/media/__init__.py +0 -0
  787. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/media/mock_player.py +0 -0
  788. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/media/test_directsound.py +0 -0
  789. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/media/test_driver.py +0 -0
  790. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/media/test_ffmpeg.py +0 -0
  791. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/media/test_listener.py +0 -0
  792. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/media/test_loading.py +0 -0
  793. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/media/test_openal.py +0 -0
  794. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/media/test_player.py +0 -0
  795. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/media/test_pulse.py +0 -0
  796. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/model/__init__.py +0 -0
  797. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/model/test_loading.py +0 -0
  798. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/platform/__init__.py +0 -0
  799. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/platform/test_win_context_managers.py +0 -0
  800. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/platform/test_win_multicore_clock.py +0 -0
  801. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/resource/__init__.py +0 -0
  802. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/resource/dir1/dir1/f3.txt +0 -0
  803. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/resource/dir1/f2.txt +0 -0
  804. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/resource/dir1/res.zip +0 -0
  805. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/resource/dir2/f6.txt +0 -0
  806. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/resource/f1.txt +0 -0
  807. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/resource/rgbm.png +0 -0
  808. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/resource/test_resource_loading.py +0 -0
  809. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/test_integrations.py +0 -0
  810. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/text/__init__.py +0 -0
  811. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/text/test_empty_document.py +0 -0
  812. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/text/test_label_creation.py +0 -0
  813. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/text/test_layout.py +0 -0
  814. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/window/__init__.py +0 -0
  815. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/window/test_context_share.py +0 -0
  816. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/window/test_event_sequence.py +0 -0
  817. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/integration/window/test_window_caption.py +0 -0
  818. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/__init__.py +0 -0
  819. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/conftest.py +0 -0
  820. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/image/__init__.py +0 -0
  821. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/image/test_image.py +0 -0
  822. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/media/__init__.py +0 -0
  823. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/media/test_player.py +0 -0
  824. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/screenshots/committed/README +0 -0
  825. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/screenshots/session/README +0 -0
  826. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/shapes/test_shapes.py +0 -0
  827. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/test_interactive_test_base.py +0 -0
  828. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/text/__init__.py +0 -0
  829. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/text/test_caret_color.py +0 -0
  830. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/text/test_content_valign.py +0 -0
  831. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/text/test_html.py +0 -0
  832. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/text/test_inline_elements.py +0 -0
  833. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/text/test_inline_elements_style_change.py +0 -0
  834. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/text/test_layout_anchoring.py +0 -0
  835. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/text/test_multiline_wrap.py +0 -0
  836. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/text/test_plain.py +0 -0
  837. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/text/test_style.py +0 -0
  838. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/window/__init__.py +0 -0
  839. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/window/test_window_events.py +0 -0
  840. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/window/test_window_fullscreen.py +0 -0
  841. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/window/test_window_modes.py +0 -0
  842. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/window/test_window_multisample.py +0 -0
  843. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/window/test_window_open.py +0 -0
  844. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/window/test_window_settings.py +0 -0
  845. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/window/test_window_styles.py +0 -0
  846. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/interactive/windowed_test_base.py +0 -0
  847. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/requirements.txt +0 -0
  848. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/__init__.py +0 -0
  849. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/conftest.py +0 -0
  850. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/libs/__init__.py +0 -0
  851. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/libs/darwin/__init__.py +0 -0
  852. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/libs/darwin/cocoapy/__init__.py +0 -0
  853. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/libs/darwin/cocoapy/test_cocoalibs.py +0 -0
  854. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/math/__init__.py +0 -0
  855. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/math/test_mat.py +0 -0
  856. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/math/test_quat.py +0 -0
  857. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/math/test_vec2.py +0 -0
  858. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/math/test_vec3.py +0 -0
  859. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/math/test_vec4.py +0 -0
  860. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/media/__init__.py +0 -0
  861. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/media/test_player.py +0 -0
  862. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/media/test_sources.py +0 -0
  863. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/media/test_synthesis.py +0 -0
  864. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/platform/__init__.py +0 -0
  865. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/platform/test_mac_objc.py +0 -0
  866. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/shader/__init__.py +0 -0
  867. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/shader/conftest.py +0 -0
  868. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/shader/test_shader.py-SUSPENDED +0 -0
  869. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/shapes/__init__.py +0 -0
  870. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/shapes/conftest.py +0 -0
  871. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/shapes/test_shapes.py +0 -0
  872. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/test_atlas.py +0 -0
  873. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/test_clock.py +0 -0
  874. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/test_clock_freq.py +0 -0
  875. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/test_image_data.py +0 -0
  876. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/test_input.py +0 -0
  877. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/test_resource_path.py +0 -0
  878. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/test_sprite.py +0 -0
  879. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/text/__init__.py +0 -0
  880. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/text/test_caret.py +0 -0
  881. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tests/unit/text/test_text.py +0 -0
  882. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/al_info.py +0 -0
  883. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/ffmpeg/bokeh_timeline.py +0 -0
  884. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/ffmpeg/compare.py +0 -0
  885. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/ffmpeg/configure.py +0 -0
  886. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/ffmpeg/extractors.py +0 -0
  887. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/ffmpeg/fs.py +0 -0
  888. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/ffmpeg/mp.py +0 -0
  889. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/ffmpeg/mpexceptions.py +0 -0
  890. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/ffmpeg/playmany.py +0 -0
  891. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/ffmpeg/readme_ffmpeg_debbuging_branch.txt +0 -0
  892. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/ffmpeg/readme_run_tests.txt +0 -0
  893. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/ffmpeg/report.py +0 -0
  894. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/ffmpeg/reports.py +0 -0
  895. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/ffmpeg/retry_crashed.py +0 -0
  896. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/ffmpeg/run_test_suite.py +0 -0
  897. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/ffmpeg/summarize.py +0 -0
  898. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/ffmpeg/test_instrumentation.py +0 -0
  899. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/ffmpeg/timeline.py +0 -0
  900. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/gencontrollerdb.py +0 -0
  901. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/gengl.py +0 -0
  902. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/genwrappers.py +0 -0
  903. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/gl.template +0 -0
  904. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/gl.xml +0 -0
  905. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/gl_info.py +0 -0
  906. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/gl_stub.template +0 -0
  907. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/inspect_font.py +0 -0
  908. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/pyodide/dev_style.css +0 -0
  909. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/pyodide/example.py +0 -0
  910. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/pyodide/gen_pyodide_project.py +0 -0
  911. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/pyodide/index.html +0 -0
  912. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/pyodide/run_webgl_smoke.py +0 -0
  913. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/pyodide/script.js +0 -0
  914. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/requirements.txt +0 -0
  915. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/wgl.h +0 -0
  916. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/wraptypes/__init__.py +0 -0
  917. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/wraptypes/cparser.py +0 -0
  918. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/wraptypes/ctypesparser.py +0 -0
  919. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/wraptypes/lex.py +0 -0
  920. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/wraptypes/preprocessor.py +0 -0
  921. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/wraptypes/wrap.py +0 -0
  922. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/tools/wraptypes/yacc.py +0 -0
  923. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/LICENSE.txt +0 -0
  924. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/README.rst +0 -0
  925. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/assets/favicon.ico +0 -0
  926. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/assets/static/css/example-custom-styles.css +0 -0
  927. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/assets/static/images/pyglet.png +0 -0
  928. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/content/404.html/contents.lr +0 -0
  929. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/content/404.html/ngc-5793.jpg +0 -0
  930. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/content/authors/benjamin/contents.lr +0 -0
  931. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/content/authors/benjamin/pyglet.png +0 -0
  932. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/content/authors/contents.lr +0 -0
  933. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/content/blog/contents.lr +0 -0
  934. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/content/blog/welcome-blog/contents.lr +0 -0
  935. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/content/contents.lr +0 -0
  936. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/content/eclipse.jpg +0 -0
  937. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/pyglet.lektorproject +0 -0
  938. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/AUTHORS.txt +0 -0
  939. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/CHANGELOG.md +0 -0
  940. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/CONTRIBUTING.md +0 -0
  941. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/LICENSE.txt +0 -0
  942. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/NOTICE.txt +0 -0
  943. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/README.md +0 -0
  944. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/assets/static/css/bootstrap.css +0 -0
  945. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/assets/static/css/icomoon.css +0 -0
  946. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/assets/static/css/magnific-popup.css +0 -0
  947. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/assets/static/css/style.css +0 -0
  948. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  949. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  950. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
  951. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/assets/static/fonts/icomoon/icomoon.ttf +0 -0
  952. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/assets/static/fonts/icomoon/icomoon.woff +0 -0
  953. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/assets/static/images/Preloader_2.gif +0 -0
  954. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/assets/static/images/placeholder_person.png +0 -0
  955. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/assets/static/js/jquery-3.3.1.min.js +0 -0
  956. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/assets/static/js/jquery.easing.min.js +0 -0
  957. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/assets/static/js/jquery.magnific-popup.min.js +0 -0
  958. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/assets/static/js/jquery.stellar.js +0 -0
  959. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/assets/static/js/jquery.stellar.min.js +0 -0
  960. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/assets/static/js/jquery.waypoints.min.js +0 -0
  961. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/assets/static/js/magnific-popup-options.js +0 -0
  962. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/assets/static/js/main-singlelayout.js +0 -0
  963. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/assets/static/js/main.js +0 -0
  964. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/flowblocks/content.ini +0 -0
  965. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/flowblocks/gallery.ini +0 -0
  966. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/flowblocks/gallery_item.ini +0 -0
  967. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/flowblocks/member.ini +0 -0
  968. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/flowblocks/mission.ini +0 -0
  969. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/flowblocks/mission_tab.ini +0 -0
  970. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/flowblocks/service.ini +0 -0
  971. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/flowblocks/services.ini +0 -0
  972. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/flowblocks/team.ini +0 -0
  973. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/images/blog-index.png +0 -0
  974. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/images/full-blog.png +0 -0
  975. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/images/full-page.png +0 -0
  976. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/images/gallery-404.png +0 -0
  977. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/images/gallery-singlepage.png +0 -0
  978. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/images/mainpage-screenshots.png +0 -0
  979. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/images/responsive-layout.png +0 -0
  980. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/models/404.ini +0 -0
  981. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/models/author.ini +0 -0
  982. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/models/authors.ini +0 -0
  983. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/models/blog-post.ini +0 -0
  984. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/models/blog.ini +0 -0
  985. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/models/page.ini +0 -0
  986. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/models/single-layout.ini +0 -0
  987. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/templates/404.html +0 -0
  988. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/templates/author.html +0 -0
  989. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/templates/authors.html +0 -0
  990. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/templates/blocks/content.html +0 -0
  991. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/templates/blocks/gallery.html +0 -0
  992. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/templates/blocks/mission.html +0 -0
  993. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/templates/blocks/services.html +0 -0
  994. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/templates/blocks/team.html +0 -0
  995. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/templates/blog-layout.html +0 -0
  996. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/templates/blog-post.html +0 -0
  997. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/templates/blog.html +0 -0
  998. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/templates/layout.html +0 -0
  999. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/templates/macros/blog.html +0 -0
  1000. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/templates/macros/pagination.html +0 -0
  1001. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/templates/none.html +0 -0
  1002. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/templates/page.html +0 -0
  1003. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/templates/single-layout.html +0 -0
  1004. {pyglet-3.0.dev4 → pyglet-3.0.dev6}/website/themes/lektor-icon/theme.ini +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyglet
3
- Version: 3.0.dev4
3
+ Version: 3.0.dev6
4
4
  Summary: pyglet is a cross-platform games and multimedia package.
5
5
  Author-email: Alex Holkner & contributors <Alex.Holkner@gmail.com>
6
- Requires-Python: >=3.8
6
+ Requires-Python: >=3.10
7
7
  Description-Content-Type: text/markdown
8
8
  License-File: LICENSE
9
9
  Project-URL: Home, https://pyglet.org
@@ -33,7 +33,7 @@ class DistFieldGroup(pyglet.sprite.SpriteGroup):
33
33
  def __init__(self, texture: Texture, blend_src: BlendFactor, blend_dest: BlendFactor, program: ShaderProgram,
34
34
  parent: Group | None = None) -> None:
35
35
  super().__init__(texture, blend_src, blend_dest, program, parent)
36
- self.add_state(DepthFieldUniforms(program))
36
+ self.set_state(DepthFieldUniforms(program))
37
37
 
38
38
 
39
39
  class DistFieldSprite(pyglet.sprite.Sprite):
@@ -246,7 +246,7 @@ class SVG:
246
246
  shader_group = ShaderGroup(self.shader)
247
247
  self.line_group = Group(parent=shader_group)
248
248
  self.line_group.set_blend(BlendFactor.SRC_ALPHA, BlendFactor.ONE_MINUS_SRC_ALPHA)
249
- self.line_group.add_state(LineSmoothState())
249
+ self.line_group.set_state(LineSmoothState())
250
250
 
251
251
  dom = xml.dom.minidom.parse(filename)
252
252
  svg_tag = dom.documentElement
@@ -42,6 +42,7 @@ If you are migrating from an older version of pyglet, please read through
42
42
  programming_guide/installation
43
43
  programming_guide/quickstart
44
44
  programming_guide/windowing
45
+ programming_guide/camera
45
46
  programming_guide/keyboard
46
47
  programming_guide/mouse
47
48
  programming_guide/input
@@ -53,6 +54,7 @@ If you are migrating from an older version of pyglet, please read through
53
54
  programming_guide/resources
54
55
  programming_guide/texture
55
56
  programming_guide/rendering
57
+ programming_guide/camera
56
58
  programming_guide/events
57
59
  programming_guide/gui
58
60
  programming_guide/time
@@ -6,6 +6,7 @@ pyglet.window
6
6
  .. toctree::
7
7
  :maxdepth: 1
8
8
 
9
+ window_camera
9
10
  dialog
10
11
  window_key
11
12
  window_mouse
@@ -89,6 +90,7 @@ Classes
89
90
  .. autoattribute:: context
90
91
  .. autoattribute:: display
91
92
  .. autoattribute:: dpi
93
+ .. autoattribute:: default_camera
92
94
  .. autoattribute:: fullscreen
93
95
  .. autoattribute:: has_exit
94
96
  .. autoattribute:: height
@@ -0,0 +1,131 @@
1
+ .. _guide_camera:
2
+
3
+ Cameras and Views
4
+ =================
5
+
6
+ Pyglet provides camera scopes in :py:mod:`pyglet.window.camera` for 2D and 3D rendering.
7
+ For common 2D workflows, use :py:class:`~pyglet.window.camera.Camera2D`. By default, the
8
+ window is created with a 2D camera.
9
+
10
+ Default camera behavior
11
+ -----------------------
12
+
13
+ Every window has a default camera at :py:attr:`pyglet.window.Window.default_camera`.
14
+ The :py:attr:`~pyglet.window.Window.projection`, :py:attr:`~pyglet.window.Window.view`,
15
+ and :py:attr:`~pyglet.window.Window.viewport` properties proxy directly to it.
16
+
17
+ The default camera is initialized with the window context creation and applies itself
18
+ automatically.
19
+
20
+ Creating a camera
21
+ -----------------
22
+
23
+ Create cameras from a window, and optionally configure scroll/zoom behavior::
24
+
25
+ window = pyglet.window.Window()
26
+
27
+ world_camera = pyglet.window.camera.Camera2D(
28
+ window,
29
+ scroll_speed=5,
30
+ min_zoom=1,
31
+ max_zoom=4,
32
+ )
33
+ gui_camera = pyglet.window.camera.Camera2D(window)
34
+
35
+ world_camera.zoom += 0.25
36
+ world_camera.move(1, 0)
37
+ world_camera.position = (50, 0)
38
+
39
+
40
+ Creating views
41
+ --------------
42
+
43
+ A camera can have multiple views. Views let you scope additional transforms and scissor
44
+ areas inside one camera.
45
+
46
+ Use ``camera.create_view()`` for additional view scopes. This is useful for parallax
47
+ layers, minimaps, and nested local transforms::
48
+
49
+ window = pyglet.window.Window()
50
+
51
+ ui_camera = pyglet.window.camera.Camera2D(window)
52
+ inherited_view = ui_camera.create_view(inherit=True) # Inherits parent transform chain.
53
+ independent_view = ui_camera.create_view(inherit=False) # Parented to camera root view.
54
+
55
+ Views share the camera's viewport/projection behavior and can be used anywhere a camera
56
+ scope is expected.
57
+
58
+ Views can also be created from other views. For example::
59
+
60
+ ui_camera = pyglet.window.camera.Camera2D(window)
61
+ scroll_box_a = ui_camera.create_view()
62
+ scroll_box_b = scroll_box_a.create_view()
63
+
64
+ If ``scroll_box_a`` moves or zooms, ``scroll_box_b`` inherits those changes.
65
+
66
+ Using camera scopes with batches
67
+ --------------------------------
68
+
69
+ Cameras can be used to target a specific batch instead of groups::
70
+
71
+ @window.event
72
+ def on_draw():
73
+ window.clear()
74
+
75
+ with world_batch.draw_with_options() as options:
76
+ options.camera = world_camera
77
+
78
+ with gui_batch.draw_with_options() as options:
79
+ options.camera = gui_camera
80
+
81
+
82
+ Using camera scopes in groups
83
+ -----------------------------
84
+
85
+ Attach camera scopes to groups with ``Group.set_camera``::
86
+
87
+ world_group = pyglet.graphics.Group(order=0)
88
+ world_group.set_camera(world_camera)
89
+
90
+ ui_group = pyglet.graphics.Group(order=1)
91
+ ui_group.set_camera(window.default_camera)
92
+
93
+ pyglet.sprite.Sprite(world_image, batch=batch, group=world_group)
94
+ pyglet.text.Label("HUD", batch=batch, group=ui_group)
95
+
96
+
97
+ .. note:: ``Group.set_camera`` applies camera state at draw entry by calling ``begin()``.
98
+ It does not call ``end()`` during group unsetting.
99
+
100
+ Viewport
101
+ --------
102
+
103
+ Each camera has a ``viewport`` in framebuffer coordinates::
104
+
105
+ world_camera.viewport = (0, 0, window.width // 2, window.height)
106
+
107
+ By default, viewport follows the full framebuffer and updates on resize/scale events.
108
+ Setting a tuple makes viewport explicit, and will no longer update automatically. In those
109
+ cases you will have to update your viewport coordinates explicitly.
110
+
111
+ Scissor
112
+ -------
113
+
114
+ Scissor clipping can be set on both cameras and views.
115
+
116
+ Use ``set_scissor_area(...)`` for fixed window-space clipping::
117
+
118
+ world_camera.set_scissor_area(0, 0, window.width // 2, window.height)
119
+
120
+ Use ``set_scissor_area_relative(...)`` when clipping should move with the
121
+ camera/view transform::
122
+
123
+ moving_panel = ui_camera.create_view(inherit=True)
124
+ moving_panel.set_scissor_area_relative(40, 40, 280, 160)
125
+ moving_panel.offset_x += 16 # Scissor follows the moved view
126
+
127
+ When a camera/view is applied through ``Group.set_camera``, pyglet automatically applies
128
+ matching scissor state for that group.
129
+
130
+ For nested views, the effective scissor is the intersection of all scissor areas in the
131
+ view chain.
@@ -120,14 +120,13 @@ for the following reasons:
120
120
  With that out of the way, a manual event loop usually has the following form::
121
121
 
122
122
  while True:
123
- pyglet.clock.tick()
123
+ dt = pyglet.clock.tick()
124
124
  pyglet.app.platform_event_loop.step(timeout)
125
125
 
126
126
  for window in pyglet.app.windows:
127
127
  window.switch_to()
128
128
  window.dispatch_events()
129
- window.dispatch_event('on_draw')
130
- window.flip()
129
+ window.draw(dt)
131
130
 
132
131
  The call to :py:func:`pyglet.clock.tick` is required for ensuring scheduled
133
132
  functions are called, including the internal data pump functions for playing
@@ -98,6 +98,30 @@ Instead, to draw an image, create a py:class:`~pyglet.sprite.Sprite` and constru
98
98
  Additionally, ``ImageData.get_data`` and ``ImageData.set_data`` have been removed after being deprecated. Use
99
99
  ``ImageData.get_bytes`` and ``ImageData.set_bytes`` instead (the same applies to ``ImageDataRegion``).
100
100
 
101
+ Removed image buffer APIs
102
+ -------------------------
103
+ The legacy ``pyglet.image`` buffer API has been removed.
104
+
105
+ The following names have been removed:
106
+
107
+ * ``pyglet.image.BufferManager``
108
+ * ``pyglet.image.get_buffer_manager``
109
+ * ``pyglet.image.BufferImage``
110
+ * ``pyglet.image.ColorBufferImage``
111
+ * ``pyglet.image.DepthBufferImage``
112
+ * ``pyglet.image.BufferImageMask``
113
+
114
+ For explicit framebuffer objects, use
115
+ :py:class:`pyglet.graphics.framebuffer.Framebuffer`.
116
+
117
+ For screenshots, replace this pattern::
118
+
119
+ pyglet.image.get_buffer_manager().get_color_buffer().save('screenshot.png')
120
+
121
+ With::
122
+
123
+ pyglet.graphics.framebuffer.get_screenshot().save("screenshot.png")
124
+
101
125
 
102
126
  Resource Image and Texture Loading
103
127
  ----------------------------------
@@ -1,5 +1,5 @@
1
- sphinx==9.1.0
1
+ sphinx==9.0.4
2
2
  sphinx_rtd_theme==3.1.0
3
3
  readthedocs-sphinx-search==0.3.2
4
- sphinx-autodoc-typehints==3.10.2
4
+ sphinx-autodoc-typehints==3.6.1
5
5
  pytest
@@ -0,0 +1,152 @@
1
+ """Uniform Buffer Object region example.
2
+
3
+ This example uses one shader program with three material UBO regions. Each
4
+ group binds a different region before its shape is drawn.
5
+ """
6
+
7
+ from __future__ import annotations
8
+
9
+ import math
10
+
11
+ import pyglet
12
+ from pyglet.enums import GeometryMode, GraphicsAPI
13
+
14
+
15
+ if pyglet.options.backend != GraphicsAPI.OPENGL:
16
+ raise RuntimeError("This example uses OpenGL 3.3 shader syntax. Run it with the OpenGL backend.")
17
+
18
+
19
+ window = pyglet.window.Window(width=720, height=480, caption="Uniform Buffer Object", resizable=True)
20
+ batch = pyglet.graphics.Batch()
21
+
22
+
23
+ vertex_source = """#version 330 core
24
+ in vec2 position;
25
+
26
+ uniform WindowBlock
27
+ {
28
+ mat4 projection;
29
+ mat4 view;
30
+ } window;
31
+
32
+ layout(std140) uniform MaterialBlock
33
+ {
34
+ vec4 color;
35
+ vec4 offset_scale;
36
+ } material;
37
+
38
+ out vec4 vertex_color;
39
+
40
+ void main()
41
+ {
42
+ vec2 scaled_position = position * material.offset_scale.zw;
43
+ vec2 world_position = scaled_position + material.offset_scale.xy;
44
+ gl_Position = window.projection * window.view * vec4(world_position, 0.0, 1.0);
45
+ vertex_color = material.color;
46
+ }
47
+ """
48
+
49
+ fragment_source = """#version 330 core
50
+ in vec4 vertex_color;
51
+ out vec4 final_color;
52
+
53
+ void main()
54
+ {
55
+ final_color = vertex_color;
56
+ }
57
+ """
58
+
59
+ program = pyglet.graphics.ShaderProgram(
60
+ pyglet.graphics.Shader(vertex_source, "vertex"),
61
+ pyglet.graphics.Shader(fragment_source, "fragment"),
62
+ )
63
+
64
+ material_block = program.uniform_blocks["MaterialBlock"]
65
+
66
+
67
+ def create_material(color: tuple[float, float, float, float],
68
+ offset_scale: tuple[float, float, float, float]):
69
+ region = material_block.create_ubo_region()
70
+ # When creating the material, ensure it has some initial data.
71
+ with region as material_region:
72
+ material_region.color[:] = color
73
+ material_region.offset_scale[:] = offset_scale
74
+ return region
75
+
76
+
77
+ triangle_vertices = (
78
+ -0.6, -0.5,
79
+ 0.6, -0.5,
80
+ 0.0, 0.6,
81
+ )
82
+
83
+ quad_vertices = (
84
+ -0.5, -0.5,
85
+ 0.5, -0.5,
86
+ 0.5, 0.5,
87
+ -0.5, 0.5,
88
+ )
89
+
90
+ materials = [
91
+ create_material((0.95, 0.30, 0.22, 1.0), (160.0, 240.0, 100.0, 100.0)),
92
+ create_material((0.18, 0.64, 0.96, 1.0), (360.0, 240.0, 120.0, 120.0)),
93
+ create_material((0.90, 0.82, 0.28, 1.0), (560.0, 240.0, 90.0, 90.0)),
94
+ ]
95
+ elapsed_time = 0.0
96
+
97
+ groups = []
98
+ # Give each separate material its own group, so the dirty regions can be committed during draw.
99
+ for material in materials:
100
+ group = pyglet.graphics.ShaderGroup(program)
101
+ group.set_uniform_buffer(material)
102
+ groups.append(group)
103
+
104
+ triangle_1 = program.vertex_list(
105
+ 3,
106
+ GeometryMode.TRIANGLES,
107
+ batch=batch,
108
+ group=groups[0],
109
+ position=("f", triangle_vertices),
110
+ )
111
+ triangle_2 = program.vertex_list_indexed(
112
+ 4,
113
+ GeometryMode.TRIANGLES,
114
+ indices=(0, 1, 2, 0, 2, 3),
115
+ batch=batch,
116
+ group=groups[1],
117
+ position=("f", quad_vertices),
118
+ )
119
+ triangle_3 = program.vertex_list(
120
+ 3,
121
+ GeometryMode.TRIANGLES,
122
+ batch=batch,
123
+ group=groups[2],
124
+ position=("f", triangle_vertices),
125
+ )
126
+
127
+
128
+ def update_materials(dt: float) -> None:
129
+ global elapsed_time
130
+ elapsed_time += dt
131
+
132
+ for index, region in enumerate(materials):
133
+ angle = elapsed_time * 1.6 + index * 2.1
134
+ center_x = 360.0 + math.cos(angle) * (120.0 + index * 18.0)
135
+ center_y = 240.0 + math.sin(angle * 0.8) * (70.0 + index * 12.0)
136
+
137
+ with region as material_region:
138
+ material_region.offset_scale[0] = center_x
139
+ material_region.offset_scale[1] = center_y
140
+
141
+
142
+ @window.event
143
+ def on_draw() -> None:
144
+ window.clear()
145
+ batch.draw()
146
+
147
+
148
+ pyglet.clock.schedule_interval(update_materials, 1 / 60)
149
+
150
+
151
+ if __name__ == "__main__":
152
+ pyglet.app.run()
@@ -0,0 +1,293 @@
1
+ """A basic first-person camera example using :mod:`pyglet.window.camera`."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import random
6
+ import weakref
7
+
8
+ import pyglet
9
+ from pyglet.math import Vec2, Vec3
10
+ from pyglet.window import key as _key
11
+ from pyglet.window.camera import FPSCamera
12
+
13
+
14
+ class FPSCameraControls:
15
+ """First-person controls from the old example, driving a camera object."""
16
+
17
+ def __init__(self, window: pyglet.window.Window, camera: FPSCamera) -> None:
18
+ """Initialize the controls."""
19
+ self._window = weakref.proxy(window)
20
+ self.camera = camera
21
+ self._exclusive_mouse = False
22
+
23
+ # Input from keyboard and controller
24
+ self.keyboard_move = Vec2()
25
+ self.mouse_look = Vec2()
26
+
27
+ self.controller_move = Vec2()
28
+ self.controller_look = Vec2()
29
+ self.dead_zone = 0.1
30
+ self._elevation = 0.0
31
+
32
+ # Keyboard input maps
33
+ self.input_map = { # Look up direction based on key symbol
34
+ _key.W: "forward",
35
+ _key.S: "backward",
36
+ _key.A: "left",
37
+ _key.D: "right",
38
+ _key.E: "up",
39
+ _key.Q: "down",
40
+ }
41
+ # Stores the direction string and the state of the direction
42
+ self.inputs = {direction: False for direction in self.input_map.values()}
43
+
44
+ self._window.push_handlers(self)
45
+ self.on_refresh(0.0)
46
+
47
+ @property
48
+ def position(self) -> Vec3:
49
+ return self.camera.position
50
+
51
+ @position.setter
52
+ def position(self, value: Vec3) -> None:
53
+ self.camera.position = value
54
+
55
+ @property
56
+ def pitch(self) -> float:
57
+ return self.camera.pitch
58
+
59
+ @pitch.setter
60
+ def pitch(self, value: float) -> None:
61
+ self.camera.pitch = value
62
+
63
+ @property
64
+ def yaw(self) -> float:
65
+ return self.camera.yaw
66
+
67
+ @yaw.setter
68
+ def yaw(self, value: float) -> None:
69
+ self.camera.yaw = value
70
+
71
+ @property
72
+ def field_of_view(self) -> float:
73
+ return self.camera.field_of_view
74
+
75
+ @field_of_view.setter
76
+ def field_of_view(self, value: float) -> None:
77
+ self.camera.field_of_view = value
78
+
79
+ @property
80
+ def near(self) -> float:
81
+ return self.camera.near
82
+
83
+ @near.setter
84
+ def near(self, value: float) -> None:
85
+ self.camera.near = value
86
+
87
+ @property
88
+ def far(self) -> float:
89
+ return self.camera.far
90
+
91
+ @far.setter
92
+ def far(self, value: float) -> None:
93
+ self.camera.far = value
94
+
95
+ @property
96
+ def walk_speed(self) -> float:
97
+ return self.camera.walk_speed
98
+
99
+ @walk_speed.setter
100
+ def walk_speed(self, value: float) -> None:
101
+ self.camera.walk_speed = value
102
+
103
+ @property
104
+ def look_speed(self) -> float:
105
+ return self.camera.look_speed
106
+
107
+ @look_speed.setter
108
+ def look_speed(self, value: float) -> None:
109
+ self.camera.look_speed = value
110
+
111
+ def on_refresh(self, delta_time: float) -> None:
112
+ """Called before the window content is drawn.
113
+
114
+ Runs every frame applying the camera movement.
115
+ """
116
+ look_speed = self.look_speed * delta_time
117
+
118
+ # Rotation - mouse
119
+ if self.mouse_look:
120
+ self.yaw += self.mouse_look.x * look_speed
121
+ self.pitch += self.mouse_look.y * look_speed
122
+ # Reset the relative mouse movement when done.
123
+ self.mouse_look = Vec2()
124
+
125
+ # Rotation - controller
126
+ if self.controller_look:
127
+ self.yaw += self.controller_look.x * look_speed * 20
128
+ self.pitch += self.controller_look.y * look_speed * 20
129
+
130
+ movement = Vec2()
131
+
132
+ # Translation - keyboard
133
+ if self.keyboard_move:
134
+ movement += self.keyboard_move
135
+
136
+ # Translation - controller
137
+ if self.controller_move:
138
+ movement += self.controller_move
139
+
140
+ if movement:
141
+ movement = movement.normalize()
142
+
143
+ self.camera.apply_movement_input(movement, self._elevation, delta_time)
144
+
145
+ def on_deactivate(self) -> None:
146
+ """Reset the movement states when the window loses focus."""
147
+ self.controller_look = Vec2()
148
+ self.controller_move = Vec2()
149
+
150
+ def teleport(self, position: Vec3, target: Vec3 | None = None) -> None:
151
+ """Teleport the camera to a new position."""
152
+ self.camera.teleport(position, target)
153
+
154
+ # --- Mouse input ---
155
+
156
+ def on_mouse_motion(self, _x: int, _y: int, dx: int, dy: int) -> None:
157
+ """Read the mouse input and update the camera's yaw and pitch."""
158
+ if not self._exclusive_mouse:
159
+ return
160
+
161
+ self.mouse_look = Vec2(dx, dy)
162
+
163
+ def on_mouse_press(self, _x: int, _y: int, _button: int, _modifiers: int) -> None:
164
+ """Capture the mouse input when the window is clicked."""
165
+ if not self._exclusive_mouse:
166
+ self._exclusive_mouse = True
167
+ self._window.set_exclusive_mouse(True)
168
+
169
+ # --- Keyboard input ---
170
+
171
+ def on_key_press(self, symbol: int, _modifiers: int) -> bool:
172
+ """Handle keyboard input."""
173
+ if direction := self.input_map.get(symbol):
174
+ self.inputs[direction] = True
175
+ forward, backward, left, right, up, down = self.inputs.values()
176
+ self.keyboard_move = Vec2(-float(left) + float(right), float(forward) + -float(backward)).normalize()
177
+ self._elevation = float(up) + -float(down)
178
+ return pyglet.event.EVENT_HANDLED
179
+
180
+ if symbol == pyglet.window.key.ESCAPE:
181
+ if not self._exclusive_mouse:
182
+ pyglet.app.exit()
183
+ self._exclusive_mouse = False
184
+ self._window.set_exclusive_mouse(False)
185
+ return pyglet.event.EVENT_HANDLED
186
+
187
+ return False
188
+
189
+ def on_key_release(self, symbol: int, _modifiers: int) -> bool:
190
+ """Handle keyboard input release."""
191
+ if direction := self.input_map.get(symbol):
192
+ self.inputs[direction] = False
193
+ forward, backward, left, right, up, down = self.inputs.values()
194
+ self.keyboard_move = Vec2(-float(left) + float(right), float(forward) + -float(backward)).normalize()
195
+ self._elevation = float(up) + -float(down)
196
+ return pyglet.event.EVENT_HANDLED
197
+
198
+ return False
199
+
200
+ # --- Controller input ---
201
+
202
+ def on_leftstick_motion(self, _controller: pyglet.input.Controller, vector: Vec2) -> None:
203
+ """Right Controller stick controlls the camera position."""
204
+ if vector.length() < self.dead_zone:
205
+ self.controller_move = Vec2()
206
+ else:
207
+ self.controller_move = vector
208
+
209
+ def on_rightstick_motion(self, _controller: pyglet.input.Controller, vector: Vec2) -> None:
210
+ """Right Controller stick controlls the camera rotation."""
211
+ if vector.length() >= self.dead_zone:
212
+ self.controller_look = vector
213
+ else:
214
+ self.controller_look = Vec2()
215
+
216
+ def on_lefttrigger_motion(self, _controller: pyglet.input.Controller, value: float) -> None:
217
+ """Left trigger lowers the elevation."""
218
+ self._elevation = -value
219
+
220
+ def on_righttrigger_motion(self, _controller: pyglet.input.Controller, value: float) -> None:
221
+ """Right trigger raises the elevation."""
222
+ self._elevation = value
223
+
224
+
225
+ window = pyglet.window.Window(resizable=True)
226
+ batch = pyglet.graphics.Batch()
227
+
228
+ # These .obj files only have a single model in the scene:
229
+ logo_model = pyglet.resource.scene("logo3d.obj").create_models(batch=batch)[0]
230
+ box_model = pyglet.resource.scene("box.obj").create_models(batch=batch)[0]
231
+
232
+ # You have to make at least one instance of a model for it to appear:
233
+ box_instance = box_model.create_instance(translation=Vec3(2.0, 0.0, 0.0))
234
+
235
+ # You can make as many instances as you want, with their own translation:
236
+ logo_instances = []
237
+ for _ in range(500):
238
+ x, y, z = random.uniform(-100, 100), random.uniform(1.0, 5.0), random.uniform(-100, 100)
239
+ logo_instances.append(logo_model.create_instance(translation=Vec3(x, y, z)))
240
+
241
+ # Create some sphere shapes (their centers are at y==0.0):
242
+ sphere_model = pyglet.model.Sphere(4.0, color=(0.3, 0.3, 1.0, 0.3), batch=batch)
243
+ sphere_instances = []
244
+ for _ in range(500):
245
+ x = random.uniform(-100, 100)
246
+ y = random.uniform(1.0, 5.0)
247
+ z = random.uniform(-100, 100)
248
+ sphere_instances.append(sphere_model.create_instance(translation=Vec3(x, y, z)))
249
+
250
+ # Create some capsule shapes (their bottoms start at y==0.0):
251
+ capsule_model = pyglet.model.Capsule(1.0, height=3.0, batch=batch)
252
+ capsule_instances = []
253
+ for _ in range(500):
254
+ x = random.uniform(-100, 100)
255
+ y = random.uniform(0.0, 5.0)
256
+ z = random.uniform(-100, 100)
257
+ capsule_instances.append(capsule_model.create_instance(translation=Vec3(x, y, z)))
258
+
259
+ # Make a "floor", positioned so its top is at y==0.0:
260
+ floor_model = pyglet.model.Cube(width=999, height=1.0, depth=999, batch=batch)
261
+ floor_instance = floor_model.create_instance(translation=Vec3(0.0, -1.5, 0.0))
262
+
263
+ # Create the FPSCamera instance, which controls the global projection & view matrixes.
264
+ # Start with the position a bit back, and looking at the center of the scene:
265
+ # Click the window to capture the mouse. Use WASD to move, E/Q for vertical movement,
266
+ # and Esc to release the mouse or exit when the mouse is already released.
267
+ camera = FPSCamera(
268
+ window,
269
+ position=Vec3(0.0, 1.0, 6.0),
270
+ target=Vec3(0.0, 1.0, 0.0),
271
+ )
272
+ controls = FPSCameraControls(window, camera)
273
+ if controllers := pyglet.input.get_controllers():
274
+ controller = controllers[0]
275
+ controller.open()
276
+ controller.push_handlers(controls)
277
+
278
+ # def update(dt):
279
+ # update.elapsed += dt
280
+ # box_instance.rotation = Quaternion.from_rotation(0.1 * update.elapsed, Vec3(1.0, 0.0, 0.0))
281
+ #
282
+ #
283
+ # update.elapsed = 0.0
284
+ #
285
+ # pyglet.clock.schedule_interval(update, 1/33)
286
+
287
+ @window.event
288
+ def on_draw() -> None:
289
+ window.clear()
290
+ with batch.draw_with_options() as options:
291
+ options.camera = camera
292
+
293
+ pyglet.app.run()