00001 #ifndef header_resource_font_generic 00002 #define header_resource_font_generic 00003 00004 #include "API/Core/System/clanstring.h" 00005 #include "API/Core/Resources/resource_manager.h" 00006 00007 class CL_ResourceType; 00008 class CL_Font; 00009 class CL_Font_Description; 00010 00011 class CL_Res_Font_Generic : public CL_ResourceType 00012 { 00013 public: 00014 CL_Res_Font_Generic(std::string type) : CL_ResourceType(type) {} 00015 virtual ~CL_Res_Font_Generic() {} 00016 00017 00018 }; 00019 00020 class CL_Font_Resource_Generic : public CL_Resource { 00021 public: 00022 CL_Font_Resource_Generic(std::string type, std::string name) : CL_Resource(type,name) {} 00023 virtual ~CL_Font_Resource_Generic() {} 00024 00025 virtual void serialize_save(CL_OutputSource *output)=0; 00026 virtual void load()=0; 00027 virtual void unload()=0; 00028 int get_load_count() { return load_count; } 00029 00030 CL_Font* get_font() { load(); return font;} 00031 CL_Font_Description *get_font_desc() { return font_desc; } 00032 00033 protected: 00034 00035 CL_Font *font; 00036 CL_Font_Description *font_desc; 00037 CL_String location; 00038 CL_ResourceOptions *options; 00039 CL_ResourceManager *parent; 00040 bool from_datafile; 00041 int load_count; 00042 00043 }; 00044 00045 #endif 00046
1.2.6 written by Dimitri van Heesch,
© 1997-2001