Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

res_surface.h

Go to the documentation of this file.
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

Generated at Wed Apr 4 19:54:02 2001 for ClanLib by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001