00001 #ifndef LOPER_CAMCHECKERWINDOW
00002 #define LOPER_CAMCHECKERWINDOW
00003
00014 #include <standard.hpp>
00015 #include <FL/Fl_Double_Window.H>
00016 #include <FL/Fl_Menu_Item.H>
00017 #include <FL/Fl_Menu_Bar.H>
00018 #include <FL/Fl_File_Chooser.h>
00019 #include <FL/Fl_Progress.h>
00020 #include <FL/Fl_Counter.h>
00021
00022 #include "ChessboardPicture.hpp"
00023 #include "ChessWindow.hpp"
00024 #include "IntrinsicsWindow.hpp"
00025
00027 class CamCheckerWindow : public Fl_Double_Window
00028 {
00029 public:
00030 CamCheckerWindow (int w, int h);
00031 ~CamCheckerWindow();
00032
00033 void switchToImage (int index);
00034 void switchImageView (int bViewOriginal) { chessWindow->setImageView(bViewOriginal==1?true:false); }
00035 void rebuildMenu();
00036
00037 void setImageViewThresholded();
00038 void setImageViewOriginal();
00039 void shutdown();
00040
00041 void openImageFiles();
00042 void findPoints();
00043 void findIntrinsics();
00044 void threshSliderChanged(unsigned char newValue);
00045
00046
00047 private:
00048 void resize(int x, int y, int w, int h);
00049
00050 vector< ChessboardPicture > chessPictures;
00051 ChessWindow *chessWindow;
00052 Fl_Menu_Bar *menubar;
00053 Fl_Counter *threshSlider;
00054
00055 IntrinsicsWindow *intrinsicsWin;
00056 };
00057
00058
00059 vector< std::string > getFilenamesFromDialogFLTK(const char *extension_filter);
00060 vector< std::string > getFilenamesFromDialogWin32(bool bOpening, const char *extension_filter, const char *defaultExtension = NULL);
00061
00062
00063 #endif // LOPER_CAMCHECKERWINDOW