zoom.cpp
00001 00002 /*************************************************************************** 00003 * zoom.cpp - Abstract class defining a camera zoom controller 00004 * 00005 * Created: Wed Apr 22 10:50:53 2009 00006 * Copyright 2009 Tobias Kellner 00007 * 2005-2009 Tim Niemueller [www.niemueller.de] 00008 * 00009 ****************************************************************************/ 00010 00011 /* This program is free software; you can redistribute it and/or modify 00012 * it under the terms of the GNU General Public License as published by 00013 * the Free Software Foundation; either version 2 of the License, or 00014 * (at your option) any later version. A runtime exception applies to 00015 * this software (see LICENSE.GPL_WRE file mentioned below for details). 00016 * 00017 * This program is distributed in the hope that it will be useful, 00018 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00019 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00020 * GNU Library General Public License for more details. 00021 * 00022 * Read the full text in the LICENSE.GPL_WRE file in the doc directory. 00023 */ 00024 00025 #include <cams/control/zoom.h> 00026 #include <core/exceptions/software.h> 00027 00028 /** @class CameraControlZoom <cams/control/zoom.h> 00029 * Camera zoom control interface. 00030 * Some cameras feature zooming. 00031 * 00032 * This interface shall be implemented by such cameras. 00033 * 00034 * @author Tim Niemueller 00035 * @author Tobias Kellner 00036 * 00037 * @fn void CameraControlZoom::reset_zoom() = 0 00038 * Reset zoom. 00039 * @throws NotImplementedException Not implemented by this control 00040 * 00041 * @fn void CameraControlZoom::set_zoom(unsigned int zoom) = 0 00042 * Set new camera-specific zoom value. 00043 * @param zoom zoom value 00044 * 00045 * @fn unsigned int CameraControlZoom::zoom() = 0 00046 * Get current zoom value. 00047 * @return current zoom value. 00048 * 00049 * @fn unsigned int CameraControlZoom::zoom_max() = 0 00050 * Maximum zoom value. 00051 * @return maximum zoom value 00052 * 00053 * @fn unsigned int CameraControlZoom::zoom_min() = 0 00054 * Minimum zoom value. 00055 * @return Minimum zoom value 00056 */ 00057 00058 using fawkes::NotImplementedException; 00059 00060 /** Empty virtual destructor. */ 00061 CameraControlZoom::~CameraControlZoom() 00062 { 00063 } 00064 00065 00066 /** Set speed in tele range. 00067 * @param speed camera-specific speed value 00068 * @throws NotImplementedException Not implemented by this control 00069 */ 00070 void 00071 CameraControlZoom::set_zoom_speed_tele(unsigned int speed) 00072 { 00073 throw NotImplementedException("Not implemented"); 00074 } 00075 00076 00077 /** Set speed in wide range. 00078 * @param speed camera-specific speed value. 00079 * @throws NotImplementedException Not implemented by this control 00080 */ 00081 void 00082 CameraControlZoom::set_zoom_speed_wide(unsigned int speed) 00083 { 00084 throw NotImplementedException("Not implemented"); 00085 } 00086 00087 00088 /** Set if digital zoom may be used. 00089 * @param enabled true, to enable digital zoom, false otherwise 00090 * @throws NotImplementedException Not implemented by this control 00091 */ 00092 void 00093 CameraControlZoom::set_zoom_digital_enabled(bool enabled) 00094 { 00095 throw NotImplementedException("Not implemented"); 00096 }

