view pytouhou/ui/window.pxd @ 721:bbf0da7de481

ecl_vm: work on laevateinn
author Gauvain "GovanifY" Roussel-Tarbouriech <gauvain@govanify.com>
date Mon, 28 Oct 2019 19:52:06 +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