Basic Image AlgorithmS Library  2.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ShowCamWxFormat7Frame.hh
1 /*
2 This file is part of the BIAS library (Basic ImageAlgorithmS).
3 
4 Copyright (C) 2003-2009 (see file CONTACT for details)
5  Multimediale Systeme der Informationsverarbeitung
6  Institut fuer Informatik
7  Christian-Albrechts-Universitaet Kiel
8 
9 
10 BIAS is free software; you can redistribute it and/or modify
11 it under the terms of the GNU Lesser General Public License as published by
12 the Free Software Foundation; either version 2.1 of the License, or
13 (at your option) any later version.
14 
15 BIAS is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU Lesser General Public License for more details.
19 
20 You should have received a copy of the GNU Lesser General Public License
21 along with BIAS; if not, write to the Free Software
22 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 */
24 
25 
26 #ifndef _FORMAT7FRAME_H_
27 #define _FORMAT7FRAME_H_
28 
29 #include <Base/Common/BIASpragmaStart.hh>
30 #include <bias_config.h>
31 #include <Base/Image/ImageBase.hh>
32 
33 #ifdef BIAS_HAVE_DCAM
34  #include <VideoSource/VideoSource_DCAM.hh>
35 #endif
36 
37 #include <wx/wx.h>
38 #include <wx/frame.h>
39 #include <wx/listctrl.h>
40 #include <vector>
41 #include <Base/Common/W32Compat.hh>
42 
43 enum {
44  ID_FORMAT7FRAME = wxID_HIGHEST+255,
45  ID_BUTTON_OK,
46  ID_BUTTON_CANCEL,
47  ID_BUTTON_CHECK,
48  ID_SB_XSIZE,
49  ID_SB_YSIZE,
50  ID_SB_XOFFSET,
51  ID_SB_YOFFSET,
52  ID_CB_COLORMODE,
53  ID_CB_COLORMODEVIEW,
54  ID_SB_BPP,
55  ID_TEXT_FPS,
56  ID_TEXT_DA_XOFFSET,
57  ID_TEXT_DA_YOFFSET,
58  ID_TEXT_DA_XSIZE,
59  ID_TEXT_DA_YSIZE
60 };
61 
62 namespace BIAS{
63 
64  class ShowCamWxFormat7Frame: public wxDialog
65  {
66 
67  public:
68 
69  ShowCamWxFormat7Frame(wxFrame* parent,
70  const wxString& title,
71  const wxPoint& pos,
72  const wxSize& size);
73 
74  /// Destructor
76 
77  /// Initialises member variables
78  void Init();
79 
80  /// Creates the controls and sizers
81  void CreateControls();
82 
83  /// wxEVT_CLOSE_WINDOW event handler for ID_PROJECTDEFINITIONFRAME
84  void OnCloseWindow( wxCloseEvent& event );
85 
86  /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON_ADDCCD
87  void OnButtonOK( wxCommandEvent& event );
88  void OnButtonExit( wxCommandEvent& event );
89  void OnButtonApply( wxCommandEvent& event );
90  void OnButtonCancel( wxCommandEvent& event );
91  void OnButtonCheck( wxCommandEvent& event );
92  void OnTextChange(wxCommandEvent& event);
93  void OnScrollSlider( wxScrollEvent& event );
94  void OnSlide( wxScrollEvent& event );
95 
96  void SetXSize(int xmin,int xmax){
97  xSizeMin_=xmin; xSizeMax_=xmax;
98  xSizeSB->SetRange(xmin,xmax);
99  xSizeSB->SetValue(xmax-xmin);
100  xSize = xmax;
101  wxString stringnumber = wxString::Format(wxT("%d"), xSizeSB->GetValue());
102  directAccessXSize->SetValue(stringnumber);
103  CalcFPS();
104  };
105  void SetYSize(int ymin,int ymax){
106  ySizeMin_ = ymin; ySizeMax_ = ymax;
107  ySizeSB->SetRange(ymin,ymax);
108  ySizeSB->SetValue(ymax-xSizeMin_);
109  wxString stringnumber = wxString::Format(wxT("%d"), ySizeSB->GetValue());
110  directAccessYSize->SetValue(stringnumber);
111  CalcFPS();
112  };
113  void SetXOffset(int xoffmin,int xoffmax){
114  xOffsetMin_ = xoffmin; xOffsetMax_ = xoffmax;
115  xOffsetSB->SetRange(xoffmin,xoffmax);
116  xOffsetSB->SetValue(xoffmin);
117  CalcFPS();
118  };
119  void SetYOffset(int yoffmin,int yoffmax){
120  yOffsetMin_ = yoffmin; yOffsetMax_ = yoffmax;
121  yOffsetSB->SetRange(yoffmin,yoffmax);
122  yOffsetSB->SetValue(yoffmin);
123  CalcFPS();
124  };
125 
126  void SetBpP(int min,int max,int value=-1){
127  bppMin_ = min; bppMax_ = max;
128  BpPSB->SetRange(min,max);
129  if(value == -1)
130  value = min;
131  BpPSB->SetValue(value);
132  CalcFPS();
133  };
134 #ifdef BIAS_HAVE_DCAM
135  void SetCameraIDandMode(int camid, dc1394video_mode_t mode ){
136  CamID_ = camid;
137  Mode_ = mode;
138  };
139 #endif
140 
146 
147  protected:
148  void CalcFPS();
149  void ScrollSliderHelper(wxSlider* slider, int& size, int& sizeMin, int sizeMax = 0, wxSlider* sliderSize = NULL, bool isOffset = false);
150  void AdjustBytesPerPacket();
151  wxButton* itemButtonOK;
152  wxButton* itemButtonCancel;
153  wxButton* itemButtonCheck;
154 
155  wxTextCtrl* itemTextCtrlXSize;
156  wxTextCtrl* itemTextCtrlYSize;
157  wxTextCtrl* itemTextCtrlXOffset;
158  wxTextCtrl* itemTextCtrlYOffset;
160  wxTextCtrl* itemTextCtrlBpP;
161 
162  wxTextCtrl* itemStaticTextFPS;
163 
164 
165  wxTextCtrl* directAccessXSize;
166  wxTextCtrl* directAccessYSize;
167  wxTextCtrl* directAccessXOffset;
168  wxTextCtrl* directAccessYOffset;
169 
170  wxSlider* xSizeSB;
171  wxSlider* ySizeSB;
172  wxSlider* xOffsetSB;
173  wxSlider* yOffsetSB;
174  wxChoice* colorModeCB; // mode for fetching the image from cam
175  wxChoice* colorModeViewCB; // mode for showing image in showcam
176  wxSlider* BpPSB;
177 
178  int CamID_;
179 #ifdef BIAS_HAVE_DCAM
180  dc1394video_mode_t Mode_;
182 #endif
183  DECLARE_CLASS( ShowCamWxFormat7Frame )
184  DECLARE_EVENT_TABLE()
185  };
186 }
187 #endif
EColorModel
These are the most often used color models.
Definition: ImageBase.hh:127
void OnButtonCheck(wxCommandEvent &event)
void OnButtonOK(wxCommandEvent &event)
wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON_ADDCCD
void SetXSize(int xmin, int xmax)
void SetCameraIDandMode(int camid, dc1394video_mode_t mode)
void OnScrollSlider(wxScrollEvent &event)
void OnCloseWindow(wxCloseEvent &event)
wxEVT_CLOSE_WINDOW event handler for ID_PROJECTDEFINITIONFRAME
This class VideoSource_DCAM implements access to IEEE1394 (Firewire, iLink) cameras following the DCa...
void OnTextChange(wxCommandEvent &event)
void OnButtonExit(wxCommandEvent &event)
void SetYOffset(int yoffmin, int yoffmax)
void OnButtonCancel(wxCommandEvent &event)
void ScrollSliderHelper(wxSlider *slider, int &size, int &sizeMin, int sizeMax=0, wxSlider *sliderSize=NULL, bool isOffset=false)
void OnButtonApply(wxCommandEvent &event)
void CreateControls()
Creates the controls and sizers.
ImageBase::EColorModel colorModeView
void SetBpP(int min, int max, int value=-1)
void OnSlide(wxScrollEvent &event)
ShowCamWxFormat7Frame(wxFrame *parent, const wxString &title, const wxPoint &pos, const wxSize &size)
void SetXOffset(int xoffmin, int xoffmax)
void SetYSize(int ymin, int ymax)
void Init()
Initialises member variables.