pyglet 2.1.2__tar.gz → 2.1.4__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 (818) hide show
  1. {pyglet-2.1.2 → pyglet-2.1.4}/PKG-INFO +2 -3
  2. {pyglet-2.1.2 → pyglet-2.1.4}/README.md +1 -2
  3. {pyglet-2.1.2 → pyglet-2.1.4}/RELEASE_NOTES +40 -0
  4. {pyglet-2.1.2 → pyglet-2.1.4}/contrib/qt_sprite_preview.py +51 -45
  5. {pyglet-2.1.2 → pyglet-2.1.4}/doc/conf.py +5 -2
  6. {pyglet-2.1.2 → pyglet-2.1.4}/doc/index.rst +4 -9
  7. {pyglet-2.1.2 → pyglet-2.1.4}/doc/internal/contributing.rst +5 -12
  8. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/gui.rst +1 -0
  9. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/examplegame.rst +11 -19
  10. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/gui.rst +13 -10
  11. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/image.rst +11 -11
  12. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/installation.rst +1 -3
  13. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/keyboard.rst +1 -1
  14. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/media.rst +8 -5
  15. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/migration.rst +1 -1
  16. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/mouse.rst +2 -0
  17. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/opengles.rst +1 -1
  18. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/quickstart.rst +4 -7
  19. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/rendering.rst +1 -1
  20. pyglet-2.1.4/doc/programming_guide/shapes.rst +162 -0
  21. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version2/game/physicalobject.py +1 -1
  22. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version2/game/player.py +2 -2
  23. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version3/game/physicalobject.py +1 -1
  24. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version3/game/player.py +3 -3
  25. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version4/game/asteroid.py +3 -3
  26. {pyglet-2.1.2/examples/game/version5 → pyglet-2.1.4/examples/game/version4}/game/bullet.py +1 -1
  27. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version4/game/physicalobject.py +1 -1
  28. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version4/game/player.py +3 -3
  29. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version5/game/asteroid.py +3 -3
  30. {pyglet-2.1.2/examples/game/version4 → pyglet-2.1.4/examples/game/version5}/game/bullet.py +1 -1
  31. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version5/game/physicalobject.py +1 -1
  32. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version5/game/player.py +3 -3
  33. {pyglet-2.1.2 → pyglet-2.1.4}/examples/input/input.py +0 -7
  34. {pyglet-2.1.2 → pyglet-2.1.4}/examples/media/media_player.py +5 -11
  35. {pyglet-2.1.2 → pyglet-2.1.4}/examples/media/noisy/noisy.py +1 -1
  36. {pyglet-2.1.2 → pyglet-2.1.4}/examples/media/video.py +0 -5
  37. {pyglet-2.1.2 → pyglet-2.1.4}/examples/model/fpscamera.py +1 -2
  38. {pyglet-2.1.2 → pyglet-2.1.4}/examples/opengl/torus.py +4 -4
  39. {pyglet-2.1.2 → pyglet-2.1.4}/examples/programming_guide/animation.py +0 -4
  40. {pyglet-2.1.2 → pyglet-2.1.4}/examples/programming_guide/events.py +0 -8
  41. {pyglet-2.1.2 → pyglet-2.1.4}/examples/programming_guide/image_viewer.py +0 -7
  42. {pyglet-2.1.2 → pyglet-2.1.4}/examples/text/advanced_font.py +9 -8
  43. {pyglet-2.1.2 → pyglet-2.1.4}/examples/text/text_input.py +2 -2
  44. pyglet-2.1.4/examples/text/user_bitmap_font.py +92 -0
  45. {pyglet-2.1.2 → pyglet-2.1.4}/experimental/svg_test.py +0 -8
  46. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/__init__.py +21 -9
  47. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/__init__.pyi +3 -1
  48. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/app/cocoa.py +6 -3
  49. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/app/xlib.py +1 -1
  50. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/display/cocoa.py +2 -2
  51. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/display/win32.py +17 -18
  52. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/display/xlib.py +2 -2
  53. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/display/xlib_vidmoderestore.py +1 -1
  54. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/extlibs/earcut.py +2 -2
  55. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/font/__init__.py +3 -3
  56. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/font/base.py +118 -51
  57. pyglet-2.1.4/pyglet/font/dwrite/__init__.py +1381 -0
  58. pyglet-2.1.4/pyglet/font/dwrite/d2d1_lib.py +637 -0
  59. pyglet-2.1.4/pyglet/font/dwrite/d2d1_types_lib.py +60 -0
  60. pyglet-2.1.4/pyglet/font/dwrite/dwrite_lib.py +1577 -0
  61. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/font/fontconfig.py +79 -16
  62. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/font/freetype.py +252 -77
  63. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/font/freetype_lib.py +234 -125
  64. pyglet-2.1.4/pyglet/font/harfbuzz/__init__.py +275 -0
  65. pyglet-2.1.4/pyglet/font/harfbuzz/harfbuzz_lib.py +212 -0
  66. pyglet-2.1.4/pyglet/font/quartz.py +623 -0
  67. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/font/user.py +18 -11
  68. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/font/win32.py +9 -1
  69. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/gl/wgl.py +94 -87
  70. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/gl/wglext_arb.py +472 -218
  71. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/gl/wglext_nv.py +410 -188
  72. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/gui/frame.py +4 -4
  73. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/gui/widgets.py +6 -1
  74. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/image/__init__.py +0 -2
  75. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/image/codecs/bmp.py +3 -5
  76. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/image/codecs/dds.py +1 -1
  77. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/image/codecs/gdiplus.py +28 -9
  78. pyglet-2.1.4/pyglet/image/codecs/wic.py +345 -0
  79. pyglet-2.1.2/pyglet/image/codecs/wic.py → pyglet-2.1.4/pyglet/image/codecs/wincodec_lib.py +31 -254
  80. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/input/base.py +3 -2
  81. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/input/linux/x11_xinput.py +3 -3
  82. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/input/linux/x11_xinput_tablet.py +2 -2
  83. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/input/macos/darwin_hid.py +28 -2
  84. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/input/win32/directinput.py +3 -2
  85. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/input/win32/wintab.py +1 -1
  86. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/input/win32/xinput.py +10 -9
  87. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/lib.py +14 -2
  88. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/darwin/cocoapy/cocoalibs.py +74 -3
  89. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/darwin/coreaudio.py +0 -2
  90. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/win32/__init__.py +4 -2
  91. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/win32/com.py +65 -12
  92. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/win32/constants.py +1 -0
  93. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/win32/dinput.py +1 -9
  94. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/win32/types.py +72 -8
  95. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/math.py +5 -5
  96. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/codecs/coreaudio.py +1 -0
  97. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/codecs/wmf.py +93 -72
  98. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/devices/win32.py +5 -4
  99. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/drivers/directsound/lib_dsound.py +4 -4
  100. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/drivers/xaudio2/interface.py +21 -17
  101. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/drivers/xaudio2/lib_xaudio2.py +42 -25
  102. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/model/__init__.py +78 -57
  103. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/shapes.py +1 -1
  104. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/text/document.py +7 -53
  105. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/text/formats/attributed.py +3 -1
  106. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/text/formats/plaintext.py +1 -1
  107. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/text/formats/structured.py +1 -1
  108. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/text/layout/base.py +76 -68
  109. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/text/layout/incremental.py +38 -8
  110. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/text/layout/scrolling.py +1 -1
  111. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/text/runlist.py +2 -114
  112. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/window/__init__.py +11 -8
  113. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/window/win32/__init__.py +1 -3
  114. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/window/xlib/__init__.py +2 -2
  115. {pyglet-2.1.2 → pyglet-2.1.4}/pyproject.toml +1 -1
  116. {pyglet-2.1.2 → pyglet-2.1.4}/tests/base/interactive.py +1 -1
  117. pyglet-2.1.4/tests/data/fonts/action_man_atlas.png +0 -0
  118. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/font/test_freetype_face.py +5 -2
  119. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/platform/test_win_multicore_clock.py +0 -5
  120. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/text/test_empty_document.py +1 -1
  121. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/image/test_image.py +1 -1
  122. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/text/test_caret_color.py +6 -5
  123. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/text/test_content_valign.py +5 -4
  124. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/text/test_html.py +49 -44
  125. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/text/test_inline_elements.py +3 -1
  126. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/text/test_inline_elements_style_change.py +5 -3
  127. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/text/test_multiline_wrap.py +5 -5
  128. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/text/test_plain.py +2 -1
  129. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/text/test_style.py +3 -2
  130. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/window/test_window_events.py +7 -7
  131. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/window/test_window_multisample.py +1 -0
  132. {pyglet-2.1.2 → pyglet-2.1.4}/tools/al_info.py +0 -5
  133. {pyglet-2.1.2 → pyglet-2.1.4}/tools/ffmpeg/mpexceptions.py +1 -1
  134. {pyglet-2.1.2 → pyglet-2.1.4}/tools/genwrappers.py +0 -8
  135. {pyglet-2.1.2 → pyglet-2.1.4}/tools/gl_info.py +0 -6
  136. {pyglet-2.1.2 → pyglet-2.1.4}/tools/wraptypes/__init__.py +3 -8
  137. {pyglet-2.1.2 → pyglet-2.1.4}/tools/wraptypes/cparser.py +2 -8
  138. {pyglet-2.1.2 → pyglet-2.1.4}/tools/wraptypes/ctypesparser.py +0 -7
  139. {pyglet-2.1.2 → pyglet-2.1.4}/tools/wraptypes/preprocessor.py +0 -5
  140. {pyglet-2.1.2 → pyglet-2.1.4}/tools/wraptypes/wrap.py +0 -8
  141. pyglet-2.1.2/doc/programming_guide/shapes.rst +0 -88
  142. pyglet-2.1.2/pyglet/font/directwrite.py +0 -2798
  143. pyglet-2.1.2/pyglet/font/quartz.py +0 -303
  144. {pyglet-2.1.2 → pyglet-2.1.4}/.coveragerc +0 -0
  145. {pyglet-2.1.2 → pyglet-2.1.4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  146. {pyglet-2.1.2 → pyglet-2.1.4}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  147. {pyglet-2.1.2 → pyglet-2.1.4}/.github/ISSUE_TEMPLATE/questions--or-other.md +0 -0
  148. {pyglet-2.1.2 → pyglet-2.1.4}/.github/workflows/codeql.yml +0 -0
  149. {pyglet-2.1.2 → pyglet-2.1.4}/.github/workflows/unittests.yml +0 -0
  150. {pyglet-2.1.2 → pyglet-2.1.4}/.gitignore +0 -0
  151. {pyglet-2.1.2 → pyglet-2.1.4}/.readthedocs.yml +0 -0
  152. {pyglet-2.1.2 → pyglet-2.1.4}/LICENSE +0 -0
  153. {pyglet-2.1.2 → pyglet-2.1.4}/MANIFEST.in +0 -0
  154. {pyglet-2.1.2 → pyglet-2.1.4}/contrib/aseprite_codec/README +0 -0
  155. {pyglet-2.1.2 → pyglet-2.1.4}/contrib/aseprite_codec/asedemo.py +0 -0
  156. {pyglet-2.1.2 → pyglet-2.1.4}/contrib/aseprite_codec/aseprite.py +0 -0
  157. {pyglet-2.1.2 → pyglet-2.1.4}/contrib/aseprite_codec/running.ase +0 -0
  158. {pyglet-2.1.2 → pyglet-2.1.4}/contrib/logo3d/logo3d.jpg +0 -0
  159. {pyglet-2.1.2 → pyglet-2.1.4}/contrib/logo3d/logo3d.obj.zip +0 -0
  160. {pyglet-2.1.2 → pyglet-2.1.4}/contrib/logo3d/logo3d.wings +0 -0
  161. {pyglet-2.1.2 → pyglet-2.1.4}/contrib/scenemanager.py +0 -0
  162. {pyglet-2.1.2 → pyglet-2.1.4}/contrib/toys/follow_mouse.py +0 -0
  163. {pyglet-2.1.2 → pyglet-2.1.4}/doc/Makefile +0 -0
  164. {pyglet-2.1.2 → pyglet-2.1.4}/doc/_static/css/custom.css +0 -0
  165. {pyglet-2.1.2 → pyglet-2.1.4}/doc/_static/favicon.ico +0 -0
  166. {pyglet-2.1.2 → pyglet-2.1.4}/doc/_static/logo.png +0 -0
  167. {pyglet-2.1.2 → pyglet-2.1.4}/doc/_static/logo5.svg +0 -0
  168. {pyglet-2.1.2 → pyglet-2.1.4}/doc/_static/relatedlogo.png +0 -0
  169. {pyglet-2.1.2 → pyglet-2.1.4}/doc/external_resources.rst +0 -0
  170. {pyglet-2.1.2 → pyglet-2.1.4}/doc/internal/dist.rst +0 -0
  171. {pyglet-2.1.2 → pyglet-2.1.4}/doc/internal/doc.rst +0 -0
  172. {pyglet-2.1.2 → pyglet-2.1.4}/doc/internal/generated.rst +0 -0
  173. {pyglet-2.1.2 → pyglet-2.1.4}/doc/internal/gl.rst +0 -0
  174. {pyglet-2.1.2 → pyglet-2.1.4}/doc/internal/media_logging_manual.rst +0 -0
  175. {pyglet-2.1.2 → pyglet-2.1.4}/doc/internal/media_manual.rst +0 -0
  176. {pyglet-2.1.2 → pyglet-2.1.4}/doc/internal/testing.rst +0 -0
  177. {pyglet-2.1.2 → pyglet-2.1.4}/doc/internal/virtualenv.rst +0 -0
  178. {pyglet-2.1.2 → pyglet-2.1.4}/doc/internal/wraptypes-class.svg +0 -0
  179. {pyglet-2.1.2 → pyglet-2.1.4}/doc/internal/wraptypes.rst +0 -0
  180. {pyglet-2.1.2 → pyglet-2.1.4}/doc/make.bat +0 -0
  181. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/app.rst +0 -0
  182. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/clock.rst +0 -0
  183. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/customtypes.rst +0 -0
  184. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/display.rst +0 -0
  185. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/event.rst +0 -0
  186. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/font.rst +0 -0
  187. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/gl.rst +0 -0
  188. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/graphics/allocation.rst +0 -0
  189. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/graphics/index.rst +0 -0
  190. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/graphics/shader.rst +0 -0
  191. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/graphics/vertexbuffer.rst +0 -0
  192. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/graphics/vertexdomain.rst +0 -0
  193. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/image/animation.rst +0 -0
  194. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/image/atlas.rst +0 -0
  195. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/image/buffer.rst +0 -0
  196. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/image/index.rst +0 -0
  197. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/info.rst +0 -0
  198. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/input.rst +0 -0
  199. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/math.rst +0 -0
  200. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/media.rst +0 -0
  201. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/media_synthesis.rst +0 -0
  202. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/models.rst +0 -0
  203. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/pyglet.rst +0 -0
  204. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/resource.rst +0 -0
  205. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/shapes.rst +0 -0
  206. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/sprite.rst +0 -0
  207. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/text/caret.rst +0 -0
  208. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/text/document.rst +0 -0
  209. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/text/index.rst +0 -0
  210. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/text/layout.rst +0 -0
  211. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/window.rst +0 -0
  212. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/window_key.rst +0 -0
  213. {pyglet-2.1.2 → pyglet-2.1.4}/doc/modules/window_mouse.rst +0 -0
  214. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/context.rst +0 -0
  215. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/debug.rst +0 -0
  216. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/eventloop.rst +0 -0
  217. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/events.rst +0 -0
  218. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/gl.rst +0 -0
  219. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/abstract_image.png +0 -0
  220. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/abstract_image.svg +0 -0
  221. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/buffer_image.png +0 -0
  222. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/buffer_image.svg +0 -0
  223. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/context_flow.png +0 -0
  224. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/context_flow.svg +0 -0
  225. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/cursor_mac_crosshair.png +0 -0
  226. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/cursor_mac_default.png +0 -0
  227. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/cursor_mac_hand.png +0 -0
  228. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/cursor_mac_no.png +0 -0
  229. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/cursor_mac_size_down.png +0 -0
  230. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/cursor_mac_size_left.png +0 -0
  231. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/cursor_mac_size_left_right.png +0 -0
  232. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/cursor_mac_size_right.png +0 -0
  233. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/cursor_mac_size_up.png +0 -0
  234. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/cursor_mac_size_up_down.png +0 -0
  235. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/cursor_mac_text.png +0 -0
  236. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/cursor_mac_wait.png +0 -0
  237. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/cursor_win_crosshair.png +0 -0
  238. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/cursor_win_default.png +0 -0
  239. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/cursor_win_hand.png +0 -0
  240. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/cursor_win_help.png +0 -0
  241. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/cursor_win_no.png +0 -0
  242. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/cursor_win_size.png +0 -0
  243. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/cursor_win_size_left_right.png +0 -0
  244. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/cursor_win_size_nesw.png +0 -0
  245. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/cursor_win_size_nwse.png +0 -0
  246. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/cursor_win_size_up_down.png +0 -0
  247. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/cursor_win_text.png +0 -0
  248. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/cursor_win_wait.png +0 -0
  249. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/cursor_win_wait_arrow.png +0 -0
  250. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/explosion.png +0 -0
  251. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/font_metrics.png +0 -0
  252. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/font_metrics.svg +0 -0
  253. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/image_classes.png +0 -0
  254. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/image_classes.svg +0 -0
  255. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/image_grid.png +0 -0
  256. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/image_grid.svg +0 -0
  257. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/image_sequence.png +0 -0
  258. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/image_sequence.svg +0 -0
  259. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/mouse_coordinates.png +0 -0
  260. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/mouse_coordinates.svg +0 -0
  261. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/screens.png +0 -0
  262. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/screens.svg +0 -0
  263. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/text_classes.png +0 -0
  264. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/text_classes.svg +0 -0
  265. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/window_location.png +0 -0
  266. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/window_location.svg +0 -0
  267. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/window_osx_borderless.png +0 -0
  268. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/window_osx_default.png +0 -0
  269. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/window_osx_dialog.png +0 -0
  270. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/window_osx_tool.png +0 -0
  271. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/window_xp_default.png +0 -0
  272. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/window_xp_dialog.png +0 -0
  273. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/window_xp_overlay.png +0 -0
  274. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/window_xp_tool.png +0 -0
  275. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/img/window_xp_transparent.png +0 -0
  276. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/input.rst +0 -0
  277. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/math.rst +0 -0
  278. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/models.rst +0 -0
  279. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/options.rst +0 -0
  280. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/resources.rst +0 -0
  281. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/text.rst +0 -0
  282. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/time.rst +0 -0
  283. {pyglet-2.1.2 → pyglet-2.1.4}/doc/programming_guide/windowing.rst +0 -0
  284. {pyglet-2.1.2 → pyglet-2.1.4}/doc/requirements.txt +0 -0
  285. {pyglet-2.1.2 → pyglet-2.1.4}/examples/clipboard.py +0 -0
  286. {pyglet-2.1.2 → pyglet-2.1.4}/examples/dpi_scaled_window.py +0 -0
  287. {pyglet-2.1.2 → pyglet-2.1.4}/examples/events/events_key_state_handler.py +0 -0
  288. {pyglet-2.1.2 → pyglet-2.1.4}/examples/events/register_event_type.py +0 -0
  289. {pyglet-2.1.2 → pyglet-2.1.4}/examples/events/window_events.py +0 -0
  290. {pyglet-2.1.2 → pyglet-2.1.4}/examples/events/window_platform_event.py +0 -0
  291. {pyglet-2.1.2 → pyglet-2.1.4}/examples/file_dialog.py +0 -0
  292. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/resources/asteroid.png +0 -0
  293. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/resources/bullet.png +0 -0
  294. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/resources/bullet.wav +0 -0
  295. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/resources/engine_flame.png +0 -0
  296. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/resources/player.png +0 -0
  297. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version1/asteroid.py +0 -0
  298. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version1/game/__init__.py +0 -0
  299. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version1/game/load.py +0 -0
  300. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version1/game/resources.py +0 -0
  301. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version2/asteroid.py +0 -0
  302. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version2/game/__init__.py +0 -0
  303. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version2/game/load.py +0 -0
  304. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version2/game/resources.py +0 -0
  305. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version3/asteroid.py +0 -0
  306. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version3/game/__init__.py +0 -0
  307. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version3/game/load.py +0 -0
  308. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version3/game/resources.py +0 -0
  309. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version3/game/util.py +0 -0
  310. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version4/asteroid.py +0 -0
  311. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version4/game/__init__.py +0 -0
  312. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version4/game/load.py +0 -0
  313. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version4/game/resources.py +0 -0
  314. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version4/game/util.py +0 -0
  315. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version5/asteroid.py +0 -0
  316. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version5/game/__init__.py +0 -0
  317. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version5/game/load.py +0 -0
  318. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version5/game/resources.py +0 -0
  319. {pyglet-2.1.2 → pyglet-2.1.4}/examples/game/version5/game/util.py +0 -0
  320. {pyglet-2.1.2 → pyglet-2.1.4}/examples/graphics/image_convert.py +0 -0
  321. {pyglet-2.1.2 → pyglet-2.1.4}/examples/graphics/image_display.py +0 -0
  322. {pyglet-2.1.2 → pyglet-2.1.4}/examples/gui/bar.png +0 -0
  323. {pyglet-2.1.2 → pyglet-2.1.4}/examples/gui/button_hover.png +0 -0
  324. {pyglet-2.1.2 → pyglet-2.1.4}/examples/gui/button_pressed.png +0 -0
  325. {pyglet-2.1.2 → pyglet-2.1.4}/examples/gui/button_unpressed.png +0 -0
  326. {pyglet-2.1.2 → pyglet-2.1.4}/examples/gui/knob.png +0 -0
  327. {pyglet-2.1.2 → pyglet-2.1.4}/examples/gui/widgets.py +0 -0
  328. {pyglet-2.1.2 → pyglet-2.1.4}/examples/hello_world.py +0 -0
  329. {pyglet-2.1.2 → pyglet-2.1.4}/examples/input/apple_remote.py +0 -0
  330. {pyglet-2.1.2 → pyglet-2.1.4}/examples/input/controller.py +0 -0
  331. {pyglet-2.1.2 → pyglet-2.1.4}/examples/input/joystick.py +0 -0
  332. {pyglet-2.1.2 → pyglet-2.1.4}/examples/input/tablet.py +0 -0
  333. {pyglet-2.1.2 → pyglet-2.1.4}/examples/media/media_info.py +0 -0
  334. {pyglet-2.1.2 → pyglet-2.1.4}/examples/media/noisy/README +0 -0
  335. {pyglet-2.1.2 → pyglet-2.1.4}/examples/media/noisy/ball.png +0 -0
  336. {pyglet-2.1.2 → pyglet-2.1.4}/examples/media/noisy/ball.wav +0 -0
  337. {pyglet-2.1.2 → pyglet-2.1.4}/examples/media/soundspace/README +0 -0
  338. {pyglet-2.1.2 → pyglet-2.1.4}/examples/media/soundspace/reader.py +0 -0
  339. {pyglet-2.1.2 → pyglet-2.1.4}/examples/media/soundspace/res/bass.wav +0 -0
  340. {pyglet-2.1.2 → pyglet-2.1.4}/examples/media/soundspace/res/drums.wav +0 -0
  341. {pyglet-2.1.2 → pyglet-2.1.4}/examples/media/soundspace/res/guitar.wav +0 -0
  342. {pyglet-2.1.2 → pyglet-2.1.4}/examples/media/soundspace/res/piano.wav +0 -0
  343. {pyglet-2.1.2 → pyglet-2.1.4}/examples/media/soundspace/res/space.txt +0 -0
  344. {pyglet-2.1.2 → pyglet-2.1.4}/examples/media/soundspace/soundspace.py +0 -0
  345. {pyglet-2.1.2 → pyglet-2.1.4}/examples/media/synthesizer.py +0 -0
  346. {pyglet-2.1.2 → pyglet-2.1.4}/examples/model/box.mtl +0 -0
  347. {pyglet-2.1.2 → pyglet-2.1.4}/examples/model/box.obj +0 -0
  348. {pyglet-2.1.2 → pyglet-2.1.4}/examples/model/logo3d.mtl +0 -0
  349. {pyglet-2.1.2 → pyglet-2.1.4}/examples/model/logo3d.obj +0 -0
  350. {pyglet-2.1.2 → pyglet-2.1.4}/examples/model/model.py +0 -0
  351. {pyglet-2.1.2 → pyglet-2.1.4}/examples/model/pyglet.png +0 -0
  352. {pyglet-2.1.2 → pyglet-2.1.4}/examples/opengl/compute_shader.py +0 -0
  353. {pyglet-2.1.2 → pyglet-2.1.4}/examples/opengl/egl_context.py +0 -0
  354. {pyglet-2.1.2 → pyglet-2.1.4}/examples/opengl/minimal_shader.py +0 -0
  355. {pyglet-2.1.2 → pyglet-2.1.4}/examples/opengl/opengl_context.py +0 -0
  356. {pyglet-2.1.2 → pyglet-2.1.4}/examples/opengl/opengl_core.py +0 -0
  357. {pyglet-2.1.2 → pyglet-2.1.4}/examples/opengl/opengl_scissor.py +0 -0
  358. {pyglet-2.1.2 → pyglet-2.1.4}/examples/opengl/pyglet.png +0 -0
  359. {pyglet-2.1.2 → pyglet-2.1.4}/examples/programming_guide/dinosaur.gif +0 -0
  360. {pyglet-2.1.2 → pyglet-2.1.4}/examples/programming_guide/hello_world.py +0 -0
  361. {pyglet-2.1.2 → pyglet-2.1.4}/examples/programming_guide/kitten.jpg +0 -0
  362. {pyglet-2.1.2 → pyglet-2.1.4}/examples/programming_guide/window_subclass.py +0 -0
  363. {pyglet-2.1.2 → pyglet-2.1.4}/examples/resources/Brick1Blue.png +0 -0
  364. {pyglet-2.1.2 → pyglet-2.1.4}/examples/resources/Brick1Crack3.png +0 -0
  365. {pyglet-2.1.2 → pyglet-2.1.4}/examples/resources/Brick1Gray.png +0 -0
  366. {pyglet-2.1.2 → pyglet-2.1.4}/examples/resources/kitten.jpg +0 -0
  367. {pyglet-2.1.2 → pyglet-2.1.4}/examples/resources/pyglet.png +0 -0
  368. {pyglet-2.1.2 → pyglet-2.1.4}/examples/shapes.py +0 -0
  369. {pyglet-2.1.2 → pyglet-2.1.4}/examples/sprite/depth_sprite.py +0 -0
  370. {pyglet-2.1.2 → pyglet-2.1.4}/examples/sprite/display_sprite.py +0 -0
  371. {pyglet-2.1.2 → pyglet-2.1.4}/examples/sprite/multi_texture_sprite.py +0 -0
  372. {pyglet-2.1.2 → pyglet-2.1.4}/examples/sprite/sprite_batching.py +0 -0
  373. {pyglet-2.1.2 → pyglet-2.1.4}/examples/text/html_label.py +0 -0
  374. {pyglet-2.1.2 → pyglet-2.1.4}/examples/text/pyglet.png +0 -0
  375. {pyglet-2.1.2 → pyglet-2.1.4}/examples/timer.py +0 -0
  376. {pyglet-2.1.2 → pyglet-2.1.4}/examples/window/camera.py +0 -0
  377. {pyglet-2.1.2 → pyglet-2.1.4}/examples/window/camera_group.py +0 -0
  378. {pyglet-2.1.2 → pyglet-2.1.4}/examples/window/fixed_resolution.py +0 -0
  379. {pyglet-2.1.2 → pyglet-2.1.4}/examples/window/fps_change.py +0 -0
  380. {pyglet-2.1.2 → pyglet-2.1.4}/examples/window/multiple_windows.py +0 -0
  381. {pyglet-2.1.2 → pyglet-2.1.4}/examples/window/overlay_window.py +0 -0
  382. {pyglet-2.1.2 → pyglet-2.1.4}/examples/window/transparent_window.py +0 -0
  383. {pyglet-2.1.2 → pyglet-2.1.4}/experimental/dist_field/README +0 -0
  384. {pyglet-2.1.2 → pyglet-2.1.4}/experimental/dist_field/genfield.py +0 -0
  385. {pyglet-2.1.2 → pyglet-2.1.4}/experimental/dist_field/py.df.png +0 -0
  386. {pyglet-2.1.2 → pyglet-2.1.4}/experimental/dist_field/py.png +0 -0
  387. {pyglet-2.1.2 → pyglet-2.1.4}/experimental/dist_field/renderfield.py +0 -0
  388. {pyglet-2.1.2 → pyglet-2.1.4}/experimental/flaccodec.py +0 -0
  389. {pyglet-2.1.2 → pyglet-2.1.4}/experimental/hello_world.svg +0 -0
  390. {pyglet-2.1.2 → pyglet-2.1.4}/experimental/instancing/sprite_instance.py +0 -0
  391. {pyglet-2.1.2 → pyglet-2.1.4}/experimental/instancing/sprite_instance_object.py +0 -0
  392. {pyglet-2.1.2 → pyglet-2.1.4}/experimental/multitexture_sprite/multitexturesprite.py +0 -0
  393. {pyglet-2.1.2 → pyglet-2.1.4}/experimental/spritebenchmark.py +0 -0
  394. {pyglet-2.1.2 → pyglet-2.1.4}/experimental/wayland/gbm_egl_context.py +0 -0
  395. {pyglet-2.1.2 → pyglet-2.1.4}/experimental/win32priority.py +0 -0
  396. {pyglet-2.1.2 → pyglet-2.1.4}/make.py +0 -0
  397. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/app/__init__.py +0 -0
  398. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/app/base.py +0 -0
  399. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/app/win32.py +0 -0
  400. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/clock.py +0 -0
  401. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/customtypes.py +0 -0
  402. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/display/__init__.py +0 -0
  403. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/display/__init__.pyi +0 -0
  404. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/display/base.py +0 -0
  405. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/display/headless.py +0 -0
  406. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/event.py +0 -0
  407. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/experimental/README.md +0 -0
  408. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/experimental/geoshader_sprite.py +0 -0
  409. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/experimental/hidraw.py +0 -0
  410. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/experimental/jobs.py +0 -0
  411. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/experimental/multitexture_sprite.py +0 -0
  412. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/experimental/net.py +0 -0
  413. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/experimental/particles.py +0 -0
  414. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/extlibs/__init__.py +0 -0
  415. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/extlibs/png.py +0 -0
  416. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/font/ttf.py +0 -0
  417. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/gl/__init__.py +0 -0
  418. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/gl/agl.py +0 -0
  419. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/gl/base.py +0 -0
  420. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/gl/cocoa.py +0 -0
  421. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/gl/gl.py +0 -0
  422. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/gl/gl_compat.py +0 -0
  423. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/gl/gl_info.py +0 -0
  424. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/gl/glx.py +0 -0
  425. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/gl/glx_info.py +0 -0
  426. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/gl/glxext_arb.py +0 -0
  427. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/gl/glxext_mesa.py +0 -0
  428. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/gl/glxext_nv.py +0 -0
  429. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/gl/headless.py +0 -0
  430. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/gl/lib.py +0 -0
  431. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/gl/lib_agl.py +0 -0
  432. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/gl/lib_glx.py +0 -0
  433. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/gl/lib_wgl.py +0 -0
  434. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/gl/wgl_info.py +0 -0
  435. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/gl/win32.py +0 -0
  436. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/gl/xlib.py +0 -0
  437. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/graphics/__init__.py +0 -0
  438. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/graphics/allocation.py +0 -0
  439. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/graphics/instance.py +0 -0
  440. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/graphics/shader.py +0 -0
  441. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/graphics/vertexarray.py +0 -0
  442. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/graphics/vertexbuffer.py +0 -0
  443. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/graphics/vertexdomain.py +0 -0
  444. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/gui/__init__.py +0 -0
  445. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/gui/ninepatch.py +0 -0
  446. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/image/animation.py +0 -0
  447. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/image/atlas.py +0 -0
  448. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/image/buffer.py +0 -0
  449. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/image/codecs/__init__.py +0 -0
  450. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/image/codecs/gdkpixbuf2.py +0 -0
  451. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/image/codecs/gif.py +0 -0
  452. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/image/codecs/pil.py +0 -0
  453. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/image/codecs/png.py +0 -0
  454. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/image/codecs/quartz.py +0 -0
  455. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/image/codecs/s3tc.py +0 -0
  456. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/info.py +0 -0
  457. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/input/__init__.py +0 -0
  458. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/input/controller.py +0 -0
  459. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/input/controller_db.py +0 -0
  460. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/input/linux/__init__.py +0 -0
  461. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/input/linux/evdev.py +0 -0
  462. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/input/linux/evdev_constants.py +0 -0
  463. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/input/macos/__init__.py +0 -0
  464. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/input/win32/__init__.py +0 -0
  465. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/__init__.py +0 -0
  466. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/darwin/__init__.py +0 -0
  467. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/darwin/cocoapy/__init__.py +0 -0
  468. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/darwin/cocoapy/cocoatypes.py +0 -0
  469. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/darwin/cocoapy/runtime.py +0 -0
  470. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/darwin/quartzkey.py +0 -0
  471. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/egl/__init__.py +0 -0
  472. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/egl/egl.py +0 -0
  473. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/egl/eglext.py +0 -0
  474. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/egl/lib.py +0 -0
  475. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/ioctl.py +0 -0
  476. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/wayland/__init__.py +0 -0
  477. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/wayland/gbm.py +0 -0
  478. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/wayland/xkbcommon.py +0 -0
  479. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/win32/context_managers.py +0 -0
  480. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/win32/libwintab.py +0 -0
  481. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/win32/winkey.py +0 -0
  482. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/x11/__init__.py +0 -0
  483. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/x11/cursorfont.py +0 -0
  484. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/x11/xf86vmode.py +0 -0
  485. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/x11/xinerama.py +0 -0
  486. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/x11/xinput.py +0 -0
  487. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/x11/xlib.py +0 -0
  488. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/libs/x11/xsync.py +0 -0
  489. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/__init__.py +0 -0
  490. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/buffered_logger.py +0 -0
  491. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/codecs/__init__.py +0 -0
  492. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/codecs/base.py +0 -0
  493. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/codecs/ffmpeg.py +0 -0
  494. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/codecs/ffmpeg_lib/__init__.py +0 -0
  495. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/codecs/ffmpeg_lib/compat.py +0 -0
  496. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/codecs/ffmpeg_lib/libavcodec.py +0 -0
  497. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/codecs/ffmpeg_lib/libavformat.py +0 -0
  498. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/codecs/ffmpeg_lib/libavutil.py +0 -0
  499. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/codecs/ffmpeg_lib/libswresample.py +0 -0
  500. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/codecs/ffmpeg_lib/libswscale.py +0 -0
  501. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/codecs/gstreamer.py +0 -0
  502. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/codecs/pyogg.py +0 -0
  503. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/codecs/wave.py +0 -0
  504. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/devices/__init__.py +0 -0
  505. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/devices/base.py +0 -0
  506. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/drivers/__init__.py +0 -0
  507. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/drivers/base.py +0 -0
  508. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/drivers/directsound/__init__.py +0 -0
  509. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/drivers/directsound/adaptation.py +0 -0
  510. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/drivers/directsound/exceptions.py +0 -0
  511. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/drivers/directsound/interface.py +0 -0
  512. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/drivers/listener.py +0 -0
  513. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/drivers/openal/__init__.py +0 -0
  514. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/drivers/openal/adaptation.py +0 -0
  515. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/drivers/openal/interface.py +0 -0
  516. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/drivers/openal/lib_alc.py +0 -0
  517. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/drivers/openal/lib_openal.py +0 -0
  518. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/drivers/pulse/__init__.py +0 -0
  519. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/drivers/pulse/adaptation.py +0 -0
  520. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/drivers/pulse/interface.py +0 -0
  521. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/drivers/pulse/lib_pulseaudio.py +0 -0
  522. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/drivers/silent/__init__.py +0 -0
  523. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/drivers/silent/adaptation.py +0 -0
  524. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/drivers/xaudio2/__init__.py +0 -0
  525. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/drivers/xaudio2/adaptation.py +0 -0
  526. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/exceptions.py +0 -0
  527. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/instrumentation.py +0 -0
  528. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/player.py +0 -0
  529. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/player_worker_thread.py +0 -0
  530. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/media/synthesis.py +0 -0
  531. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/model/codecs/__init__.py +0 -0
  532. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/model/codecs/base.py +0 -0
  533. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/model/codecs/gltf.py +0 -0
  534. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/model/codecs/obj.py +0 -0
  535. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/py.typed +0 -0
  536. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/resource.py +0 -0
  537. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/sprite.py +0 -0
  538. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/text/__init__.py +0 -0
  539. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/text/caret.py +0 -0
  540. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/text/formats/__init__.py +0 -0
  541. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/text/formats/html.py +0 -0
  542. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/text/layout/__init__.py +0 -0
  543. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/util.py +0 -0
  544. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/window/cocoa/__init__.py +0 -0
  545. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/window/cocoa/pyglet_delegate.py +0 -0
  546. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/window/cocoa/pyglet_textview.py +0 -0
  547. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/window/cocoa/pyglet_view.py +0 -0
  548. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/window/cocoa/pyglet_window.py +0 -0
  549. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/window/cocoa/systemcursor.py +0 -0
  550. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/window/event.py +0 -0
  551. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/window/headless/__init__.py +0 -0
  552. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/window/key.py +0 -0
  553. {pyglet-2.1.2 → pyglet-2.1.4}/pyglet/window/mouse.py +0 -0
  554. {pyglet-2.1.2 → pyglet-2.1.4}/pytest.ini +0 -0
  555. {pyglet-2.1.2 → pyglet-2.1.4}/setup.py +0 -0
  556. {pyglet-2.1.2 → pyglet-2.1.4}/tests/__init__.py +0 -0
  557. {pyglet-2.1.2 → pyglet-2.1.4}/tests/annotations.py +0 -0
  558. {pyglet-2.1.2 → pyglet-2.1.4}/tests/base/__init__.py +0 -0
  559. {pyglet-2.1.2 → pyglet-2.1.4}/tests/base/data.py +0 -0
  560. {pyglet-2.1.2 → pyglet-2.1.4}/tests/base/event_loop.py +0 -0
  561. {pyglet-2.1.2 → pyglet-2.1.4}/tests/base/performance.py +0 -0
  562. {pyglet-2.1.2 → pyglet-2.1.4}/tests/conftest.py +0 -0
  563. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/fonts/README +0 -0
  564. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/fonts/action_man.ttf +0 -0
  565. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/fonts/action_man_bold.ttf +0 -0
  566. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/fonts/action_man_bold_italic.ttf +0 -0
  567. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/fonts/action_man_italic.ttf +0 -0
  568. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/fonts/courR12-ISO8859-1.pcf +0 -0
  569. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/8bpp.gif +0 -0
  570. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/cursor.png +0 -0
  571. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/dinosaur.gif +0 -0
  572. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/gdk_close.png +0 -0
  573. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/grey_background.png +0 -0
  574. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/icon1.png +0 -0
  575. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/icon_size1.png +0 -0
  576. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/icon_size2.png +0 -0
  577. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/icon_size3.png +0 -0
  578. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/icon_size4.png +0 -0
  579. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/icon_size5.png +0 -0
  580. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/l.png +0 -0
  581. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/la.png +0 -0
  582. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/multitexture.png +0 -0
  583. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/rgb.png +0 -0
  584. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/rgb_16bpp.bmp +0 -0
  585. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/rgb_1bpp.bmp +0 -0
  586. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/rgb_24bpp.bmp +0 -0
  587. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/rgb_32bpp.bmp +0 -0
  588. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/rgb_4bpp.bmp +0 -0
  589. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/rgb_8bpp.bmp +0 -0
  590. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/rgb_8bpp.png +0 -0
  591. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/rgb_8bpp_trans.png +0 -0
  592. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/rgb_dxt1.dds +0 -0
  593. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/rgba.png +0 -0
  594. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/rgba_32bpp.bmp +0 -0
  595. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/rgba_dxt1.dds +0 -0
  596. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/rgba_dxt3.dds +0 -0
  597. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/rgba_dxt5.dds +0 -0
  598. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/images/tests.interactive.test_interactive_test_base._Test.test_1.001.png +0 -0
  599. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/media/README +0 -0
  600. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/media/alert.wav +0 -0
  601. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/media/login.wav +0 -0
  602. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/media/logout.wav +0 -0
  603. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/media/receive.wav +0 -0
  604. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/media/send.wav +0 -0
  605. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/media/synthesis_sawtooth_16_11025_1ch.wav +0 -0
  606. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/media/synthesis_sawtooth_16_44800_1ch.wav +0 -0
  607. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/media/synthesis_silence_16_11025_1ch.wav +0 -0
  608. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/media/synthesis_silence_16_44800_1ch.wav +0 -0
  609. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/media/synthesis_simplefm_16_11025_1ch.wav +0 -0
  610. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/media/synthesis_simplefm_16_44800_1ch.wav +0 -0
  611. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/media/synthesis_sine_16_11025_1ch.wav +0 -0
  612. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/media/synthesis_sine_16_44800_1ch.wav +0 -0
  613. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/media/synthesis_square_16_11025_1ch.wav +0 -0
  614. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/media/synthesis_square_16_44800_1ch.wav +0 -0
  615. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/media/synthesis_triangle_16_11025_1ch.wav +0 -0
  616. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/media/synthesis_triangle_16_44800_1ch.wav +0 -0
  617. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/models/logo3d.mtl +0 -0
  618. {pyglet-2.1.2 → pyglet-2.1.4}/tests/data/models/logo3d.obj +0 -0
  619. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/__init__.py +0 -0
  620. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/app/__init__.py +0 -0
  621. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/app/test_eventloop.py +0 -0
  622. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/conftest.py +0 -0
  623. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/font/test_fontconfig.py +0 -0
  624. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/graphics/__init__.py +0 -0
  625. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/graphics/test_allocation.py +0 -0
  626. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/graphics/test_batch_migration.py +0 -0
  627. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/graphics/test_shaders.py +0 -0
  628. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/image/__init__.py +0 -0
  629. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/image/test_gdkpixbuf2.py +0 -0
  630. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/image/test_imagegrid.py +0 -0
  631. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/image/test_texture3d.py +0 -0
  632. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/media/__init__.py +0 -0
  633. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/media/mock_player.py +0 -0
  634. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/media/test_directsound.py +0 -0
  635. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/media/test_driver.py +0 -0
  636. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/media/test_openal.py +0 -0
  637. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/media/test_player.py +0 -0
  638. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/media/test_pulse.py +0 -0
  639. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/model/__init__.py +0 -0
  640. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/model/test_loading.py +0 -0
  641. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/platform/__init__.py +0 -0
  642. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/platform/test_win_context_managers.py +0 -0
  643. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/resource/__init__.py +0 -0
  644. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/resource/dir1/dir1/f3.txt +0 -0
  645. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/resource/dir1/f2.txt +0 -0
  646. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/resource/dir1/res.zip +0 -0
  647. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/resource/dir2/f6.txt +0 -0
  648. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/resource/f1.txt +0 -0
  649. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/resource/rgbm.png +0 -0
  650. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/resource/test_resource_image_loading.py +0 -0
  651. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/resource/test_resource_loading.py +0 -0
  652. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/test_integrations.py +0 -0
  653. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/text/__init__.py +0 -0
  654. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/text/test_label_creation.py +0 -0
  655. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/text/test_layout_creation.py +0 -0
  656. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/window/__init__.py +0 -0
  657. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/window/test_context_share.py +0 -0
  658. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/window/test_event_sequence.py +0 -0
  659. {pyglet-2.1.2 → pyglet-2.1.4}/tests/integration/window/test_window_caption.py +0 -0
  660. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/__init__.py +0 -0
  661. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/conftest.py +0 -0
  662. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/image/__init__.py +0 -0
  663. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/media/__init__.py +0 -0
  664. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/media/test_player.py +0 -0
  665. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/screenshots/committed/README +0 -0
  666. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/screenshots/session/README +0 -0
  667. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/shapes/test_shapes.py +0 -0
  668. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/test_interactive_test_base.py +0 -0
  669. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/text/__init__.py +0 -0
  670. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/window/__init__.py +0 -0
  671. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/window/test_window_fullscreen.py +0 -0
  672. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/window/test_window_modes.py +0 -0
  673. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/window/test_window_open.py +0 -0
  674. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/window/test_window_settings.py +0 -0
  675. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/window/test_window_styles.py +0 -0
  676. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/window/window_util.py +0 -0
  677. {pyglet-2.1.2 → pyglet-2.1.4}/tests/interactive/windowed_test_base.py +0 -0
  678. {pyglet-2.1.2 → pyglet-2.1.4}/tests/requirements.txt +0 -0
  679. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/__init__.py +0 -0
  680. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/conftest.py +0 -0
  681. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/math/test_mat.py +0 -0
  682. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/math/test_quat.py +0 -0
  683. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/math/test_vec2.py +0 -0
  684. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/math/test_vec3.py +0 -0
  685. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/math/test_vec4.py +0 -0
  686. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/media/__init__.py +0 -0
  687. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/media/test_listener.py +0 -0
  688. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/media/test_player.py +0 -0
  689. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/media/test_sources.py +0 -0
  690. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/media/test_synthesis.py +0 -0
  691. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/platform/__init__.py +0 -0
  692. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/platform/test_mac_objc.py +0 -0
  693. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/shader/__init__.py +0 -0
  694. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/shader/conftest.py +0 -0
  695. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/shader/test_shader.py +0 -0
  696. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/shapes/__init__.py +0 -0
  697. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/shapes/conftest.py +0 -0
  698. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/shapes/test_bordered_rectangle.py +0 -0
  699. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/shapes/test_shapes.py +0 -0
  700. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/test_atlas.py +0 -0
  701. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/test_clock.py +0 -0
  702. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/test_clock_freq.py +0 -0
  703. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/test_events.py +0 -0
  704. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/test_font.py +0 -0
  705. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/test_input.py +0 -0
  706. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/test_resource_path.py +0 -0
  707. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/test_sprite.py +0 -0
  708. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/test_text.py +0 -0
  709. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/text/__init__.py +0 -0
  710. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/text/test_caret.py +0 -0
  711. {pyglet-2.1.2 → pyglet-2.1.4}/tests/unit/text/test_layout.py +0 -0
  712. {pyglet-2.1.2 → pyglet-2.1.4}/tools/ffmpeg/bokeh_timeline.py +0 -0
  713. {pyglet-2.1.2 → pyglet-2.1.4}/tools/ffmpeg/compare.py +0 -0
  714. {pyglet-2.1.2 → pyglet-2.1.4}/tools/ffmpeg/configure.py +0 -0
  715. {pyglet-2.1.2 → pyglet-2.1.4}/tools/ffmpeg/extractors.py +0 -0
  716. {pyglet-2.1.2 → pyglet-2.1.4}/tools/ffmpeg/fs.py +0 -0
  717. {pyglet-2.1.2 → pyglet-2.1.4}/tools/ffmpeg/mp.py +0 -0
  718. {pyglet-2.1.2 → pyglet-2.1.4}/tools/ffmpeg/playmany.py +0 -0
  719. {pyglet-2.1.2 → pyglet-2.1.4}/tools/ffmpeg/readme_ffmpeg_debbuging_branch.txt +0 -0
  720. {pyglet-2.1.2 → pyglet-2.1.4}/tools/ffmpeg/readme_run_tests.txt +0 -0
  721. {pyglet-2.1.2 → pyglet-2.1.4}/tools/ffmpeg/report.py +0 -0
  722. {pyglet-2.1.2 → pyglet-2.1.4}/tools/ffmpeg/reports.py +0 -0
  723. {pyglet-2.1.2 → pyglet-2.1.4}/tools/ffmpeg/retry_crashed.py +0 -0
  724. {pyglet-2.1.2 → pyglet-2.1.4}/tools/ffmpeg/run_test_suite.py +0 -0
  725. {pyglet-2.1.2 → pyglet-2.1.4}/tools/ffmpeg/summarize.py +0 -0
  726. {pyglet-2.1.2 → pyglet-2.1.4}/tools/ffmpeg/test_instrumentation.py +0 -0
  727. {pyglet-2.1.2 → pyglet-2.1.4}/tools/ffmpeg/timeline.py +0 -0
  728. {pyglet-2.1.2 → pyglet-2.1.4}/tools/gencontrollerdb.py +0 -0
  729. {pyglet-2.1.2 → pyglet-2.1.4}/tools/gengl.py +0 -0
  730. {pyglet-2.1.2 → pyglet-2.1.4}/tools/gl.template +0 -0
  731. {pyglet-2.1.2 → pyglet-2.1.4}/tools/gl.xml +0 -0
  732. {pyglet-2.1.2 → pyglet-2.1.4}/tools/inspect_font.py +0 -0
  733. {pyglet-2.1.2 → pyglet-2.1.4}/tools/requirements.txt +0 -0
  734. {pyglet-2.1.2 → pyglet-2.1.4}/tools/wgl.h +0 -0
  735. {pyglet-2.1.2 → pyglet-2.1.4}/tools/wraptypes/lex.py +0 -0
  736. {pyglet-2.1.2 → pyglet-2.1.4}/tools/wraptypes/yacc.py +0 -0
  737. {pyglet-2.1.2 → pyglet-2.1.4}/website/LICENSE.txt +0 -0
  738. {pyglet-2.1.2 → pyglet-2.1.4}/website/README.rst +0 -0
  739. {pyglet-2.1.2 → pyglet-2.1.4}/website/assets/favicon.ico +0 -0
  740. {pyglet-2.1.2 → pyglet-2.1.4}/website/assets/static/css/example-custom-styles.css +0 -0
  741. {pyglet-2.1.2 → pyglet-2.1.4}/website/assets/static/images/pyglet.png +0 -0
  742. {pyglet-2.1.2 → pyglet-2.1.4}/website/content/404.html/contents.lr +0 -0
  743. {pyglet-2.1.2 → pyglet-2.1.4}/website/content/404.html/ngc-5793.jpg +0 -0
  744. {pyglet-2.1.2 → pyglet-2.1.4}/website/content/authors/benjamin/contents.lr +0 -0
  745. {pyglet-2.1.2 → pyglet-2.1.4}/website/content/authors/benjamin/pyglet.png +0 -0
  746. {pyglet-2.1.2 → pyglet-2.1.4}/website/content/authors/contents.lr +0 -0
  747. {pyglet-2.1.2 → pyglet-2.1.4}/website/content/blog/contents.lr +0 -0
  748. {pyglet-2.1.2 → pyglet-2.1.4}/website/content/blog/welcome-blog/contents.lr +0 -0
  749. {pyglet-2.1.2 → pyglet-2.1.4}/website/content/contents.lr +0 -0
  750. {pyglet-2.1.2 → pyglet-2.1.4}/website/content/eclipse.jpg +0 -0
  751. {pyglet-2.1.2 → pyglet-2.1.4}/website/pyglet.lektorproject +0 -0
  752. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/AUTHORS.txt +0 -0
  753. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/CHANGELOG.md +0 -0
  754. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/CONTRIBUTING.md +0 -0
  755. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/LICENSE.txt +0 -0
  756. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/NOTICE.txt +0 -0
  757. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/README.md +0 -0
  758. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/assets/static/css/bootstrap.css +0 -0
  759. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/assets/static/css/icomoon.css +0 -0
  760. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/assets/static/css/magnific-popup.css +0 -0
  761. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/assets/static/css/style.css +0 -0
  762. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  763. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  764. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
  765. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/assets/static/fonts/icomoon/icomoon.ttf +0 -0
  766. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/assets/static/fonts/icomoon/icomoon.woff +0 -0
  767. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/assets/static/images/Preloader_2.gif +0 -0
  768. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/assets/static/images/placeholder_person.png +0 -0
  769. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/assets/static/js/jquery-3.3.1.min.js +0 -0
  770. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/assets/static/js/jquery.easing.min.js +0 -0
  771. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/assets/static/js/jquery.magnific-popup.min.js +0 -0
  772. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/assets/static/js/jquery.stellar.js +0 -0
  773. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/assets/static/js/jquery.stellar.min.js +0 -0
  774. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/assets/static/js/jquery.waypoints.min.js +0 -0
  775. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/assets/static/js/magnific-popup-options.js +0 -0
  776. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/assets/static/js/main-singlelayout.js +0 -0
  777. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/assets/static/js/main.js +0 -0
  778. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/flowblocks/content.ini +0 -0
  779. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/flowblocks/gallery.ini +0 -0
  780. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/flowblocks/gallery_item.ini +0 -0
  781. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/flowblocks/member.ini +0 -0
  782. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/flowblocks/mission.ini +0 -0
  783. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/flowblocks/mission_tab.ini +0 -0
  784. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/flowblocks/service.ini +0 -0
  785. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/flowblocks/services.ini +0 -0
  786. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/flowblocks/team.ini +0 -0
  787. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/images/blog-index.png +0 -0
  788. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/images/full-blog.png +0 -0
  789. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/images/full-page.png +0 -0
  790. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/images/gallery-404.png +0 -0
  791. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/images/gallery-singlepage.png +0 -0
  792. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/images/mainpage-screenshots.png +0 -0
  793. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/images/responsive-layout.png +0 -0
  794. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/models/404.ini +0 -0
  795. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/models/author.ini +0 -0
  796. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/models/authors.ini +0 -0
  797. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/models/blog-post.ini +0 -0
  798. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/models/blog.ini +0 -0
  799. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/models/page.ini +0 -0
  800. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/models/single-layout.ini +0 -0
  801. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/templates/404.html +0 -0
  802. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/templates/author.html +0 -0
  803. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/templates/authors.html +0 -0
  804. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/templates/blocks/content.html +0 -0
  805. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/templates/blocks/gallery.html +0 -0
  806. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/templates/blocks/mission.html +0 -0
  807. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/templates/blocks/services.html +0 -0
  808. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/templates/blocks/team.html +0 -0
  809. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/templates/blog-layout.html +0 -0
  810. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/templates/blog-post.html +0 -0
  811. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/templates/blog.html +0 -0
  812. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/templates/layout.html +0 -0
  813. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/templates/macros/blog.html +0 -0
  814. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/templates/macros/pagination.html +0 -0
  815. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/templates/none.html +0 -0
  816. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/templates/page.html +0 -0
  817. {pyglet-2.1.2 → pyglet-2.1.4}/website/themes/lektor-icon/templates/single-layout.html +0 -0
  818. {pyglet-2.1.2 → pyglet-2.1.4}/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.4
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,43 @@
1
+ pyglet 2.1.4
2
+
3
+ Changes
4
+ -------
5
+ - docs: Add shape guide crossrefs (#1291)
6
+ - Updated the opengl torus example to work with the material updates in 3.1 (#1281)
7
+ - Add homebrew lib search location for Apple Silicon.
8
+ - Bump Qt example to use PySide6 and PyQt6 (#1305)
9
+
10
+ Bugfixes
11
+ --------
12
+ - shapes.earcut: Fix int casting bug for large polygons (#1282)
13
+ - Linux: Use dotclock instead of rate in xlib vidmoderestore (#1285)
14
+ - tests: Fix many interactive tests, and other test fixes
15
+ - app: Fix run(None) crashing on macOS
16
+ - docs: Correct the docstring for the start_angle of an arc to indicate it is in degrees and not radians (#1290)
17
+ - controller: Fix dpad bias for controller.min > 0 (#1296)
18
+ - controller: Only use 0x1 desktop page axis for controller indexing on macOS (#1297)
19
+ - gui: Fix the position range of the slider knob when repositioning the slider (#1299)
20
+
21
+
22
+ pyglet 2.1.3
23
+
24
+ Changes
25
+ -------
26
+ - window: Change the default znear/zfar to (-8192, 8192).
27
+ - docs: Fix top-left version display and copyright auto-generation (#1264).
28
+ - docs: fixes in the quickstart guide, and lots of other cleanups.
29
+ - clean up legacy super() call syntax around the codebase.
30
+
31
+ Bugfixes
32
+ --------
33
+ - shapes: disable depth testing by default, due to usability issues.
34
+ - window.xlib: prevent crash if initial configuration notify event has invalid width/height.
35
+ - window.xlib: fix screen mode showing dotclock instead of Hz.
36
+ - model: fix the (undocumented) Sphere and Cube test shapes.
37
+ - examples.model.fpscamera: don't normalize the movement input.
38
+ - window: Fix ImageMouseCursor positioning not adapting to scaling (#1278).
39
+
40
+
1
41
  pyglet 2.1.2
2
42
 
3
43
  Bugfixes
@@ -1,44 +1,45 @@
1
1
  """An example sprite previewer using Qt and pyglet together.
2
2
 
3
3
  It allows you to edit the fragment and vertex shaders, then compile them
4
- to get a live view. Errors and success will be printed to the console.
5
- A brief feature overview is located after the license notes below.
6
-
4
+ to get a live view. Errors and success will be printed to the console. Users
5
+ running GNOME on Linux may need the --use-qt-file-dialog flag to prevent invisible
6
+ window issues. A brief feature overview is located after the license notes below.
7
7
 
8
8
  Important license notes:
9
9
 
10
10
  1. Libraries can use licenses which impose requirements beyond those of
11
11
  pyglet's BSD-style style license.
12
- 2. This example defaults to using PySide2 by default, but can also use
13
- PyQt5 due to their nearly-identical APIs.
14
- 3. PySide2 uses the LGPL license while PyQt5 uses a GPL / commercial
12
+ 2. This example defaults to using PySide6 by default, but can also use
13
+ PyQt6 due to their nearly-identical APIs.
14
+ 3. PySide6 uses the LGPL license while PyQt6 uses a GPL / commercial
15
15
  dual-license approach.
16
16
 
17
17
  To the best knowledge of the contributors, this example and derivatives
18
18
  are only obligated to meet the restrictions of the LGPL because it does
19
- not use any PyQt5-specific features. Please see the following for more
19
+ not use any PyQt6-specific features. Please see the following for more
20
20
  information:
21
21
 
22
22
  * The licenses and documentation for the libraries you plan to use
23
- * https://www.pythonguis.com/faq/pyqt5-vs-pyside2/
23
+ * This guide for prior versions of PySide and PyQt:
24
+ thttps://www.pythonguis.com/faq/pyqt5-vs-pyside2/
24
25
 
25
- If you need additional certainty, please consult a legal professional.
26
+ For additional certainty, please consult a legal professional.
26
27
 
27
28
 
28
29
  Example features:
29
30
 
30
31
  You can choose the current Qt binding in two ways:
31
32
 
32
- 1. Add PySide2 or PyQt5 as the first argument after the launch command
33
+ 1. Add PySide6 or PyQt6 as the first argument after the launch command
33
34
  when running the script in the terminal
34
- 2. Set the PYGLET_QT_BACKEND environment variable to either PySide2 or
35
- PyQt5.
35
+ 2. Set the PYGLET_QT_BACKEND environment variable to either PySide6 or
36
+ PyQt6.
36
37
 
37
38
  The priority order is:
38
39
 
39
40
  1. positional argument
40
41
  2. environment variable
41
- 3. default to PySide2
42
+ 3. default to PySide6
42
43
 
43
44
  To load images, choose File -> Open Image.
44
45
 
@@ -65,17 +66,17 @@ from typing import TYPE_CHECKING, Final, Mapping
65
66
  # Constants for choosing a Qt backend and summarizing their licensing
66
67
  ENV_VARIABLE: Final[str] = 'PYGLET_QT_BACKEND'
67
68
 
68
- PYSIDE2: Final[str] = 'PySide2'
69
- PYQT5: Final[str] = 'PyQt5'
69
+ PYSIDE6: Final[str] = 'PySide6'
70
+ PYQT6: Final[str] = 'PyQt6'
70
71
 
71
72
  valid_backends: Final[dict[str, str]] = {
72
- PYSIDE2: "LGPL; may allow releasing under non-GPL licenses",
73
- PYQT5: "Dual GPL / Commercial license; requires GPL or a fee",
73
+ PYSIDE6: "LGPL; may allow releasing under non-GPL licenses",
74
+ PYQT6: "Dual GPL / Commercial license; requires GPL or a fee",
74
75
  }
75
76
 
76
- # Default to PySide2 as part of allowing non-GPL licenses
77
+ # Default to PySide6 as part of allowing non-GPL licenses
77
78
  # This is necessary but not sufficient to allow this.
78
- DEFAULT: Final[str] = PYSIDE2
79
+ DEFAULT: Final[str] = PYSIDE6
79
80
 
80
81
 
81
82
  # Argument parser for run-time config as __main__
@@ -83,8 +84,8 @@ parser = argparse.ArgumentParser(
83
84
  description=dedent("""\
84
85
  A sprite & shader previewer using Qt and pyglet together.
85
86
 
86
- It defaults to PySide2, but can run on PyQt5. The details of how may
87
- be helpful to users who want to avoid spreading PyQt5's GPL license
87
+ It defaults to PySide6, but can run on PyQt6. The details of how may
88
+ be helpful to users who want to avoid spreading PyQt6's GPL license
88
89
  while using it as a fallback. See the docstrings and comments in the
89
90
  source to learn more.
90
91
  """),
@@ -138,19 +139,21 @@ print(f"Selected {backend} as the Qt binding from the {reason}'s value.")
138
139
  # Perform UI imports according to the detected configuration
139
140
  import pyglet
140
141
 
141
- # Use PySide2 for type checking, static analysis, tests, and linting
142
- # to help avoid infection by PyQt5's GPL license since tools will mark
143
- # uses of PyQt5-specific features as missing. For example, pyright is
142
+ # Use PySide6 for type checking, static analysis, tests, and linting
143
+ # to help avoid infection by PyQt6's GPL license since tools will mark
144
+ # uses of PyQt6-specific features as missing. For example, pyright is
144
145
  # one of the strict type checking and linting tools which can help.
145
- if TYPE_CHECKING or backend == PYSIDE2:
146
- from PySide2 import QtCore, QtWidgets
147
- from PySide2.QtGui import QWheelEvent
148
- from PySide2.QtWidgets import QFileDialog, QOpenGLWidget
149
-
150
- elif backend == PYQT5:
151
- from PyQt5 import QtCore, QtWidgets
152
- from PyQt5.QtGui import QWheelEvent
153
- from PyQt5.QtWidgets import QFileDialog, QOpenGLWidget
146
+ if TYPE_CHECKING or backend == PYSIDE6:
147
+ from PySide6 import QtCore, QtWidgets, QtGui
148
+ from PySide6.QtGui import QWheelEvent
149
+ from PySide6.QtWidgets import QFileDialog
150
+ from PySide6.QtOpenGLWidgets import QOpenGLWidget
151
+
152
+ elif backend == PYQT6:
153
+ from PyQt6 import QtCore, QtWidgets, QtGui
154
+ from PyQt6.QtGui import QWheelEvent
155
+ from PyQt6.QtWidgets import QFileDialog
156
+ from PyQt6.QtOpenGLWidgets import QOpenGLWidget
154
157
 
155
158
  else: # Handle import edge cases
156
159
  raise ValueError(
@@ -348,7 +351,7 @@ class Ui_MainWindow:
348
351
  self.sprite = None
349
352
  self.program = None
350
353
 
351
- def get_file_dialog_options(self) -> QFileDialog.Options:
354
+ def get_file_dialog_options(self) -> QFileDialog.Option:
352
355
  """Convert instance attributes to a file dialog options object.
353
356
 
354
357
  At the moment, it supports choosing which dialog to use. This is
@@ -358,9 +361,9 @@ class Ui_MainWindow:
358
361
  You may want to expand on this in your own application with
359
362
  additional options.
360
363
  """
361
- options = QFileDialog.Options()
364
+ options = QFileDialog.Option()
362
365
  if not self.use_native_file_dialog:
363
- options |= QFileDialog.DontUseNativeDialog
366
+ options |= QFileDialog.Option.DontUseNativeDialog
364
367
 
365
368
  return options
366
369
 
@@ -383,7 +386,10 @@ class Ui_MainWindow:
383
386
  self.verticalLayout = QtWidgets.QVBoxLayout()
384
387
  self.verticalLayout.setObjectName("verticalLayout")
385
388
  self.label = QtWidgets.QLabel(self.centralwidget)
386
- self.label.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter)
389
+ self.label.setAlignment(
390
+ QtCore.Qt.AlignmentFlag.AlignLeading
391
+ | QtCore.Qt.AlignmentFlag.AlignLeft
392
+ | QtCore.Qt.AlignmentFlag.AlignVCenter)
387
393
  self.label.setObjectName("label")
388
394
  self.verticalLayout.addWidget(self.label)
389
395
  self.vertex_source_edit = QtWidgets.QTextEdit(self.centralwidget)
@@ -428,23 +434,23 @@ class Ui_MainWindow:
428
434
  MainWindow.setStatusBar(self.statusbar)
429
435
 
430
436
  # Add menu bar menus, entries, and hotkeys
431
- self.actionOpen_Image = QtWidgets.QAction(MainWindow)
437
+ self.actionOpen_Image = QtGui.QAction(MainWindow)
432
438
  self.actionOpen_Image.setObjectName("actionOpen_Image")
433
439
  self.actionOpen_Image.triggered.connect(self.loadImages)
434
440
  self.actionOpen_Image.setShortcut("Ctrl+I")
435
441
 
436
- self.actionOpen_Shader = QtWidgets.QAction(MainWindow)
442
+ self.actionOpen_Shader = QtGui.QAction(MainWindow)
437
443
  self.actionOpen_Shader.setObjectName("actionOpen_Shader")
438
444
  self.actionOpen_Shader.triggered.connect(self.loadShaders)
439
445
  self.actionOpen_Shader.setShortcut("Ctrl+O")
440
446
 
441
- self.actionSave_Shader = QtWidgets.QAction(MainWindow)
447
+ self.actionSave_Shader = QtGui.QAction(MainWindow)
442
448
  self.actionSave_Shader.setObjectName("actionSave_Shader")
443
449
  self.actionSave_Shader.triggered.connect(self.saveShaders)
444
450
  self.actionSave_Shader.setStatusTip('Saves both Shader Files')
445
451
  self.actionSave_Shader.setShortcut("Ctrl+S")
446
452
 
447
- self.actionExit = QtWidgets.QAction(MainWindow)
453
+ self.actionExit = QtGui.QAction(MainWindow)
448
454
  self.actionExit.triggered.connect(self.closeProgram)
449
455
  self.actionExit.setObjectName("actionExit")
450
456
  self.menuFile.addAction(self.actionOpen_Image)
@@ -457,7 +463,7 @@ class Ui_MainWindow:
457
463
 
458
464
  self.imageMenu = QtWidgets.QMenu(self.menubar)
459
465
  self.imageMenu.setObjectName("imageMenu")
460
- self.noImageAction = QtWidgets.QAction(MainWindow)
466
+ self.noImageAction = QtGui.QAction(MainWindow)
461
467
  self.noImageAction.setDisabled(True)
462
468
  self.imageMenu.addAction(self.noImageAction)
463
469
 
@@ -518,7 +524,7 @@ class Ui_MainWindow:
518
524
  if not self.images:
519
525
  self.imageMenu.removeAction(self.noImageAction)
520
526
 
521
- action = QtWidgets.QAction(self._window)
527
+ action = QtGui.QAction(self._window)
522
528
  shader_name = f"sprite_texture{len(self.images)}"
523
529
  action.setText(f"{os.path.basename(fileName)} ({shader_name})")
524
530
  action.fileName = fileName
@@ -565,7 +571,7 @@ class Ui_MainWindow:
565
571
  vert_filename.write_text(self.vertex_source_edit.toPlainText())
566
572
  frag_filename.write_text(self.fragSourceEdit.toPlainText())
567
573
 
568
- def removeImage(self, actionWidget: QtWidgets.QAction) -> None:
574
+ def removeImage(self, actionWidget: QtGui.QAction) -> None:
569
575
  if self.imageMenu:
570
576
  self.imageMenu.removeAction(actionWidget)
571
577
 
@@ -775,4 +781,4 @@ if __name__ == "__main__":
775
781
  sys.excepthook = excepthook
776
782
 
777
783
  # Start the application and return its exit code
778
- sys.exit(app.exec_())
784
+ sys.exit(app.exec())
@@ -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