00001 /* 00002 $Id: res_surface.h,v 1.1 2001/03/06 15:09:10 mbn Exp $ 00003 00004 ------------------------------------------------------------------------ 00005 ClanLib, the platform independent game SDK. 00006 00007 This library is distributed under the GNU LIBRARY GENERAL PUBLIC LICENSE 00008 version 2. See COPYING for details. 00009 00010 For a total list of contributers see CREDITS. 00011 00012 ------------------------------------------------------------------------ 00013 */ 00014 00016 00017 #ifndef header_res_surface 00018 #define header_res_surface 00019 00020 #include <string> 00021 class CL_ResourceManager; 00022 class CL_ResourceOptions; 00023 class CL_SurfaceProvider; 00024 00025 class CL_ResourceSource_Surface 00026 //: Plugin interface for surface resources. 00027 // <p>CL_ResourceSource_Surface is a plugin interface for the surface resource 00028 // type.</p> 00029 // 00030 // <p>Applications and libraries can inherit this class to add their own 00031 // customized surface sources. Just as any other plugin in ClanLib, the 00032 // application or library has to keep one global instance of each plugin - 00033 // otherwise the resource manager will not be able to use the new resource 00034 // source.</p> 00035 { 00036 public: 00037 CL_ResourceSource_Surface(); 00038 virtual ~CL_ResourceSource_Surface(); 00039 00040 virtual const char *get_name()=0; 00041 00042 virtual bool can_create( 00043 std::string file_extension, 00044 CL_ResourceOptions *options)=0; 00045 00046 virtual CL_SurfaceProvider *create( 00047 std::string filename, 00048 CL_ResourceOptions *options, 00049 CL_ResourceManager *parent)=0; 00050 }; 00051 00052 #endif
1.2.6 written by Dimitri van Heesch,
© 1997-2001