effect.cpp

00001
00002 /***************************************************************************
00003  *  effect.cpp - Abstract class defining a camera effect controller
00004  *
00005  *  Created: Wed Apr 22 11:01:18 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/effect.h>
00026 
00027 /** @class CameraControlEffect <cams/control/effect.h>
00028  * Camera effect control interface.
00029  * Some cameras feature camera effects.
00030  *
00031  * This interface shall be implemented by such cameras.
00032  *
00033  * @author Tim Niemueller
00034  * @author Tobias Kellner
00035  *
00036  * @fn bool CameraControlEffect::supports_effect(unsigned int effect) = 0
00037  * Check if camera control supports desired effect.
00038  * Use camera-specific constants.
00039  * @param effect supported effect
00040  * @return true, if effect is supported, false otherwise
00041  *
00042  * @fn void CameraControlEffect::set_effect(unsigned int effect) = 0
00043  * Enable effect.
00044  * @param effect camera-specific effect.
00045  *
00046  * @fn unsigned int CameraControlEffect::effect() = 0
00047  * Current effect.
00048  * @return current effect.
00049  *
00050  * @fn void CameraControlEffect::reset_effect() = 0
00051  * Reset effect.
00052  * Disable all effects.
00053  */
00054 
00055 /** No effect constant.
00056  * This is the only effect constant defined in the interface. All others that
00057  * may exist are specific for each camera control implementation.
00058  */
00059 const unsigned int CameraControlEffect::EFFECT_NONE = 0;
00060
00061 
00062 /** Empty virtual destructor. */
00063 CameraControlEffect::~CameraControlEffect()
00064 {
00065 }