gameui
annotate src/boolanm.h @ 5:5a84873185ff
rudimentary theme plugin system and other minor fixes
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Sat, 22 Mar 2014 01:50:01 +0200 |
parents | e5b1525084f7 |
children |
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@3 | 21 void set(bool st); |
nuclear@3 | 22 |
nuclear@2 | 23 void change(bool st); |
nuclear@2 | 24 void change(bool st, long trans_start); |
nuclear@2 | 25 |
nuclear@2 | 26 bool get_state() const; |
nuclear@2 | 27 bool get_state(long tm) const; |
nuclear@2 | 28 |
nuclear@2 | 29 float get_value() const; |
nuclear@2 | 30 float get_value(long tm) const; |
nuclear@2 | 31 |
nuclear@2 | 32 // transition direction (-1, 0, 1) |
nuclear@2 | 33 float get_dir() const; |
nuclear@2 | 34 float get_dir(long tm) const; |
nuclear@2 | 35 |
nuclear@2 | 36 operator bool() const; // equivalent to get_state |
nuclear@2 | 37 operator float() const; // equivalent to get_value |
nuclear@2 | 38 }; |
nuclear@2 | 39 |
nuclear@2 | 40 #endif // BOOLANIM_H_ |