#pragma once #include #include #include #include namespace cgv { namespace media { namespace font { /// provides the methods to create and search for fonts class CGV_API font_server : public cgv::base::base, public cgv::base::server { public: /// find an installed font by name virtual font_ptr find_font(const std::string& font_name) = 0; /// enumerate the names of all installed fonts virtual void enumerate_font_names(std::vector& font_names) = 0; }; /// ref counted pointer to font server typedef data::ref_ptr font_server_ptr; #if _MSC_VER >= 1400 CGV_TEMPLATE template class CGV_API data::ref_ptr; #endif /// return the currently installed font server or 0 if no font server available extern CGV_API font_server_ptr get_font_server(); /// install a font server, call this in the on_register method of the server implementation extern CGV_API void register_font_server(font_server_ptr fs); } } } #include