From 401251767fbbf9bd633db329ae6d5e287b76e3e9 Mon Sep 17 00:00:00 2001 From: shenjack <3695888@qq.com> Date: Thu, 23 Mar 2023 00:29:36 +0800 Subject: [PATCH] fetch up pyglet update BaseScreen --- Difficult_Rocket/api/screen.py | 623 ++++++++++++++++++--------------- libs/pyglet/window/__init__.py | 2 +- 2 files changed, 332 insertions(+), 293 deletions(-) diff --git a/Difficult_Rocket/api/screen.py b/Difficult_Rocket/api/screen.py index 1d6cb1f..02bed9b 100644 --- a/Difficult_Rocket/api/screen.py +++ b/Difficult_Rocket/api/screen.py @@ -29,26 +29,331 @@ class BaseScreen(EventDispatcher): self.window_pointer = main_window if typing.TYPE_CHECKING: - def on_key_press(self, symbol: int, modifiers: int): - """一个键盘按键被按下 - :param: - `symbol` : int - 按下按键的标识符 - `modifiers` : int - 每一位(二进制)表示一个修饰键的启用情况 + def on_activate(self): + """The window was activated. + + This event can be triggered by clicking on the title bar, bringing + it to the foreground; or by some platform-specific method. + + When a window is "active" it has the keyboard focus. + + :event: """ - def on_key_release(self, symbol: int, modifiers: int): - """一个键盘按键被松开 - :param: - `symbol` : int - 放下按键的标识符 - `modifiers` : int - 每一位(二进制)表示一个修饰键的启用情况 + def on_close(self): + """The user attempted to close the window. + + This event can be triggered by clicking on the "X" control box in + the window title bar, or by some other platform-dependent manner. + + The default handler sets `has_exit` to ``True``. In pyglet 1.1, if + `pyglet.app.event_loop` is being used, `close` is also called, + closing the window immediately. + + :event: """ - def on_text(self, text: str): - """用户输入了一个字符 + def on_context_lost(self): + """The window's GL context was lost. + + When the context is lost no more GL methods can be called until it + is recreated. This is a rare event, triggered perhaps by the user + switching to an incompatible video mode. When it occurs, an + application will need to reload all objects (display lists, texture + objects, shaders) as well as restore the GL state. + + :event: + """ + + def on_context_state_lost(self): + """The state of the window's GL context was lost. + + pyglet may sometimes need to recreate the window's GL context if + the window is moved to another video device, or between fullscreen + or windowed mode. In this case it will try to share the objects + (display lists, texture objects, shaders) between the old and new + contexts. If this is possible, only the current state of the GL + context is lost, and the application should simply restore state. + + :event: + """ + + def on_deactivate(self): + """The window was deactivated. + + This event can be triggered by clicking on another application + window. When a window is deactivated it no longer has the + keyboard focus. + + :event: + """ + + def on_draw(self): + """The window contents must be redrawn. + + The `EventLoop` will dispatch this event when the window + should be redrawn. This will happen during idle time after + any window events and after any scheduled functions were called. + + The window will already have the GL context, so there is no + need to call `switch_to`. The window's `flip` method will + be called after this event, so your event handler should not. + + You should make no assumptions about the window contents when + this event is triggered; a resize or expose event may have + invalidated the framebuffer since the last time it was drawn. + + .. versionadded:: 1.1 + + :event: + """ + + def on_expose(self): + """A portion of the window needs to be redrawn. + + This event is triggered when the window first appears, and any time + the contents of the window is invalidated due to another window + obscuring it. + + There is no way to determine which portion of the window needs + redrawing. Note that the use of this method is becoming + increasingly uncommon, as newer window managers composite windows + automatically and keep a backing store of the window contents. + + :event: + """ + + def on_file_drop(self, x, y, paths): + """File(s) were dropped into the window, will return the position of the cursor and + a list of paths to the files that were dropped. + + .. versionadded:: 1.5.1 + + :event: + """ + + def on_hide(self): + """The window was hidden. + + This event is triggered when a window is minimised + or hidden by the user. + + :event: + """ + + def on_key_press(self, symbol, modifiers): + """A key on the keyboard was pressed (and held down). + + Since pyglet 1.1 the default handler dispatches the :py:meth:`~pyglet.window.Window.on_close` + event if the ``ESC`` key is pressed. + + :Parameters: + `symbol` : int + The key symbol pressed. + `modifiers` : int + Bitwise combination of the key modifiers active. + + :event: + """ + + def on_key_release(self, symbol, modifiers): + """A key on the keyboard was released. + + :Parameters: + `symbol` : int + The key symbol pressed. + `modifiers` : int + Bitwise combination of the key modifiers active. + + :event: + """ + + def on_mouse_motion(self, x, y, dx, dy): + """The mouse was moved with no buttons held down. + + :Parameters: + `x` : int + Distance in pixels from the left edge of the window. + `y` : int + Distance in pixels from the bottom edge of the window. + `dx` : int + Relative X position from the previous mouse position. + `dy` : int + Relative Y position from the previous mouse position. + + :event: + """ + + def on_mouse_drag(self, x, y, dx, dy, buttons, modifiers): + """The mouse was moved with one or more mouse buttons pressed. + + This event will continue to be fired even if the mouse leaves + the window, so long as the drag buttons are continuously held down. + + :Parameters: + `x` : int + Distance in pixels from the left edge of the window. + `y` : int + Distance in pixels from the bottom edge of the window. + `dx` : int + Relative X position from the previous mouse position. + `dy` : int + Relative Y position from the previous mouse position. + `buttons` : int + Bitwise combination of the mouse buttons currently pressed. + `modifiers` : int + Bitwise combination of any keyboard modifiers currently + active. + + :event: + """ + + def on_mouse_press(self, x, y, button, modifiers): + """A mouse button was pressed (and held down). + + :Parameters: + `x` : int + Distance in pixels from the left edge of the window. + `y` : int + Distance in pixels from the bottom edge of the window. + `button` : int + The mouse button that was pressed. + `modifiers` : int + Bitwise combination of any keyboard modifiers currently + active. + + :event: + """ + + def on_mouse_release(self, x, y, button, modifiers): + """A mouse button was released. + + :Parameters: + `x` : int + Distance in pixels from the left edge of the window. + `y` : int + Distance in pixels from the bottom edge of the window. + `button` : int + The mouse button that was released. + `modifiers` : int + Bitwise combination of any keyboard modifiers currently + active. + + :event: + """ + + def on_mouse_scroll(self, x, y, scroll_x, scroll_y): + """The mouse wheel was scrolled. + + Note that most mice have only a vertical scroll wheel, so + `scroll_x` is usually 0. An exception to this is the Apple Mighty + Mouse, which has a mouse ball in place of the wheel which allows + both `scroll_x` and `scroll_y` movement. + + :Parameters: + `x` : int + Distance in pixels from the left edge of the window. + `y` : int + Distance in pixels from the bottom edge of the window. + `scroll_x` : float + Amount of movement on the horizontal axis. + `scroll_y` : float + Amount of movement on the vertical axis. + + :event: + """ + + def on_mouse_enter(self, x, y): + """The mouse was moved into the window. + + This event will not be triggered if the mouse is currently being + dragged. + + :Parameters: + `x` : int + Distance in pixels from the left edge of the window. + `y` : int + Distance in pixels from the bottom edge of the window. + + :event: + """ + + def on_mouse_leave(self, x, y): + """The mouse was moved outside of the window. + + This event will not be triggered if the mouse is currently being + dragged. Note that the coordinates of the mouse pointer will be + outside of the window rectangle. + + :Parameters: + `x` : int + Distance in pixels from the left edge of the window. + `y` : int + Distance in pixels from the bottom edge of the window. + + :event: + """ + + def on_move(self, x, y): + """The window was moved. + + :Parameters: + `x` : int + Distance from the left edge of the screen to the left edge + of the window. + `y` : int + Distance from the top edge of the screen to the top edge of + the window. Note that this is one of few methods in pyglet + which use a Y-down coordinate system. + + :event: + """ + + def on_refresh(self, dt): + """The window contents must be redrawn. + + The `EventLoop` will dispatch this event when the window + should be redrawn. + + The window will already have the GL context, so there is no + need to call `switch_to`. The window's `flip` method will + be called after this event, so your event handler should not. + + You should make no assumptions about the window contents when + this event is triggered; a resize or expose event may have + invalidated the framebuffer since the last time it was drawn. + + .. versionadded:: 2.0 + + :event: + """ + + def on_resize(self, width, height): + """The window was resized. + + The window will have the GL context when this event is dispatched; + there is no need to call `switch_to` in this handler. + + :Parameters: + `width` : int + The new width of the window, in pixels. + `height` : int + The new height of the window, in pixels. + + :event: + """ + + def on_show(self): + """The window was shown. + + This event is triggered when a window is restored after being + minimised, hidden, or after being displayed for the first time. + + :event: + """ + + def on_text(self, text): + """The user input some text. Typically this is called after :py:meth:`~pyglet.window.Window.on_key_press` and before :py:meth:`~pyglet.window.Window.on_key_release`, but may also be called multiple times if the key @@ -59,13 +364,14 @@ class BaseScreen(EventDispatcher): key symbols often have complex mappings to their unicode representation which this event takes care of. - :param: + :Parameters: `text` : unicode - 用户输入的 unicode 编码的内容 + The text entered by the user. + :event: """ - def on_text_motion(self, motion: int): + def on_text_motion(self, motion): """The user moved the text input cursor. Typically this is called after :py:meth:`~pyglet.window.Window.on_key_press` and before @@ -94,13 +400,14 @@ class BaseScreen(EventDispatcher): * MOTION_BACKSPACE * MOTION_DELETE - :param: + :Parameters: `motion` : int The direction of motion; see remarks. + :event: """ - def on_text_motion_select(self, motion: int): + def on_text_motion_select(self, motion): """The user moved the text input cursor while extending the selection. @@ -128,279 +435,11 @@ class BaseScreen(EventDispatcher): * MOTION_BEGINNING_OF_FILE * MOTION_END_OF_FILE - :param: + :Parameters: `motion` : int The direction of selection motion; see remarks. - """ - - def on_mouse_motion(self, x: int, y: int, dx: int, dy: int): - """The mouse was moved with no buttons held down. - - :param: - `x` : int - Distance in pixels from the left edge of the window. - `y` : int - Distance in pixels from the bottom edge of the window. - `dx` : int - Relative X position from the previous mouse position. - `dy` : int - Relative Y position from the previous mouse position. - - """ - - def on_mouse_drag(self, x: int, y: int, dx: int, dy: int, buttons: int, modifiers: int): - """The mouse was moved with one or more mouse buttons pressed. - - This event will continue to be fired even if the mouse leaves - the window, so long as the drag buttons are continuously held down. - - :param: - `x` : int - Distance in pixels from the left edge of the window. - `y` : int - Distance in pixels from the bottom edge of the window. - `dx` : int - Relative X position from the previous mouse position. - `dy` : int - Relative Y position from the previous mouse position. - `buttons` : int - Bitwise combination of the mouse buttons currently pressed. - `modifiers` : int - Bitwise combination of any keyboard modifiers currently - active. - - """ - - def on_mouse_press(self, x: int, y: int, button: int, modifiers: int): - """A mouse button was pressed (and held down). - - :param: - `x` : int - Distance in pixels from the left edge of the window. - `y` : int - Distance in pixels from the bottom edge of the window. - `button` : int - The mouse button that was pressed. - `modifiers` : int - Bitwise combination of any keyboard modifiers currently - active. - - """ - - def on_mouse_release(self, x: int, y: int, button: int, modifiers: int): - """A mouse button was released. - - :param: - `x` : int - Distance in pixels from the left edge of the window. - `y` : int - Distance in pixels from the bottom edge of the window. - `button` : int - The mouse button that was released. - `modifiers` : int - Bitwise combination of any keyboard modifiers currently - active. - - """ - - def on_mouse_scroll(self, x: int, y: int, scroll_x: int, scroll_y: int): - """The mouse wheel was scrolled. - - Note that most mice have only a vertical scroll wheel, so - `scroll_x` is usually 0. An exception to this is the Apple Mighty - Mouse, which has a mouse ball in place of the wheel which allows - both `scroll_x` and `scroll_y` movement. - - :param: - `x` : int - Distance in pixels from the left edge of the window. - `y` : int - Distance in pixels from the bottom edge of the window. - `scroll_x` : float - Amount of movement on the horizontal axis. - `scroll_y` : float - Amount of movement on the vertical axis. - """ - - def on_close(self): - """The user attempted to close the window. - - This event can be triggered by clicking on the "X" control box in - the window title bar, or by some other platform-dependent manner. - - The default handler sets `has_exit` to ``True``. In pyglet 1.1, if - `pyglet.app.event_loop` is being used, `close` is also called, - closing the window immediately. - """ - - def on_mouse_enter(self, x: int, y: int): - """The mouse was moved into the window. - - This event will not be triggered if the mouse is currently being - dragged. - - :param: - `x` : int - Distance in pixels from the left edge of the window. - `y` : int - Distance in pixels from the bottom edge of the window. - """ - - def on_mouse_leave(self, x: int, y: int): - """The mouse was moved outside of the window. - - This event will not be triggered if the mouse is currently being - dragged. Note that the coordinates of the mouse pointer will be - outside of the window rectangle. - - :param: - `x` : int - Distance in pixels from the left edge of the window. - `y` : int - Distance in pixels from the bottom edge of the window. - """ - - def on_expose(self): - """A portion of the window needs to be redrawn. - - This event is triggered when the window first appears, and any time - the contents of the window is invalidated due to another window - obscuring it. - - There is no way to determine which portion of the window needs - redrawing. Note that the use of this method is becoming - increasingly uncommon, as newer window managers composite windows - automatically and keep a backing store of the window contents. - """ - - def on_resize(self, width: int, height: int): - """The window was resized. - - The window will have the GL context when this event is dispatched; - there is no need to call `switch_to` in this handler. - - :param: - `width` : int - The new width of the window, in pixels. - `height` : int - The new height of the window, in pixels. - """ - - def on_move(self, x: int, y: int): - """The window was moved. - - :param: - `x` : int - Distance from the left edge of the screen to the left edge - of the window. - `y` : int - Distance from the top edge of the screen to the top edge of - the window. Note that this is one of few methods in pyglet - which use a Y-down coordinate system. - """ - - def on_activate(self): - """The window was activated. - - This event can be triggered by clicking on the title bar, bringing - it to the foreground; or by some platform-specific method. - - When a window is "active" it has the keyboard focus. - """ - - def on_deactivate(self): - """The window was deactivated. - - This event can be triggered by clicking on another application - window. When a window is deactivated it no longer has the - keyboard focus. - """ - - def on_show(self): - """The window was shown. - - This event is triggered when a window is restored after being - minimised, hidden, or after being displayed for the first time. - """ - - def on_hide(self): - """The window was hidden. - - This event is triggered when a window is minimised - or hidden by the user. - """ - - def on_context_lost(self): - """The window's GL context was lost. - - When the context is lost no more GL methods can be called until it - is recreated. This is a rare event, triggered perhaps by the user - switching to an incompatible video mode. When it occurs, an - application will need to reload all objects (display lists, texture - objects, shaders) as well as restore the GL state. - """ - - def on_context_state_lost(self): - """The state of the window's GL context was lost. - - pyglet may sometimes need to recreate the window's GL context if - the window is moved to another video device, or between fullscreen - or windowed mode. In this case it will try to share the objects - (display lists, texture objects, shaders) between the old and new - contexts. If this is possible, only the current state of the GL - context is lost, and the application should simply restore state. - """ - - def on_file_drop(self, x: int, y: int, paths: List[str]): - """File(s) were dropped into the window, will return the position of the cursor and - a list of paths to the files that were dropped. - """ - - def on_draw(self): - """The window contents must be redrawn. - - The `EventLoop` will dispatch this event when the window - should be redrawn. This will happen during idle time after - any window events and after any scheduled functions were called. - - The window will already have the GL context, so there is no - need to call `switch_to`. The window's `flip` method will - be called after this event, so your event handler should not. - - You should make no assumptions about the window contents when - this event is triggered; a resize or expose event may have - invalidated the framebuffer since the last time it was drawn. - """ - - def on_refresh(self): - """The window contents must be redrawn. - - The `EventLoop` will dispatch this event when the window - should be redrawn. - - The window will already have the GL context, so there is no - need to call `switch_to`. The window's `flip` method will - be called after this event, so your event handler should not. - - You should make no assumptions about the window contents when - this event is triggered; a resize or expose event may have - invalidated the framebuffer since the last time it was drawn. - - """ - - def on_command(self, command: CommandText): - """ - - :param command: - :return: - """ - - def on_message(self, message: str): - """ - - :param message: - :return: + :event: """ @@ -428,4 +467,4 @@ BaseScreen.register_event_type('on_context_lost') BaseScreen.register_event_type('on_context_state_lost') BaseScreen.register_event_type('on_file_drop') BaseScreen.register_event_type('on_draw') -BaseScreen.register_event_type('on_refresh') +BaseScreen.register_event_type('on_refresh') \ No newline at end of file diff --git a/libs/pyglet/window/__init__.py b/libs/pyglet/window/__init__.py index fd125e2..215b5fb 100644 --- a/libs/pyglet/window/__init__.py +++ b/libs/pyglet/window/__init__.py @@ -1410,7 +1410,7 @@ class BaseWindow(with_metaclass(_WindowMetaclass, EventDispatcher)): :event: """ - def on_draw(self, dt): + def on_draw(self): """The window contents must be redrawn. The `EventLoop` will dispatch this event when the window