view pytouhou/ui/window.pxd @ 792:11bc22bad1bf

python: Replace the image crate with png We weren’t using any of its features anyway, so the png crate is exactly what we need, without the many heavy dependencies of image. https://github.com/image-rs/image-png/pull/670 will eventually make it even faster to build.
author Link Mauve <linkmauve@linkmauve.fr>
date Sat, 17 Jan 2026 22:22:25 +0100
parents 80687f258001
children
line wrap: on
line source

cimport pytouhou.lib.gui as gui


cdef class Clock:
    cdef unsigned long _ref_tick
    cdef long _target_fps, _ref_frame, _fps_tick, _fps_frame
    cdef double fps

    cdef void set_target_fps(self, long fps) nogil
    cdef bint tick(self) nogil except True


cdef class Runner:
    cdef long width, height

    cdef bint start(self) except True
    cdef bint finish(self) except True
    cpdef bint update(self, bint render) except -1


cdef class Window:
    cdef gui.Window win
    cdef Runner runner
    cdef Clock clock
    cdef int frame, frameskip
    cdef int width, height

    cdef void set_size(self, int width, int height) nogil
    cpdef set_runner(self, Runner runner=*)
    cpdef run(self)
    cdef bint run_frame(self) except -1
    cdef double get_fps(self) nogil
    cdef list get_events(self)
    cdef int get_keystate(self) nogil
    cdef void toggle_fullscreen(self) nogil