00001 // This is brl/bbas/vidl2/gui/vidl2_gui_param_dialog.h 00002 #ifndef vidl2_gui_param_dialog_h_ 00003 #define vidl2_gui_param_dialog_h_ 00004 //----------------------------------------------------------------------------- 00005 //: 00006 // \file 00007 // \author Matt Leotta 00008 // \date 14 June 2006 00009 // \brief functions to open streams with user input via vgui_dialogs 00010 // 00011 // The functions in this file act as interactive factories. They prompt 00012 // the user with dialog boxes to obtain the required parameters to construct 00013 // a vidl2_istream or vidl2_ostream. 00014 // 00015 //---------------------------------------------------------------------------- 00016 00017 00018 #include <vcl_vector.h> 00019 #include <vidl2/vidl2_iidc1394_params.h> 00020 #include <vidl2/vidl2_istream.h> 00021 #include <vidl2/vidl2_ostream.h> 00022 00023 00024 // forward declarations 00025 class vidl2_image_list_istream; 00026 class vidl2_image_list_ostream; 00027 class vidl2_ffmpeg_istream; 00028 class vidl2_ffmpeg_ostream; 00029 class vidl2_dc1394_istream; 00030 00031 00032 //: Use vgui dialogs to prompt the user for parameters and open an istream 00033 // Allows the user to select any of the supported istreams 00034 vidl2_istream* vidl2_gui_open_istream_dialog(); 00035 00036 00037 //: Use vgui dialogs to prompt the user for parameters and open an ostream 00038 // Allows the user to select any of the supported ostreams 00039 vidl2_ostream* vidl2_gui_open_ostream_dialog(); 00040 00041 00042 //: struct with static members used as a namespace replacement 00043 // Change to a namespace when they are allowed in VXL 00044 struct vidl2_gui_param_dialog 00045 { 00046 //: Use vgui dialogs to open an image list istream 00047 static vidl2_image_list_istream* image_list_istream(); 00048 00049 //: Use vgui dialogs to open an image list ostream 00050 static vidl2_image_list_ostream* image_list_ostream(); 00051 00052 //: Use vgui dialogs to open a FFMPEG istream 00053 static vidl2_ffmpeg_istream* ffmpeg_istream(); 00054 00055 //: Use vgui dialogs to open a FFMPEG ostream 00056 static vidl2_ffmpeg_ostream* ffmpeg_ostream(); 00057 00058 //: Use vgui dialogs to open a dc1394 istream 00059 static vidl2_dc1394_istream* dc1394_istream(); 00060 00061 static bool update_iidc1394_params(vcl_vector<vidl2_iidc1394_params:: 00062 feature_options>& features); 00063 }; 00064 00065 00066 #endif // vidl2_gui_param_dialog_h_
1.4.4