Irrlicht 3D Engine
IImageLoader.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2012 Nikolaus Gebhardt
2 // This file is part of the "Irrlicht Engine".
3 // For conditions of distribution and use, see copyright notice in irrlicht.h
4 
5 #ifndef __I_SURFACE_LOADER_H_INCLUDED__
6 #define __I_SURFACE_LOADER_H_INCLUDED__
7 
8 #include "IReferenceCounted.h"
9 #include "IImage.h"
10 #include "path.h"
11 
12 namespace irr
13 {
14 namespace io
15 {
16  class IReadFile;
17 } // end namespace io
18 namespace video
19 {
20 
22 
26 class IImageLoader : public virtual IReferenceCounted
27 {
28 public:
29 
31 
34  virtual bool isALoadableFileExtension(const io::path& filename) const = 0;
35 
37 
40  virtual bool isALoadableFileFormat(io::IReadFile* file) const = 0;
41 
43 
45  virtual IImage* loadImage(io::IReadFile* file) const = 0;
46 };
47 
48 
49 } // end namespace video
50 } // end namespace irr
51 
52 #endif
53 
Interface providing read acess to a file.
Definition: IReadFile.h:17
Everything in the Irrlicht Engine can be found in this namespace.
Definition: aabbox3d.h:12
Interface for software image data.
Definition: IImage.h:22
Class which is able to create a image from a file.
Definition: IImageLoader.h:26
Base class of most objects of the Irrlicht Engine.