pyglet 2.1.dev6__tar.gz → 2.1.dev7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (805) hide show
  1. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/PKG-INFO +1 -1
  2. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/RELEASE_NOTES +30 -0
  3. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/conf.py +46 -45
  4. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/events.rst +2 -2
  5. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/examplegame.rst +2 -2
  6. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/__init__.py +1 -4
  7. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/app/__init__.py +1 -1
  8. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/app/cocoa.py +61 -25
  9. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/customtypes.py +1 -1
  10. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/gl/cocoa.py +5 -0
  11. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/graphics/shader.py +146 -74
  12. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/gui/ninepatch.py +63 -17
  13. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/image/__init__.py +26 -17
  14. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/input/base.py +13 -36
  15. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/input/controller_db.py +5 -1
  16. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/input/linux/evdev.py +18 -26
  17. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/input/macos/darwin_hid.py +3 -1
  18. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/darwin/cocoapy/cocoalibs.py +2 -0
  19. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/darwin/cocoapy/runtime.py +110 -72
  20. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/win32/com.py +9 -7
  21. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/resource.py +24 -41
  22. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/text/__init__.py +1 -1
  23. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/text/document.py +53 -7
  24. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/text/formats/attributed.py +1 -3
  25. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/text/formats/plaintext.py +1 -1
  26. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/text/formats/structured.py +1 -1
  27. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/text/layout/base.py +18 -14
  28. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/text/layout/incremental.py +2 -5
  29. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/text/runlist.py +114 -0
  30. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/window/cocoa/__init__.py +37 -15
  31. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/window/cocoa/pyglet_delegate.py +1 -1
  32. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/window/cocoa/pyglet_textview.py +8 -5
  33. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/window/cocoa/pyglet_view.py +18 -27
  34. pyglet-2.1.dev7/tests/integration/graphics/test_shaders.py +539 -0
  35. pyglet-2.1.dev7/tests/unit/platform/test_mac_objc.py +114 -0
  36. pyglet-2.1.dev7/tests/unit/shapes/__init__.py +0 -0
  37. pyglet-2.1.dev7/tests/unit/text/__init__.py +0 -0
  38. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/.coveragerc +0 -0
  39. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  40. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  41. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/.github/ISSUE_TEMPLATE/questions--or-other.md +0 -0
  42. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/.github/workflows/codeql.yml +0 -0
  43. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/.github/workflows/unittests.yml +0 -0
  44. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/.gitignore +0 -0
  45. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/.readthedocs.yml +0 -0
  46. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/LICENSE +0 -0
  47. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/MANIFEST.in +0 -0
  48. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/README.md +0 -0
  49. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/contrib/aseprite_codec/README +0 -0
  50. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/contrib/aseprite_codec/asedemo.py +0 -0
  51. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/contrib/aseprite_codec/aseprite.py +0 -0
  52. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/contrib/aseprite_codec/running.ase +0 -0
  53. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/contrib/logo3d/logo3d.jpg +0 -0
  54. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/contrib/logo3d/logo3d.obj.zip +0 -0
  55. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/contrib/logo3d/logo3d.wings +0 -0
  56. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/contrib/qt_sprite_preview.py +0 -0
  57. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/contrib/scenemanager.py +0 -0
  58. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/contrib/toys/follow_mouse.py +0 -0
  59. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/Makefile +0 -0
  60. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/_static/css/custom.css +0 -0
  61. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/_static/favicon.ico +0 -0
  62. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/_static/logo.png +0 -0
  63. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/_static/logo5.svg +0 -0
  64. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/_static/relatedlogo.png +0 -0
  65. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/external_resources.rst +0 -0
  66. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/index.rst +0 -0
  67. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/internal/contributing.rst +0 -0
  68. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/internal/dist.rst +0 -0
  69. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/internal/doc.rst +0 -0
  70. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/internal/generated.rst +0 -0
  71. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/internal/gl.rst +0 -0
  72. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/internal/media_logging_manual.rst +0 -0
  73. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/internal/media_manual.rst +0 -0
  74. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/internal/testing.rst +0 -0
  75. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/internal/virtualenv.rst +0 -0
  76. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/internal/wraptypes-class.svg +0 -0
  77. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/internal/wraptypes.rst +0 -0
  78. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/make.bat +0 -0
  79. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/app.rst +0 -0
  80. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/clock.rst +0 -0
  81. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/customtypes.rst +0 -0
  82. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/display.rst +0 -0
  83. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/event.rst +0 -0
  84. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/font.rst +0 -0
  85. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/gl.rst +0 -0
  86. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/graphics/allocation.rst +0 -0
  87. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/graphics/index.rst +0 -0
  88. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/graphics/shader.rst +0 -0
  89. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/graphics/vertexbuffer.rst +0 -0
  90. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/graphics/vertexdomain.rst +0 -0
  91. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/gui.rst +0 -0
  92. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/image/animation.rst +0 -0
  93. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/image/atlas.rst +0 -0
  94. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/image/buffer.rst +0 -0
  95. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/image/index.rst +0 -0
  96. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/info.rst +0 -0
  97. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/input.rst +0 -0
  98. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/math.rst +0 -0
  99. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/media.rst +0 -0
  100. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/media_synthesis.rst +0 -0
  101. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/pyglet.rst +0 -0
  102. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/resource.rst +0 -0
  103. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/shapes.rst +0 -0
  104. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/sprite.rst +0 -0
  105. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/text/caret.rst +0 -0
  106. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/text/document.rst +0 -0
  107. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/text/index.rst +0 -0
  108. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/text/layout.rst +0 -0
  109. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/window.rst +0 -0
  110. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/window_key.rst +0 -0
  111. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/modules/window_mouse.rst +0 -0
  112. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/context.rst +0 -0
  113. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/debug.rst +0 -0
  114. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/eventloop.rst +0 -0
  115. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/gl.rst +0 -0
  116. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/gui.rst +0 -0
  117. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/image.rst +0 -0
  118. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/abstract_image.png +0 -0
  119. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/abstract_image.svg +0 -0
  120. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/buffer_image.png +0 -0
  121. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/buffer_image.svg +0 -0
  122. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/context_flow.png +0 -0
  123. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/context_flow.svg +0 -0
  124. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/cursor_mac_crosshair.png +0 -0
  125. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/cursor_mac_default.png +0 -0
  126. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/cursor_mac_hand.png +0 -0
  127. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/cursor_mac_no.png +0 -0
  128. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/cursor_mac_size_down.png +0 -0
  129. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/cursor_mac_size_left.png +0 -0
  130. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/cursor_mac_size_left_right.png +0 -0
  131. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/cursor_mac_size_right.png +0 -0
  132. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/cursor_mac_size_up.png +0 -0
  133. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/cursor_mac_size_up_down.png +0 -0
  134. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/cursor_mac_text.png +0 -0
  135. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/cursor_mac_wait.png +0 -0
  136. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/cursor_win_crosshair.png +0 -0
  137. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/cursor_win_default.png +0 -0
  138. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/cursor_win_hand.png +0 -0
  139. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/cursor_win_help.png +0 -0
  140. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/cursor_win_no.png +0 -0
  141. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/cursor_win_size.png +0 -0
  142. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/cursor_win_size_left_right.png +0 -0
  143. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/cursor_win_size_nesw.png +0 -0
  144. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/cursor_win_size_nwse.png +0 -0
  145. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/cursor_win_size_up_down.png +0 -0
  146. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/cursor_win_text.png +0 -0
  147. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/cursor_win_wait.png +0 -0
  148. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/cursor_win_wait_arrow.png +0 -0
  149. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/explosion.png +0 -0
  150. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/font_metrics.png +0 -0
  151. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/font_metrics.svg +0 -0
  152. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/image_classes.png +0 -0
  153. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/image_classes.svg +0 -0
  154. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/image_grid.png +0 -0
  155. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/image_grid.svg +0 -0
  156. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/image_sequence.png +0 -0
  157. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/image_sequence.svg +0 -0
  158. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/mouse_coordinates.png +0 -0
  159. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/mouse_coordinates.svg +0 -0
  160. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/screens.png +0 -0
  161. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/screens.svg +0 -0
  162. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/text_classes.png +0 -0
  163. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/text_classes.svg +0 -0
  164. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/window_location.png +0 -0
  165. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/window_location.svg +0 -0
  166. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/window_osx_borderless.png +0 -0
  167. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/window_osx_default.png +0 -0
  168. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/window_osx_dialog.png +0 -0
  169. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/window_osx_tool.png +0 -0
  170. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/window_xp_default.png +0 -0
  171. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/window_xp_dialog.png +0 -0
  172. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/window_xp_overlay.png +0 -0
  173. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/window_xp_tool.png +0 -0
  174. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/img/window_xp_transparent.png +0 -0
  175. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/input.rst +0 -0
  176. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/installation.rst +0 -0
  177. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/keyboard.rst +0 -0
  178. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/math.rst +0 -0
  179. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/media.rst +0 -0
  180. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/migration.rst +0 -0
  181. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/mouse.rst +0 -0
  182. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/opengles.rst +0 -0
  183. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/options.rst +0 -0
  184. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/quickstart.rst +0 -0
  185. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/rendering.rst +0 -0
  186. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/resources.rst +0 -0
  187. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/shapes.rst +0 -0
  188. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/text.rst +0 -0
  189. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/time.rst +0 -0
  190. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/programming_guide/windowing.rst +0 -0
  191. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/doc/requirements.txt +0 -0
  192. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/clipboard.py +0 -0
  193. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/dpi_scaled_window.py +0 -0
  194. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/events/events_key_state_handler.py +0 -0
  195. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/events/register_event_type.py +0 -0
  196. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/events/window_events.py +0 -0
  197. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/events/window_platform_event.py +0 -0
  198. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/file_dialog.py +0 -0
  199. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/resources/asteroid.png +0 -0
  200. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/resources/bullet.png +0 -0
  201. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/resources/bullet.wav +0 -0
  202. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/resources/engine_flame.png +0 -0
  203. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/resources/player.png +0 -0
  204. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version1/asteroid.py +0 -0
  205. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version1/game/__init__.py +0 -0
  206. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version1/game/load.py +0 -0
  207. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version1/game/resources.py +0 -0
  208. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version2/asteroid.py +0 -0
  209. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version2/game/__init__.py +0 -0
  210. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version2/game/load.py +0 -0
  211. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version2/game/physicalobject.py +0 -0
  212. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version2/game/player.py +0 -0
  213. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version2/game/resources.py +0 -0
  214. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version3/asteroid.py +0 -0
  215. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version3/game/__init__.py +0 -0
  216. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version3/game/load.py +0 -0
  217. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version3/game/physicalobject.py +0 -0
  218. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version3/game/player.py +0 -0
  219. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version3/game/resources.py +0 -0
  220. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version3/game/util.py +0 -0
  221. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version4/asteroid.py +0 -0
  222. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version4/game/__init__.py +0 -0
  223. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version4/game/asteroid.py +0 -0
  224. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version4/game/bullet.py +0 -0
  225. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version4/game/load.py +0 -0
  226. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version4/game/physicalobject.py +0 -0
  227. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version4/game/player.py +0 -0
  228. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version4/game/resources.py +0 -0
  229. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version4/game/util.py +0 -0
  230. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version5/asteroid.py +0 -0
  231. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version5/game/__init__.py +0 -0
  232. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version5/game/asteroid.py +0 -0
  233. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version5/game/bullet.py +0 -0
  234. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version5/game/load.py +0 -0
  235. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version5/game/physicalobject.py +0 -0
  236. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version5/game/player.py +0 -0
  237. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version5/game/resources.py +0 -0
  238. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/game/version5/game/util.py +0 -0
  239. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/graphics/image_convert.py +0 -0
  240. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/graphics/image_display.py +0 -0
  241. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/gui/bar.png +0 -0
  242. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/gui/button_hover.png +0 -0
  243. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/gui/button_pressed.png +0 -0
  244. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/gui/button_unpressed.png +0 -0
  245. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/gui/knob.png +0 -0
  246. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/gui/widgets.py +0 -0
  247. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/hello_world.py +0 -0
  248. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/input/apple_remote.py +0 -0
  249. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/input/controller.py +0 -0
  250. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/input/input.py +0 -0
  251. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/input/joystick.py +0 -0
  252. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/input/tablet.py +0 -0
  253. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/media/media_info.py +0 -0
  254. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/media/media_player.py +0 -0
  255. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/media/noisy/README +0 -0
  256. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/media/noisy/ball.png +0 -0
  257. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/media/noisy/ball.wav +0 -0
  258. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/media/noisy/noisy.py +0 -0
  259. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/media/soundspace/README +0 -0
  260. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/media/soundspace/reader.py +0 -0
  261. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/media/soundspace/res/bass.wav +0 -0
  262. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/media/soundspace/res/drums.wav +0 -0
  263. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/media/soundspace/res/guitar.wav +0 -0
  264. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/media/soundspace/res/piano.wav +0 -0
  265. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/media/soundspace/res/space.txt +0 -0
  266. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/media/soundspace/soundspace.py +0 -0
  267. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/media/synthesizer.py +0 -0
  268. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/media/video.py +0 -0
  269. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/model/box.mtl +0 -0
  270. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/model/box.obj +0 -0
  271. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/model/fpscamera.py +0 -0
  272. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/model/logo3d.mtl +0 -0
  273. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/model/logo3d.obj +0 -0
  274. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/model/model.py +0 -0
  275. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/model/pyglet.png +0 -0
  276. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/opengl/compute_shader.py +0 -0
  277. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/opengl/egl_context.py +0 -0
  278. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/opengl/minimal_shader.py +0 -0
  279. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/opengl/opengl_context.py +0 -0
  280. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/opengl/opengl_core.py +0 -0
  281. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/opengl/opengl_scissor.py +0 -0
  282. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/opengl/pyglet.png +0 -0
  283. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/opengl/torus.py +0 -0
  284. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/programming_guide/animation.py +0 -0
  285. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/programming_guide/dinosaur.gif +0 -0
  286. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/programming_guide/events.py +0 -0
  287. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/programming_guide/hello_world.py +0 -0
  288. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/programming_guide/image_viewer.py +0 -0
  289. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/programming_guide/kitten.jpg +0 -0
  290. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/programming_guide/window_subclass.py +0 -0
  291. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/resources/Brick1Blue.png +0 -0
  292. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/resources/Brick1Crack3.png +0 -0
  293. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/resources/Brick1Gray.png +0 -0
  294. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/resources/kitten.jpg +0 -0
  295. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/resources/pyglet.png +0 -0
  296. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/shapes.py +0 -0
  297. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/sprite/depth_sprite.py +0 -0
  298. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/sprite/display_sprite.py +0 -0
  299. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/sprite/multi_texture_sprite.py +0 -0
  300. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/sprite/sprite_batching.py +0 -0
  301. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/text/advanced_font.py +0 -0
  302. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/text/html_label.py +0 -0
  303. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/text/pyglet.png +0 -0
  304. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/text/text_input.py +0 -0
  305. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/timer.py +0 -0
  306. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/window/camera.py +0 -0
  307. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/window/camera_group.py +0 -0
  308. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/window/fixed_resolution.py +0 -0
  309. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/window/fps_change.py +0 -0
  310. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/window/multiple_windows.py +0 -0
  311. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/window/overlay_window.py +0 -0
  312. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/examples/window/transparent_window.py +0 -0
  313. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/experimental/dist_field/README +0 -0
  314. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/experimental/dist_field/genfield.py +0 -0
  315. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/experimental/dist_field/py.df.png +0 -0
  316. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/experimental/dist_field/py.png +0 -0
  317. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/experimental/dist_field/renderfield.py +0 -0
  318. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/experimental/flaccodec.py +0 -0
  319. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/experimental/hello_world.svg +0 -0
  320. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/experimental/instancing/sprite_instance.py +0 -0
  321. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/experimental/instancing/sprite_instance_object.py +0 -0
  322. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/experimental/multitexture_sprite/multitexturesprite.py +0 -0
  323. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/experimental/spritebenchmark.py +0 -0
  324. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/experimental/svg_test.py +0 -0
  325. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/experimental/wayland/gbm_egl_context.py +0 -0
  326. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/experimental/win32priority.py +0 -0
  327. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/make.py +0 -0
  328. /pyglet-2.1.dev6/pyglet/libs/egl/__init__.py → /pyglet-2.1.dev7/py.typed +0 -0
  329. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/__init__.pyi +0 -0
  330. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/app/base.py +0 -0
  331. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/app/win32.py +0 -0
  332. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/app/xlib.py +0 -0
  333. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/clock.py +0 -0
  334. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/display/__init__.py +0 -0
  335. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/display/__init__.pyi +0 -0
  336. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/display/base.py +0 -0
  337. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/display/cocoa.py +0 -0
  338. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/display/headless.py +0 -0
  339. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/display/win32.py +0 -0
  340. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/display/xlib.py +0 -0
  341. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/display/xlib_vidmoderestore.py +0 -0
  342. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/event.py +0 -0
  343. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/experimental/README.md +0 -0
  344. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/experimental/geoshader_sprite.py +0 -0
  345. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/experimental/hidraw.py +0 -0
  346. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/experimental/jobs.py +0 -0
  347. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/experimental/multitexture_sprite.py +0 -0
  348. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/experimental/net.py +0 -0
  349. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/experimental/particles.py +0 -0
  350. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/extlibs/__init__.py +0 -0
  351. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/extlibs/earcut.py +0 -0
  352. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/extlibs/png.py +0 -0
  353. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/font/__init__.py +0 -0
  354. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/font/base.py +0 -0
  355. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/font/directwrite.py +0 -0
  356. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/font/fontconfig.py +0 -0
  357. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/font/freetype.py +0 -0
  358. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/font/freetype_lib.py +0 -0
  359. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/font/quartz.py +0 -0
  360. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/font/ttf.py +0 -0
  361. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/font/user.py +0 -0
  362. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/font/win32.py +0 -0
  363. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/gl/__init__.py +0 -0
  364. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/gl/agl.py +0 -0
  365. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/gl/base.py +0 -0
  366. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/gl/gl.py +0 -0
  367. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/gl/gl_compat.py +0 -0
  368. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/gl/gl_info.py +0 -0
  369. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/gl/glx.py +0 -0
  370. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/gl/glx_info.py +0 -0
  371. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/gl/glxext_arb.py +0 -0
  372. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/gl/glxext_mesa.py +0 -0
  373. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/gl/glxext_nv.py +0 -0
  374. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/gl/headless.py +0 -0
  375. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/gl/lib.py +0 -0
  376. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/gl/lib_agl.py +0 -0
  377. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/gl/lib_glx.py +0 -0
  378. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/gl/lib_wgl.py +0 -0
  379. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/gl/wgl.py +0 -0
  380. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/gl/wgl_info.py +0 -0
  381. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/gl/wglext_arb.py +0 -0
  382. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/gl/wglext_nv.py +0 -0
  383. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/gl/win32.py +0 -0
  384. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/gl/xlib.py +0 -0
  385. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/graphics/__init__.py +0 -0
  386. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/graphics/allocation.py +0 -0
  387. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/graphics/instance.py +0 -0
  388. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/graphics/vertexarray.py +0 -0
  389. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/graphics/vertexbuffer.py +0 -0
  390. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/graphics/vertexdomain.py +0 -0
  391. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/gui/__init__.py +0 -0
  392. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/gui/frame.py +0 -0
  393. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/gui/widgets.py +0 -0
  394. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/image/animation.py +0 -0
  395. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/image/atlas.py +0 -0
  396. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/image/buffer.py +0 -0
  397. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/image/codecs/__init__.py +0 -0
  398. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/image/codecs/bmp.py +0 -0
  399. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/image/codecs/dds.py +0 -0
  400. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/image/codecs/gdiplus.py +0 -0
  401. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/image/codecs/gdkpixbuf2.py +0 -0
  402. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/image/codecs/gif.py +0 -0
  403. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/image/codecs/pil.py +0 -0
  404. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/image/codecs/png.py +0 -0
  405. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/image/codecs/quartz.py +0 -0
  406. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/image/codecs/s3tc.py +0 -0
  407. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/image/codecs/wic.py +0 -0
  408. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/info.py +0 -0
  409. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/input/__init__.py +0 -0
  410. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/input/controller.py +0 -0
  411. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/input/linux/__init__.py +0 -0
  412. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/input/linux/evdev_constants.py +0 -0
  413. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/input/linux/x11_xinput.py +0 -0
  414. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/input/linux/x11_xinput_tablet.py +0 -0
  415. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/input/macos/__init__.py +0 -0
  416. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/input/win32/__init__.py +0 -0
  417. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/input/win32/directinput.py +0 -0
  418. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/input/win32/wintab.py +0 -0
  419. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/input/win32/xinput.py +0 -0
  420. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/lib.py +0 -0
  421. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/__init__.py +0 -0
  422. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/darwin/__init__.py +0 -0
  423. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/darwin/cocoapy/__init__.py +0 -0
  424. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/darwin/cocoapy/cocoatypes.py +0 -0
  425. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/darwin/coreaudio.py +0 -0
  426. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/darwin/quartzkey.py +0 -0
  427. {pyglet-2.1.dev6/pyglet/libs/wayland → pyglet-2.1.dev7/pyglet/libs/egl}/__init__.py +0 -0
  428. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/egl/egl.py +0 -0
  429. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/egl/eglext.py +0 -0
  430. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/egl/lib.py +0 -0
  431. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/ioctl.py +0 -0
  432. {pyglet-2.1.dev6/tests/base → pyglet-2.1.dev7/pyglet/libs/wayland}/__init__.py +0 -0
  433. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/wayland/gbm.py +0 -0
  434. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/wayland/xkbcommon.py +0 -0
  435. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/win32/__init__.py +0 -0
  436. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/win32/constants.py +0 -0
  437. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/win32/context_managers.py +0 -0
  438. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/win32/dinput.py +0 -0
  439. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/win32/libwintab.py +0 -0
  440. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/win32/types.py +0 -0
  441. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/win32/winkey.py +0 -0
  442. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/x11/__init__.py +0 -0
  443. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/x11/cursorfont.py +0 -0
  444. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/x11/xf86vmode.py +0 -0
  445. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/x11/xinerama.py +0 -0
  446. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/x11/xinput.py +0 -0
  447. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/x11/xlib.py +0 -0
  448. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/libs/x11/xsync.py +0 -0
  449. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/math.py +0 -0
  450. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/__init__.py +0 -0
  451. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/buffered_logger.py +0 -0
  452. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/codecs/__init__.py +0 -0
  453. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/codecs/base.py +0 -0
  454. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/codecs/coreaudio.py +0 -0
  455. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/codecs/ffmpeg.py +0 -0
  456. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/codecs/ffmpeg_lib/__init__.py +0 -0
  457. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/codecs/ffmpeg_lib/compat.py +0 -0
  458. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/codecs/ffmpeg_lib/libavcodec.py +0 -0
  459. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/codecs/ffmpeg_lib/libavformat.py +0 -0
  460. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/codecs/ffmpeg_lib/libavutil.py +0 -0
  461. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/codecs/ffmpeg_lib/libswresample.py +0 -0
  462. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/codecs/ffmpeg_lib/libswscale.py +0 -0
  463. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/codecs/gstreamer.py +0 -0
  464. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/codecs/pyogg.py +0 -0
  465. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/codecs/wave.py +0 -0
  466. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/codecs/wmf.py +0 -0
  467. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/devices/__init__.py +0 -0
  468. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/devices/base.py +0 -0
  469. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/devices/win32.py +0 -0
  470. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/drivers/__init__.py +0 -0
  471. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/drivers/base.py +0 -0
  472. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/drivers/directsound/__init__.py +0 -0
  473. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/drivers/directsound/adaptation.py +0 -0
  474. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/drivers/directsound/exceptions.py +0 -0
  475. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/drivers/directsound/interface.py +0 -0
  476. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/drivers/directsound/lib_dsound.py +0 -0
  477. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/drivers/listener.py +0 -0
  478. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/drivers/openal/__init__.py +0 -0
  479. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/drivers/openal/adaptation.py +0 -0
  480. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/drivers/openal/interface.py +0 -0
  481. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/drivers/openal/lib_alc.py +0 -0
  482. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/drivers/openal/lib_openal.py +0 -0
  483. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/drivers/pulse/__init__.py +0 -0
  484. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/drivers/pulse/adaptation.py +0 -0
  485. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/drivers/pulse/interface.py +0 -0
  486. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/drivers/pulse/lib_pulseaudio.py +0 -0
  487. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/drivers/silent/__init__.py +0 -0
  488. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/drivers/silent/adaptation.py +0 -0
  489. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/drivers/xaudio2/__init__.py +0 -0
  490. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/drivers/xaudio2/adaptation.py +0 -0
  491. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/drivers/xaudio2/interface.py +0 -0
  492. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/drivers/xaudio2/lib_xaudio2.py +0 -0
  493. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/exceptions.py +0 -0
  494. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/instrumentation.py +0 -0
  495. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/player.py +0 -0
  496. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/player_worker_thread.py +0 -0
  497. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/media/synthesis.py +0 -0
  498. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/model/__init__.py +0 -0
  499. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/model/codecs/__init__.py +0 -0
  500. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/model/codecs/base.py +0 -0
  501. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/model/codecs/gltf.py +0 -0
  502. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/model/codecs/obj.py +0 -0
  503. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/shapes.py +0 -0
  504. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/sprite.py +0 -0
  505. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/text/caret.py +0 -0
  506. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/text/formats/__init__.py +0 -0
  507. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/text/formats/html.py +0 -0
  508. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/text/layout/__init__.py +0 -0
  509. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/text/layout/scrolling.py +0 -0
  510. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/util.py +0 -0
  511. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/window/__init__.py +0 -0
  512. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/window/cocoa/pyglet_window.py +0 -0
  513. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/window/cocoa/systemcursor.py +0 -0
  514. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/window/event.py +0 -0
  515. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/window/headless/__init__.py +0 -0
  516. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/window/key.py +0 -0
  517. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/window/mouse.py +0 -0
  518. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/window/win32/__init__.py +0 -0
  519. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyglet/window/xlib/__init__.py +0 -0
  520. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pyproject.toml +0 -0
  521. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/pytest.ini +0 -0
  522. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/setup.py +0 -0
  523. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/__init__.py +0 -0
  524. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/annotations.py +0 -0
  525. {pyglet-2.1.dev6/tests/integration → pyglet-2.1.dev7/tests/base}/__init__.py +0 -0
  526. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/base/data.py +0 -0
  527. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/base/event_loop.py +0 -0
  528. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/base/interactive.py +0 -0
  529. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/base/performance.py +0 -0
  530. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/conftest.py +0 -0
  531. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/fonts/README +0 -0
  532. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/fonts/action_man.ttf +0 -0
  533. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/fonts/action_man_bold.ttf +0 -0
  534. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/fonts/action_man_bold_italic.ttf +0 -0
  535. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/fonts/action_man_italic.ttf +0 -0
  536. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/fonts/courR12-ISO8859-1.pcf +0 -0
  537. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/8bpp.gif +0 -0
  538. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/cursor.png +0 -0
  539. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/dinosaur.gif +0 -0
  540. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/gdk_close.png +0 -0
  541. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/grey_background.png +0 -0
  542. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/icon1.png +0 -0
  543. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/icon_size1.png +0 -0
  544. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/icon_size2.png +0 -0
  545. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/icon_size3.png +0 -0
  546. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/icon_size4.png +0 -0
  547. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/icon_size5.png +0 -0
  548. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/l.png +0 -0
  549. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/la.png +0 -0
  550. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/multitexture.png +0 -0
  551. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/rgb.png +0 -0
  552. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/rgb_16bpp.bmp +0 -0
  553. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/rgb_1bpp.bmp +0 -0
  554. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/rgb_24bpp.bmp +0 -0
  555. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/rgb_32bpp.bmp +0 -0
  556. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/rgb_4bpp.bmp +0 -0
  557. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/rgb_8bpp.bmp +0 -0
  558. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/rgb_8bpp.png +0 -0
  559. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/rgb_8bpp_trans.png +0 -0
  560. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/rgb_dxt1.dds +0 -0
  561. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/rgba.png +0 -0
  562. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/rgba_32bpp.bmp +0 -0
  563. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/rgba_dxt1.dds +0 -0
  564. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/rgba_dxt3.dds +0 -0
  565. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/rgba_dxt5.dds +0 -0
  566. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/images/tests.interactive.test_interactive_test_base._Test.test_1.001.png +0 -0
  567. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/media/README +0 -0
  568. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/media/alert.wav +0 -0
  569. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/media/login.wav +0 -0
  570. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/media/logout.wav +0 -0
  571. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/media/receive.wav +0 -0
  572. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/media/send.wav +0 -0
  573. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/media/synthesis_sawtooth_16_11025_1ch.wav +0 -0
  574. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/media/synthesis_sawtooth_16_44800_1ch.wav +0 -0
  575. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/media/synthesis_silence_16_11025_1ch.wav +0 -0
  576. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/media/synthesis_silence_16_44800_1ch.wav +0 -0
  577. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/media/synthesis_simplefm_16_11025_1ch.wav +0 -0
  578. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/media/synthesis_simplefm_16_44800_1ch.wav +0 -0
  579. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/media/synthesis_sine_16_11025_1ch.wav +0 -0
  580. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/media/synthesis_sine_16_44800_1ch.wav +0 -0
  581. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/media/synthesis_square_16_11025_1ch.wav +0 -0
  582. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/media/synthesis_square_16_44800_1ch.wav +0 -0
  583. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/media/synthesis_triangle_16_11025_1ch.wav +0 -0
  584. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/media/synthesis_triangle_16_44800_1ch.wav +0 -0
  585. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/models/logo3d.mtl +0 -0
  586. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/data/models/logo3d.obj +0 -0
  587. {pyglet-2.1.dev6/tests/integration/app → pyglet-2.1.dev7/tests/integration}/__init__.py +0 -0
  588. {pyglet-2.1.dev6/tests/integration/graphics → pyglet-2.1.dev7/tests/integration/app}/__init__.py +0 -0
  589. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/app/test_eventloop.py +0 -0
  590. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/conftest.py +0 -0
  591. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/font/test_fontconfig.py +0 -0
  592. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/font/test_freetype_face.py +0 -0
  593. {pyglet-2.1.dev6/tests/integration/image → pyglet-2.1.dev7/tests/integration/graphics}/__init__.py +0 -0
  594. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/graphics/test_allocation.py +0 -0
  595. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/graphics/test_batch_migration.py +0 -0
  596. {pyglet-2.1.dev6/tests/integration/media → pyglet-2.1.dev7/tests/integration/image}/__init__.py +0 -0
  597. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/image/test_gdkpixbuf2.py +0 -0
  598. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/image/test_imagegrid.py +0 -0
  599. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/image/test_texture3d.py +0 -0
  600. {pyglet-2.1.dev6/tests/integration/model → pyglet-2.1.dev7/tests/integration/media}/__init__.py +0 -0
  601. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/media/mock_player.py +0 -0
  602. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/media/test_directsound.py +0 -0
  603. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/media/test_driver.py +0 -0
  604. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/media/test_openal.py +0 -0
  605. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/media/test_player.py +0 -0
  606. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/media/test_pulse.py +0 -0
  607. {pyglet-2.1.dev6/tests/integration/resource → pyglet-2.1.dev7/tests/integration/model}/__init__.py +0 -0
  608. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/model/test_loading.py +0 -0
  609. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/platform/__init__.py +0 -0
  610. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/platform/test_win_context_managers.py +0 -0
  611. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/platform/test_win_multicore_clock.py +0 -0
  612. {pyglet-2.1.dev6/tests/integration/text → pyglet-2.1.dev7/tests/integration/resource}/__init__.py +0 -0
  613. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/resource/dir1/dir1/f3.txt +0 -0
  614. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/resource/dir1/f2.txt +0 -0
  615. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/resource/dir1/res.zip +0 -0
  616. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/resource/dir2/f6.txt +0 -0
  617. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/resource/f1.txt +0 -0
  618. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/resource/rgbm.png +0 -0
  619. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/resource/test_resource_image_loading.py +0 -0
  620. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/resource/test_resource_loading.py +0 -0
  621. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/test_integrations.py +0 -0
  622. {pyglet-2.1.dev6/tests/integration/window → pyglet-2.1.dev7/tests/integration/text}/__init__.py +0 -0
  623. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/text/test_empty_document.py +0 -0
  624. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/text/test_label_creation.py +0 -0
  625. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/text/test_layout_creation.py +0 -0
  626. {pyglet-2.1.dev6/tests/interactive → pyglet-2.1.dev7/tests/integration/window}/__init__.py +0 -0
  627. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/window/test_context_share.py +0 -0
  628. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/window/test_event_sequence.py +0 -0
  629. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/integration/window/test_window_caption.py +0 -0
  630. {pyglet-2.1.dev6/tests/interactive/image → pyglet-2.1.dev7/tests/interactive}/__init__.py +0 -0
  631. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/interactive/conftest.py +0 -0
  632. {pyglet-2.1.dev6/tests/interactive/media → pyglet-2.1.dev7/tests/interactive/image}/__init__.py +0 -0
  633. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/interactive/image/test_image.py +0 -0
  634. {pyglet-2.1.dev6/tests/interactive/text → pyglet-2.1.dev7/tests/interactive/media}/__init__.py +0 -0
  635. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/interactive/media/test_player.py +0 -0
  636. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/interactive/screenshots/committed/README +0 -0
  637. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/interactive/screenshots/session/README +0 -0
  638. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/interactive/shapes/test_shapes.py +0 -0
  639. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/interactive/test_interactive_test_base.py +0 -0
  640. {pyglet-2.1.dev6/tests/interactive/window → pyglet-2.1.dev7/tests/interactive/text}/__init__.py +0 -0
  641. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/interactive/text/test_caret_color.py +0 -0
  642. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/interactive/text/test_content_valign.py +0 -0
  643. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/interactive/text/test_html.py +0 -0
  644. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/interactive/text/test_inline_elements.py +0 -0
  645. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/interactive/text/test_inline_elements_style_change.py +0 -0
  646. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/interactive/text/test_multiline_wrap.py +0 -0
  647. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/interactive/text/test_plain.py +0 -0
  648. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/interactive/text/test_style.py +0 -0
  649. {pyglet-2.1.dev6/tests/unit → pyglet-2.1.dev7/tests/interactive/window}/__init__.py +0 -0
  650. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/interactive/window/test_window_events.py +0 -0
  651. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/interactive/window/test_window_fullscreen.py +0 -0
  652. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/interactive/window/test_window_modes.py +0 -0
  653. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/interactive/window/test_window_multisample.py +0 -0
  654. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/interactive/window/test_window_open.py +0 -0
  655. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/interactive/window/test_window_settings.py +0 -0
  656. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/interactive/window/test_window_styles.py +0 -0
  657. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/interactive/window/window_util.py +0 -0
  658. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/interactive/windowed_test_base.py +0 -0
  659. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/requirements.txt +0 -0
  660. {pyglet-2.1.dev6/tests/unit/media → pyglet-2.1.dev7/tests/unit}/__init__.py +0 -0
  661. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/unit/conftest.py +0 -0
  662. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/unit/math/test_mat.py +0 -0
  663. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/unit/math/test_quat.py +0 -0
  664. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/unit/math/test_vec2.py +0 -0
  665. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/unit/math/test_vec3.py +0 -0
  666. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/unit/math/test_vec4.py +0 -0
  667. {pyglet-2.1.dev6/tests/unit/shader → pyglet-2.1.dev7/tests/unit/media}/__init__.py +0 -0
  668. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/unit/media/test_listener.py +0 -0
  669. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/unit/media/test_player.py +0 -0
  670. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/unit/media/test_sources.py +0 -0
  671. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/unit/media/test_synthesis.py +0 -0
  672. {pyglet-2.1.dev6/tests/unit/shapes → pyglet-2.1.dev7/tests/unit/platform}/__init__.py +0 -0
  673. {pyglet-2.1.dev6/tests/unit/text → pyglet-2.1.dev7/tests/unit/shader}/__init__.py +0 -0
  674. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/unit/shader/conftest.py +0 -0
  675. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/unit/shader/test_shader.py +0 -0
  676. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/unit/shapes/conftest.py +0 -0
  677. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/unit/shapes/test_bordered_rectangle.py +0 -0
  678. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/unit/shapes/test_shapes.py +0 -0
  679. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/unit/test_atlas.py +0 -0
  680. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/unit/test_clock.py +0 -0
  681. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/unit/test_clock_freq.py +0 -0
  682. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/unit/test_events.py +0 -0
  683. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/unit/test_font.py +0 -0
  684. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/unit/test_input.py +0 -0
  685. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/unit/test_resource_path.py +0 -0
  686. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/unit/test_sprite.py +0 -0
  687. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/unit/test_text.py +0 -0
  688. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/unit/text/test_caret.py +0 -0
  689. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tests/unit/text/test_layout.py +0 -0
  690. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/al_info.py +0 -0
  691. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/ffmpeg/bokeh_timeline.py +0 -0
  692. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/ffmpeg/compare.py +0 -0
  693. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/ffmpeg/configure.py +0 -0
  694. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/ffmpeg/extractors.py +0 -0
  695. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/ffmpeg/fs.py +0 -0
  696. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/ffmpeg/mp.py +0 -0
  697. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/ffmpeg/mpexceptions.py +0 -0
  698. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/ffmpeg/playmany.py +0 -0
  699. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/ffmpeg/readme_ffmpeg_debbuging_branch.txt +0 -0
  700. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/ffmpeg/readme_run_tests.txt +0 -0
  701. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/ffmpeg/report.py +0 -0
  702. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/ffmpeg/reports.py +0 -0
  703. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/ffmpeg/retry_crashed.py +0 -0
  704. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/ffmpeg/run_test_suite.py +0 -0
  705. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/ffmpeg/summarize.py +0 -0
  706. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/ffmpeg/test_instrumentation.py +0 -0
  707. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/ffmpeg/timeline.py +0 -0
  708. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/gencontrollerdb.py +0 -0
  709. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/gengl.py +0 -0
  710. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/genwrappers.py +0 -0
  711. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/gl.template +0 -0
  712. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/gl.xml +0 -0
  713. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/gl_info.py +0 -0
  714. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/inspect_font.py +0 -0
  715. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/requirements.txt +0 -0
  716. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/wgl.h +0 -0
  717. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/wraptypes/__init__.py +0 -0
  718. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/wraptypes/cparser.py +0 -0
  719. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/wraptypes/ctypesparser.py +0 -0
  720. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/wraptypes/lex.py +0 -0
  721. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/wraptypes/preprocessor.py +0 -0
  722. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/wraptypes/wrap.py +0 -0
  723. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/tools/wraptypes/yacc.py +0 -0
  724. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/LICENSE.txt +0 -0
  725. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/README.rst +0 -0
  726. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/assets/favicon.ico +0 -0
  727. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/assets/static/css/example-custom-styles.css +0 -0
  728. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/assets/static/images/pyglet.png +0 -0
  729. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/content/404.html/contents.lr +0 -0
  730. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/content/404.html/ngc-5793.jpg +0 -0
  731. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/content/authors/benjamin/contents.lr +0 -0
  732. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/content/authors/benjamin/pyglet.png +0 -0
  733. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/content/authors/contents.lr +0 -0
  734. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/content/blog/contents.lr +0 -0
  735. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/content/blog/welcome-blog/contents.lr +0 -0
  736. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/content/contents.lr +0 -0
  737. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/content/eclipse.jpg +0 -0
  738. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/pyglet.lektorproject +0 -0
  739. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/AUTHORS.txt +0 -0
  740. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/CHANGELOG.md +0 -0
  741. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/CONTRIBUTING.md +0 -0
  742. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/LICENSE.txt +0 -0
  743. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/NOTICE.txt +0 -0
  744. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/README.md +0 -0
  745. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/assets/static/css/bootstrap.css +0 -0
  746. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/assets/static/css/icomoon.css +0 -0
  747. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/assets/static/css/magnific-popup.css +0 -0
  748. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/assets/static/css/style.css +0 -0
  749. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  750. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  751. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
  752. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/assets/static/fonts/icomoon/icomoon.ttf +0 -0
  753. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/assets/static/fonts/icomoon/icomoon.woff +0 -0
  754. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/assets/static/images/Preloader_2.gif +0 -0
  755. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/assets/static/images/placeholder_person.png +0 -0
  756. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/assets/static/js/jquery-3.3.1.min.js +0 -0
  757. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/assets/static/js/jquery.easing.min.js +0 -0
  758. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/assets/static/js/jquery.magnific-popup.min.js +0 -0
  759. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/assets/static/js/jquery.stellar.js +0 -0
  760. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/assets/static/js/jquery.stellar.min.js +0 -0
  761. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/assets/static/js/jquery.waypoints.min.js +0 -0
  762. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/assets/static/js/magnific-popup-options.js +0 -0
  763. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/assets/static/js/main-singlelayout.js +0 -0
  764. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/assets/static/js/main.js +0 -0
  765. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/flowblocks/content.ini +0 -0
  766. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/flowblocks/gallery.ini +0 -0
  767. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/flowblocks/gallery_item.ini +0 -0
  768. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/flowblocks/member.ini +0 -0
  769. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/flowblocks/mission.ini +0 -0
  770. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/flowblocks/mission_tab.ini +0 -0
  771. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/flowblocks/service.ini +0 -0
  772. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/flowblocks/services.ini +0 -0
  773. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/flowblocks/team.ini +0 -0
  774. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/images/blog-index.png +0 -0
  775. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/images/full-blog.png +0 -0
  776. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/images/full-page.png +0 -0
  777. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/images/gallery-404.png +0 -0
  778. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/images/gallery-singlepage.png +0 -0
  779. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/images/mainpage-screenshots.png +0 -0
  780. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/images/responsive-layout.png +0 -0
  781. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/models/404.ini +0 -0
  782. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/models/author.ini +0 -0
  783. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/models/authors.ini +0 -0
  784. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/models/blog-post.ini +0 -0
  785. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/models/blog.ini +0 -0
  786. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/models/page.ini +0 -0
  787. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/models/single-layout.ini +0 -0
  788. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/templates/404.html +0 -0
  789. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/templates/author.html +0 -0
  790. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/templates/authors.html +0 -0
  791. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/templates/blocks/content.html +0 -0
  792. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/templates/blocks/gallery.html +0 -0
  793. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/templates/blocks/mission.html +0 -0
  794. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/templates/blocks/services.html +0 -0
  795. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/templates/blocks/team.html +0 -0
  796. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/templates/blog-layout.html +0 -0
  797. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/templates/blog-post.html +0 -0
  798. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/templates/blog.html +0 -0
  799. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/templates/layout.html +0 -0
  800. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/templates/macros/blog.html +0 -0
  801. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/templates/macros/pagination.html +0 -0
  802. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/templates/none.html +0 -0
  803. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/templates/page.html +0 -0
  804. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/templates/single-layout.html +0 -0
  805. {pyglet-2.1.dev6 → pyglet-2.1.dev7}/website/themes/lektor-icon/theme.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyglet
