#ifndef _CamHistogram_hpp_ #define _CamHistogram_hpp_ #include #include #include #include #include #include #include #include "QCam.hpp" class QPushButton; class QWidget; class QVGroupBox; class QProgressBar; class QLCDNumber; class QHBox; class QLabel; #define focusHistorySize_ 200 class CamHistogram : public QHGroupBox { Q_OBJECT public: CamHistogram(QCam *); protected: void paintEvent(QPaintEvent * ev); private: QVGroupBox * histoGroup_; QWidget * histogramArea_; QVGroupBox * focusGroup_; QPushButton * resetFocus_; QWidget * focusLevel_; QWidget * focusArea_; QHBox * seeingGroup_; QLabel * seeingLabel_; QProgressBar * seeingLevel_; //QLCDNumber * seeingValue_; void init(); QPainter painter; QColor color_; QPen redPen_; QPen blackPen_; QCam * cam_; int histogram_[256]; double focusValue_[focusHistorySize_]; int focusIndexValue_; double focusMax_; void updateFocus(double newFocus); double getFocus(int when) const; double getFocus(int whenMin,int whenMax) const; double getMaxFocus() const { return focusMax_;}; double getDistFromNeibourg(int x,int y) const; public slots : void updateDisplay(); void resetFocus() {focusMax_=getFocus(0);}; }; #endif