pyglet 2.1.13__py3-none-any.whl → 3.0.dev1__py3-none-any.whl
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.
- pyglet/__init__.py +67 -61
- pyglet/__init__.pyi +15 -8
- pyglet/app/__init__.py +22 -13
- pyglet/app/async_app.py +212 -0
- pyglet/app/base.py +2 -1
- pyglet/app/{xlib.py → linux.py} +3 -3
- pyglet/config/__init__.py +101 -0
- pyglet/config/gl/__init__.py +30 -0
- pyglet/config/gl/egl.py +120 -0
- pyglet/config/gl/macos.py +262 -0
- pyglet/config/gl/windows.py +267 -0
- pyglet/config/gl/x11.py +142 -0
- pyglet/customtypes.py +43 -2
- pyglet/display/__init__.py +8 -6
- pyglet/display/base.py +3 -63
- pyglet/display/cocoa.py +12 -17
- pyglet/display/emscripten.py +39 -0
- pyglet/display/headless.py +23 -30
- pyglet/display/wayland.py +157 -0
- pyglet/display/win32.py +5 -21
- pyglet/display/xlib.py +19 -27
- pyglet/display/xlib_vidmoderestore.py +2 -2
- pyglet/enums.py +183 -0
- pyglet/event.py +0 -1
- pyglet/experimental/geoshader_sprite.py +15 -13
- pyglet/experimental/hidraw.py +6 -15
- pyglet/experimental/multitexture_sprite.py +31 -19
- pyglet/experimental/particles.py +13 -35
- pyglet/font/__init__.py +251 -85
- pyglet/font/base.py +116 -61
- pyglet/font/dwrite/__init__.py +349 -204
- pyglet/font/dwrite/dwrite_lib.py +27 -5
- pyglet/font/fontconfig.py +14 -6
- pyglet/font/freetype.py +138 -87
- pyglet/font/freetype_lib.py +19 -0
- pyglet/font/group.py +179 -0
- pyglet/font/harfbuzz/__init__.py +3 -3
- pyglet/font/pyodide_js.py +310 -0
- pyglet/font/quartz.py +319 -126
- pyglet/font/ttf.py +45 -3
- pyglet/font/user.py +14 -19
- pyglet/font/win32.py +45 -21
- pyglet/graphics/__init__.py +8 -787
- pyglet/graphics/allocation.py +115 -1
- pyglet/graphics/api/__init__.py +77 -0
- pyglet/graphics/api/base.py +299 -0
- pyglet/graphics/api/gl/__init__.py +58 -0
- pyglet/graphics/api/gl/base.py +24 -0
- pyglet/graphics/{vertexbuffer.py → api/gl/buffer.py} +104 -159
- pyglet/graphics/api/gl/cocoa/context.py +76 -0
- pyglet/graphics/api/gl/context.py +391 -0
- pyglet/graphics/api/gl/default_shaders.py +0 -0
- pyglet/graphics/api/gl/draw.py +627 -0
- pyglet/graphics/api/gl/egl/__init__.py +0 -0
- pyglet/graphics/api/gl/egl/context.py +92 -0
- pyglet/graphics/api/gl/enums.py +76 -0
- pyglet/graphics/api/gl/framebuffer.py +315 -0
- pyglet/graphics/api/gl/gl.py +5463 -0
- pyglet/graphics/api/gl/gl_info.py +188 -0
- pyglet/graphics/api/gl/global_opengl.py +226 -0
- pyglet/{gl → graphics/api/gl}/lib.py +34 -18
- pyglet/graphics/api/gl/shader.py +1476 -0
- pyglet/graphics/api/gl/shapes.py +55 -0
- pyglet/graphics/api/gl/sprite.py +102 -0
- pyglet/graphics/api/gl/state.py +219 -0
- pyglet/graphics/api/gl/text.py +190 -0
- pyglet/graphics/api/gl/texture.py +1526 -0
- pyglet/graphics/{vertexarray.py → api/gl/vertexarray.py} +11 -13
- pyglet/graphics/api/gl/vertexdomain.py +751 -0
- pyglet/graphics/api/gl/win32/__init__.py +0 -0
- pyglet/graphics/api/gl/win32/context.py +108 -0
- pyglet/graphics/api/gl/win32/wgl_info.py +24 -0
- pyglet/graphics/api/gl/xlib/__init__.py +0 -0
- pyglet/graphics/api/gl/xlib/context.py +174 -0
- pyglet/{gl → graphics/api/gl/xlib}/glx_info.py +26 -31
- pyglet/graphics/api/gl1/__init__.py +0 -0
- pyglet/{gl → graphics/api/gl1}/gl_compat.py +3 -2
- pyglet/graphics/api/gl2/__init__.py +0 -0
- pyglet/graphics/api/gl2/buffer.py +320 -0
- pyglet/graphics/api/gl2/draw.py +600 -0
- pyglet/graphics/api/gl2/global_opengl.py +122 -0
- pyglet/graphics/api/gl2/shader.py +200 -0
- pyglet/graphics/api/gl2/shapes.py +51 -0
- pyglet/graphics/api/gl2/sprite.py +79 -0
- pyglet/graphics/api/gl2/text.py +175 -0
- pyglet/graphics/api/gl2/vertexdomain.py +364 -0
- pyglet/graphics/api/webgl/__init__.py +233 -0
- pyglet/graphics/api/webgl/buffer.py +302 -0
- pyglet/graphics/api/webgl/context.py +234 -0
- pyglet/graphics/api/webgl/draw.py +590 -0
- pyglet/graphics/api/webgl/enums.py +76 -0
- pyglet/graphics/api/webgl/framebuffer.py +360 -0
- pyglet/graphics/api/webgl/gl.py +1537 -0
- pyglet/graphics/api/webgl/gl_info.py +130 -0
- pyglet/graphics/api/webgl/shader.py +1346 -0
- pyglet/graphics/api/webgl/shapes.py +92 -0
- pyglet/graphics/api/webgl/sprite.py +102 -0
- pyglet/graphics/api/webgl/state.py +227 -0
- pyglet/graphics/api/webgl/text.py +187 -0
- pyglet/graphics/api/webgl/texture.py +1227 -0
- pyglet/graphics/api/webgl/vertexarray.py +54 -0
- pyglet/graphics/api/webgl/vertexdomain.py +616 -0
- pyglet/graphics/api/webgl/webgl_js.pyi +307 -0
- pyglet/{image → graphics}/atlas.py +33 -32
- pyglet/graphics/base.py +10 -0
- pyglet/graphics/buffer.py +245 -0
- pyglet/graphics/draw.py +578 -0
- pyglet/graphics/framebuffer.py +26 -0
- pyglet/graphics/instance.py +178 -69
- pyglet/graphics/shader.py +267 -1553
- pyglet/graphics/state.py +83 -0
- pyglet/graphics/texture.py +703 -0
- pyglet/graphics/vertexdomain.py +695 -538
- pyglet/gui/ninepatch.py +10 -10
- pyglet/gui/widgets.py +120 -10
- pyglet/image/__init__.py +20 -1973
- pyglet/image/animation.py +12 -12
- pyglet/image/base.py +730 -0
- pyglet/image/codecs/__init__.py +9 -0
- pyglet/image/codecs/bmp.py +53 -30
- pyglet/image/codecs/dds.py +53 -31
- pyglet/image/codecs/gdiplus.py +38 -14
- pyglet/image/codecs/gdkpixbuf2.py +0 -2
- pyglet/image/codecs/js_image.py +99 -0
- pyglet/image/codecs/ktx2.py +161 -0
- pyglet/image/codecs/pil.py +1 -1
- pyglet/image/codecs/png.py +1 -1
- pyglet/image/codecs/wic.py +11 -2
- pyglet/info.py +26 -24
- pyglet/input/__init__.py +8 -0
- pyglet/input/base.py +163 -105
- pyglet/input/controller.py +13 -19
- pyglet/input/controller_db.py +39 -24
- pyglet/input/emscripten/__init__.py +18 -0
- pyglet/input/emscripten/gamepad_js.py +397 -0
- pyglet/input/linux/__init__.py +11 -5
- pyglet/input/linux/evdev.py +10 -11
- pyglet/input/linux/x11_xinput.py +2 -2
- pyglet/input/linux/x11_xinput_tablet.py +1 -1
- pyglet/input/macos/__init__.py +7 -2
- pyglet/input/macos/darwin_gc.py +559 -0
- pyglet/input/win32/__init__.py +1 -1
- pyglet/input/win32/directinput.py +34 -29
- pyglet/input/win32/xinput.py +11 -61
- pyglet/lib.py +3 -3
- pyglet/libs/__init__.py +1 -1
- pyglet/{gl → libs/darwin}/agl.py +1 -1
- pyglet/libs/darwin/cocoapy/__init__.py +2 -2
- pyglet/libs/darwin/cocoapy/cocoahelpers.py +181 -0
- pyglet/libs/darwin/cocoapy/cocoalibs.py +31 -0
- pyglet/libs/darwin/cocoapy/cocoatypes.py +27 -0
- pyglet/libs/darwin/cocoapy/runtime.py +81 -45
- pyglet/libs/darwin/coreaudio.py +4 -4
- pyglet/{gl → libs/darwin}/lib_agl.py +9 -8
- pyglet/libs/darwin/quartzkey.py +1 -3
- pyglet/libs/egl/__init__.py +2 -0
- pyglet/libs/egl/egl_lib.py +576 -0
- pyglet/libs/egl/eglext.py +51 -5
- pyglet/libs/linux/__init__.py +0 -0
- pyglet/libs/linux/egl/__init__.py +0 -0
- pyglet/libs/linux/egl/eglext.py +22 -0
- pyglet/libs/linux/glx/__init__.py +0 -0
- pyglet/{gl → libs/linux/glx}/glx.py +13 -14
- pyglet/{gl → libs/linux/glx}/glxext_arb.py +408 -192
- pyglet/{gl → libs/linux/glx}/glxext_mesa.py +1 -1
- pyglet/{gl → libs/linux/glx}/glxext_nv.py +345 -164
- pyglet/{gl → libs/linux/glx}/lib_glx.py +3 -2
- pyglet/libs/linux/wayland/__init__.py +0 -0
- pyglet/libs/linux/wayland/client.py +1068 -0
- pyglet/libs/linux/wayland/lib_wayland.py +207 -0
- pyglet/libs/linux/wayland/wayland_egl.py +38 -0
- pyglet/libs/{wayland → linux/wayland}/xkbcommon.py +26 -0
- pyglet/libs/{x11 → linux/x11}/xf86vmode.py +4 -4
- pyglet/libs/{x11 → linux/x11}/xinerama.py +2 -2
- pyglet/libs/{x11 → linux/x11}/xinput.py +10 -10
- pyglet/libs/linux/x11/xrandr.py +0 -0
- pyglet/libs/{x11 → linux/x11}/xrender.py +1 -1
- pyglet/libs/shared/__init__.py +0 -0
- pyglet/libs/shared/spirv/__init__.py +0 -0
- pyglet/libs/shared/spirv/lib_shaderc.py +85 -0
- pyglet/libs/shared/spirv/lib_spirv_cross.py +126 -0
- pyglet/libs/win32/__init__.py +28 -8
- pyglet/libs/win32/constants.py +59 -48
- pyglet/libs/win32/context_managers.py +20 -3
- pyglet/libs/win32/dinput.py +105 -88
- pyglet/{gl → libs/win32}/lib_wgl.py +52 -26
- pyglet/libs/win32/types.py +58 -23
- pyglet/{gl → libs/win32}/wgl.py +32 -25
- pyglet/{gl → libs/win32}/wglext_arb.py +364 -2
- pyglet/media/__init__.py +9 -10
- pyglet/media/codecs/__init__.py +12 -1
- pyglet/media/codecs/base.py +99 -96
- pyglet/media/codecs/ffmpeg.py +2 -2
- pyglet/media/codecs/ffmpeg_lib/libavformat.py +3 -8
- pyglet/media/codecs/webaudio_pyodide.py +111 -0
- pyglet/media/drivers/__init__.py +9 -4
- pyglet/media/drivers/base.py +4 -4
- pyglet/media/drivers/openal/__init__.py +1 -1
- pyglet/media/drivers/openal/adaptation.py +3 -3
- pyglet/media/drivers/pulse/__init__.py +1 -1
- pyglet/media/drivers/pulse/adaptation.py +3 -3
- pyglet/media/drivers/pyodide_js/__init__.py +8 -0
- pyglet/media/drivers/pyodide_js/adaptation.py +288 -0
- pyglet/media/drivers/xaudio2/adaptation.py +3 -3
- pyglet/media/player.py +276 -193
- pyglet/media/player_worker_thread.py +1 -1
- pyglet/model/__init__.py +39 -29
- pyglet/model/codecs/base.py +4 -4
- pyglet/model/codecs/gltf.py +3 -3
- pyglet/model/codecs/obj.py +71 -43
- pyglet/resource.py +129 -78
- pyglet/shapes.py +154 -194
- pyglet/sprite.py +47 -164
- pyglet/text/__init__.py +44 -54
- pyglet/text/caret.py +12 -7
- pyglet/text/document.py +19 -17
- pyglet/text/formats/html.py +2 -2
- pyglet/text/formats/structured.py +10 -40
- pyglet/text/layout/__init__.py +20 -13
- pyglet/text/layout/base.py +176 -287
- pyglet/text/layout/incremental.py +9 -10
- pyglet/text/layout/scrolling.py +7 -95
- pyglet/window/__init__.py +183 -172
- pyglet/window/cocoa/__init__.py +62 -51
- pyglet/window/cocoa/pyglet_delegate.py +2 -25
- pyglet/window/cocoa/pyglet_view.py +9 -8
- pyglet/window/dialog/__init__.py +184 -0
- pyglet/window/dialog/base.py +99 -0
- pyglet/window/dialog/darwin.py +121 -0
- pyglet/window/dialog/linux.py +72 -0
- pyglet/window/dialog/windows.py +194 -0
- pyglet/window/emscripten/__init__.py +779 -0
- pyglet/window/headless/__init__.py +44 -28
- pyglet/window/key.py +2 -0
- pyglet/window/mouse.py +2 -2
- pyglet/window/wayland/__init__.py +377 -0
- pyglet/window/win32/__init__.py +101 -46
- pyglet/window/xlib/__init__.py +104 -66
- {pyglet-2.1.13.dist-info → pyglet-3.0.dev1.dist-info}/METADATA +2 -3
- pyglet-3.0.dev1.dist-info/RECORD +322 -0
- {pyglet-2.1.13.dist-info → pyglet-3.0.dev1.dist-info}/WHEEL +1 -1
- pyglet/gl/__init__.py +0 -208
- pyglet/gl/base.py +0 -499
- pyglet/gl/cocoa.py +0 -309
- pyglet/gl/gl.py +0 -4625
- pyglet/gl/gl.pyi +0 -2320
- pyglet/gl/gl_compat.pyi +0 -3097
- pyglet/gl/gl_info.py +0 -190
- pyglet/gl/headless.py +0 -166
- pyglet/gl/wgl_info.py +0 -36
- pyglet/gl/wglext_nv.py +0 -1096
- pyglet/gl/win32.py +0 -268
- pyglet/gl/xlib.py +0 -295
- pyglet/image/buffer.py +0 -274
- pyglet/image/codecs/s3tc.py +0 -354
- pyglet/libs/x11/xrandr.py +0 -166
- pyglet-2.1.13.dist-info/RECORD +0 -234
- /pyglet/{libs/wayland → graphics/api/gl/cocoa}/__init__.py +0 -0
- /pyglet/libs/{egl → linux/egl}/egl.py +0 -0
- /pyglet/libs/{egl → linux/egl}/lib.py +0 -0
- /pyglet/libs/{ioctl.py → linux/ioctl.py} +0 -0
- /pyglet/libs/{wayland → linux/wayland}/gbm.py +0 -0
- /pyglet/libs/{x11 → linux/x11}/__init__.py +0 -0
- /pyglet/libs/{x11 → linux/x11}/cursorfont.py +0 -0
- /pyglet/libs/{x11 → linux/x11}/xlib.py +0 -0
- /pyglet/libs/{x11 → linux/x11}/xsync.py +0 -0
- {pyglet-2.1.13.dist-info/licenses → pyglet-3.0.dev1.dist-info}/LICENSE +0 -0
|
@@ -5,12 +5,12 @@ from ctypes import CFUNCTYPE, POINTER, c_char_p, c_int, cast
|
|
|
5
5
|
from typing import Any, Callable, Sequence
|
|
6
6
|
|
|
7
7
|
import pyglet
|
|
8
|
-
from pyglet.gl.lib import decorate_function, missing_function
|
|
8
|
+
from pyglet.graphics.api.gl.lib import decorate_function, missing_function
|
|
9
9
|
from pyglet.util import asbytes
|
|
10
10
|
|
|
11
|
-
__all__ = ['link_GL', 'link_WGL']
|
|
11
|
+
__all__ = ['link_GL', 'link_GL_proxy', 'link_WGL', 'link_WGL_proxy']
|
|
12
12
|
|
|
13
|
-
_debug_trace = pyglet.options
|
|
13
|
+
_debug_trace = pyglet.options.debug_trace
|
|
14
14
|
|
|
15
15
|
gl_lib = ctypes.windll.opengl32
|
|
16
16
|
wgl_lib = gl_lib
|
|
@@ -22,7 +22,7 @@ if _debug_trace:
|
|
|
22
22
|
wgl_lib = _TraceLibrary(wgl_lib)
|
|
23
23
|
|
|
24
24
|
try:
|
|
25
|
-
wglGetProcAddress = wgl_lib.wglGetProcAddress
|
|
25
|
+
wglGetProcAddress = wgl_lib.wglGetProcAddress
|
|
26
26
|
wglGetProcAddress.restype = CFUNCTYPE(POINTER(c_int))
|
|
27
27
|
wglGetProcAddress.argtypes = [c_char_p]
|
|
28
28
|
_have_get_proc_address = True
|
|
@@ -53,8 +53,7 @@ class WGLFunctionProxy:
|
|
|
53
53
|
self.func = None
|
|
54
54
|
|
|
55
55
|
def __call__(self, *args: Any, **kwargs: Any) -> Callable:
|
|
56
|
-
|
|
57
|
-
if not current_context:
|
|
56
|
+
if not pyglet.graphics.api.core:
|
|
58
57
|
msg = f'Call to function "{self.name}" before GL context created'
|
|
59
58
|
raise Exception(msg)
|
|
60
59
|
address = wglGetProcAddress(asbytes(self.name))
|
|
@@ -70,8 +69,15 @@ class WGLFunctionProxy:
|
|
|
70
69
|
return self.func(*args, **kwargs)
|
|
71
70
|
|
|
72
71
|
|
|
73
|
-
def
|
|
72
|
+
def link_GL_proxy(name: str, restype: Any, argtypes: Any, requires: str | None = None, # noqa: N802
|
|
74
73
|
suggestions: Sequence[str] | None = None) -> Callable[..., Any]:
|
|
74
|
+
"""Link a GL function using a proxy address.
|
|
75
|
+
|
|
76
|
+
Most functions are not exposed in opengl32.dll, so the majority will be created via wglGetProcAddress.
|
|
77
|
+
|
|
78
|
+
If a context is not created, a proxy function will be created in its place. Through this implementation,
|
|
79
|
+
OpenGL functions can be imported globally.
|
|
80
|
+
"""
|
|
75
81
|
try:
|
|
76
82
|
func = getattr(gl_lib, name)
|
|
77
83
|
func.restype = restype
|
|
@@ -79,26 +85,46 @@ def link_GL(name: str, restype: Any, argtypes: Any, requires: str | None = None,
|
|
|
79
85
|
decorate_function(func, name)
|
|
80
86
|
return func
|
|
81
87
|
except AttributeError:
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
if
|
|
87
|
-
|
|
88
|
-
if
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
# Insert proxy until we have a context
|
|
96
|
-
return WGLFunctionProxy(name, ftype, requires, suggestions)
|
|
97
|
-
except: # noqa: E722, S110
|
|
98
|
-
# TODO: Figure out what exception this can cause instead of catching all.
|
|
99
|
-
pass
|
|
88
|
+
fargs = (restype, *tuple(argtypes))
|
|
89
|
+
ftype = ctypes.WINFUNCTYPE(*fargs)
|
|
90
|
+
if _have_get_proc_address:
|
|
91
|
+
from pyglet.graphics.api import core
|
|
92
|
+
if core and core.have_context:
|
|
93
|
+
address = wglGetProcAddress(asbytes(name))
|
|
94
|
+
if cast(address, POINTER(c_int)): # check cast because address is func
|
|
95
|
+
func = cast(address, ftype)
|
|
96
|
+
decorate_function(func, name)
|
|
97
|
+
return func
|
|
98
|
+
else:
|
|
99
|
+
# Insert proxy until we have a context
|
|
100
|
+
return WGLFunctionProxy(name, ftype, requires, suggestions)
|
|
100
101
|
|
|
101
102
|
return missing_function(name, requires, suggestions)
|
|
102
103
|
|
|
104
|
+
def link_GL(name: str, restype: Any, argtypes: Any, requires: str | None = None, # noqa: N802
|
|
105
|
+
suggestions: Sequence[str] | None = None) -> Callable[..., Any]:
|
|
106
|
+
"""Link a GL function using a proxy address.
|
|
107
|
+
|
|
108
|
+
Requires an OpenGL context to be created and current.
|
|
109
|
+
"""
|
|
110
|
+
try:
|
|
111
|
+
func = getattr(gl_lib, name)
|
|
112
|
+
func.restype = restype
|
|
113
|
+
func.argtypes = argtypes
|
|
114
|
+
decorate_function(func, name)
|
|
115
|
+
return func
|
|
116
|
+
except AttributeError:
|
|
117
|
+
# Not in opengl32.dll. Try and get a pointer from WGL.
|
|
118
|
+
fargs = (restype, *tuple(argtypes))
|
|
119
|
+
ftype = ctypes.WINFUNCTYPE(*fargs)
|
|
120
|
+
if _have_get_proc_address:
|
|
121
|
+
address = wglGetProcAddress(asbytes(name))
|
|
122
|
+
if cast(address, POINTER(c_int)): # check cast because address is func
|
|
123
|
+
func = cast(address, ftype)
|
|
124
|
+
decorate_function(func, name)
|
|
125
|
+
return func
|
|
126
|
+
|
|
127
|
+
return missing_function(name, requires, suggestions)
|
|
103
128
|
|
|
104
|
-
link_WGL = link_GL
|
|
129
|
+
link_WGL = link_GL
|
|
130
|
+
link_WGL_proxy = link_GL_proxy
|
pyglet/libs/win32/types.py
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
1
2
|
import ctypes
|
|
2
3
|
import sys
|
|
3
4
|
from ctypes import (
|
|
@@ -47,6 +48,7 @@ from ctypes.wintypes import (
|
|
|
47
48
|
LPARAM,
|
|
48
49
|
LPCWSTR,
|
|
49
50
|
LPOLESTR,
|
|
51
|
+
LPVOID,
|
|
50
52
|
LPWSTR,
|
|
51
53
|
MSG,
|
|
52
54
|
POINT,
|
|
@@ -92,8 +94,7 @@ def POINTER_(obj):
|
|
|
92
94
|
def from_param(cls, x):
|
|
93
95
|
if x is None:
|
|
94
96
|
return cls()
|
|
95
|
-
|
|
96
|
-
return x
|
|
97
|
+
return x
|
|
97
98
|
|
|
98
99
|
p.from_param = classmethod(from_param)
|
|
99
100
|
|
|
@@ -159,6 +160,8 @@ MONITOR_DEFAULTTONEAREST = 0
|
|
|
159
160
|
MONITOR_DEFAULTTONULL = 1
|
|
160
161
|
MONITOR_DEFAULTTOPRIMARY = 2
|
|
161
162
|
|
|
163
|
+
REGSAM = DWORD
|
|
164
|
+
|
|
162
165
|
def MAKEINTRESOURCE(i):
|
|
163
166
|
return cast(ctypes.c_void_p(i & 0xFFFF), c_wchar_p)
|
|
164
167
|
|
|
@@ -174,7 +177,7 @@ class WNDCLASS(Structure):
|
|
|
174
177
|
('hCursor', HCURSOR),
|
|
175
178
|
('hbrBackground', HBRUSH),
|
|
176
179
|
('lpszMenuName', c_char_p),
|
|
177
|
-
('lpszClassName', c_wchar_p)
|
|
180
|
+
('lpszClassName', c_wchar_p),
|
|
178
181
|
]
|
|
179
182
|
|
|
180
183
|
|
|
@@ -182,7 +185,7 @@ class SECURITY_ATTRIBUTES(Structure):
|
|
|
182
185
|
_fields_ = [
|
|
183
186
|
("nLength", DWORD),
|
|
184
187
|
("lpSecurityDescriptor", c_void_p),
|
|
185
|
-
("bInheritHandle", BOOL)
|
|
188
|
+
("bInheritHandle", BOOL),
|
|
186
189
|
]
|
|
187
190
|
__slots__ = [f[0] for f in _fields_]
|
|
188
191
|
|
|
@@ -214,7 +217,7 @@ class PIXELFORMATDESCRIPTOR(Structure):
|
|
|
214
217
|
('bReserved', BYTE),
|
|
215
218
|
('dwLayerMask', DWORD),
|
|
216
219
|
('dwVisibleMask', DWORD),
|
|
217
|
-
('dwDamageMask', DWORD)
|
|
220
|
+
('dwDamageMask', DWORD),
|
|
218
221
|
]
|
|
219
222
|
|
|
220
223
|
|
|
@@ -294,7 +297,7 @@ class BITMAPV5HEADER(Structure):
|
|
|
294
297
|
class BITMAPINFO(Structure):
|
|
295
298
|
_fields_ = [
|
|
296
299
|
('bmiHeader', BITMAPINFOHEADER),
|
|
297
|
-
('bmiColors', RGBQUAD * 1)
|
|
300
|
+
('bmiColors', RGBQUAD * 1),
|
|
298
301
|
]
|
|
299
302
|
__slots__ = [f[0] for f in _fields_]
|
|
300
303
|
|
|
@@ -314,7 +317,7 @@ class LOGFONT(Structure):
|
|
|
314
317
|
('lfClipPrecision', BYTE),
|
|
315
318
|
('lfQuality', BYTE),
|
|
316
319
|
('lfPitchAndFamily', BYTE),
|
|
317
|
-
('lfFaceName', (c_char * LF_FACESIZE)) # Use ASCII
|
|
320
|
+
('lfFaceName', (c_char * LF_FACESIZE)), # Use ASCII
|
|
318
321
|
]
|
|
319
322
|
|
|
320
323
|
|
|
@@ -334,7 +337,7 @@ class LOGFONTW(Structure):
|
|
|
334
337
|
('lfClipPrecision', BYTE),
|
|
335
338
|
('lfQuality', BYTE),
|
|
336
339
|
('lfPitchAndFamily', BYTE),
|
|
337
|
-
('lfFaceName', (WCHAR * LF_FACESIZE))
|
|
340
|
+
('lfFaceName', (WCHAR * LF_FACESIZE)),
|
|
338
341
|
]
|
|
339
342
|
|
|
340
343
|
|
|
@@ -343,7 +346,7 @@ class TRACKMOUSEEVENT(Structure):
|
|
|
343
346
|
('cbSize', DWORD),
|
|
344
347
|
('dwFlags', DWORD),
|
|
345
348
|
('hwndTrack', HWND),
|
|
346
|
-
('dwHoverTime', DWORD)
|
|
349
|
+
('dwHoverTime', DWORD),
|
|
347
350
|
]
|
|
348
351
|
__slots__ = [f[0] for f in _fields_]
|
|
349
352
|
|
|
@@ -354,7 +357,7 @@ class MINMAXINFO(Structure):
|
|
|
354
357
|
('ptMaxSize', POINT),
|
|
355
358
|
('ptMaxPosition', POINT),
|
|
356
359
|
('ptMinTrackSize', POINT),
|
|
357
|
-
('ptMaxTrackSize', POINT)
|
|
360
|
+
('ptMaxTrackSize', POINT),
|
|
358
361
|
]
|
|
359
362
|
__slots__ = [f[0] for f in _fields_]
|
|
360
363
|
|
|
@@ -363,7 +366,7 @@ class ABC(Structure):
|
|
|
363
366
|
_fields_ = [
|
|
364
367
|
('abcA', c_int),
|
|
365
368
|
('abcB', c_uint),
|
|
366
|
-
('abcC', c_int)
|
|
369
|
+
('abcC', c_int),
|
|
367
370
|
]
|
|
368
371
|
__slots__ = [f[0] for f in _fields_]
|
|
369
372
|
|
|
@@ -389,7 +392,7 @@ class TEXTMETRIC(Structure):
|
|
|
389
392
|
('tmUnderlined', c_byte),
|
|
390
393
|
('tmStruckOut', c_byte),
|
|
391
394
|
('tmPitchAndFamily', c_byte),
|
|
392
|
-
('tmCharSet', c_byte)
|
|
395
|
+
('tmCharSet', c_byte),
|
|
393
396
|
]
|
|
394
397
|
__slots__ = [f[0] for f in _fields_]
|
|
395
398
|
|
|
@@ -400,7 +403,7 @@ class MONITORINFOEX(Structure):
|
|
|
400
403
|
('rcMonitor', RECT),
|
|
401
404
|
('rcWork', RECT),
|
|
402
405
|
('dwFlags', DWORD),
|
|
403
|
-
('szDevice', WCHAR * CCHDEVICENAME)
|
|
406
|
+
('szDevice', WCHAR * CCHDEVICENAME),
|
|
404
407
|
]
|
|
405
408
|
__slots__ = [f[0] for f in _fields_]
|
|
406
409
|
|
|
@@ -422,7 +425,7 @@ class _DUMMYSTRUCTNAME2(Structure):
|
|
|
422
425
|
_fields_ = [
|
|
423
426
|
('dmPosition', POINTL),
|
|
424
427
|
('dmDisplayOrientation', DWORD),
|
|
425
|
-
('dmDisplayFixedOutput', DWORD)
|
|
428
|
+
('dmDisplayFixedOutput', DWORD),
|
|
426
429
|
]
|
|
427
430
|
|
|
428
431
|
|
|
@@ -475,7 +478,7 @@ class ICONINFO(Structure):
|
|
|
475
478
|
('xHotspot', DWORD),
|
|
476
479
|
('yHotspot', DWORD),
|
|
477
480
|
('hbmMask', HBITMAP),
|
|
478
|
-
('hbmColor', HBITMAP)
|
|
481
|
+
('hbmColor', HBITMAP),
|
|
479
482
|
]
|
|
480
483
|
__slots__ = [f[0] for f in _fields_]
|
|
481
484
|
|
|
@@ -485,7 +488,7 @@ class RAWINPUTDEVICE(Structure):
|
|
|
485
488
|
('usUsagePage', USHORT),
|
|
486
489
|
('usUsage', USHORT),
|
|
487
490
|
('dwFlags', DWORD),
|
|
488
|
-
('hwndTarget', HWND)
|
|
491
|
+
('hwndTarget', HWND),
|
|
489
492
|
]
|
|
490
493
|
|
|
491
494
|
|
|
@@ -568,7 +571,7 @@ class _VarTable(Union):
|
|
|
568
571
|
"""Must be in an anonymous union or values will not work across various VT's."""
|
|
569
572
|
_fields_ = [
|
|
570
573
|
('llVal', ctypes.c_longlong),
|
|
571
|
-
('pwszVal', LPWSTR)
|
|
574
|
+
('pwszVal', LPWSTR),
|
|
572
575
|
]
|
|
573
576
|
|
|
574
577
|
|
|
@@ -580,14 +583,14 @@ class PROPVARIANT(Structure):
|
|
|
580
583
|
('wReserved1', ctypes.c_ubyte),
|
|
581
584
|
('wReserved2', ctypes.c_ubyte),
|
|
582
585
|
('wReserved3', ctypes.c_ulong),
|
|
583
|
-
('union', _VarTable)
|
|
586
|
+
('union', _VarTable),
|
|
584
587
|
]
|
|
585
588
|
|
|
586
589
|
|
|
587
590
|
class _VarTableVariant(Union):
|
|
588
591
|
"""Must be in an anonymous union or values will not work across various VT's."""
|
|
589
592
|
_fields_ = [
|
|
590
|
-
('bstrVal', LPCWSTR)
|
|
593
|
+
('bstrVal', LPCWSTR),
|
|
591
594
|
]
|
|
592
595
|
|
|
593
596
|
|
|
@@ -599,7 +602,7 @@ class VARIANT(Structure):
|
|
|
599
602
|
('wReserved1', WORD),
|
|
600
603
|
('wReserved2', WORD),
|
|
601
604
|
('wReserved3', WORD),
|
|
602
|
-
('union', _VarTableVariant)
|
|
605
|
+
('union', _VarTableVariant),
|
|
603
606
|
]
|
|
604
607
|
|
|
605
608
|
|
|
@@ -674,7 +677,7 @@ class DEV_BROADCAST_DEVICEINTERFACE(Structure):
|
|
|
674
677
|
('dbcc_devicetype', DWORD),
|
|
675
678
|
('dbcc_reserved', DWORD),
|
|
676
679
|
('dbcc_classguid', com.GUID),
|
|
677
|
-
('dbcc_name', ctypes.c_wchar * 256)
|
|
680
|
+
('dbcc_name', ctypes.c_wchar * 256),
|
|
678
681
|
)
|
|
679
682
|
|
|
680
683
|
|
|
@@ -751,14 +754,14 @@ class DISPLAYCONFIG_DEVICE_INFO_HEADER(ctypes.Structure):
|
|
|
751
754
|
_fields_ = [('type', UINT32),
|
|
752
755
|
('size', UINT32),
|
|
753
756
|
('adapterId', LUID),
|
|
754
|
-
('id', UINT32)
|
|
757
|
+
('id', UINT32),
|
|
755
758
|
]
|
|
756
759
|
|
|
757
760
|
|
|
758
761
|
class DISPLAYCONFIG_SOURCE_DEVICE_NAME(ctypes.Structure):
|
|
759
762
|
_fields_ = [
|
|
760
763
|
('header', DISPLAYCONFIG_DEVICE_INFO_HEADER),
|
|
761
|
-
('viewGdiDeviceName', WCHAR * 32)
|
|
764
|
+
('viewGdiDeviceName', WCHAR * 32),
|
|
762
765
|
]
|
|
763
766
|
|
|
764
767
|
|
|
@@ -773,3 +776,35 @@ class DISPLAYCONFIG_TARGET_DEVICE_NAME(ctypes.Structure):
|
|
|
773
776
|
('monitorFriendlyDeviceName', WCHAR * 64),
|
|
774
777
|
('monitorDevicePath', WCHAR * 128),
|
|
775
778
|
]
|
|
779
|
+
|
|
780
|
+
|
|
781
|
+
LPOFNHOOKPROC = ctypes.WINFUNCTYPE(UINT, HWND, UINT,WPARAM, LPARAM)
|
|
782
|
+
|
|
783
|
+
LPEDITMENU = ctypes.c_void_p
|
|
784
|
+
|
|
785
|
+
class OPENFILENAMEW(Structure):
|
|
786
|
+
_fields_ = [
|
|
787
|
+
("lStructSize", DWORD),
|
|
788
|
+
("hwndOwner", HWND),
|
|
789
|
+
("hInstance", HINSTANCE),
|
|
790
|
+
("lpstrFilter", LPCWSTR),
|
|
791
|
+
("lpstrCustomFilter", LPWSTR),
|
|
792
|
+
("nMaxCustFilter", DWORD),
|
|
793
|
+
("nFilterIndex", DWORD),
|
|
794
|
+
("lpstrFile", LPWSTR),
|
|
795
|
+
("nMaxFile", DWORD),
|
|
796
|
+
("lpstrFileTitle", LPWSTR),
|
|
797
|
+
("nMaxFileTitle", DWORD),
|
|
798
|
+
("lpstrInitialDir", LPCWSTR),
|
|
799
|
+
("lpstrTitle", LPCWSTR),
|
|
800
|
+
("Flags", DWORD),
|
|
801
|
+
("nFileOffset", WORD),
|
|
802
|
+
("nFileExtension", WORD),
|
|
803
|
+
("lpstrDefExt", LPCWSTR),
|
|
804
|
+
("lCustData", LPARAM),
|
|
805
|
+
("lpfnHook", LPOFNHOOKPROC),
|
|
806
|
+
("lpTemplateName", LPCWSTR),
|
|
807
|
+
("pvReserved", LPVOID),
|
|
808
|
+
("dwReserved", DWORD),
|
|
809
|
+
("FlagsEx", DWORD),
|
|
810
|
+
]
|
pyglet/{gl → libs/win32}/wgl.py
RENAMED
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
Generated by tools/gengl.py.
|
|
4
4
|
"""
|
|
5
|
+
from __future__ import annotations
|
|
5
6
|
|
|
6
7
|
from ctypes import CFUNCTYPE, POINTER, Structure, c_int
|
|
7
8
|
from ctypes.wintypes import DWORD, BOOL, FLOAT, LONG, UINT, HDC, WORD, HANDLE, LPCSTR
|
|
8
9
|
|
|
9
|
-
from pyglet.gl.lib import link_WGL as _link_function
|
|
10
|
+
from pyglet.graphics.api.gl.lib import link_WGL as _link_function
|
|
11
|
+
from pyglet.libs.win32.wglext_arb import WGLFunctionsARB
|
|
10
12
|
from pyglet.libs.win32.types import BYTE
|
|
11
13
|
|
|
12
14
|
if not _link_function:
|
|
@@ -33,7 +35,6 @@ wglMakeCurrent = _link_function('wglMakeCurrent', BOOL, [HDC, HGLRC], None)
|
|
|
33
35
|
wglShareLists = _link_function('wglShareLists', BOOL, [HGLRC, HGLRC], None)
|
|
34
36
|
wglUseFontBitmapsA = _link_function('wglUseFontBitmapsA', BOOL, [HDC, DWORD, DWORD, DWORD], None)
|
|
35
37
|
wglUseFontBitmapsW = _link_function('wglUseFontBitmapsW', BOOL, [HDC, DWORD, DWORD, DWORD], None)
|
|
36
|
-
SwapBuffers = _link_function('SwapBuffers', BOOL, [HDC], None)
|
|
37
38
|
|
|
38
39
|
|
|
39
40
|
class struct__POINTFLOAT(Structure):
|
|
@@ -56,9 +57,9 @@ class struct__GLYPHMETRICSFLOAT(Structure):
|
|
|
56
57
|
__slots__ = [
|
|
57
58
|
'gmfBlackBoxX',
|
|
58
59
|
'gmfBlackBoxY',
|
|
59
|
-
'gmfptGlyphOrigin',
|
|
60
60
|
'gmfCellIncX',
|
|
61
61
|
'gmfCellIncY',
|
|
62
|
+
'gmfptGlyphOrigin',
|
|
62
63
|
]
|
|
63
64
|
|
|
64
65
|
|
|
@@ -80,32 +81,38 @@ wglUseFontOutlinesA = _link_function('wglUseFontOutlinesA', BOOL, [HDC, DWORD, D
|
|
|
80
81
|
wglUseFontOutlinesW = _link_function('wglUseFontOutlinesW', BOOL, [HDC, DWORD, DWORD, DWORD, FLOAT, FLOAT, c_int, LPGLYPHMETRICSFLOAT], None)
|
|
81
82
|
|
|
82
83
|
|
|
84
|
+
|
|
85
|
+
class WGLFunctions(WGLFunctionsARB):
|
|
86
|
+
def __init__(self):
|
|
87
|
+
super().__init__()
|
|
88
|
+
|
|
89
|
+
|
|
83
90
|
class struct_tagLAYERPLANEDESCRIPTOR(Structure):
|
|
84
91
|
__slots__ = [
|
|
85
|
-
'
|
|
86
|
-
'
|
|
87
|
-
'dwFlags',
|
|
88
|
-
'iPixelType',
|
|
89
|
-
'cColorBits',
|
|
90
|
-
'cRedBits',
|
|
91
|
-
'cRedShift',
|
|
92
|
-
'cGreenBits',
|
|
93
|
-
'cGreenShift',
|
|
94
|
-
'cBlueBits',
|
|
95
|
-
'cBlueShift',
|
|
96
|
-
'cAlphaBits',
|
|
97
|
-
'cAlphaShift',
|
|
92
|
+
'bReserved',
|
|
93
|
+
'cAccumAlphaBits',
|
|
98
94
|
'cAccumBits',
|
|
99
|
-
'cAccumRedBits',
|
|
100
|
-
'cAccumGreenBits',
|
|
101
95
|
'cAccumBlueBits',
|
|
102
|
-
'
|
|
96
|
+
'cAccumGreenBits',
|
|
97
|
+
'cAccumRedBits',
|
|
98
|
+
'cAlphaBits',
|
|
99
|
+
'cAlphaShift',
|
|
100
|
+
'cAuxBuffers',
|
|
101
|
+
'cBlueBits',
|
|
102
|
+
'cBlueShift',
|
|
103
|
+
'cColorBits',
|
|
103
104
|
'cDepthBits',
|
|
105
|
+
'cGreenBits',
|
|
106
|
+
'cGreenShift',
|
|
107
|
+
'cRedBits',
|
|
108
|
+
'cRedShift',
|
|
104
109
|
'cStencilBits',
|
|
105
|
-
'cAuxBuffers',
|
|
106
|
-
'iLayerPlane',
|
|
107
|
-
'bReserved',
|
|
108
110
|
'crTransparent',
|
|
111
|
+
'dwFlags',
|
|
112
|
+
'iLayerPlane',
|
|
113
|
+
'iPixelType',
|
|
114
|
+
'nSize',
|
|
115
|
+
'nVersion',
|
|
109
116
|
]
|
|
110
117
|
|
|
111
118
|
|
|
@@ -212,10 +219,10 @@ wglSwapMultipleBuffers = _link_function('wglSwapMultipleBuffers', DWORD, [UINT,
|
|
|
212
219
|
|
|
213
220
|
class struct_tagRECT(Structure):
|
|
214
221
|
__slots__ = [
|
|
222
|
+
'bottom',
|
|
215
223
|
'left',
|
|
216
|
-
'top',
|
|
217
224
|
'right',
|
|
218
|
-
'
|
|
225
|
+
'top',
|
|
219
226
|
]
|
|
220
227
|
|
|
221
228
|
|
|
@@ -298,7 +305,7 @@ __all__ = [
|
|
|
298
305
|
'WGL_SWAP_UNDERLAY13',
|
|
299
306
|
'WGL_SWAP_UNDERLAY14',
|
|
300
307
|
'WGL_SWAP_UNDERLAY15',
|
|
301
|
-
'
|
|
308
|
+
'WGLFunctions',
|
|
302
309
|
'wglCopyContext',
|
|
303
310
|
'wglCreateContext',
|
|
304
311
|
'wglCreateLayerContext',
|