Fawkes API  Fawkes Development Version
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
dummy.h
1 
2 /***************************************************************************
3  * dummy.h - controller that controls nothing, sounds like a stupid
4  * idea but this avoids NULL checks in software using
5  * a camera controller
6  *
7  * Created: Wed Jun 15 12:45:57 2005
8  * Copyright 2005-2009 Tim Niemueller [www.niemueller.de]
9  *
10  ****************************************************************************/
11 
12 /* This program is free software; you can redistribute it and/or modify
13  * it under the terms of the GNU General Public License as published by
14  * the Free Software Foundation; either version 2 of the License, or
15  * (at your option) any later version. A runtime exception applies to
16  * this software (see LICENSE.GPL_WRE file mentioned below for details).
17  *
18  * This program is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  * GNU Library General Public License for more details.
22  *
23  * Read the full text in the LICENSE.GPL_WRE file in the doc directory.
24  */
25 
26 #ifndef __FIREVISION_CAMS_DUMMY_CONTROL_H_
27 #define __FIREVISION_CAMS_DUMMY_CONTROL_H_
28 
29 #include <fvcams/control/color.h>
30 #include <fvcams/control/image.h>
31 #include <fvcams/control/pantilt.h>
32 #include <fvcams/control/zoom.h>
33 #include <fvcams/control/effect.h>
34 #include <fvcams/control/focus.h>
35 
36 namespace firevision {
37 #if 0 /* just to make Emacs auto-indent happy */
38 }
39 #endif
40 
41 /** Plain dummy control.
42  * Does nothing, supports nothing. Use to avoid unecessary NULL checks
43  */
45 : public CameraControlColor,
46  public CameraControlImage,
47  public CameraControlPanTilt,
48  public CameraControlZoom,
49  public CameraControlEffect,
50  public CameraControlFocus
51 {
52  public:
53  // from CameraControlColor
54  virtual bool auto_gain();
55  virtual void set_auto_gain(bool enabled);
56  virtual bool auto_white_balance();
57  virtual void set_auto_white_balance(bool enabled);
58  virtual bool auto_exposure();
59  virtual void set_auto_exposure(bool enabled);
60 
61  virtual int red_balance();
62  virtual void set_red_balance(int red_balance);
63  virtual int blue_balance();
64  virtual void set_blue_balance(int blue_balance);
65 
66  virtual int u_balance();
67  virtual void set_u_balance(int u_balance);
68  virtual int v_balance();
69  virtual void set_v_balance(int v_balance);
70 
71  virtual unsigned int brightness();
72  virtual void set_brightness(unsigned int brightness);
73  virtual unsigned int contrast();
74  virtual void set_contrast(unsigned int contrast);
75  virtual unsigned int saturation();
76  virtual void set_saturation(unsigned int saturation);
77  virtual int hue();
78  virtual void set_hue(int hue);
79  virtual unsigned int exposure();
80  virtual void set_exposure(unsigned int exposure);
81  virtual unsigned int gain();
82  virtual void set_gain(unsigned int gain);
83 
84  // From CameraControlImage
85  virtual const char * format();
86  virtual void set_format(const char *format);
87  virtual unsigned int width();
88  virtual unsigned int height();
89  virtual void size(unsigned int &width, unsigned int &height);
90  virtual void set_size(unsigned int width, unsigned int height);
91  virtual bool horiz_mirror();
92  virtual bool vert_mirror();
93  virtual void mirror(bool &horiz, bool &vert);
94  virtual void set_horiz_mirror(bool enabled);
95  virtual void set_vert_mirror(bool enabled);
96  virtual void set_mirror(bool horiz, bool vert);
97 
98  virtual unsigned int fps();
99  virtual void set_fps(unsigned int fps);
100 
101  virtual unsigned int lens_x_corr();
102  virtual unsigned int lens_y_corr();
103  virtual void lens_corr(unsigned int &x_corr, unsigned int &y_corr);
104  virtual void set_lens_x_corr(unsigned int x_corr);
105  virtual void set_lens_y_corr(unsigned int y_corr);
106  virtual void set_lens_corr(unsigned int x_corr, unsigned int y_corr);
107 
108  // From CameraControlPanTilt
109  virtual void process_pantilt();
110 
111  virtual bool supports_pan();
112  virtual bool supports_tilt();
113  virtual void set_pan(int pan);
114  virtual void set_tilt(int tilt);
115  virtual void set_pan_tilt(int pan, int tilt);
116  virtual void set_pan_tilt_rad(float pan, float tilt);
117  virtual int pan();
118  virtual int tilt();
119  virtual void start_get_pan_tilt();
120  virtual void pan_tilt(int &pan, int &tilt);
121  virtual void pan_tilt_rad(float &pan, float &tilt);
122  virtual int min_pan();
123  virtual int max_pan();
124  virtual int min_tilt();
125  virtual int max_tilt();
126  virtual void reset_pan_tilt();
127  virtual void set_pan_tilt_limit(int pan_left, int pan_right,
128  int tilt_up, int tilt_down);
129  virtual void reset_pan_tilt_limit();
130 
131  // From CameraControlZoom
132  virtual void reset_zoom();
133  virtual void set_zoom(unsigned int zoom);
134  virtual unsigned int zoom();
135  virtual unsigned int zoom_max();
136  virtual unsigned int zoom_min();
137  virtual void set_zoom_speed_tele(unsigned int speed);
138  virtual void set_zoom_speed_wide(unsigned int speed);
139  virtual void set_zoom_digital_enabled(bool enabled);
140 
141  // from CameraControlEffect
142  virtual bool supports_effect(unsigned int effect);
143  virtual void set_effect(unsigned int effect);
144  virtual unsigned int effect();
145  virtual void reset_effect();
146 
147  // from CameraControlFocus
148  virtual bool auto_focus();
149  virtual void set_auto_focus(bool enabled);
150  virtual unsigned int focus();
151  virtual void set_focus(unsigned int focus);
152  virtual unsigned int focus_min();
153  virtual unsigned int focus_max();
154 
155 };
156 
157 } // end namespace firevision
158 
159 #endif