00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef TONICTONES_H
00021 #define TONICTONES_H
00022
00023 #include <QtGui>
00024 #include <ui_TonicTones.h>
00025 #include <ui_ScreenColorsDialog.h>
00026 #include <HdrImage.h>
00027 #include <ImageScrollArea.h>
00028 #include <ImageLoaderManager.h>
00029 #include <ToneMappingOperatorManager.h>
00030
00031 class TonicTones : public QMainWindow, private Ui::TonicTones
00032 {
00033 Q_OBJECT
00034 public:
00035 TonicTones(QWidget *parent = 0);
00036
00037 public slots:
00038 void open();
00039 void openScreenColorsDialog();
00040 void updateScreenColors();
00041 void updateImage();
00042 void updateZoom(double scaleFactor);
00043 void updateOperator(const QString& operatorName);
00044 void updateGamma(int value);
00045 void displayImage() const;
00046 void enableOperator(bool enabled);
00047 void enableGamma(bool enabled);
00048
00049 private:
00050
00051 Ui::ScreenColorsDialog uiScreenColors;
00052
00053 ImageScrollArea* scrollArea;
00054 QLabel* zoomLabel;
00055 QLabel* operatorLabel;
00056 QLabel* conversionTimeLabel;
00057 QLabel* displayTimeLabel;
00058
00059 HdrImage* inputImage;
00060 HdrImage* outputImage;
00061 float xyzToRgbMatrix[3][3];
00062 float gamma;
00063 bool gammaEnabled;
00064 bool operatorEnabled;
00065 ImageLoaderManager &loaderManager;
00066 ToneMappingOperatorManager &operatorManager;
00067
00068
00069 };
00070
00071 #endif