]> git.lizzy.rs Git - irrlicht.git/blob - include/IImageWriter.h
Add back LightManager
[irrlicht.git] / include / IImageWriter.h
1 // Copyright (C) 2002-2012 Nikolaus Gebhardt\r
2 // This file is part of the "Irrlicht Engine".\r
3 // For conditions of distribution and use, see copyright notice in irrlicht.h\r
4 \r
5 #ifndef _I_IMAGE_WRITER_H_INCLUDED__\r
6 #define _I_IMAGE_WRITER_H_INCLUDED__\r
7 \r
8 #include "IReferenceCounted.h"\r
9 #include "irrString.h"\r
10 #include "coreutil.h"\r
11 \r
12 namespace irr\r
13 {\r
14 namespace io\r
15 {\r
16         class IWriteFile;\r
17 } // end namespace io\r
18 \r
19 namespace video\r
20 {\r
21         class IImage;\r
22 \r
23 \r
24 //! Interface for writing software image data.\r
25 class IImageWriter : public IReferenceCounted\r
26 {\r
27 public:\r
28         //! Check if this writer can write a file with the given extension\r
29         /** \param filename Name of the file to check.\r
30         \return True if file extension specifies a writable type. */\r
31         virtual bool isAWriteableFileExtension(const io::path& filename) const = 0;\r
32 \r
33         //! Write image to file\r
34         /** \param file File handle to write to.\r
35         \param image Image to write into file.\r
36         \param param Writer specific parameter, influencing e.g. quality.\r
37         \return True if image was successfully written. */\r
38         virtual bool writeImage(io::IWriteFile *file, IImage *image, u32 param = 0) const = 0;\r
39 };\r
40 \r
41 } // namespace video\r
42 } // namespace irr\r
43 \r
44 #endif // _I_IMAGE_WRITER_H_INCLUDED__\r
45 \r