Mercurial > touhou
diff pytouhou/game/text.pxd @ 473:1c891c71cf22
Cythonize pytouhou.game.text.
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> |
---|---|
date | Mon, 16 Sep 2013 18:42:12 +0200 |
parents | |
children | 2276229282fd |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/pytouhou/game/text.pxd @@ -0,0 +1,81 @@ +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 long shift, timeout, duration, start + 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, long timeout, str effect=*, long duration=*, 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 + cdef long 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, long timeout, str effect=*, long duration=*, long start=*, to=*, end=*)