00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00018
00019
00020
00021 #ifndef __MX_ISUPPORTSIMAGECONFIGURATION_H__
00022 #define __MX_ISUPPORTSIMAGECONFIGURATION_H__
00023
00024
00025
00026 #define MX_ISUPPORTSIMAGECONFIGURATION_ID "ISupportsImageConfiguration"
00027
00028
00029
00030 #include "IInterface.h"
00031 #include "IExposureWindow.h"
00032 #include "../mx_types.h"
00033 #include "../mx_error_codes.h"
00034 #include "../mx_enum_config.h"
00035
00036 #include <mxm/core/mxmString.h>
00037 #include <mxm/core/mxmList.h>
00038
00039 #include <vector>
00040
00041 namespace mx {
00042
00043
00045
00048 class ISupportsImageConfiguration : virtual IInterface {
00049
00050 public:
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00066
00068
00069 virtual EExposureWindowMode exposureWindowMode() = 0;
00070 virtual EErrorCode setExposureWindowMode( EExposureWindowMode mode ) = 0;
00072
00074
00077 virtual bool isExposureWindowWeightSupported() = 0;
00078 virtual float exposureWindowWeight() = 0;
00079 virtual EErrorCode setExposureWindowWeight( float percentage ) = 0;
00081
00083
00086 virtual bool isWhiteBalanceWindowWeightSupported() = 0;
00087 virtual float whiteBalanceWindowWeight() = 0;
00088 virtual EErrorCode setWhiteBalanceWindowWeight( float percentage ) = 0;
00090
00092
00093 virtual bool isAverageBrightnessSupported() = 0;
00094 virtual float averageBrightness() = 0;
00095 virtual EErrorCode setAverageBrightness( float percentage ) = 0;
00096 virtual std::vector<float> averageBrightnessValRange() = 0;
00098
00100
00101 virtual bool isExposureRangeSupported() = 0;
00102 virtual float exposureRangeMin() = 0;
00103 virtual float exposureRangeMax() = 0;
00104 virtual EErrorCode setExposureRangeMin( float miliSec ) = 0;
00105 virtual EErrorCode setExposureRangeMax( float miliSec ) = 0;
00106 virtual std::vector<float> exposureRangeValRange() = 0;
00108
00110
00111 virtual bool isNightImprovementSupported() = 0;
00112 virtual EErrorCode setNightImprovement(ENightImproveMode mode) = 0;
00113 virtual ENightImproveMode nightImprovement() = 0;
00114 virtual u32 nightImprovementValRange() = 0;
00116
00118
00119 virtual bool isFStopNumberSupported() = 0;
00120 virtual float fStopNumber() = 0;
00121 virtual EErrorCode setFStopNumber( float fStop ) = 0;
00122 virtual std::vector<float> fStopNumberValRange( ) = 0;
00124
00126
00127 virtual bool isResolutionSupported() = 0;
00128 virtual EImageResolution resolution() = 0;
00129 virtual EErrorCode setResolution( EImageResolution res ) = 0;
00130 virtual u32 resolutionValRange( ) = 0;
00132
00134
00135 virtual bool isStreamFPSSupported() = 0;
00136 virtual float streamFPS() = 0;
00137 virtual EErrorCode setStreamFPS( float fps ) = 0;
00138 virtual std::vector<float> streamFPSValRange( ) = 0;
00140
00142
00143 virtual bool isStreamQualitySupported() = 0;
00144 virtual float streamQuality() = 0;
00145 virtual EErrorCode setStreamQuality( float qa ) = 0;
00146 virtual float streamQualityInterval() = 0;
00148
00150
00151 virtual bool isStreamCodexSupported() = 0;
00152 virtual EStreamCodex streamCodex() = 0;
00153 virtual EErrorCode setStreamCodex( EStreamCodex codex ) = 0;
00154 virtual u32 streamCodexValRange( ) = 0;
00156
00158
00159 virtual bool isStreamModeSupported() = 0;
00160 virtual EStreamMode streamMode() = 0;
00161 virtual EErrorCode setStreamMode( EStreamMode mode ) = 0;
00162 virtual u32 streamModeValRange( ) = 0;
00164
00166
00167 virtual bool isNoiseSurppressSupported() = 0;
00168 virtual ENoiseSurp noiseSurppress() = 0;
00169 virtual EErrorCode setNoiseSurppress( ENoiseSurp mode ) = 0;
00170 virtual u32 noiseSurppressValRange( ) = 0;
00172
00174
00175 virtual bool isAutoContrastSupported() = 0;
00176 virtual EContrastMode autoContrast() = 0;
00177 virtual u32 autoContrastValRange() = 0;
00178 virtual EErrorCode setAutoContrast( EContrastMode mode ) = 0;
00180
00182
00183 virtual bool isWhiteBalanceSupported() = 0;
00184 virtual EWhiteBMode whiteBalance() = 0;
00185 virtual EErrorCode setWhiteBalance( EWhiteBMode mode ) = 0;
00186 virtual u32 whiteBalanceValRange( ) = 0;
00188
00190
00191 virtual bool isSharpenSupported() = 0;
00192 virtual float sharpen() = 0;
00193 virtual EErrorCode setSharpen( float val ) = 0;
00194 virtual float sharpenInterval( ) = 0;
00196
00198
00199 virtual bool isBrightnessSupported() = 0;
00200 virtual float brightness() = 0;
00201 virtual EErrorCode setBrightness( float val ) = 0;
00202 virtual float brightnessInterval( ) = 0;
00204
00206
00207 virtual bool isBacklightSupported() = 0;
00208 virtual float backlight() = 0;
00209 virtual EErrorCode setBacklight( float val ) = 0;
00210 virtual float backlightInterval( ) = 0;
00212
00214
00215 virtual bool isSaturationSupported() = 0;
00216 virtual float saturation() = 0;
00217 virtual EErrorCode setSaturation( float val ) = 0;
00218 virtual float saturationInterval( ) = 0;
00220
00221
00222
00223
00224
00225
00226 };
00227
00228
00229 };
00230
00231
00232
00233 #endif // __MX_ISUPPORTSIMAGECONFIGURATION_H__