gameui
annotate src/theme.h @ 4:e0916bb20b7f
changed the name to goatkit
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Fri, 21 Mar 2014 21:45:37 +0200 |
parents | f1014234dece |
children | 5a84873185ff |
rev | line source |
---|---|
nuclear@3 | 1 #ifndef THEME_H_ |
nuclear@3 | 2 #define THEME_H_ |
nuclear@3 | 3 |
nuclear@3 | 4 #include <string> |
nuclear@3 | 5 #include <map> |
nuclear@3 | 6 |
nuclear@4 | 7 namespace goatkit { |
nuclear@3 | 8 |
nuclear@3 | 9 class Widget; |
nuclear@3 | 10 |
nuclear@3 | 11 typedef void (*widget_draw_func)(const Widget*); |
nuclear@3 | 12 |
nuclear@3 | 13 void default_draw_func(const Widget *w); |
nuclear@3 | 14 |
nuclear@3 | 15 class Theme { |
nuclear@3 | 16 private: |
nuclear@3 | 17 void *so; |
nuclear@3 | 18 std::map<std::string, widget_draw_func> draw_func; |
nuclear@3 | 19 |
nuclear@3 | 20 public: |
nuclear@3 | 21 Theme(); |
nuclear@3 | 22 ~Theme(); |
nuclear@3 | 23 |
nuclear@3 | 24 bool load(const char *name); |
nuclear@3 | 25 |
nuclear@3 | 26 widget_draw_func get_draw_func(const char *type) const; |
nuclear@3 | 27 }; |
nuclear@3 | 28 |
nuclear@3 | 29 extern Theme *theme; // the current theme |
nuclear@3 | 30 |
nuclear@4 | 31 } // namespace goatkit |
nuclear@3 | 32 |
nuclear@3 | 33 #endif // THEME_H_ |