view pytouhou/lib/gui.pyx @ 795:2d60a14f4816

python: Rewrite the main entrypoint in Rust This lets us progressively replace Python modules with Rust ones. Currently missing features include: - Saving replays - Networking code for cooperative mode - Reading a configuration file for options - Maybe more. But the base game is working, so yay!
author Link Mauve <linkmauve@linkmauve.fr>
date Tue, 02 Jun 2026 19:06:16 +0200
parents 80687f258001
children
line wrap: on
line source

# Events
EXIT = 1
PAUSE = 2
SCREENSHOT = 3
RESIZE = 4
FULLSCREEN = 5
DOWN = 6

# Possible keystates.
SHOOT = 1
BOMB = 2
FOCUS = 4
# ??
UP = 16
DOWN = 32
LEFT = 64
RIGHT = 128
SKIP = 256


class Error(Exception):
    pass


cdef class Window:
    cdef void create_gl_context(self) except *:
        pass

    cdef void present(self) nogil:
        pass

    cdef void set_window_size(self, int width, int height) nogil:
        pass

    cdef void set_swap_interval(self, int interval) except *:
        pass

    cdef list get_events(self):
        return []

    cdef int get_keystate(self) nogil:
        return 0

    cdef void toggle_fullscreen(self) nogil:
        pass