77
88
99class 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
0 commit comments