Fawkes API  Fawkes Development Version
zoom.h
1 
2 /***************************************************************************
3  * zoom.h - Abstract class defining a camera zoom controller
4  *
5  * Created: Wed Apr 22 10:50:53 2009
6  * Copyright 2009 Tobias Kellner
7  * 2005-2009 Tim Niemueller [www.niemueller.de]
8  *
9  ****************************************************************************/
10 
11 /* This program is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License as published by
13  * the Free Software Foundation; either version 2 of the License, or
14  * (at your option) any later version. A runtime exception applies to
15  * this software (see LICENSE.GPL_WRE file mentioned below for details).
16  *
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  * GNU Library General Public License for more details.
21  *
22  * Read the full text in the LICENSE.GPL_WRE file in the doc directory.
23  */
24 
25 #ifndef __FIREVISION_CAMS_CONTROL_ZOOM_H_
26 #define __FIREVISION_CAMS_CONTROL_ZOOM_H_
27 
28 #include <fvcams/control/control.h>
29 
30 namespace firevision {
31 #if 0 /* just to make Emacs auto-indent happy */
32 }
33 #endif
34 
35 class CameraControlZoom : virtual public CameraControl
36 {
37  public:
38  virtual ~CameraControlZoom();
39 
40  virtual void reset_zoom() = 0;
41  virtual void set_zoom(unsigned int zoom) = 0;
42  virtual unsigned int zoom() = 0;
43  virtual unsigned int zoom_max() = 0;
44  virtual unsigned int zoom_min() = 0;
45  virtual void set_zoom_speed_tele(unsigned int speed);
46  virtual void set_zoom_speed_wide(unsigned int speed);
47  virtual void set_zoom_digital_enabled(bool enabled);
48 };
49 
50 } // end namespace firevision
51 
52 #endif // __FIREVISION_CAMS_CONTROL_ZOOM_H_
virtual void set_zoom_digital_enabled(bool enabled)
Set if digital zoom may be used.
Definition: zoom.cpp:98
Camera zoom control interface.
Definition: zoom.h:35
virtual unsigned int zoom()=0
Get current zoom value.
virtual unsigned int zoom_min()=0
Minimum zoom value.
Camera control interface base class.
Definition: control.h:33
virtual void set_zoom(unsigned int zoom)=0
Set new camera-specific zoom value.
virtual void set_zoom_speed_wide(unsigned int speed)
Set speed in wide range.
Definition: zoom.cpp:87
virtual unsigned int zoom_max()=0
Maximum zoom value.
virtual ~CameraControlZoom()
Empty virtual destructor.
Definition: zoom.cpp:66
virtual void reset_zoom()=0
Reset zoom.
virtual void set_zoom_speed_tele(unsigned int speed)
Set speed in tele range.
Definition: zoom.cpp:76