view pytouhou/ui/window.pxd @ 511:2e8ceaa85d5c

Don’t type the renderer in GameRunner, so that we can switch it without type issues.
author Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date Thu, 28 Nov 2013 18:55:43 +0100
parents c622eaf64428
children b39ad30c6620
line wrap: on
line source

from pytouhou.lib cimport sdl
from .gamerenderer cimport GameRenderer


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

    cdef void set_target_fps(self, long fps) nogil
    cdef double get_fps(self) nogil
    cdef void tick(self) nogil except *


cdef class Runner:
    cdef long width, height

    cdef void start(self) except *
    cdef void finish(self) except *
    cdef bint update(self) except *


cdef class Window:
    cdef sdl.Window win
    cdef long fps_limit
    cdef public bint use_fixed_pipeline
    cdef Runner runner
    cdef Clock clock

    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? False
    cdef double get_fps(self) nogil