Mercurial > touhou
view pytouhou/game/text.pxd @ 524:7f016dfbdfb1
Make vector a struct, allocate it directly on the stack, and thus pass it by copy, which is much less expensive than a python allocation.
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> |
---|---|
date | Wed, 18 Dec 2013 18:15:40 +0100 |
parents | 2276229282fd |
children | 53fa73932e9a |
line wrap: on
line source
from pytouhou.game.element cimport Element from pytouhou.game.sprite cimport Sprite from pytouhou.utils.interpolator cimport Interpolator cdef class Glyph(Element): pass cdef class Widget(Element): cdef public object update cdef public bint changed cdef unsigned long frame cdef object back_anm #def update(self) cdef class GlyphCollection(Widget): cdef Sprite ref_sprite cdef object anm cdef list glyphes cdef long xspacing cpdef set_length(self, unsigned long length) cpdef set_sprites(self, list sprite_indexes) cpdef set_color(self, text=*, color=*) cpdef set_alpha(self, unsigned char alpha) cdef class Text(GlyphCollection): cdef bytes text cdef unsigned long timeout, duration, start cdef long shift cdef Interpolator fade_interpolator cdef unsigned char alpha cpdef set_text(self, bytes text) #def timeout_update(self) #def move_timeout_update(self) #def fadeout_timeout_update(self) cdef void fade(self, unsigned long duration, unsigned char alpha, formula=*) except * cpdef set_timeout(self, unsigned long timeout, str effect=*, unsigned long duration=*, unsigned long start=*) cdef class Counter(GlyphCollection): cdef long value cpdef set_value(self, long value) cdef class Gauge(Element): cdef public long value, max_length, maximum cpdef set_value(self, long value) cpdef update(self) cdef class NativeText(Element): cdef public object update cdef unicode text cdef long width, height cdef unsigned char alpha cdef bint shadow cdef bytes align #TODO: use a proper enum. cdef unsigned long frame, timeout, duration, start cdef double to[2], end[2] cdef list gradient cdef Interpolator fade_interpolator, offset_interpolator cdef object texture #def normal_update(self) #def timeout_update(self) #def move_timeout_update(self) #def move_ex_timeout_update(self) #def fadeout_timeout_update(self) cdef void fade(self, unsigned long duration, unsigned char alpha, formula=*) except * cdef void move_in(self, unsigned long duration, double x, double y, formula=*) except * cpdef set_timeout(self, unsigned long timeout, str effect=*, unsigned long duration=*, unsigned long start=*, to=*, end=*)