Skip to content

Commit cb82c66

Browse files
committed
Docs: All glfw window docs
1 parent 3aa07ed commit cb82c66

File tree

4 files changed

+78
-4
lines changed

4 files changed

+78
-4
lines changed

demosys/context/glfw/keys.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66

77
class Keys(BaseKeys):
8-
"""Namespace translating glfw keys"""
8+
"""Namespace defining glfw specific keys constants"""
99
ACTION_PRESS = glfw.PRESS
1010
ACTION_RELEASE = glfw.RELEASE
1111

demosys/context/glfw/window.py

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,17 @@
77

88

99
class Window(BaseWindow):
10+
"""
11+
Window implementation using pyGLFW
12+
"""
1013
min_glfw_version = (3, 2, 1)
1114
keys = Keys
1215

1316
def __init__(self):
17+
"""
18+
Initializes glfw, sets up key and mouse events and
19+
creates a ``moderngl.Context`` using the context glfw createad.
20+
"""
1421
super().__init__()
1522

1623
if not glfw.init():
@@ -70,41 +77,62 @@ def __init__(self):
7077
self.set_default_viewport()
7178

7279
def use(self):
80+
"""
81+
Bind the window framebuffer making it the current render target
82+
"""
7383
self.fbo.use()
7484

7585
def should_close(self):
86+
"""
87+
Ask glfw is the window should be closed
88+
"""
7689
return glfw.window_should_close(self.window)
7790

7891
def close(self):
92+
"""
93+
Set the window closing state in glfw
94+
"""
7995
glfw.set_window_should_close(self.window, True)
8096

8197
def swap_buffers(self):
98+
"""
99+
Swaps buffers, incement the framecounter and pull events.
100+
"""
82101
self.frames += 1
83102
glfw.swap_buffers(self.window)
84103
self.poll_events()
85104

86105
def resize(self, width, height):
106+
"""
107+
Sets the new size and buffer size internally
108+
"""
87109
self.width = width
88110
self.height = height
89111
self.buffer_width, self.buffer_height = glfw.get_framebuffer_size(self.window)
90112
self.set_default_viewport()
91113

92114
def terminate(self):
115+
"""
116+
Terminates the glfw library
117+
"""
93118
glfw.terminate()
94119

95120
def poll_events(self):
96121
"""Poll events from glfw"""
97122
glfw.poll_events()
98123

99124
def check_glfw_version(self):
100-
"""Ensure glfw version is compatible"""
125+
"""
126+
Ensure glfw library version is compatible
127+
"""
101128
print("glfw version: {} (python wrapper version {})".format(glfw.get_version(), glfw.__version__))
102129
if glfw.get_version() < self.min_glfw_version:
103130
raise ValueError("Please update glfw binaries to version {} or later".format(self.min_glfw_version))
104131

105132
def key_event_callback(self, window, key, scancode, action, mods):
106133
"""
107-
Key event callback for glfw
134+
Key event callback for glfw.
135+
Translates and forwards keyboard event to :py:func:`keyboard_event`
108136
109137
:param window: Window event origin
110138
:param key: The key that was pressed or released.
@@ -116,7 +144,8 @@ def key_event_callback(self, window, key, scancode, action, mods):
116144

117145
def mouse_event_callback(self, window, xpos, ypos):
118146
"""
119-
Mouse event callback from glfw
147+
Mouse event callback from glfw.
148+
Translates the events forwarding them to :py:func:`cursor_event`.
120149
121150
:param window: The window
122151
:param xpos: viewport x pos
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
2+
.. py:module:: demosys.context.glwf
3+
.. py:currentmodule:: demosys.context.glfw
4+
5+
demosys.context.glfw.Window
6+
===========================
7+
8+
.. autodata:: Window
9+
:annotation:
10+
11+
.. autodata:: Keys
12+
:annotation:
13+
14+
Methods
15+
-------
16+
17+
.. automethod:: Window.__init__
18+
.. automethod:: Window.use
19+
.. automethod:: Window.swap_buffers
20+
.. automethod:: Window.resize
21+
.. automethod:: Window.close
22+
.. automethod:: Window.should_close
23+
.. automethod:: Window.terminate
24+
.. automethod:: Window.key_event_callback
25+
.. automethod:: Window.mouse_event_callback
26+
.. automethod:: Window.window_resize_callback
27+
28+
Other Inherited Methods
29+
-----------------------
30+
31+
.. automethod:: Window.draw
32+
.. automethod:: Window.clear
33+
.. automethod:: Window.clear_values
34+
.. automethod:: Window.keyboard_event
35+
.. automethod:: Window.cursor_event
36+
.. automethod:: Window.print_context_info
37+
.. automethod:: Window.set_default_viewport
38+
39+
Attributes
40+
----------
41+
42+
.. autoattribute:: Window.size
43+
.. autoattribute:: Window.buffer_size
44+
.. autoattribute:: Window.keys

docs/reference/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,4 @@ Reference
1616
demosys.timers.rocketmusic
1717
demosys.timers.vlc
1818
demosys.context.base
19+
demosys.context.glfw

0 commit comments

Comments
 (0)