pyglet 2.1.2__tar.gz → 2.1.3__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 (807) hide show
  1. {pyglet-2.1.2 → pyglet-2.1.3}/PKG-INFO +2 -3
  2. {pyglet-2.1.2 → pyglet-2.1.3}/README.md +1 -2
  3. {pyglet-2.1.2 → pyglet-2.1.3}/RELEASE_NOTES +19 -0
  4. {pyglet-2.1.2 → pyglet-2.1.3}/doc/conf.py +5 -2
  5. {pyglet-2.1.2 → pyglet-2.1.3}/doc/index.rst +4 -9
  6. {pyglet-2.1.2 → pyglet-2.1.3}/doc/internal/contributing.rst +5 -12
  7. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/gui.rst +1 -0
  8. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/examplegame.rst +11 -19
  9. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/gui.rst +13 -10
  10. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/image.rst +11 -11
  11. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/installation.rst +1 -3
  12. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/keyboard.rst +1 -1
  13. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/media.rst +8 -5
  14. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/migration.rst +1 -1
  15. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/opengles.rst +1 -1
  16. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/quickstart.rst +4 -7
  17. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/rendering.rst +1 -1
  18. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version2/game/physicalobject.py +1 -1
  19. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version2/game/player.py +2 -2
  20. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version3/game/physicalobject.py +1 -1
  21. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version3/game/player.py +3 -3
  22. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version4/game/asteroid.py +3 -3
  23. {pyglet-2.1.2/examples/game/version5 → pyglet-2.1.3/examples/game/version4}/game/bullet.py +1 -1
  24. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version4/game/physicalobject.py +1 -1
  25. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version4/game/player.py +3 -3
  26. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version5/game/asteroid.py +3 -3
  27. {pyglet-2.1.2/examples/game/version4 → pyglet-2.1.3/examples/game/version5}/game/bullet.py +1 -1
  28. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version5/game/physicalobject.py +1 -1
  29. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version5/game/player.py +3 -3
  30. {pyglet-2.1.2 → pyglet-2.1.3}/examples/input/input.py +0 -7
  31. {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/media_player.py +5 -11
  32. {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/noisy/noisy.py +1 -1
  33. {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/video.py +0 -5
  34. {pyglet-2.1.2 → pyglet-2.1.3}/examples/model/fpscamera.py +1 -2
  35. {pyglet-2.1.2 → pyglet-2.1.3}/examples/programming_guide/animation.py +0 -4
  36. {pyglet-2.1.2 → pyglet-2.1.3}/examples/programming_guide/events.py +0 -8
  37. {pyglet-2.1.2 → pyglet-2.1.3}/examples/programming_guide/image_viewer.py +0 -7
  38. {pyglet-2.1.2 → pyglet-2.1.3}/examples/text/text_input.py +2 -2
  39. {pyglet-2.1.2 → pyglet-2.1.3}/experimental/svg_test.py +0 -8
  40. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/__init__.py +1 -1
  41. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/app/xlib.py +1 -1
  42. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/display/cocoa.py +2 -2
  43. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/display/win32.py +3 -3
  44. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/display/xlib.py +2 -2
  45. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gui/frame.py +4 -4
  46. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/__init__.py +0 -2
  47. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/codecs/dds.py +1 -1
  48. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/linux/x11_xinput.py +3 -3
  49. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/linux/x11_xinput_tablet.py +2 -2
  50. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/win32/directinput.py +1 -1
  51. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/win32/wintab.py +1 -1
  52. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/math.py +5 -5
  53. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/model/__init__.py +78 -57
  54. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/window/__init__.py +11 -8
  55. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/window/xlib/__init__.py +2 -2
  56. {pyglet-2.1.2 → pyglet-2.1.3}/tests/base/interactive.py +1 -1
  57. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/platform/test_win_multicore_clock.py +0 -5
  58. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/text/test_empty_document.py +1 -1
  59. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/image/test_image.py +1 -1
  60. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/text/test_caret_color.py +4 -4
  61. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/text/test_content_valign.py +3 -3
  62. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/text/test_html.py +3 -3
  63. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/text/test_inline_elements_style_change.py +2 -2
  64. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/text/test_multiline_wrap.py +3 -3
  65. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/window/test_window_events.py +7 -7
  66. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/window/test_window_multisample.py +1 -0
  67. {pyglet-2.1.2 → pyglet-2.1.3}/tools/al_info.py +0 -5
  68. {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/mpexceptions.py +1 -1
  69. {pyglet-2.1.2 → pyglet-2.1.3}/tools/genwrappers.py +0 -8
  70. {pyglet-2.1.2 → pyglet-2.1.3}/tools/gl_info.py +0 -6
  71. {pyglet-2.1.2 → pyglet-2.1.3}/tools/wraptypes/__init__.py +3 -8
  72. {pyglet-2.1.2 → pyglet-2.1.3}/tools/wraptypes/cparser.py +2 -8
  73. {pyglet-2.1.2 → pyglet-2.1.3}/tools/wraptypes/ctypesparser.py +0 -7
  74. {pyglet-2.1.2 → pyglet-2.1.3}/tools/wraptypes/preprocessor.py +0 -5
  75. {pyglet-2.1.2 → pyglet-2.1.3}/tools/wraptypes/wrap.py +0 -8
  76. {pyglet-2.1.2 → pyglet-2.1.3}/.coveragerc +0 -0
  77. {pyglet-2.1.2 → pyglet-2.1.3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  78. {pyglet-2.1.2 → pyglet-2.1.3}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  79. {pyglet-2.1.2 → pyglet-2.1.3}/.github/ISSUE_TEMPLATE/questions--or-other.md +0 -0
  80. {pyglet-2.1.2 → pyglet-2.1.3}/.github/workflows/codeql.yml +0 -0
  81. {pyglet-2.1.2 → pyglet-2.1.3}/.github/workflows/unittests.yml +0 -0
  82. {pyglet-2.1.2 → pyglet-2.1.3}/.gitignore +0 -0
  83. {pyglet-2.1.2 → pyglet-2.1.3}/.readthedocs.yml +0 -0
  84. {pyglet-2.1.2 → pyglet-2.1.3}/LICENSE +0 -0
  85. {pyglet-2.1.2 → pyglet-2.1.3}/MANIFEST.in +0 -0
  86. {pyglet-2.1.2 → pyglet-2.1.3}/contrib/aseprite_codec/README +0 -0
  87. {pyglet-2.1.2 → pyglet-2.1.3}/contrib/aseprite_codec/asedemo.py +0 -0
  88. {pyglet-2.1.2 → pyglet-2.1.3}/contrib/aseprite_codec/aseprite.py +0 -0
  89. {pyglet-2.1.2 → pyglet-2.1.3}/contrib/aseprite_codec/running.ase +0 -0
  90. {pyglet-2.1.2 → pyglet-2.1.3}/contrib/logo3d/logo3d.jpg +0 -0
  91. {pyglet-2.1.2 → pyglet-2.1.3}/contrib/logo3d/logo3d.obj.zip +0 -0
  92. {pyglet-2.1.2 → pyglet-2.1.3}/contrib/logo3d/logo3d.wings +0 -0
  93. {pyglet-2.1.2 → pyglet-2.1.3}/contrib/qt_sprite_preview.py +0 -0
  94. {pyglet-2.1.2 → pyglet-2.1.3}/contrib/scenemanager.py +0 -0
  95. {pyglet-2.1.2 → pyglet-2.1.3}/contrib/toys/follow_mouse.py +0 -0
  96. {pyglet-2.1.2 → pyglet-2.1.3}/doc/Makefile +0 -0
  97. {pyglet-2.1.2 → pyglet-2.1.3}/doc/_static/css/custom.css +0 -0
  98. {pyglet-2.1.2 → pyglet-2.1.3}/doc/_static/favicon.ico +0 -0
  99. {pyglet-2.1.2 → pyglet-2.1.3}/doc/_static/logo.png +0 -0
  100. {pyglet-2.1.2 → pyglet-2.1.3}/doc/_static/logo5.svg +0 -0
  101. {pyglet-2.1.2 → pyglet-2.1.3}/doc/_static/relatedlogo.png +0 -0
  102. {pyglet-2.1.2 → pyglet-2.1.3}/doc/external_resources.rst +0 -0
  103. {pyglet-2.1.2 → pyglet-2.1.3}/doc/internal/dist.rst +0 -0
  104. {pyglet-2.1.2 → pyglet-2.1.3}/doc/internal/doc.rst +0 -0
  105. {pyglet-2.1.2 → pyglet-2.1.3}/doc/internal/generated.rst +0 -0
  106. {pyglet-2.1.2 → pyglet-2.1.3}/doc/internal/gl.rst +0 -0
  107. {pyglet-2.1.2 → pyglet-2.1.3}/doc/internal/media_logging_manual.rst +0 -0
  108. {pyglet-2.1.2 → pyglet-2.1.3}/doc/internal/media_manual.rst +0 -0
  109. {pyglet-2.1.2 → pyglet-2.1.3}/doc/internal/testing.rst +0 -0
  110. {pyglet-2.1.2 → pyglet-2.1.3}/doc/internal/virtualenv.rst +0 -0
  111. {pyglet-2.1.2 → pyglet-2.1.3}/doc/internal/wraptypes-class.svg +0 -0
  112. {pyglet-2.1.2 → pyglet-2.1.3}/doc/internal/wraptypes.rst +0 -0
  113. {pyglet-2.1.2 → pyglet-2.1.3}/doc/make.bat +0 -0
  114. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/app.rst +0 -0
  115. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/clock.rst +0 -0
  116. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/customtypes.rst +0 -0
  117. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/display.rst +0 -0
  118. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/event.rst +0 -0
  119. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/font.rst +0 -0
  120. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/gl.rst +0 -0
  121. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/graphics/allocation.rst +0 -0
  122. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/graphics/index.rst +0 -0
  123. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/graphics/shader.rst +0 -0
  124. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/graphics/vertexbuffer.rst +0 -0
  125. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/graphics/vertexdomain.rst +0 -0
  126. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/image/animation.rst +0 -0
  127. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/image/atlas.rst +0 -0
  128. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/image/buffer.rst +0 -0
  129. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/image/index.rst +0 -0
  130. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/info.rst +0 -0
  131. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/input.rst +0 -0
  132. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/math.rst +0 -0
  133. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/media.rst +0 -0
  134. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/media_synthesis.rst +0 -0
  135. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/models.rst +0 -0
  136. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/pyglet.rst +0 -0
  137. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/resource.rst +0 -0
  138. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/shapes.rst +0 -0
  139. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/sprite.rst +0 -0
  140. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/text/caret.rst +0 -0
  141. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/text/document.rst +0 -0
  142. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/text/index.rst +0 -0
  143. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/text/layout.rst +0 -0
  144. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/window.rst +0 -0
  145. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/window_key.rst +0 -0
  146. {pyglet-2.1.2 → pyglet-2.1.3}/doc/modules/window_mouse.rst +0 -0
  147. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/context.rst +0 -0
  148. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/debug.rst +0 -0
  149. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/eventloop.rst +0 -0
  150. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/events.rst +0 -0
  151. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/gl.rst +0 -0
  152. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/abstract_image.png +0 -0
  153. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/abstract_image.svg +0 -0
  154. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/buffer_image.png +0 -0
  155. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/buffer_image.svg +0 -0
  156. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/context_flow.png +0 -0
  157. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/context_flow.svg +0 -0
  158. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_mac_crosshair.png +0 -0
  159. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_mac_default.png +0 -0
  160. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_mac_hand.png +0 -0
  161. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_mac_no.png +0 -0
  162. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_mac_size_down.png +0 -0
  163. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_mac_size_left.png +0 -0
  164. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_mac_size_left_right.png +0 -0
  165. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_mac_size_right.png +0 -0
  166. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_mac_size_up.png +0 -0
  167. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_mac_size_up_down.png +0 -0
  168. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_mac_text.png +0 -0
  169. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_mac_wait.png +0 -0
  170. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_win_crosshair.png +0 -0
  171. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_win_default.png +0 -0
  172. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_win_hand.png +0 -0
  173. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_win_help.png +0 -0
  174. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_win_no.png +0 -0
  175. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_win_size.png +0 -0
  176. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_win_size_left_right.png +0 -0
  177. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_win_size_nesw.png +0 -0
  178. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_win_size_nwse.png +0 -0
  179. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_win_size_up_down.png +0 -0
  180. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_win_text.png +0 -0
  181. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_win_wait.png +0 -0
  182. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/cursor_win_wait_arrow.png +0 -0
  183. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/explosion.png +0 -0
  184. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/font_metrics.png +0 -0
  185. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/font_metrics.svg +0 -0
  186. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/image_classes.png +0 -0
  187. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/image_classes.svg +0 -0
  188. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/image_grid.png +0 -0
  189. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/image_grid.svg +0 -0
  190. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/image_sequence.png +0 -0
  191. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/image_sequence.svg +0 -0
  192. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/mouse_coordinates.png +0 -0
  193. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/mouse_coordinates.svg +0 -0
  194. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/screens.png +0 -0
  195. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/screens.svg +0 -0
  196. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/text_classes.png +0 -0
  197. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/text_classes.svg +0 -0
  198. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/window_location.png +0 -0
  199. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/window_location.svg +0 -0
  200. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/window_osx_borderless.png +0 -0
  201. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/window_osx_default.png +0 -0
  202. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/window_osx_dialog.png +0 -0
  203. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/window_osx_tool.png +0 -0
  204. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/window_xp_default.png +0 -0
  205. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/window_xp_dialog.png +0 -0
  206. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/window_xp_overlay.png +0 -0
  207. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/window_xp_tool.png +0 -0
  208. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/img/window_xp_transparent.png +0 -0
  209. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/input.rst +0 -0
  210. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/math.rst +0 -0
  211. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/models.rst +0 -0
  212. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/mouse.rst +0 -0
  213. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/options.rst +0 -0
  214. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/resources.rst +0 -0
  215. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/shapes.rst +0 -0
  216. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/text.rst +0 -0
  217. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/time.rst +0 -0
  218. {pyglet-2.1.2 → pyglet-2.1.3}/doc/programming_guide/windowing.rst +0 -0
  219. {pyglet-2.1.2 → pyglet-2.1.3}/doc/requirements.txt +0 -0
  220. {pyglet-2.1.2 → pyglet-2.1.3}/examples/clipboard.py +0 -0
  221. {pyglet-2.1.2 → pyglet-2.1.3}/examples/dpi_scaled_window.py +0 -0
  222. {pyglet-2.1.2 → pyglet-2.1.3}/examples/events/events_key_state_handler.py +0 -0
  223. {pyglet-2.1.2 → pyglet-2.1.3}/examples/events/register_event_type.py +0 -0
  224. {pyglet-2.1.2 → pyglet-2.1.3}/examples/events/window_events.py +0 -0
  225. {pyglet-2.1.2 → pyglet-2.1.3}/examples/events/window_platform_event.py +0 -0
  226. {pyglet-2.1.2 → pyglet-2.1.3}/examples/file_dialog.py +0 -0
  227. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/resources/asteroid.png +0 -0
  228. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/resources/bullet.png +0 -0
  229. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/resources/bullet.wav +0 -0
  230. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/resources/engine_flame.png +0 -0
  231. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/resources/player.png +0 -0
  232. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version1/asteroid.py +0 -0
  233. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version1/game/__init__.py +0 -0
  234. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version1/game/load.py +0 -0
  235. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version1/game/resources.py +0 -0
  236. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version2/asteroid.py +0 -0
  237. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version2/game/__init__.py +0 -0
  238. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version2/game/load.py +0 -0
  239. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version2/game/resources.py +0 -0
  240. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version3/asteroid.py +0 -0
  241. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version3/game/__init__.py +0 -0
  242. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version3/game/load.py +0 -0
  243. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version3/game/resources.py +0 -0
  244. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version3/game/util.py +0 -0
  245. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version4/asteroid.py +0 -0
  246. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version4/game/__init__.py +0 -0
  247. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version4/game/load.py +0 -0
  248. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version4/game/resources.py +0 -0
  249. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version4/game/util.py +0 -0
  250. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version5/asteroid.py +0 -0
  251. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version5/game/__init__.py +0 -0
  252. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version5/game/load.py +0 -0
  253. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version5/game/resources.py +0 -0
  254. {pyglet-2.1.2 → pyglet-2.1.3}/examples/game/version5/game/util.py +0 -0
  255. {pyglet-2.1.2 → pyglet-2.1.3}/examples/graphics/image_convert.py +0 -0
  256. {pyglet-2.1.2 → pyglet-2.1.3}/examples/graphics/image_display.py +0 -0
  257. {pyglet-2.1.2 → pyglet-2.1.3}/examples/gui/bar.png +0 -0
  258. {pyglet-2.1.2 → pyglet-2.1.3}/examples/gui/button_hover.png +0 -0
  259. {pyglet-2.1.2 → pyglet-2.1.3}/examples/gui/button_pressed.png +0 -0
  260. {pyglet-2.1.2 → pyglet-2.1.3}/examples/gui/button_unpressed.png +0 -0
  261. {pyglet-2.1.2 → pyglet-2.1.3}/examples/gui/knob.png +0 -0
  262. {pyglet-2.1.2 → pyglet-2.1.3}/examples/gui/widgets.py +0 -0
  263. {pyglet-2.1.2 → pyglet-2.1.3}/examples/hello_world.py +0 -0
  264. {pyglet-2.1.2 → pyglet-2.1.3}/examples/input/apple_remote.py +0 -0
  265. {pyglet-2.1.2 → pyglet-2.1.3}/examples/input/controller.py +0 -0
  266. {pyglet-2.1.2 → pyglet-2.1.3}/examples/input/joystick.py +0 -0
  267. {pyglet-2.1.2 → pyglet-2.1.3}/examples/input/tablet.py +0 -0
  268. {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/media_info.py +0 -0
  269. {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/noisy/README +0 -0
  270. {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/noisy/ball.png +0 -0
  271. {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/noisy/ball.wav +0 -0
  272. {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/soundspace/README +0 -0
  273. {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/soundspace/reader.py +0 -0
  274. {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/soundspace/res/bass.wav +0 -0
  275. {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/soundspace/res/drums.wav +0 -0
  276. {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/soundspace/res/guitar.wav +0 -0
  277. {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/soundspace/res/piano.wav +0 -0
  278. {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/soundspace/res/space.txt +0 -0
  279. {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/soundspace/soundspace.py +0 -0
  280. {pyglet-2.1.2 → pyglet-2.1.3}/examples/media/synthesizer.py +0 -0
  281. {pyglet-2.1.2 → pyglet-2.1.3}/examples/model/box.mtl +0 -0
  282. {pyglet-2.1.2 → pyglet-2.1.3}/examples/model/box.obj +0 -0
  283. {pyglet-2.1.2 → pyglet-2.1.3}/examples/model/logo3d.mtl +0 -0
  284. {pyglet-2.1.2 → pyglet-2.1.3}/examples/model/logo3d.obj +0 -0
  285. {pyglet-2.1.2 → pyglet-2.1.3}/examples/model/model.py +0 -0
  286. {pyglet-2.1.2 → pyglet-2.1.3}/examples/model/pyglet.png +0 -0
  287. {pyglet-2.1.2 → pyglet-2.1.3}/examples/opengl/compute_shader.py +0 -0
  288. {pyglet-2.1.2 → pyglet-2.1.3}/examples/opengl/egl_context.py +0 -0
  289. {pyglet-2.1.2 → pyglet-2.1.3}/examples/opengl/minimal_shader.py +0 -0
  290. {pyglet-2.1.2 → pyglet-2.1.3}/examples/opengl/opengl_context.py +0 -0
  291. {pyglet-2.1.2 → pyglet-2.1.3}/examples/opengl/opengl_core.py +0 -0
  292. {pyglet-2.1.2 → pyglet-2.1.3}/examples/opengl/opengl_scissor.py +0 -0
  293. {pyglet-2.1.2 → pyglet-2.1.3}/examples/opengl/pyglet.png +0 -0
  294. {pyglet-2.1.2 → pyglet-2.1.3}/examples/opengl/torus.py +0 -0
  295. {pyglet-2.1.2 → pyglet-2.1.3}/examples/programming_guide/dinosaur.gif +0 -0
  296. {pyglet-2.1.2 → pyglet-2.1.3}/examples/programming_guide/hello_world.py +0 -0
  297. {pyglet-2.1.2 → pyglet-2.1.3}/examples/programming_guide/kitten.jpg +0 -0
  298. {pyglet-2.1.2 → pyglet-2.1.3}/examples/programming_guide/window_subclass.py +0 -0
  299. {pyglet-2.1.2 → pyglet-2.1.3}/examples/resources/Brick1Blue.png +0 -0
  300. {pyglet-2.1.2 → pyglet-2.1.3}/examples/resources/Brick1Crack3.png +0 -0
  301. {pyglet-2.1.2 → pyglet-2.1.3}/examples/resources/Brick1Gray.png +0 -0
  302. {pyglet-2.1.2 → pyglet-2.1.3}/examples/resources/kitten.jpg +0 -0
  303. {pyglet-2.1.2 → pyglet-2.1.3}/examples/resources/pyglet.png +0 -0
  304. {pyglet-2.1.2 → pyglet-2.1.3}/examples/shapes.py +0 -0
  305. {pyglet-2.1.2 → pyglet-2.1.3}/examples/sprite/depth_sprite.py +0 -0
  306. {pyglet-2.1.2 → pyglet-2.1.3}/examples/sprite/display_sprite.py +0 -0
  307. {pyglet-2.1.2 → pyglet-2.1.3}/examples/sprite/multi_texture_sprite.py +0 -0
  308. {pyglet-2.1.2 → pyglet-2.1.3}/examples/sprite/sprite_batching.py +0 -0
  309. {pyglet-2.1.2 → pyglet-2.1.3}/examples/text/advanced_font.py +0 -0
  310. {pyglet-2.1.2 → pyglet-2.1.3}/examples/text/html_label.py +0 -0
  311. {pyglet-2.1.2 → pyglet-2.1.3}/examples/text/pyglet.png +0 -0
  312. {pyglet-2.1.2 → pyglet-2.1.3}/examples/timer.py +0 -0
  313. {pyglet-2.1.2 → pyglet-2.1.3}/examples/window/camera.py +0 -0
  314. {pyglet-2.1.2 → pyglet-2.1.3}/examples/window/camera_group.py +0 -0
  315. {pyglet-2.1.2 → pyglet-2.1.3}/examples/window/fixed_resolution.py +0 -0
  316. {pyglet-2.1.2 → pyglet-2.1.3}/examples/window/fps_change.py +0 -0
  317. {pyglet-2.1.2 → pyglet-2.1.3}/examples/window/multiple_windows.py +0 -0
  318. {pyglet-2.1.2 → pyglet-2.1.3}/examples/window/overlay_window.py +0 -0
  319. {pyglet-2.1.2 → pyglet-2.1.3}/examples/window/transparent_window.py +0 -0
  320. {pyglet-2.1.2 → pyglet-2.1.3}/experimental/dist_field/README +0 -0
  321. {pyglet-2.1.2 → pyglet-2.1.3}/experimental/dist_field/genfield.py +0 -0
  322. {pyglet-2.1.2 → pyglet-2.1.3}/experimental/dist_field/py.df.png +0 -0
  323. {pyglet-2.1.2 → pyglet-2.1.3}/experimental/dist_field/py.png +0 -0
  324. {pyglet-2.1.2 → pyglet-2.1.3}/experimental/dist_field/renderfield.py +0 -0
  325. {pyglet-2.1.2 → pyglet-2.1.3}/experimental/flaccodec.py +0 -0
  326. {pyglet-2.1.2 → pyglet-2.1.3}/experimental/hello_world.svg +0 -0
  327. {pyglet-2.1.2 → pyglet-2.1.3}/experimental/instancing/sprite_instance.py +0 -0
  328. {pyglet-2.1.2 → pyglet-2.1.3}/experimental/instancing/sprite_instance_object.py +0 -0
  329. {pyglet-2.1.2 → pyglet-2.1.3}/experimental/multitexture_sprite/multitexturesprite.py +0 -0
  330. {pyglet-2.1.2 → pyglet-2.1.3}/experimental/spritebenchmark.py +0 -0
  331. {pyglet-2.1.2 → pyglet-2.1.3}/experimental/wayland/gbm_egl_context.py +0 -0
  332. {pyglet-2.1.2 → pyglet-2.1.3}/experimental/win32priority.py +0 -0
  333. {pyglet-2.1.2 → pyglet-2.1.3}/make.py +0 -0
  334. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/__init__.pyi +0 -0
  335. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/app/__init__.py +0 -0
  336. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/app/base.py +0 -0
  337. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/app/cocoa.py +0 -0
  338. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/app/win32.py +0 -0
  339. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/clock.py +0 -0
  340. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/customtypes.py +0 -0
  341. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/display/__init__.py +0 -0
  342. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/display/__init__.pyi +0 -0
  343. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/display/base.py +0 -0
  344. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/display/headless.py +0 -0
  345. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/display/xlib_vidmoderestore.py +0 -0
  346. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/event.py +0 -0
  347. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/experimental/README.md +0 -0
  348. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/experimental/geoshader_sprite.py +0 -0
  349. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/experimental/hidraw.py +0 -0
  350. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/experimental/jobs.py +0 -0
  351. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/experimental/multitexture_sprite.py +0 -0
  352. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/experimental/net.py +0 -0
  353. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/experimental/particles.py +0 -0
  354. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/extlibs/__init__.py +0 -0
  355. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/extlibs/earcut.py +0 -0
  356. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/extlibs/png.py +0 -0
  357. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/font/__init__.py +0 -0
  358. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/font/base.py +0 -0
  359. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/font/directwrite.py +0 -0
  360. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/font/fontconfig.py +0 -0
  361. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/font/freetype.py +0 -0
  362. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/font/freetype_lib.py +0 -0
  363. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/font/quartz.py +0 -0
  364. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/font/ttf.py +0 -0
  365. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/font/user.py +0 -0
  366. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/font/win32.py +0 -0
  367. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/__init__.py +0 -0
  368. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/agl.py +0 -0
  369. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/base.py +0 -0
  370. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/cocoa.py +0 -0
  371. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/gl.py +0 -0
  372. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/gl_compat.py +0 -0
  373. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/gl_info.py +0 -0
  374. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/glx.py +0 -0
  375. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/glx_info.py +0 -0
  376. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/glxext_arb.py +0 -0
  377. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/glxext_mesa.py +0 -0
  378. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/glxext_nv.py +0 -0
  379. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/headless.py +0 -0
  380. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/lib.py +0 -0
  381. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/lib_agl.py +0 -0
  382. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/lib_glx.py +0 -0
  383. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/lib_wgl.py +0 -0
  384. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/wgl.py +0 -0
  385. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/wgl_info.py +0 -0
  386. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/wglext_arb.py +0 -0
  387. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/wglext_nv.py +0 -0
  388. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/win32.py +0 -0
  389. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gl/xlib.py +0 -0
  390. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/graphics/__init__.py +0 -0
  391. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/graphics/allocation.py +0 -0
  392. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/graphics/instance.py +0 -0
  393. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/graphics/shader.py +0 -0
  394. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/graphics/vertexarray.py +0 -0
  395. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/graphics/vertexbuffer.py +0 -0
  396. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/graphics/vertexdomain.py +0 -0
  397. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gui/__init__.py +0 -0
  398. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gui/ninepatch.py +0 -0
  399. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/gui/widgets.py +0 -0
  400. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/animation.py +0 -0
  401. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/atlas.py +0 -0
  402. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/buffer.py +0 -0
  403. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/codecs/__init__.py +0 -0
  404. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/codecs/bmp.py +0 -0
  405. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/codecs/gdiplus.py +0 -0
  406. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/codecs/gdkpixbuf2.py +0 -0
  407. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/codecs/gif.py +0 -0
  408. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/codecs/pil.py +0 -0
  409. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/codecs/png.py +0 -0
  410. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/codecs/quartz.py +0 -0
  411. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/codecs/s3tc.py +0 -0
  412. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/image/codecs/wic.py +0 -0
  413. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/info.py +0 -0
  414. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/__init__.py +0 -0
  415. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/base.py +0 -0
  416. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/controller.py +0 -0
  417. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/controller_db.py +0 -0
  418. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/linux/__init__.py +0 -0
  419. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/linux/evdev.py +0 -0
  420. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/linux/evdev_constants.py +0 -0
  421. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/macos/__init__.py +0 -0
  422. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/macos/darwin_hid.py +0 -0
  423. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/win32/__init__.py +0 -0
  424. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/input/win32/xinput.py +0 -0
  425. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/lib.py +0 -0
  426. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/__init__.py +0 -0
  427. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/darwin/__init__.py +0 -0
  428. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/darwin/cocoapy/__init__.py +0 -0
  429. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/darwin/cocoapy/cocoalibs.py +0 -0
  430. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/darwin/cocoapy/cocoatypes.py +0 -0
  431. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/darwin/cocoapy/runtime.py +0 -0
  432. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/darwin/coreaudio.py +0 -0
  433. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/darwin/quartzkey.py +0 -0
  434. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/egl/__init__.py +0 -0
  435. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/egl/egl.py +0 -0
  436. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/egl/eglext.py +0 -0
  437. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/egl/lib.py +0 -0
  438. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/ioctl.py +0 -0
  439. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/wayland/__init__.py +0 -0
  440. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/wayland/gbm.py +0 -0
  441. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/wayland/xkbcommon.py +0 -0
  442. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/win32/__init__.py +0 -0
  443. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/win32/com.py +0 -0
  444. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/win32/constants.py +0 -0
  445. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/win32/context_managers.py +0 -0
  446. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/win32/dinput.py +0 -0
  447. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/win32/libwintab.py +0 -0
  448. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/win32/types.py +0 -0
  449. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/win32/winkey.py +0 -0
  450. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/x11/__init__.py +0 -0
  451. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/x11/cursorfont.py +0 -0
  452. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/x11/xf86vmode.py +0 -0
  453. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/x11/xinerama.py +0 -0
  454. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/x11/xinput.py +0 -0
  455. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/x11/xlib.py +0 -0
  456. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/libs/x11/xsync.py +0 -0
  457. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/__init__.py +0 -0
  458. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/buffered_logger.py +0 -0
  459. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/__init__.py +0 -0
  460. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/base.py +0 -0
  461. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/coreaudio.py +0 -0
  462. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/ffmpeg.py +0 -0
  463. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/ffmpeg_lib/__init__.py +0 -0
  464. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/ffmpeg_lib/compat.py +0 -0
  465. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/ffmpeg_lib/libavcodec.py +0 -0
  466. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/ffmpeg_lib/libavformat.py +0 -0
  467. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/ffmpeg_lib/libavutil.py +0 -0
  468. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/ffmpeg_lib/libswresample.py +0 -0
  469. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/ffmpeg_lib/libswscale.py +0 -0
  470. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/gstreamer.py +0 -0
  471. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/pyogg.py +0 -0
  472. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/wave.py +0 -0
  473. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/codecs/wmf.py +0 -0
  474. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/devices/__init__.py +0 -0
  475. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/devices/base.py +0 -0
  476. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/devices/win32.py +0 -0
  477. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/__init__.py +0 -0
  478. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/base.py +0 -0
  479. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/directsound/__init__.py +0 -0
  480. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/directsound/adaptation.py +0 -0
  481. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/directsound/exceptions.py +0 -0
  482. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/directsound/interface.py +0 -0
  483. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/directsound/lib_dsound.py +0 -0
  484. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/listener.py +0 -0
  485. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/openal/__init__.py +0 -0
  486. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/openal/adaptation.py +0 -0
  487. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/openal/interface.py +0 -0
  488. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/openal/lib_alc.py +0 -0
  489. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/openal/lib_openal.py +0 -0
  490. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/pulse/__init__.py +0 -0
  491. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/pulse/adaptation.py +0 -0
  492. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/pulse/interface.py +0 -0
  493. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/pulse/lib_pulseaudio.py +0 -0
  494. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/silent/__init__.py +0 -0
  495. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/silent/adaptation.py +0 -0
  496. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/xaudio2/__init__.py +0 -0
  497. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/xaudio2/adaptation.py +0 -0
  498. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/xaudio2/interface.py +0 -0
  499. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/drivers/xaudio2/lib_xaudio2.py +0 -0
  500. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/exceptions.py +0 -0
  501. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/instrumentation.py +0 -0
  502. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/player.py +0 -0
  503. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/player_worker_thread.py +0 -0
  504. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/media/synthesis.py +0 -0
  505. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/model/codecs/__init__.py +0 -0
  506. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/model/codecs/base.py +0 -0
  507. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/model/codecs/gltf.py +0 -0
  508. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/model/codecs/obj.py +0 -0
  509. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/py.typed +0 -0
  510. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/resource.py +0 -0
  511. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/shapes.py +0 -0
  512. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/sprite.py +0 -0
  513. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/text/__init__.py +0 -0
  514. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/text/caret.py +0 -0
  515. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/text/document.py +0 -0
  516. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/text/formats/__init__.py +0 -0
  517. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/text/formats/attributed.py +0 -0
  518. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/text/formats/html.py +0 -0
  519. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/text/formats/plaintext.py +0 -0
  520. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/text/formats/structured.py +0 -0
  521. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/text/layout/__init__.py +0 -0
  522. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/text/layout/base.py +0 -0
  523. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/text/layout/incremental.py +0 -0
  524. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/text/layout/scrolling.py +0 -0
  525. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/text/runlist.py +0 -0
  526. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/util.py +0 -0
  527. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/window/cocoa/__init__.py +0 -0
  528. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/window/cocoa/pyglet_delegate.py +0 -0
  529. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/window/cocoa/pyglet_textview.py +0 -0
  530. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/window/cocoa/pyglet_view.py +0 -0
  531. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/window/cocoa/pyglet_window.py +0 -0
  532. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/window/cocoa/systemcursor.py +0 -0
  533. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/window/event.py +0 -0
  534. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/window/headless/__init__.py +0 -0
  535. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/window/key.py +0 -0
  536. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/window/mouse.py +0 -0
  537. {pyglet-2.1.2 → pyglet-2.1.3}/pyglet/window/win32/__init__.py +0 -0
  538. {pyglet-2.1.2 → pyglet-2.1.3}/pyproject.toml +0 -0
  539. {pyglet-2.1.2 → pyglet-2.1.3}/pytest.ini +0 -0
  540. {pyglet-2.1.2 → pyglet-2.1.3}/setup.py +0 -0
  541. {pyglet-2.1.2 → pyglet-2.1.3}/tests/__init__.py +0 -0
  542. {pyglet-2.1.2 → pyglet-2.1.3}/tests/annotations.py +0 -0
  543. {pyglet-2.1.2 → pyglet-2.1.3}/tests/base/__init__.py +0 -0
  544. {pyglet-2.1.2 → pyglet-2.1.3}/tests/base/data.py +0 -0
  545. {pyglet-2.1.2 → pyglet-2.1.3}/tests/base/event_loop.py +0 -0
  546. {pyglet-2.1.2 → pyglet-2.1.3}/tests/base/performance.py +0 -0
  547. {pyglet-2.1.2 → pyglet-2.1.3}/tests/conftest.py +0 -0
  548. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/fonts/README +0 -0
  549. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/fonts/action_man.ttf +0 -0
  550. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/fonts/action_man_bold.ttf +0 -0
  551. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/fonts/action_man_bold_italic.ttf +0 -0
  552. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/fonts/action_man_italic.ttf +0 -0
  553. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/fonts/courR12-ISO8859-1.pcf +0 -0
  554. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/8bpp.gif +0 -0
  555. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/cursor.png +0 -0
  556. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/dinosaur.gif +0 -0
  557. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/gdk_close.png +0 -0
  558. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/grey_background.png +0 -0
  559. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/icon1.png +0 -0
  560. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/icon_size1.png +0 -0
  561. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/icon_size2.png +0 -0
  562. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/icon_size3.png +0 -0
  563. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/icon_size4.png +0 -0
  564. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/icon_size5.png +0 -0
  565. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/l.png +0 -0
  566. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/la.png +0 -0
  567. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/multitexture.png +0 -0
  568. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgb.png +0 -0
  569. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgb_16bpp.bmp +0 -0
  570. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgb_1bpp.bmp +0 -0
  571. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgb_24bpp.bmp +0 -0
  572. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgb_32bpp.bmp +0 -0
  573. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgb_4bpp.bmp +0 -0
  574. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgb_8bpp.bmp +0 -0
  575. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgb_8bpp.png +0 -0
  576. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgb_8bpp_trans.png +0 -0
  577. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgb_dxt1.dds +0 -0
  578. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgba.png +0 -0
  579. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgba_32bpp.bmp +0 -0
  580. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgba_dxt1.dds +0 -0
  581. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgba_dxt3.dds +0 -0
  582. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/rgba_dxt5.dds +0 -0
  583. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/images/tests.interactive.test_interactive_test_base._Test.test_1.001.png +0 -0
  584. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/README +0 -0
  585. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/alert.wav +0 -0
  586. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/login.wav +0 -0
  587. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/logout.wav +0 -0
  588. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/receive.wav +0 -0
  589. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/send.wav +0 -0
  590. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/synthesis_sawtooth_16_11025_1ch.wav +0 -0
  591. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/synthesis_sawtooth_16_44800_1ch.wav +0 -0
  592. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/synthesis_silence_16_11025_1ch.wav +0 -0
  593. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/synthesis_silence_16_44800_1ch.wav +0 -0
  594. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/synthesis_simplefm_16_11025_1ch.wav +0 -0
  595. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/synthesis_simplefm_16_44800_1ch.wav +0 -0
  596. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/synthesis_sine_16_11025_1ch.wav +0 -0
  597. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/synthesis_sine_16_44800_1ch.wav +0 -0
  598. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/synthesis_square_16_11025_1ch.wav +0 -0
  599. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/synthesis_square_16_44800_1ch.wav +0 -0
  600. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/synthesis_triangle_16_11025_1ch.wav +0 -0
  601. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/media/synthesis_triangle_16_44800_1ch.wav +0 -0
  602. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/models/logo3d.mtl +0 -0
  603. {pyglet-2.1.2 → pyglet-2.1.3}/tests/data/models/logo3d.obj +0 -0
  604. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/__init__.py +0 -0
  605. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/app/__init__.py +0 -0
  606. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/app/test_eventloop.py +0 -0
  607. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/conftest.py +0 -0
  608. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/font/test_fontconfig.py +0 -0
  609. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/font/test_freetype_face.py +0 -0
  610. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/graphics/__init__.py +0 -0
  611. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/graphics/test_allocation.py +0 -0
  612. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/graphics/test_batch_migration.py +0 -0
  613. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/graphics/test_shaders.py +0 -0
  614. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/image/__init__.py +0 -0
  615. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/image/test_gdkpixbuf2.py +0 -0
  616. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/image/test_imagegrid.py +0 -0
  617. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/image/test_texture3d.py +0 -0
  618. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/media/__init__.py +0 -0
  619. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/media/mock_player.py +0 -0
  620. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/media/test_directsound.py +0 -0
  621. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/media/test_driver.py +0 -0
  622. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/media/test_openal.py +0 -0
  623. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/media/test_player.py +0 -0
  624. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/media/test_pulse.py +0 -0
  625. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/model/__init__.py +0 -0
  626. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/model/test_loading.py +0 -0
  627. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/platform/__init__.py +0 -0
  628. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/platform/test_win_context_managers.py +0 -0
  629. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/resource/__init__.py +0 -0
  630. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/resource/dir1/dir1/f3.txt +0 -0
  631. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/resource/dir1/f2.txt +0 -0
  632. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/resource/dir1/res.zip +0 -0
  633. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/resource/dir2/f6.txt +0 -0
  634. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/resource/f1.txt +0 -0
  635. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/resource/rgbm.png +0 -0
  636. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/resource/test_resource_image_loading.py +0 -0
  637. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/resource/test_resource_loading.py +0 -0
  638. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/test_integrations.py +0 -0
  639. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/text/__init__.py +0 -0
  640. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/text/test_label_creation.py +0 -0
  641. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/text/test_layout_creation.py +0 -0
  642. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/window/__init__.py +0 -0
  643. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/window/test_context_share.py +0 -0
  644. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/window/test_event_sequence.py +0 -0
  645. {pyglet-2.1.2 → pyglet-2.1.3}/tests/integration/window/test_window_caption.py +0 -0
  646. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/__init__.py +0 -0
  647. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/conftest.py +0 -0
  648. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/image/__init__.py +0 -0
  649. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/media/__init__.py +0 -0
  650. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/media/test_player.py +0 -0
  651. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/screenshots/committed/README +0 -0
  652. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/screenshots/session/README +0 -0
  653. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/shapes/test_shapes.py +0 -0
  654. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/test_interactive_test_base.py +0 -0
  655. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/text/__init__.py +0 -0
  656. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/text/test_inline_elements.py +0 -0
  657. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/text/test_plain.py +0 -0
  658. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/text/test_style.py +0 -0
  659. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/window/__init__.py +0 -0
  660. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/window/test_window_fullscreen.py +0 -0
  661. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/window/test_window_modes.py +0 -0
  662. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/window/test_window_open.py +0 -0
  663. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/window/test_window_settings.py +0 -0
  664. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/window/test_window_styles.py +0 -0
  665. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/window/window_util.py +0 -0
  666. {pyglet-2.1.2 → pyglet-2.1.3}/tests/interactive/windowed_test_base.py +0 -0
  667. {pyglet-2.1.2 → pyglet-2.1.3}/tests/requirements.txt +0 -0
  668. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/__init__.py +0 -0
  669. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/conftest.py +0 -0
  670. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/math/test_mat.py +0 -0
  671. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/math/test_quat.py +0 -0
  672. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/math/test_vec2.py +0 -0
  673. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/math/test_vec3.py +0 -0
  674. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/math/test_vec4.py +0 -0
  675. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/media/__init__.py +0 -0
  676. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/media/test_listener.py +0 -0
  677. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/media/test_player.py +0 -0
  678. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/media/test_sources.py +0 -0
  679. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/media/test_synthesis.py +0 -0
  680. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/platform/__init__.py +0 -0
  681. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/platform/test_mac_objc.py +0 -0
  682. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/shader/__init__.py +0 -0
  683. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/shader/conftest.py +0 -0
  684. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/shader/test_shader.py +0 -0
  685. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/shapes/__init__.py +0 -0
  686. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/shapes/conftest.py +0 -0
  687. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/shapes/test_bordered_rectangle.py +0 -0
  688. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/shapes/test_shapes.py +0 -0
  689. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/test_atlas.py +0 -0
  690. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/test_clock.py +0 -0
  691. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/test_clock_freq.py +0 -0
  692. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/test_events.py +0 -0
  693. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/test_font.py +0 -0
  694. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/test_input.py +0 -0
  695. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/test_resource_path.py +0 -0
  696. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/test_sprite.py +0 -0
  697. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/test_text.py +0 -0
  698. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/text/__init__.py +0 -0
  699. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/text/test_caret.py +0 -0
  700. {pyglet-2.1.2 → pyglet-2.1.3}/tests/unit/text/test_layout.py +0 -0
  701. {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/bokeh_timeline.py +0 -0
  702. {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/compare.py +0 -0
  703. {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/configure.py +0 -0
  704. {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/extractors.py +0 -0
  705. {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/fs.py +0 -0
  706. {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/mp.py +0 -0
  707. {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/playmany.py +0 -0
  708. {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/readme_ffmpeg_debbuging_branch.txt +0 -0
  709. {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/readme_run_tests.txt +0 -0
  710. {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/report.py +0 -0
  711. {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/reports.py +0 -0
  712. {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/retry_crashed.py +0 -0
  713. {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/run_test_suite.py +0 -0
  714. {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/summarize.py +0 -0
  715. {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/test_instrumentation.py +0 -0
  716. {pyglet-2.1.2 → pyglet-2.1.3}/tools/ffmpeg/timeline.py +0 -0
  717. {pyglet-2.1.2 → pyglet-2.1.3}/tools/gencontrollerdb.py +0 -0
  718. {pyglet-2.1.2 → pyglet-2.1.3}/tools/gengl.py +0 -0
  719. {pyglet-2.1.2 → pyglet-2.1.3}/tools/gl.template +0 -0
  720. {pyglet-2.1.2 → pyglet-2.1.3}/tools/gl.xml +0 -0
  721. {pyglet-2.1.2 → pyglet-2.1.3}/tools/inspect_font.py +0 -0
  722. {pyglet-2.1.2 → pyglet-2.1.3}/tools/requirements.txt +0 -0
  723. {pyglet-2.1.2 → pyglet-2.1.3}/tools/wgl.h +0 -0
  724. {pyglet-2.1.2 → pyglet-2.1.3}/tools/wraptypes/lex.py +0 -0
  725. {pyglet-2.1.2 → pyglet-2.1.3}/tools/wraptypes/yacc.py +0 -0
  726. {pyglet-2.1.2 → pyglet-2.1.3}/website/LICENSE.txt +0 -0
  727. {pyglet-2.1.2 → pyglet-2.1.3}/website/README.rst +0 -0
  728. {pyglet-2.1.2 → pyglet-2.1.3}/website/assets/favicon.ico +0 -0
  729. {pyglet-2.1.2 → pyglet-2.1.3}/website/assets/static/css/example-custom-styles.css +0 -0
  730. {pyglet-2.1.2 → pyglet-2.1.3}/website/assets/static/images/pyglet.png +0 -0
  731. {pyglet-2.1.2 → pyglet-2.1.3}/website/content/404.html/contents.lr +0 -0
  732. {pyglet-2.1.2 → pyglet-2.1.3}/website/content/404.html/ngc-5793.jpg +0 -0
  733. {pyglet-2.1.2 → pyglet-2.1.3}/website/content/authors/benjamin/contents.lr +0 -0
  734. {pyglet-2.1.2 → pyglet-2.1.3}/website/content/authors/benjamin/pyglet.png +0 -0
  735. {pyglet-2.1.2 → pyglet-2.1.3}/website/content/authors/contents.lr +0 -0
  736. {pyglet-2.1.2 → pyglet-2.1.3}/website/content/blog/contents.lr +0 -0
  737. {pyglet-2.1.2 → pyglet-2.1.3}/website/content/blog/welcome-blog/contents.lr +0 -0
  738. {pyglet-2.1.2 → pyglet-2.1.3}/website/content/contents.lr +0 -0
  739. {pyglet-2.1.2 → pyglet-2.1.3}/website/content/eclipse.jpg +0 -0
  740. {pyglet-2.1.2 → pyglet-2.1.3}/website/pyglet.lektorproject +0 -0
  741. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/AUTHORS.txt +0 -0
  742. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/CHANGELOG.md +0 -0
  743. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/CONTRIBUTING.md +0 -0
  744. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/LICENSE.txt +0 -0
  745. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/NOTICE.txt +0 -0
  746. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/README.md +0 -0
  747. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/css/bootstrap.css +0 -0
  748. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/css/icomoon.css +0 -0
  749. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/css/magnific-popup.css +0 -0
  750. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/css/style.css +0 -0
  751. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  752. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  753. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
  754. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/fonts/icomoon/icomoon.ttf +0 -0
  755. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/fonts/icomoon/icomoon.woff +0 -0
  756. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/images/Preloader_2.gif +0 -0
  757. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/images/placeholder_person.png +0 -0
  758. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/js/jquery-3.3.1.min.js +0 -0
  759. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/js/jquery.easing.min.js +0 -0
  760. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/js/jquery.magnific-popup.min.js +0 -0
  761. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/js/jquery.stellar.js +0 -0
  762. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/js/jquery.stellar.min.js +0 -0
  763. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/js/jquery.waypoints.min.js +0 -0
  764. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/js/magnific-popup-options.js +0 -0
  765. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/js/main-singlelayout.js +0 -0
  766. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/assets/static/js/main.js +0 -0
  767. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/flowblocks/content.ini +0 -0
  768. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/flowblocks/gallery.ini +0 -0
  769. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/flowblocks/gallery_item.ini +0 -0
  770. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/flowblocks/member.ini +0 -0
  771. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/flowblocks/mission.ini +0 -0
  772. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/flowblocks/mission_tab.ini +0 -0
  773. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/flowblocks/service.ini +0 -0
  774. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/flowblocks/services.ini +0 -0
  775. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/flowblocks/team.ini +0 -0
  776. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/images/blog-index.png +0 -0
  777. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/images/full-blog.png +0 -0
  778. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/images/full-page.png +0 -0
  779. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/images/gallery-404.png +0 -0
  780. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/images/gallery-singlepage.png +0 -0
  781. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/images/mainpage-screenshots.png +0 -0
  782. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/images/responsive-layout.png +0 -0
  783. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/models/404.ini +0 -0
  784. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/models/author.ini +0 -0
  785. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/models/authors.ini +0 -0
  786. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/models/blog-post.ini +0 -0
  787. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/models/blog.ini +0 -0
  788. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/models/page.ini +0 -0
  789. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/models/single-layout.ini +0 -0
  790. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/404.html +0 -0
  791. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/author.html +0 -0
  792. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/authors.html +0 -0
  793. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/blocks/content.html +0 -0
  794. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/blocks/gallery.html +0 -0
  795. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/blocks/mission.html +0 -0
  796. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/blocks/services.html +0 -0
  797. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/blocks/team.html +0 -0
  798. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/blog-layout.html +0 -0
  799. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/blog-post.html +0 -0
  800. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/blog.html +0 -0
  801. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/layout.html +0 -0
  802. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/macros/blog.html +0 -0
  803. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/macros/pagination.html +0 -0
  804. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/none.html +0 -0
  805. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/page.html +0 -0
  806. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/templates/single-layout.html +0 -0
  807. {pyglet-2.1.2 → pyglet-2.1.3}/website/themes/lektor-icon/theme.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pyglet
3
- Version: 2.1.2
3
+ Version: 2.1.3
4
4
  Summary: pyglet is a cross-platform games and multimedia package.
5
5
  Author-email: Alex Holkner & contributors <Alex.Holkner@gmail.com>
6
6
  Requires-Python: >=3.8
@@ -150,12 +150,11 @@ for more information about running and writing tests.
150
150
  ## Contact
151
151
 
152
152
  pyglet is developed by many individual volunteers, and there is no central point of contact. If you have a question
153
- about developing with pyglet, or you wish to contribute, please join the [mailing list], [discord] server, or [subreddit].
153
+ about developing with pyglet, or you wish to contribute, please join the [discord] server, or [subreddit].
154
154
 
155
155
  For legal issues, please contact [Alex Holkner](mailto:Alex.Holkner@gmail.com).
156
156
 
157
157
  [discord]: https://discord.gg/QXyegWe
158
- [mailing list]: http://groups.google.com/group/pyglet-users
159
158
  [subreddit]: https://www.reddit.com/r/pyglet/
160
159
  [documentation]: https://pyglet.readthedocs.io
161
160
  [wiki]: https://github.com/pyglet/pyglet/wiki
@@ -141,12 +141,11 @@ for more information about running and writing tests.
141
141
  ## Contact
142
142
 
143
143
  pyglet is developed by many individual volunteers, and there is no central point of contact. If you have a question
144
- about developing with pyglet, or you wish to contribute, please join the [mailing list], [discord] server, or [subreddit].
144
+ about developing with pyglet, or you wish to contribute, please join the [discord] server, or [subreddit].
145
145
 
146
146
  For legal issues, please contact [Alex Holkner](mailto:Alex.Holkner@gmail.com).
147
147
 
148
148
  [discord]: https://discord.gg/QXyegWe
149
- [mailing list]: http://groups.google.com/group/pyglet-users
150
149
  [subreddit]: https://www.reddit.com/r/pyglet/
151
150
  [documentation]: https://pyglet.readthedocs.io
152
151
  [wiki]: https://github.com/pyglet/pyglet/wiki
@@ -1,3 +1,22 @@
1
+ pyglet 2.1.3
2
+
3
+ Changes
4
+ -------
5
+ - window: Change the default znear/zfar to (-8192, 8192).
6
+ - docs: Fix top-left version display and copyright auto-generation (#1264).
7
+ - docs: fixes in the quickstart guide, and lots of other cleanups.
8
+ - clean up legacy super() call syntax around the codebase.
9
+
10
+ Bugfixes
11
+ --------
12
+ - shapes: disable depth testing by default, due to usability issues.
13
+ - window.xlib: prevent crash if initial configuration notify event has invalid width/height.
14
+ - window.xlib: fix screen mode showing dotclock instead of Hz.
15
+ - model: fix the (undocumented) Sphere and Cube test shapes.
16
+ - examples.model.fpscamera: don't normalize the movement input.
17
+ - window: Fix ImageMouseCursor positioning not adapting to scaling (#1278).
18
+
19
+
1
20
  pyglet 2.1.2
2
21
 
3
22
  Bugfixes
@@ -211,14 +211,17 @@ master_doc = "index"
211
211
 
212
212
  # General information about the project.
213
213
  project = "pyglet"
214
- copyright = "2006-2008, Alex Holkner. 2008-2023 pyglet contributors"
214
+ copyright = f"2006-2008, Alex Holkner. 2008-{now.year} pyglet contributors"
215
215
 
216
216
  # The version info for the project you're documenting, acts as replacement for
217
217
  # |version| and |release|, also used in various other places throughout the
218
218
  # built documents.
219
219
  #
220
220
  # The short X.Y version.
221
- version = "2.0"
221
+ if pyglet.version.count(".") == 1:
222
+ version = pyglet.version
223
+ else:
224
+ version = pyglet.version.rsplit('.', 1)[0]
222
225
  # The full version, including alpha/beta/rc tags.
223
226
  release = pyglet.version
224
227
 
@@ -1,13 +1,9 @@
1
1
  pyglet Documentation
2
2
  ====================
3
3
 
4
- .. ATTENTION::
5
- This documentation is for the pyglet 2.1 series, which has a few small API
6
- changes from the 2.0 series. Previous documentation can be found at:
7
- `2.0 maintenance <https://pyglet.readthedocs.io/en/pyglet-2.0-maintenance/>`_.
8
- Documentation for the 1.5 series, which is the last to support legacy OpenGL,
9
- can be found here:
10
- `1.5 maintenance <https://pyglet.readthedocs.io/en/pyglet-1.5-maintenance/>`_.
4
+ .. note::
5
+ This is the documentation for pyglet version |version|.
6
+ If you need a different one use the docs version selector.
11
7
 
12
8
  **pyglet** is a cross-platform windowing and multimedia library for Python,
13
9
  intended for developing games and other visually rich applications. It supports
@@ -30,10 +26,9 @@ Some of the features of pyglet are:
30
26
  use it for both commercial and other open-source projects with very little
31
27
  restriction.
32
28
 
33
- Please join our `Discord`_ server, or join us on the `mailing list`_!
29
+ Please join the conversation on our `Discord server <https://discord.gg/QXyegWe>`_.!
34
30
 
35
31
  .. _Discord: https://discord.gg/QXyegWe
36
- .. _mailing list: http://groups.google.com/group/pyglet-users
37
32
 
38
33
  If this is your first time reading about pyglet, we suggest you start at
39
34
  :doc:`programming_guide/quickstart`.
@@ -6,19 +6,14 @@ Contributing
6
6
  Communication
7
7
  -------------
8
8
 
9
- pyglet communication occurs mostly in our
10
- `discord server <https://discord.gg/QXyegWe>`_,
11
- and
12
- `mailing list <http://groups.google.com/group/pyglet-users>`_.
9
+ pyglet communication occurs mostly in our `Discord server <https://discord.gg/QXyegWe>`_.
13
10
 
14
11
  Issue Tracker
15
12
  -------------
16
13
 
17
14
  You can use the `issue tracker <https://github.com/pyglet/pyglet/issues>`_
18
- to report any bug or compatibility issue.
19
-
20
- We prefer the tracker to address discussions on specific bugs, and address
21
- broader topics of pyglet in the mailing list.
15
+ to report any bug or compatibility issue. If your issue is more complex than what can be
16
+ covered in a ticket, also consider joining the `Discord server <https://discord.gg/QXyegWe>`_.
22
17
 
23
18
  Getting the latest development version
24
19
  --------------------------------------
@@ -68,10 +63,8 @@ Contact
68
63
 
69
64
  pyglet is developed by many individual volunteers, and there is no central
70
65
  point of contact. If you have a question about developing with pyglet, or you
71
- wish to contribute, please join the
72
- `discord server <https://discord.gg/QXyegWe>`_,
73
- or the
74
- `mailing list <http://groups.google.com/group/pyglet-users>`_.
66
+ wish to contribute, please join the `Discord server <https://discord.gg/QXyegWe>`_.
67
+
75
68
 
76
69
  For legal issues, please contact
77
70
  `Alex Holkner <mailto:Alex.Holkner@gmail.com>`_.
@@ -7,6 +7,7 @@ Classes
7
7
  -------
8
8
 
9
9
  .. autoclass:: WidgetBase
10
+ :show-inheritance:
10
11
 
11
12
  .. rubric:: Attributes
12
13
 
@@ -526,7 +526,7 @@ same behavior as a PhysicalObject plus a little extra, so we’ll need to call
526
526
  PhysicalObject's `update()` method and then respond to input::
527
527
 
528
528
  def update(self, dt):
529
- super(Player, self).update(dt)
529
+ super().update(dt)
530
530
 
531
531
  if self.keys['left']:
532
532
  self.rotation -= self.rotate_speed * dt
@@ -699,7 +699,7 @@ gracefully, we must write a simple but slightly enhanced `delete()` method::
699
699
 
700
700
  def delete(self):
701
701
  self.engine_sprite.delete()
702
- super(Player, self).delete()
702
+ super().delete()
703
703
 
704
704
  The Player class is now cleaned up and ready to go.
705
705
 
@@ -890,7 +890,7 @@ subclass of PhysicalObject::
890
890
  """Bullets fired by the player"""
891
891
 
892
892
  def __init__(self, *args, **kwargs):
893
- super(Bullet, self).__init__(
893
+ super().__init__(
894
894
  resources.bullet_image, *args, **kwargs)
895
895
 
896
896
  To get bullets to disappear after a time, we could keep track of our own
@@ -906,7 +906,7 @@ We can do this as soon as the object is initialized by adding a call to
906
906
  :meth:`pyglet.clock.schedule_once` to the constructor::
907
907
 
908
908
  def __init__(self, *args, **kwargs):
909
- super(Bullet, self).__init__(resources.bullet_image, *args, **kwargs)
909
+ super().__init__(resources.bullet_image, *args, **kwargs)
910
910
  pyglet.clock.schedule_once(self.die, 0.5)
911
911
 
912
912
  There’s still more work to be done on the Bullet class, but before we
@@ -924,7 +924,7 @@ to its constructor::
924
924
 
925
925
  class Player(physicalobject.PhysicalObject):
926
926
  def __init__(self, *args, **kwargs):
927
- super(Player, self).__init__(img=resources.player_image, *args, **kwargs)
927
+ super().__init__(img=resources.player_image, *args, **kwargs)
928
928
  ...
929
929
  self.bullet_speed = 700.0
930
930
 
@@ -1065,7 +1065,7 @@ to pass a specific image to the superclass, passing along any other parameters::
1065
1065
 
1066
1066
  class Asteroid(physicalobject.PhysicalObject):
1067
1067
  def __init__(self, *args, **kwargs):
1068
- super(Asteroid, self).__init__(resources.asteroid_image, *args, **kwargs)
1068
+ super().__init__(resources.asteroid_image, *args, **kwargs)
1069
1069
 
1070
1070
  Now we need to write a new `handle_collision_with()` method. It should create
1071
1071
  a random number of new, smaller asteroids with random velocities. However,
@@ -1077,7 +1077,7 @@ We want to keep the old behavior of ignoring other asteroids, so start the
1077
1077
  method with a call to the superclass’s method::
1078
1078
 
1079
1079
  def handle_collision_with(self, other_object):
1080
- super(Asteroid, self).handle_collision_with(other_object)
1080
+ super().handle_collision_with(other_object)
1081
1081
 
1082
1082
  Now we can say that if it’s supposed to die, and it’s big enough, then we
1083
1083
  should create two or three new asteroids with random rotations and velocities.
@@ -1088,7 +1088,7 @@ like they come from the same object::
1088
1088
 
1089
1089
  class Asteroid:
1090
1090
  def handle_collision_with(self, other_object):
1091
- super(Asteroid, self).handle_collision_with(other_object)
1091
+ super().handle_collision_with(other_object)
1092
1092
  if self.dead and self.scale > 0.25:
1093
1093
  num_asteroids = random.randint(2, 3)
1094
1094
  for i in range(num_asteroids):
@@ -1107,13 +1107,13 @@ rotation every frame.
1107
1107
  Add the attribute in the constructor::
1108
1108
 
1109
1109
  def __init__(self, *args, **kwargs):
1110
- super(Asteroid, self).__init__(resources.asteroid_image, *args, **kwargs)
1110
+ super().__init__(resources.asteroid_image, *args, **kwargs)
1111
1111
  self.rotate_speed = random.random() * 100.0 - 50.0
1112
1112
 
1113
1113
  Then write the update() method::
1114
1114
 
1115
1115
  def update(self, dt):
1116
- super(Asteroid, self).update(dt)
1116
+ super().update(dt)
1117
1117
  self.rotation += self.rotate_speed * dt
1118
1118
 
1119
1119
  The last thing we need to do is go over to load.py and have the asteroid()
@@ -1146,12 +1146,4 @@ I’m going to leave it as an exercise for you to do the following::
1146
1146
 
1147
1147
  Good luck! With a little effort, you should be able to figure out most of
1148
1148
  these things on your own. If you have trouble, join us on the pyglet
1149
- mailing list.
1150
-
1151
- Also, in addition to this example game, there is yet *another* Asteroids clone
1152
- available in the `/examples/astraea/` folder in the pyglet source directory.
1153
- In comparison to this example game excercise we've just completed,
1154
- Astraea is a complete game with a proper menu, score system, and additional
1155
- graphical effects. No step-by-step documentation is available for Astraea,
1156
- but the code itself should be easy to understand and illustrates some nice
1157
- techniques.
1149
+ `Discord server <https://discord.gg/QXyegWe>`_.
@@ -20,7 +20,7 @@ through the :ref:`guide_events` section of the documentation. Widgets are by nat
20
20
  very tightly associated with input events, so this is necessary to fully grasp their
21
21
  usage.
22
22
 
23
- Example code can be found in 'examples/gui/widgets.py' in the pyglet source repository.
23
+ Example code can be found in ``examples/gui/widgets.py`` in the pyglet source repository.
24
24
 
25
25
 
26
26
  Creating a Widget
@@ -30,13 +30,16 @@ Included Widgets are :py:class:`~pyglet.gui.widgets.PushButton`,
30
30
  and :py:class:`~pyglet.gui.widgets.TextEntry`. They each have different arguments,
31
31
  which will be shown in the API documentation. For our example, we will create a
32
32
  'PushButton' widget, which requires you to provide at least two images. These two
33
- images will visually represent the "pressed" and "depressed" states of the button.
33
+ images will visually represent the "pressed" and "unpressed" states of the button.
34
34
  This widget can also take an optional image for 'hover', but we'll skip that for now::
35
35
 
36
36
  pressed_img = pyglet.resource.image("button_pressed.png")
37
- depressed_img = pyglet.resource.image("button_depressed.png")
37
+ unpressed_img = pyglet.resource.image("button_unpressed.png")
38
38
 
39
- pushbutton = pyglet.gui.PushButton(x=100, y=300, pressed=pressed_img, depressed=depressed_img, batch=batch)
39
+ pushbutton = pyglet.gui.PushButton(
40
+ x=100, y=300, pressed=pressed_img,
41
+ unpressed=unpressed_img, batch=batch,
42
+ )
40
43
 
41
44
  We now have a PushButton widget, but it won't yet do anything. It will be drawn on
42
45
  screen, however, if included as part of a :py:class:`~pyglet.graphics.Batch` as shown
@@ -46,18 +49,18 @@ events dispatched by the Window::
46
49
  my_window.push_handlers(pushbutton)
47
50
 
48
51
  The widget should now change appearance when you click on it. It will switch between
49
- the provided images (pressed and depressed states). You can try adding the 'hover'
52
+ the provided images (pressed and unpressed states). You can try adding the 'hover'
50
53
  image as well, for more visual feedback.
51
54
 
52
55
  Now that our widget is receiving events, we can now take of the events that are
53
- produced _by_ the widget. In this case, the PushButton widget dispatches two
54
- events: 'on_pressed' and 'on_released'. To wire these up, we simply set handlers
56
+ produced *by* the widget. In this case, the PushButton widget dispatches two
57
+ events: 'on_press' and 'on_release'. To wire these up, we simply set handlers
55
58
  for them::
56
59
 
57
- def my_on_press_handler():
60
+ def my_on_press_handler(widget):
58
61
  print("Button Pressed!")
59
62
 
60
- def my_on_release_handler():
63
+ def my_on_release_handler(widget):
61
64
  print("Button Released...")
62
65
 
63
66
  pushbutton.set_handler('on_press', my_on_press_handler)
@@ -112,7 +115,7 @@ Custom widgets
112
115
  --------------
113
116
  For users who are interested in creating their own custom Widgets, the
114
117
  :py:class:`~pyglet.gui.widgets.WidgetBase` base class is available for
115
- subclassing. This base class has most of the relavent Window events
118
+ subclassing. This base class has most of the relevant Window events
116
119
  pre-defined, and is ready to be pushed as a handler. Custom subclasses
117
120
  can then override whichever mouse or keyboard events they need, depending
118
121
  on the application. Some additional helper properties are also provided.
@@ -69,7 +69,7 @@ sprites might share the same bullet image.
69
69
  A Sprite is constructed given an image or animation, and can be directly
70
70
  drawn with the :py:meth:`~pyglet.sprite.Sprite.draw` method::
71
71
 
72
- sprite = pyglet.sprite.Sprite(img=image)
72
+ sprite = pyglet.sprite.Sprite(img=image, x=100, y=50)
73
73
 
74
74
  @window.event
75
75
  def on_draw():
@@ -106,12 +106,12 @@ When sprites are collected into a batch, no guarantee is made about the order
106
106
  in which they will be drawn. If you need to ensure some sprites are drawn
107
107
  before others (for example, landscape tiles might be drawn before character
108
108
  sprites, which might be drawn before some particle effect sprites), use two
109
- or more :py:class:`~pyglet.graphics.OrderedGroup` objects to specify the
109
+ or more :py:class:`~pyglet.graphics.Group` objects to specify the
110
110
  draw order::
111
111
 
112
112
  batch = pyglet.graphics.Batch()
113
- background = pyglet.graphics.OrderedGroup(0)
114
- foreground = pyglet.graphics.OrderedGroup(1)
113
+ background = pyglet.graphics.Group(order=0)
114
+ foreground = pyglet.graphics.Group(order=1)
115
115
 
116
116
  sprites = [pyglet.sprite.Sprite(image, batch=batch, group=background),
117
117
  pyglet.sprite.Sprite(image, batch=batch, group=background),
@@ -158,9 +158,8 @@ image. For example, to center the image at ``(x, y)``::
158
158
 
159
159
  You can also specify an optional `z` component to the
160
160
  :py:meth:`~pyglet.image.AbstractImage.blit` method.
161
- This has no effect unless you have changed the default projection
162
- or enabled depth testing. In the following example, the second
163
- image is drawn *behind* the first, even though it is drawn after it::
161
+ This has no effect unless you have enabled depth testing. In the following example,
162
+ the second image is drawn *behind* the first, even though it is drawn after it::
164
163
 
165
164
  from pyglet.gl import *
166
165
  glEnable(GL_DEPTH_TEST)
@@ -168,9 +167,10 @@ image is drawn *behind* the first, even though it is drawn after it::
168
167
  kitten.blit(x, y, 0)
169
168
  kitten.blit(x, y, -0.5)
170
169
 
171
- The default pyglet projection has a depth range of (-1, 1) -- images drawn
170
+ The default pyglet projection has a depth range of (-8192, 8192) -- images drawn
172
171
  with a z value outside this range will not be visible, regardless of whether
173
- depth testing is enabled or not.
172
+ depth testing is enabled or not. (You can create your own Window projection matrix
173
+ if you have specific needs).
174
174
 
175
175
  Images with an alpha channel can be blended with the existing framebuffer. To
176
176
  do this you need to supply OpenGL with a blend equation. The following code
@@ -582,8 +582,8 @@ Image grids
582
582
  ^^^^^^^^^^^
583
583
 
584
584
  An "image grid" is a single image which is divided into several smaller images
585
- by drawing an imaginary grid over it. The following image shows an image used
586
- for the explosion animation in the *Astraea* example.
585
+ by drawing an imaginary grid over it. The following image shows an image that
586
+ can be used for an asteroid explosion animation.
587
587
 
588
588
  .. figure:: img/explosion.png
589
589
 
@@ -1,10 +1,8 @@
1
1
  Installation
2
2
  ============
3
3
 
4
- .. note:: These instructions apply to pyglet |version|.
5
-
6
4
  pyglet is a pure Python library, with no hard dependencies on other modules.
7
- No special steps or complitation are required for installation. You can install
5
+ No special steps or compilation are required for installation. You can install
8
6
  from `on PyPI <https://pypi.python.org/pypi/pyglet>`_ via **pip**. For example:
9
7
 
10
8
  .. code-block:: sh
@@ -402,7 +402,7 @@ Before adding a new motion, please do the following:
402
402
  #. Discuss the addition and any remaining questions with maintainers by either:
403
403
 
404
404
  * `Filing a GitHub Issue <https://github.com/pyglet/pyglet/issues>`_
405
- * `Discord or the mailing list <https://github.com/pyglet/pyglet#contact>`_
405
+ * `Joining the Discord server <https://github.com/pyglet/pyglet#contact>`_
406
406
 
407
407
  Then, once you're ready:
408
408
 
@@ -807,16 +807,19 @@ normal, and only their volume and pitch properties will affect the sound.
807
807
  Ticking the clock
808
808
  -----------------
809
809
 
810
- If you are using pyglet's media libraries outside of a pyglet app, you will need
811
- to use some kind of loop to tick the pyglet clock periodically (perhaps every
812
- 200ms or so), otherwise only the first small sample of media will be played::
810
+ If you are using pyglet's media libraries outside of a pyglet app (not using
811
+ ``pyglet.app.run``) you will need to use some kind of loop to tick the pyglet clock
812
+ periodically (perhaps every 200ms or so), otherwise you will have unintended side
813
+ effects. Depending on the backend in use, this could mean only the first small sample
814
+ of media will be played, or crashes due to internal resource exhaustion. At a minimum
815
+ you will need to call::
813
816
 
814
817
  pyglet.clock.tick()
815
818
 
816
- If you wish to have a media source loop continuously (`player.loop = True`) you will
819
+ If you wish to have a media source loop continuously (``player.loop = True``) you will
817
820
  also need to ensure Pyglet's events are dispatched inside your loop::
818
821
 
819
822
  pyglet.app.platform_event_loop.dispatch_posted_events()
820
823
 
821
- If you are inside a pyglet app then calling `pyglet.app.run()` takes care of
824
+ If you are inside a pyglet app then calling ``pyglet.app.run()`` takes care of
822
825
  all this for you.
@@ -337,7 +337,7 @@ for a more familar experience for computer graphics programmers.
337
337
  Vec2(x=10, y=5)
338
338
 
339
339
  * The vector ``heading`` property has been replace with the :py:meth:`~pyglet.math.Vec2.heading` function. This is to
340
- better indicate that this is a calculation, not a static attribute. The function call is also margincally faster::
340
+ better indicate that this is a calculation, not a static attribute. The function call is also marginally faster.
341
341
 
342
342
  * The ``mag`` property has been removed. The :py:meth:`~pyglet.math.Vec2.length` function should be used in it's place.
343
343
 
@@ -42,7 +42,7 @@ Limitations
42
42
  -----------
43
43
 
44
44
  Multisampling
45
- ~~~~~~~~~~~~
45
+ ~~~~~~~~~~~~~
46
46
 
47
47
  Be careful with enabling multisampling on the window. Likely
48
48
  ``get_best_config()`` will not have multisampling enabled.
@@ -190,8 +190,8 @@ Specify ``streaming=False`` in this case::
190
190
  sound = pyglet.resource.media('shot.wav', streaming=False)
191
191
  sound.play()
192
192
 
193
- The `examples/media_player.py` example demonstrates playback of streaming
194
- audio and video using pyglet. The `examples/noisy/noisy.py` example
193
+ The `examples/media/media_player.py` example demonstrates playback of streaming
194
+ audio and video using pyglet. The `examples/media/noisy/noisy.py` example
195
195
  demonstrates playing many short audio samples simultaneously, as in a game.
196
196
 
197
197
  .. [#mp3] MP3 and other compressed audio formats require FFmpeg to be installed.
@@ -222,8 +222,5 @@ bit, the `graphics` module provides higher level objects for the most common
222
222
  OpenGL constructs. The :ref:`guide_graphics` section goes into more detail.
223
223
 
224
224
  There are numerous examples of pyglet applications in the ``examples/``
225
- directory of the documentation and source distributions. If you get
226
- stuck, or have any questions, join us on the `mailing list`_ or `Discord`_!
227
-
228
- .. _mailing list: http://groups.google.com/group/pyglet-users
229
- .. _Discord: https://discord.gg/QXyegWe
225
+ directory of the documentation. If you get
226
+ stuck, or have any questions, join us on the `Discord server <https://discord.gg/QXyegWe>`_!
@@ -5,7 +5,7 @@ Shaders and Rendering
5
5
 
6
6
  At the lowest level, pyglet uses OpenGL to draw graphics in program windows.
7
7
  The OpenGL interface is exposed via the :py:mod:`pyglet.gl` module
8
- (see :ref:`guid
8
+ (see :ref:`guide_gl`)
9
9
 
10
10
  .. Note::
11
11
  If you intend to use OpenGL ES with pyglet on devices like the Raspberry
@@ -5,7 +5,7 @@ class PhysicalObject(pyglet.sprite.Sprite):
5
5
  """A sprite with physical properties such as velocity"""
6
6
 
7
7
  def __init__(self, *args, **kwargs):
8
- super(PhysicalObject, self).__init__(*args, **kwargs)
8
+ super().__init__(*args, **kwargs)
9
9
 
10
10
  # In addition to position, we have velocity
11
11
  self.velocity_x, self.velocity_y = 0.0, 0.0
@@ -7,7 +7,7 @@ class Player(physicalobject.PhysicalObject):
7
7
  """Physical object that responds to user input"""
8
8
 
9
9
  def __init__(self, *args, **kwargs):
10
- super(Player, self).__init__(img=resources.player_image, *args, **kwargs)
10
+ super().__init__(img=resources.player_image, *args, **kwargs)
11
11
 
12
12
  # Set some easy-to-tweak constants
13
13
  self.thrust = 300.0
@@ -33,7 +33,7 @@ class Player(physicalobject.PhysicalObject):
33
33
 
34
34
  def update(self, dt):
35
35
  # Do all the normal physics stuff
36
- super(Player, self).update(dt)
36
+ super().update(dt)
37
37
 
38
38
  if self.keys['left']:
39
39
  self.rotation -= self.rotate_speed * dt
@@ -6,7 +6,7 @@ class PhysicalObject(pyglet.sprite.Sprite):
6
6
  """A sprite with physical properties such as velocity"""
7
7
 
8
8
  def __init__(self, *args, **kwargs):
9
- super(PhysicalObject, self).__init__(*args, **kwargs)
9
+ super().__init__(*args, **kwargs)
10
10
 
11
11
  # In addition to position, we have velocity
12
12
  self.velocity_x, self.velocity_y = 0.0, 0.0
@@ -8,7 +8,7 @@ class Player(physicalobject.PhysicalObject):
8
8
  """Physical object that responds to user input"""
9
9
 
10
10
  def __init__(self, *args, **kwargs):
11
- super(Player, self).__init__(img=resources.player_image, *args, **kwargs)
11
+ super().__init__(img=resources.player_image, *args, **kwargs)
12
12
 
13
13
  # Create a child sprite to show when the ship is thrusting
14
14
  self.engine_sprite = pyglet.sprite.Sprite(img=resources.engine_image, *args, **kwargs)
@@ -23,7 +23,7 @@ class Player(physicalobject.PhysicalObject):
23
23
 
24
24
  def update(self, dt):
25
25
  # Do all the normal physics stuff
26
- super(Player, self).update(dt)
26
+ super().update(dt)
27
27
 
28
28
  if self.key_handler[key.LEFT]:
29
29
  self.rotation -= self.rotate_speed * dt
@@ -50,4 +50,4 @@ class Player(physicalobject.PhysicalObject):
50
50
  # We have a child sprite which must be deleted when this object
51
51
  # is deleted from batches, etc.
52
52
  self.engine_sprite.delete()
53
- super(Player, self).delete()
53
+ super().delete()
@@ -6,17 +6,17 @@ class Asteroid(physicalobject.PhysicalObject):
6
6
  """An asteroid that divides a little before it dies"""
7
7
 
8
8
  def __init__(self, *args, **kwargs):
9
- super(Asteroid, self).__init__(resources.asteroid_image, *args, **kwargs)
9
+ super().__init__(resources.asteroid_image, *args, **kwargs)
10
10
 
11
11
  # Slowly rotate the asteroid as it moves
12
12
  self.rotate_speed = random.random() * 100.0 - 50.0
13
13
 
14
14
  def update(self, dt):
15
- super(Asteroid, self).update(dt)
15
+ super().update(dt)
16
16
  self.rotation += self.rotate_speed * dt
17
17
 
18
18
  def handle_collision_with(self, other_object):
19
- super(Asteroid, self).handle_collision_with(other_object)
19
+ super().handle_collision_with(other_object)
20
20
 
21
21
  # Superclass handles deadness already
22
22
  if self.dead and self.scale > 0.25:
@@ -6,7 +6,7 @@ class Bullet(physicalobject.PhysicalObject):
6
6
  """Bullets fired by the player"""
7
7
 
8
8
  def __init__(self, *args, **kwargs):
9
- super(Bullet, self).__init__(resources.bullet_image, *args, **kwargs)
9
+ super().__init__(resources.bullet_image, *args, **kwargs)
10
10
 
11
11
  # Bullets shouldn't stick around forever
12
12
  pyglet.clock.schedule_once(self.die, 0.5)
@@ -6,7 +6,7 @@ class PhysicalObject(pyglet.sprite.Sprite):
6
6
  """A sprite with physical properties such as velocity"""
7
7
 
8
8
  def __init__(self, *args, **kwargs):
9
- super(PhysicalObject, self).__init__(*args, **kwargs)
9
+ super().__init__(*args, **kwargs)
10
10
 
11
11
  # Velocity
12
12
  self.velocity_x, self.velocity_y = 0.0, 0.0
@@ -8,7 +8,7 @@ class Player(physicalobject.PhysicalObject):
8
8
  """Physical object that responds to user input"""
9
9
 
10
10
  def __init__(self, *args, **kwargs):
11
- super(Player, self).__init__(img=resources.player_image, *args, **kwargs)
11
+ super().__init__(img=resources.player_image, *args, **kwargs)
12
12
 
13
13
  # Create a child sprite to show when the ship is thrusting
14
14
  self.engine_sprite = pyglet.sprite.Sprite(img=resources.engine_image, *args, **kwargs)
@@ -28,7 +28,7 @@ class Player(physicalobject.PhysicalObject):
28
28
 
29
29
  def update(self, dt):
30
30
  # Do all the normal physics stuff
31
- super(Player, self).update(dt)
31
+ super().update(dt)
32
32
 
33
33
  if self.key_handler[key.LEFT]:
34
34
  self.rotation -= self.rotate_speed * dt
@@ -81,4 +81,4 @@ class Player(physicalobject.PhysicalObject):
81
81
  # We have a child sprite which must be deleted when this object
82
82
  # is deleted from batches, etc.
83
83
  self.engine_sprite.delete()
84
- super(Player, self).delete()
84
+ super().delete()
@@ -6,17 +6,17 @@ class Asteroid(physicalobject.PhysicalObject):
6
6
  """An asteroid that divides a little before it dies"""
7
7
 
8
8
  def __init__(self, *args, **kwargs):
9
- super(Asteroid, self).__init__(resources.asteroid_image, *args, **kwargs)
9
+ super().__init__(resources.asteroid_image, *args, **kwargs)
10
10
 
11
11
  # Slowly rotate the asteroid as it moves
12
12
  self.rotate_speed = random.random() * 100.0 - 50.0
13
13
 
14
14
  def update(self, dt):
15
- super(Asteroid, self).update(dt)
15
+ super().update(dt)
16
16
  self.rotation += self.rotate_speed * dt
17
17
 
18
18
  def handle_collision_with(self, other_object):
19
- super(Asteroid, self).handle_collision_with(other_object)
19
+ super().handle_collision_with(other_object)
20
20
 
21
21
  # Superclass handles deadness already
22
22
  if self.dead and self.scale > 0.25:
@@ -6,7 +6,7 @@ class Bullet(physicalobject.PhysicalObject):
6
6
  """Bullets fired by the player"""
7
7
 
8
8
  def __init__(self, *args, **kwargs):
9
- super(Bullet, self).__init__(resources.bullet_image, *args, **kwargs)
9
+ super().__init__(resources.bullet_image, *args, **kwargs)
10
10
 
11
11
  # Bullets shouldn't stick around forever
12
12
  pyglet.clock.schedule_once(self.die, 0.5)