3
- Version: 2.1.dev6
3
+ Version: 2.1.dev7
4
4
  Summary: pyglet is a cross-platform games and multimedia package.
5
5
  Author-email: Alex Holkner & contributors <Alex.Holkner@gmail.com>
6
6
  Requires-Python: >=3.8
@@ -1,3 +1,33 @@
1
+ pyglet 2.0.18
2
+
3
+ Changes and Improvements
4
+ ------------------------
5
+ - shader: add support for OpenGL structures in UBO's (#1212)
6
+ - win32.com: get libs/win32/com.py ready for incoming 3.13 changes #1199
7
+ - docs: fix various typos, and example code to align with docs #1200, #1201
8
+ - text.document: add new AbstractDocument.append_text method for more efficient end-of-text additions #1182
9
+ - tests: fix issues with broken tests on macOS.
10
+ - input.macos: add missing axis alias for modern controllers (Stadia, newer XBOX One)
11
+ - gui.NinePatch: Add a new NinePatch.create_around_layout class method
12
+ - typing: add py.typed file #1205
13
+
14
+ Bugfixes
15
+ --------
16
+ - shader: fix matrix uniform assignment #1194
17
+ - text: fix missing caret top level import
18
+ - text.layout: fix updating anchor on the X axis #1213
19
+ - text.layout: move get_line_count function into the base TextLayout class
20
+ - window.macos: fix blinking cursor in bottom left of window #1204
21
+ - examples: fix rectangle not appearing in text_input example
22
+ - macos: fix missing dealloc for text view.
23
+ - macos: fix some deallocation issues when creating multiple windows.
24
+ - macos: fix event loop termination exiting the entire app.
25
+ - macos: fix focus being stolen by other apps during launch. (#1211)
26
+ - macos: fix error about pygletUpdate when closing a window. (#1219)
27
+ - macos: fix function keys not registering. (#1220)
28
+ - docs: move check for `sys.modules['sphinx']` into doc/conf.py to prevent conflicts with jupyter #1215
29
+
30
+
1
31
  pyglet 2.0.17
2
32
 
3
33
  Changes and Improvements
@@ -2,11 +2,12 @@
2
2
  # pyglet documentation build configuration file.
3
3
  #
4
4
  # This file is execfile()d with the current directory set to its containing dir.
5
- import datetime
6
5
  import os
7
6
  import sys
8
7
  import time
9
8
  import typing
9
+ import datetime
10
+
10
11
  from typing import TypeVar
11
12
 
12
13
  import sphinx_autodoc_typehints
@@ -31,7 +32,7 @@ def parse_attributes_section(self, section):
31
32
  _type = self._lookup_annotation(_name)
32
33
  if _name in self._annotations:
33
34
  _type = sphinx_autodoc_typehints.add_type_css_class(
34
- sphinx_autodoc_typehints.format_annotation(self._annotations[_name], self._app.config))
35
+ sphinx_autodoc_typehints.format_annotation(self._annotations[_name], self._app.config))
35
36
 
36
37
  field = self._format_field(_name, _type, _desc)
37
38
  if multi:
@@ -48,12 +49,15 @@ def parse_attributes_section(self, section):
48
49
 
49
50
  GoogleDocstring._parse_attributes_section = parse_attributes_section
50
51
 
52
+
51
53
  # Unpatch... the patch.
52
54
  def _revert_patch():
53
55
  pass
54
56
 
57
+
55
58
  sphinx_autodoc_typehints.patches._patch_google_docstring_lookup_annotation = _revert_patch
56
59
 
60
+
57
61
  # Patch to fix our RST insertion issues.
58
62
  class _RstSnippetParser(RSTParser):
59
63
  @staticmethod
@@ -63,13 +67,14 @@ class _RstSnippetParser(RSTParser):
63
67
 
64
68
  sphinx_autodoc_typehints.parser.RSTParser = _RstSnippetParser
65
69
 
70
+
66
71
  def write_build(data, filename):
67
72
  with open(os.path.join("internal", filename), "w") as f:
68
73
  f.write(".. list-table::\n")
69
74
  f.write(" :widths: 50 50\n")
70
75
  f.write("\n")
71
76
  for var, val in data:
72
- f.write(" * - "+var+"\n - "+val+"\n")
77
+ f.write(" * - " + var + "\n - " + val + "\n")
73
78
 
74
79
 
75
80
  sys.is_pyglet_doc_run = True
@@ -82,17 +87,14 @@ sys.path.insert(0, os.path.abspath("."))
82
87
  # import the pyglet package.
83
88
  sys.path.insert(0, os.path.abspath(".."))
84
89
 
85
-
86
90
  try:
87
91
  import pyglet
92
+
88
93
  print(f"Generating pyglet {pyglet.version} Documentation")
89
94
  except ImportError:
90
95
  print("ERROR: pyglet not found")
91
96
  sys.exit(1)
92
97
 
93
-
94
-
95
-
96
98
  # -- PYGLET DOCUMENTATION CONFIGURATION ----------------------------------------
97
99
 
98
100
 
@@ -150,7 +152,6 @@ skip_modules = {"pyglet": {
150
152
  },
151
153
  }
152
154
 
153
-
154
155
  now = datetime.datetime.fromtimestamp(time.time())
155
156
  build_data = (("Date", now.strftime("%Y/%m/%d %H:%M:%S")),
156
157
  ("pyglet version", pyglet.version))
@@ -227,19 +228,19 @@ release = pyglet.version
227
228
 
228
229
  # There are two options for replacing |today|: either, you set today to some
229
230
  # non-false value, then it is used:
230
- #today = ''
231
+ # today = ''
231
232
  # Else, today_fmt is used as the format for a strftime call.
232
- #today_fmt = '%B %d, %Y'
233
+ # today_fmt = '%B %d, %Y'
233
234
 
234
235
  # List of patterns, relative to source directory, that match files and
235
236
  # directories to ignore when looking for source files.
236
237
  exclude_patterns = ["_build", "_templates", "api"]
237
238
 
238
239
  # The reST default role (used for this markup: `text`) to use for all documents.
239
- #default_role = None
240
+ # default_role = None
240
241
 
241
242
  # If true, '()' will be appended to :func: etc. cross-reference text.
242
- #add_function_parentheses = True
243
+ # add_function_parentheses = True
243
244
 
244
245
  # If true, the current module name will be prepended to all description
245
246
  # unit titles (such as .. function::).
@@ -247,7 +248,7 @@ add_module_names = False
247
248
 
248
249
  # If true, sectionauthor and moduleauthor directives will be shown in the
249
250
  # output. They are ignored by default.
250
- #show_authors = False
251
+ # show_authors = False
251
252
 
252
253
  # The name of the Pygments (syntax highlighting) style to use.
253
254
  pygments_style = "sphinx"
@@ -255,7 +256,6 @@ pygments_style = "sphinx"
255
256
  # A list of ignored prefixes for module index sorting.
256
257
  modindex_common_prefix = ["pyglet."]
257
258
 
258
-
259
259
  # -- Options for HTML output ---------------------------------------------------
260
260
 
261
261
  # The theme to use for HTML and HTML Help pages. See the documentation for
@@ -265,7 +265,7 @@ html_theme = "sphinx_rtd_theme"
265
265
  # Theme options are theme-specific and customize the look and feel of a theme
266
266
  # further. For a list of options available for each theme, see the
267
267
  # documentation.
268
- #html_theme_options = {}
268
+ # html_theme_options = {}
269
269
 
270
270
  # Force custom css to allow multiline inits.
271
271
  html_css_files = [
@@ -299,18 +299,18 @@ html_static_path = ["_static"]
299
299
 
300
300
  # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
301
301
  # using the given strftime format.
302
- #html_last_updated_fmt = '%b %d, %Y'
302
+ # html_last_updated_fmt = '%b %d, %Y'
303
303
 
304
304
  # If true, SmartyPants will be used to convert quotes and dashes to
305
305
  # typographically correct entities.
306
- #html_use_smartypants = True
306
+ # html_use_smartypants = True
307
307
 
308
308
  # Custom sidebar templates, maps document names to template names.
309
- #html_sidebars = {}
309
+ # html_sidebars = {}
310
310
 
311
311
  # Additional templates that should be rendered to pages, maps page names to
312
312
  # template names.
313
- #html_additional_pages = {}
313
+ # html_additional_pages = {}
314
314
 
315
315
  # If false, no module index is generated.
316
316
  html_domain_indices = True
@@ -325,62 +325,61 @@ html_split_index = True
325
325
  html_show_sourcelink = False
326
326
 
327
327
  # If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
328
- #html_show_sphinx = True
328
+ # html_show_sphinx = True
329
329
 
330
330
  # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
331
- #html_show_copyright = True
331
+ # html_show_copyright = True
332
332
 
333
333
  # If true, an OpenSearch description file will be output, and all pages will
334
334
  # contain a <link> tag referring to it. The value of this option must be the
335
335
  # base URL from which the finished HTML is served.
336
- #html_use_opensearch = ''
336
+ # html_use_opensearch = ''
337
337
 
338
338
  # This is the file name suffix for HTML files (e.g. ".xhtml").
339
- #html_file_suffix = None
339
+ # html_file_suffix = None
340
340
 
341
341
  # Output file base name for HTML help builder.
342
342
  htmlhelp_basename = "pygletdoc"
343
343
 
344
-
345
344
  # -- Options for LaTeX output --------------------------------------------------
346
345
 
347
346
  latex_elements = {
348
- # The paper size ('letterpaper' or 'a4paper').
349
- #'papersize': 'letterpaper',
347
+ # The paper size ('letterpaper' or 'a4paper').
348
+ # 'papersize': 'letterpaper',
350
349
 
351
- # The font size ('10pt', '11pt' or '12pt').
352
- #'pointsize': '10pt',
350
+ # The font size ('10pt', '11pt' or '12pt').
351
+ # 'pointsize': '10pt',
353
352
 
354
- # Additional stuff for the LaTeX preamble.
355
- #'preamble': '',
353
+ # Additional stuff for the LaTeX preamble.
354
+ # 'preamble': '',
356
355
  }
357
356
 
358
357
  # Grouping the document tree into LaTeX files. List of tuples
359
358
  # (source start file, target name, title, author, documentclass [howto/manual]).
360
359
  latex_documents = [
361
- ("index", "pyglet.tex", "pyglet Documentation",
362
- "Alex Holkner", "manual"),
360
+ ("index", "pyglet.tex", "pyglet Documentation",
361
+ "Alex Holkner", "manual"),
363
362
  ]
364
363
 
365
364
  # The name of an image file (relative to this directory) to place at the top of
366
365
  # the title page.
367
- #latex_logo = None
366
+ # latex_logo = None
368
367
 
369
368
  # For "manual" documents, if this is true, then toplevel headings are parts,
370
369
  # not chapters.
371
- #latex_use_parts = False
370
+ # latex_use_parts = False
372
371
 
373
372
  # If true, show page references after internal links.
374
- #latex_show_pagerefs = False
373
+ # latex_show_pagerefs = False
375
374
 
376
375
  # If true, show URL addresses after external links.
377
- #latex_show_urls = False
376
+ # latex_show_urls = False
378
377
 
379
378
  # Documents to append as an appendix to all manuals.
380
- #latex_appendices = []
379
+ # latex_appendices = []
381
380
 
382
381
  # If false, no module index is generated.
383
- #latex_domain_indices = True
382
+ # latex_domain_indices = True
384
383
 
385
384
 
386
385
  # -- Options for manual page output --------------------------------------------
@@ -393,7 +392,7 @@ man_pages = [
393
392
  ]
394
393
 
395
394
  # If true, show URL addresses after external links.
396
- #man_show_urls = False
395
+ # man_show_urls = False
397
396
 
398
397
 
399
398
  # -- Options for Texinfo output ------------------------------------------------
@@ -402,24 +401,25 @@ man_pages = [
402
401
  # (source start file, target name, title, author,
403
402
  # dir menu entry, description, category)
404
403
  texinfo_documents = [
405
- ("index", "pyglet", "pyglet Documentation",
406
- "Alex Holkner", "pyglet", "One line description of project.",
407
- "Miscellaneous"),
404
+ ("index", "pyglet", "pyglet Documentation",
405
+ "Alex Holkner", "pyglet", "One line description of project.",
406
+ "Miscellaneous"),
408
407
  ]
409
408
 
410
409
  # Documents to append as an appendix to all manuals.
411
- #texinfo_appendices = []
410
+ # texinfo_appendices = []
412
411
 
413
412
  # If false, no module index is generated.
414
- #texinfo_domain_indices = True
413
+ # texinfo_domain_indices = True
415
414
 
416
415
  # How to display URL addresses: 'footnote', 'no', or 'inline'.
417
- #texinfo_show_urls = 'footnote'
416
+ # texinfo_show_urls = 'footnote'
418
417
 
419
418
  python_maximum_signature_line_length = 85
420
419
 
421
420
  nitpicky = True
422
421
 
422
+
423
423
  def custom_formatter(annotation, config):
424
424
  # Fixes TypeVar bounds, where the bound reference is forward referenced and class cannot be determined.
425
425
  # Defaults to a class style. Seems good enough for now since most bound things are classes.
@@ -447,4 +447,5 @@ def custom_formatter(annotation, config):
447
447
  return f":py:class:`TypeVar` {formatted_args}"
448
448
  return None
449
449
 
450
+
450
451
  typehints_formatter = custom_formatter
@@ -14,7 +14,7 @@ base class. Many of pyglet's built-in modules, such as :py:mod:`pyglet.window`,
14
14
  :py:mod:`pyglet.gui` and others make use of this pattern. You can also reuse this in
15
15
  your own classes easily.
16
16
 
17
- Even handlers are simply functions or methods that are written to accept the same
17
+ Event handlers are simply functions or methods that are written to accept the same
18
18
  arguments as the dispatched event. Event handlers can be registered or unregistered
19
19
  during runtime. More than one handler can be registered to receive the same events,
20
20
  which is described in the following sections. Event dispatchers can *optionally* have
@@ -27,7 +27,7 @@ Setting event handlers
27
27
 
28
28
  For an example, lets look at the :py:class:`~pyglet.window.Window` class.
29
29
  :py:class:`~pyglet.window.Window` subclasses :py:class:`~pyglet.event.EventDispatcher`
30
- and, being an Window, has a variety of different events which it dispatches.
30
+ and, being a Window, has a variety of different events which it dispatches.
31
31
  For instance, the :py:meth:`pyglet.window.Window.on_resize` event. Every time a
32
32
  resizeable Window is resized (and once when first created), this event is dispatched
33
33
  with two parameters: ``(width, height)``. Therefore, an event handler for this event
@@ -119,9 +119,9 @@ Making the labels
119
119
 
120
120
  To make a text label in pyglet, just initialize a :class:`pyglet.text.Label` object::
121
121
 
122
- score_label = pyglet.text.Label(text="Score: 0", x=10, y=460)
122
+ score_label = pyglet.text.Label(text="Score: 0", x=10, y=575)
123
123
  level_label = pyglet.text.Label(text="My Amazing Game",
124
- x=game_window.width//2, y=game_window.height//2, anchor_x='center')
124
+ x=game_window.width//2, y=575, anchor_x='center')
125
125
 
126
126
  Notice that the second label is centered using the anchor_x attribute.
127
127
 
@@ -15,7 +15,7 @@ if TYPE_CHECKING:
15
15
  from typing import Any, Callable, ItemsView, Sized
16
16
 
17
17
  #: The release version
18
- version = '2.1.dev6'
18
+ version = '2.1.dev7'
19
19
  __version__ = version
20
20
 
21
21
  MIN_PYTHON_VERSION = 3, 8
@@ -25,9 +25,6 @@ if sys.version_info < MIN_PYTHON_VERSION:
25
25
  msg = f"pyglet {version} requires Python {MIN_PYTHON_VERSION_STR} or newer."
26
26
  raise Exception(msg)
27
27
 
28
- if "sphinx" in sys.modules:
29
- sys.is_pyglet_doc_run = True
30
-
31
28
  # pyglet platform treats *BSD systems as Linux
32
29
  compat_platform = sys.platform
33
30
  if "bsd" in compat_platform:
@@ -68,7 +68,7 @@ the set when they are no longer referenced or are closed explicitly.
68
68
  """
69
69
 
70
70
 
71
- def run(interval: float | None = 1/60) -> None:
71
+ def run(interval: float | None = 1 / 60) -> None:
72
72
  """Begin processing events, scheduled functions and window updates.
73
73
 
74
74
  This is a convenience function, equivalent to::
@@ -1,4 +1,6 @@
1
1
  import signal
2
+ import time
3
+
2
4
  from pyglet import app
3
5
  from pyglet.app.base import PlatformEventLoop, EventLoop
4
6
  from pyglet.libs.darwin import cocoapy, AutoReleasePool, ObjCSubclass, PyObjectEncoding, ObjCInstance, send_super, \
@@ -11,7 +13,7 @@ NSDate = cocoapy.ObjCClass('NSDate')
11
13
  NSEvent = cocoapy.ObjCClass('NSEvent')
12
14
  NSUserDefaults = cocoapy.ObjCClass('NSUserDefaults')
13
15
  NSTimer = cocoapy.ObjCClass('NSTimer')
14
-
16
+ NSRunningApplication = cocoapy.ObjCClass('NSRunningApplication')
15
17
 
16
18
 
17
19
  def add_menu_item(menu, title, action, key):
@@ -71,6 +73,30 @@ class _AppDelegate_Implementation:
71
73
  def applicationDidFinishLaunching_(self, notification):
72
74
  self._pyglet_loop._finished_launching = True
73
75
 
76
+ # Force App to activate to the foreground due to being an unbundled CLI program.
77
+ # This prevents an issue where if you move the mouse when launching the program, it's focus can be stolen
78
+ # by an app under/behind it leading to a weird state of input and the menu bar being greyed out until
79
+ # reactivating it.
80
+ NSApp = NSApplication.sharedApplication()
81
+
82
+ # Activate dock to ensure all other apps are deactivated.
83
+ dock_str = cocoapy.get_NSString("com.apple.dock")
84
+ running_apps = NSRunningApplication.runningApplicationsWithBundleIdentifier_(dock_str)
85
+ app_count = running_apps.count()
86
+ for i in range(app_count):
87
+ running_app = running_apps.objectAtIndex_(i)
88
+ running_app.activateWithOptions_(cocoapy.NSApplicationActivateIgnoringOtherApps)
89
+ break
90
+
91
+ # Doesn't seem to work unless we add a small sleep for some reason...
92
+ time.sleep(0.01)
93
+
94
+ NSApp.activateIgnoringOtherApps_(True)
95
+
96
+ @_AppDelegate.method('v@')
97
+ def applicationWillFinishLaunching_(self, notification):
98
+ pass
99
+
74
100
  @_AppDelegate.method('B')
75
101
  def applicationSupportsSecureRestorableState_(self):
76
102
  return True
@@ -129,7 +155,9 @@ class CocoaAlternateEventLoop(EventLoop):
129
155
  class CocoaPlatformEventLoop(PlatformEventLoop):
130
156
 
131
157
  def __init__(self):
132
- super(CocoaPlatformEventLoop, self).__init__()
158
+ super().__init__()
159
+ self._timer = None
160
+
133
161
  with AutoReleasePool():
134
162
  # Prepare the default application.
135
163
  self.NSApp = NSApplication.sharedApplication()
@@ -151,8 +179,23 @@ class CocoaPlatformEventLoop(PlatformEventLoop):
151
179
  if not defaults.objectForKey_(holdEnabled):
152
180
  defaults.setBool_forKey_(False, holdEnabled)
153
181
 
182
+ self.appdelegate = _AppDelegate.alloc().init(self)
183
+ self.NSApp.setDelegate_(self.appdelegate)
184
+
154
185
  self._finished_launching = False
155
186
 
187
+ def term_received(*args):
188
+ if self._timer:
189
+ self._timer.invalidate()
190
+ self._timer = None
191
+
192
+ if self.NSApp:
193
+ self.NSApp.terminate_(None)
194
+
195
+ # Force NSApp to close if Python receives sig events.
196
+ signal.signal(signal.SIGINT, term_received)
197
+ signal.signal(signal.SIGTERM, term_received)
198
+
156
199
  def start(self):
157
200
  with AutoReleasePool():
158
201
  if not self.NSApp.isRunning() and not self._finished_launching:
@@ -167,38 +210,31 @@ class CocoaPlatformEventLoop(PlatformEventLoop):
167
210
  from pyglet.app import event_loop
168
211
  self._event_loop = event_loop
169
212
 
170
- def term_received(*args):
171
- if self.timer:
172
- self.timer.invalidate()
173
- self.timer = None
213
+ assert self._timer is None
174
214
 
175
- self.nsapp_stop()
176
-
177
- # Force NSApp to close if Python receives sig events.
178
- signal.signal(signal.SIGINT, term_received)
179
- signal.signal(signal.SIGTERM, term_received)
180
-
181
- self.appdelegate = _AppDelegate.alloc().init(self)
182
- self.NSApp.setDelegate_(self.appdelegate)
183
-
184
- self.timer = NSTimer.scheduledTimerWithTimeInterval_target_selector_userInfo_repeats_(
185
- interval, # Clamped internally to 0.0001 (including 0)
186
- self.appdelegate,
187
- get_selector('updatePyglet:'),
188
- False,
189
- True
190
- )
215
+ self._timer = NSTimer.scheduledTimerWithTimeInterval_target_selector_userInfo_repeats_(
216
+ interval, # Clamped internally to 0.0001 (including 0)
217
+ self.appdelegate,
218
+ get_selector('updatePyglet:'),
219
+ False,
220
+ True
221
+ )
191
222
 
192
223
  self.NSApp.run()
193
224
 
194
225
  def nsapp_step(self):
195
226
  """Used only for CocoaAlternateEventLoop"""
196
227
  self._event_loop.idle()
197
- self.dispatch_posted_events()
228
+ with AutoReleasePool():
229
+ self.dispatch_posted_events()
198
230
 
199
231
  def nsapp_stop(self):
200
232
  """Used only for CocoaAlternateEventLoop"""
201
- self.NSApp.terminate_(None)
233
+ self.NSApp.stop_(None)
234
+
235
+ if self._timer:
236
+ self._timer.invalidate()
237
+ self._timer = None
202
238
 
203
239
  def step(self, timeout=None):
204
240
  with AutoReleasePool():
@@ -210,7 +246,7 @@ class CocoaPlatformEventLoop(PlatformEventLoop):
210
246
  # will wait until the next event comes along.
211
247
  timeout_date = NSDate.distantFuture()
212
248
  elif timeout == 0.0:
213
- timeout_date = NSDate.distantPast()
249
+ timeout_date = None
214
250
  else:
215
251
  timeout_date = NSDate.dateWithTimeIntervalSinceNow_(timeout)
216
252
 
@@ -14,7 +14,7 @@ else:
14
14
  HorizontalAlign = Literal["left", "center", "right"]
15
15
  AnchorX = Literal["left", "center", "right"]
16
16
  AnchorY = Literal["top", "bottom", "center", "baseline"]
17
- ContentVAlign = Literal["left", "center", "top"]
17
+ ContentVAlign = Literal["bottom", "center", "top"]
18
18
 
19
19
 
20
20
 
@@ -239,6 +239,11 @@ class CocoaDisplayConfig(DisplayConfig): # noqa: D101
239
239
  self._pixel_format,
240
240
  share_context)
241
241
 
242
+ # No longer needed after context creation.
243
+ if self._pixel_format:
244
+ self._pixel_format.release()
245
+ self._pixel_format = None
246
+
242
247
  return CocoaContext(self, nscontext, share)
243
248
 
244
249
  def compatible(self, canvas: CocoaCanvas) -> bool: