00001 #ifndef __KSJ_API_3A_H__
00002 #define __KSJ_API_3A_H__
00003 
00004 // #pragma message("Include KSJApi3A.h") 
00005 
00006 #ifdef KSJAPI_EXPORTS
00007     #define KSJ_API __declspec(dllexport)
00008 #elif defined KSJAPI_STATIC
00009     #define KSJ_API
00010 #else
00011     #define KSJ_API __declspec(dllimport)
00012 #endif
00013 
00014 #ifdef __cplusplus
00015 extern "C"{
00016 #endif
00017 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033     KSJ_API  int __stdcall KSJ_AESetRegion(int nIndex, int nX, int nY, int nW, int nH);
00034 
00049     KSJ_API  int __stdcall KSJ_AEGetRegion(int nIndex, int *pnX, int *pnY, int *pnW, int *pnH, bool *pbShow);
00050     
00061     KSJ_API  int __stdcall KSJ_AEShowRegion(int nIndex, bool bShow);
00062 
00074     KSJ_API  int __stdcall KSJ_AESetPeakAveRatio(int nIndex, float fRatio);
00075     
00086     KSJ_API  int __stdcall KSJ_AEGetPeakAveRatio(int nIndex, float *pfRatio);
00087 
00100     KSJ_API  int __stdcall KSJ_AESetExposureTimeRange(int nIndex, float fMinExpMs,   float fMaxExpMs);
00101     
00113     KSJ_API  int __stdcall KSJ_AEGetExposureTimeRange(int nIndex, float *pfMinExpMs, float *pfMaxExpMs);
00114 
00116     enum KSJ_AE_STATUS
00117     {
00118         KSJ_AE_ONCE_SUCCESS = 0,            
00119         KSJ_AE_ONCE_FAIL_MAX_COUNT,         
00120         KSJ_AE_ONCE_FAIL_WAVE,              
00121         KSJ_AE_ONCE_FAIL_OVER_RANGE,        
00122         KSJ_AE_DOING,                       
00123         KSJ_AE_CONTINUE_SUCCESS,            
00124         KSJ_AE_CONTINUE_FAIL_WAVE,          
00125         KSJ_AE_CONTINUE_FAIL_OVER_RANGE     
00126     };
00127     
00139     typedef void(__stdcall *KSJ_AECALLBACKEX)( KSJ_AE_STATUS Status, int nExpsoureTimeMs, void *lpContext);
00140     
00153     KSJ_API  int __stdcall KSJ_AESetCallbackEx(int nIndex, KSJ_AECALLBACKEX pfAECallbackEx, void *lpContext);
00154 
00167     KSJ_API  int __stdcall KSJ_AESetMaxCount(int nIndex, int  nMaxCount);
00168     
00179     KSJ_API  int __stdcall KSJ_AESetTarget(int nIndex, int  nTarget);
00180     
00191     KSJ_API  int __stdcall KSJ_AEStartEx(int nIndex, bool bStart);
00192 
00204     KSJ_API  int __stdcall KSJ_AEGetStatusEx(int nIndex, bool *pbStart, int *pnMaxCount, int *pnTarget);
00205 
00217     KSJ_API  int __stdcall KSJ_AEEnableAutoDigitalGainSet(int nIndex, bool bEnable);
00218 
00230     KSJ_API  int __stdcall KSJ_AEEnableAutoDigitalGainGet(int nIndex, bool* pbEnable);
00231 
00245     typedef void(__stdcall *KSJ_AECALLBACK)(bool bSuccess, int nResult, void *lpContext);
00246 
00260     KSJ_API  int __stdcall KSJ_AWBSetRegion(int nIndex, int nX, int nY, int nW, int nH);
00261     
00272     KSJ_API  int __stdcall KSJ_AWBShowRegion(int nIndex, bool bShow);
00273     
00288     KSJ_API  int __stdcall KSJ_AWBGetRegion(int nIndex, int *pnX, int *pnY, int *pnW, int *pnH, bool *pbShow);
00290 #ifdef __cplusplus
00291 }
00292 #endif
00293 
00294 #endif