00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef OPENEXRLOADER_H
00021 #define OPENEXRLAODER_H
00022
00023 #include <QtGui>
00024 #include <ImageLoader.h>
00025 #include <ImfRgbaFile.h>
00026
00027 class OpenExrLoader : public ImageLoader
00028 {
00029 public:
00030 OpenExrLoader();
00031
00032 virtual void setFileName(const QString& fileName);
00033 virtual bool openFile();
00034 virtual QSize getSize();
00035 virtual Color* getData();
00036 virtual HdrImage::ColorSpace getColorSpace();
00037 virtual QString name() const;
00038
00039 private:
00040 Imf::RgbaInputFile* file;
00041 QString fileName;
00042 int width;
00043 int height;
00044 Imath::Box2i dw;
00045 };
00046
00047 class OpenExrLoaderFactory : public QObject, public ImageLoaderFactory
00048 {
00049 Q_OBJECT
00050 Q_INTERFACES(ImageLoaderFactory)
00051
00052 public:
00053 virtual QStringList extensions() const;
00054 virtual ImageLoaderPtr createLoader(const QString& fileName) const;
00055 };
00056
00057 #endif