00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef IMAGELOADER_H
00021 #define IMAGELOADER_H
00022
00023 #include <Color.h>
00024 #include <HdrImage.h>
00025
00031 class ImageLoader
00032 {
00033 public:
00034 virtual ~ImageLoader(){}
00035
00039 virtual void setFileName(const QString& fileName) = 0;
00040
00044 virtual bool openFile() = 0;
00045
00049 virtual QSize getSize() = 0;
00050
00054 virtual Color* getData() = 0;
00055
00059 virtual HdrImage::ColorSpace getColorSpace() = 0;
00060
00064 virtual QString name() const = 0;
00065 };
00066
00067 typedef QSharedPointer<ImageLoader> ImageLoaderPtr;
00068
00069
00070
00071
00078 class ImageLoaderFactory
00079 {
00080 public:
00081 virtual ~ImageLoaderFactory(){}
00082
00086 virtual QStringList extensions() const = 0;
00087
00091 virtual ImageLoaderPtr createLoader(const QString &fileName) const = 0;
00092 };
00093
00094 Q_DECLARE_INTERFACE(ImageLoaderFactory, "TonicTones.ImageLoaderFactory/1.1")
00095
00096
00097 #endif