#include <ft2build.h>
#include FT_FREETYPE_H
#include <vector>
+#include <string>
#include "widestring.h"
+struct TextDefer {
+ widestring str;
+ double size;
+ unsigned xpos, ypos;
+ std::string theme_element, fresh_theme_element;
+};
+
void init_freetype();
-unsigned my_draw_text(const widestring &str, unsigned char *buf, double size, int xpos = 0, int ypos = 0, int r = 255, int g = 255, int b = 255);
+void set_screen_size(unsigned width, unsigned height);
+unsigned my_draw_text(const widestring &str, unsigned char *buf, double size, const std::string &theme_element, int xpos = 0, int ypos = 0);
+
+// draw_all_deferred_text draws every string in current that is not the same in old, with a different theme
+void my_draw_text_deferred(std::vector<TextDefer> &td, const widestring &str, double size, const std::string &theme_element, const std::string &fresh_theme_element, int xpos, int ypos);
+void draw_all_deferred_text(unsigned char *buf, std::vector<TextDefer> ¤t, std::vector<TextDefer> &old);
#endif /* !defined(_FONTS_H) */