TonicTones
Src/TonicTones.h
00001 //      TonicTones.h
00002 //      
00003 //      Copyright 2010 Jérémy Laumon <jeremy.laumon@gmail.com>
00004 //      
00005 //      This program is free software; you can redistribute it and/or modify
00006 //      it under the terms of the GNU General Public License as published by
00007 //      the Free Software Foundation; either version 2 of the License, or
00008 //      (at your option) any later version.
00009 //      
00010 //      This program is distributed in the hope that it will be useful,
00011 //      but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 //      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013 //      GNU General Public License for more details.
00014 //      
00015 //      You should have received a copy of the GNU General Public License
00016 //      along with this program; if not, write to the Free Software
00017 //      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
00018 //      MA 02110-1301, USA.
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
 All Classes Functions Variables