gameui

annotate src/boolanm.h @ 2:e5b1525084f7

boolanim
author John Tsiombikas <nuclear@member.fsf.org>
date Thu, 20 Mar 2014 07:03:58 +0200
parents
children f1014234dece
rev   line source
nuclear@2 1 #ifndef BOOLANIM_H_
nuclear@2 2 #define BOOLANIM_H_
nuclear@2 3
nuclear@2 4 class BoolAnim {
nuclear@2 5 private:
nuclear@2 6 mutable float value;
nuclear@2 7 mutable float trans_dir; // transition direction (sign)
nuclear@2 8 long trans_start; // transition start time
nuclear@2 9 long trans_dur;
nuclear@2 10
nuclear@2 11 long (*get_msec)();
nuclear@2 12
nuclear@2 13 void update(long tm) const;
nuclear@2 14
nuclear@2 15 public:
nuclear@2 16 BoolAnim(bool st = false);
nuclear@2 17
nuclear@2 18 void set_transition_duration(long dur);
nuclear@2 19 void set_time_callback(long (*time_func)());
nuclear@2 20
nuclear@2 21 void change(bool st);
nuclear@2 22 void change(bool st, long trans_start);
nuclear@2 23
nuclear@2 24 bool get_state() const;
nuclear@2 25 bool get_state(long tm) const;
nuclear@2 26
nuclear@2 27 float get_value() const;
nuclear@2 28 float get_value(long tm) const;
nuclear@2 29
nuclear@2 30 // transition direction (-1, 0, 1)
nuclear@2 31 float get_dir() const;
nuclear@2 32 float get_dir(long tm) const;
nuclear@2 33
nuclear@2 34 operator bool() const; // equivalent to get_state
nuclear@2 35 operator float() const; // equivalent to get_value
nuclear@2 36 };
nuclear@2 37
nuclear@2 38 #endif // BOOLANIM_H_