00001 #ifndef GUI_FONT_HPP 00002 #define GUI_FONT_HPP 00003 00004 #include <utils.hpp> 00005 #include "gui_vector2.hpp" 00006 00007 #include <utils_refptr.hpp> 00008 #include <array> 00009 00010 namespace gui 00011 { 00012 typedef vector2<float> vector2f; 00013 00014 class material; 00015 00017 00020 class font 00021 { 00022 public : 00023 00025 font(); 00026 00028 virtual ~font(); 00029 00031 00036 virtual std::array<float,4> get_character_uvs(uint uiChar) const = 0; 00037 00039 00042 virtual float get_character_width(uint uiChar) const = 0; 00043 00045 00053 virtual float get_character_kerning(uint uiChar1, uint uiChar2) const = 0; 00054 00056 00058 virtual utils::wptr<material> get_texture() const = 0; 00059 }; 00060 } 00061 00062 #endif