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