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_ |