Irrlicht 3D Engine
IImageLoader.h
Go to the documentation of this file.
00001 // Copyright (C) 2002-2012 Nikolaus Gebhardt
00002 // This file is part of the "Irrlicht Engine".
00003 // For conditions of distribution and use, see copyright notice in irrlicht.h
00004 
00005 #ifndef __I_SURFACE_LOADER_H_INCLUDED__
00006 #define __I_SURFACE_LOADER_H_INCLUDED__
00007 
00008 #include "IReferenceCounted.h"
00009 #include "IImage.h"
00010 #include "path.h"
00011 
00012 namespace irr
00013 {
00014 namespace io
00015 {
00016     class IReadFile;
00017 } // end namespace io
00018 namespace video
00019 {
00020 
00022 
00026 class IImageLoader : public virtual IReferenceCounted
00027 {
00028 public:
00029 
00031 
00034     virtual bool isALoadableFileExtension(const io::path& filename) const = 0;
00035 
00037 
00040     virtual bool isALoadableFileFormat(io::IReadFile* file) const = 0;
00041 
00043 
00045     virtual IImage* loadImage(io::IReadFile* file) const = 0;
00046 };
00047 
00048 
00049 } // end namespace video
00050 } // end namespace irr
00051 
00052 #endif
00053