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=*)