#pragma once #include "CHThreadPools/WorkThreadPools.h" #include "CHAutoLightControls/AutoLightControlParam.h" class CAutoLightThreadData : public CWorkThreadData { public: CAutoLightThreadData(PVOID pPtr) : CWorkThreadData(pPtr) { controlParam.Reset(); } virtual ~CAutoLightThreadData() { controlParam.Reset(); } public: SAutoLightParam controlParam; }; class AFX_EXT_CLASS CAutoLightControl : public CWorkThreadPools { public: CAutoLightControl(int nIndex=0); virtual ~CAutoLightControl(void); void SetALC2P(IAutoLightControl2Paraent* pALC2P) { m_pALC2P = pALC2P; } int ProcessAutoLight(const SAutoLightParam& controlParam); static double GetAverageValue(BYTE* pImage, int nWidth, int nHeight, int nWidthStep); protected: virtual void WorkThreadProcess(PVOID pParameter); protected: int m_nIndex; IAutoLightControl2Paraent* m_pALC2P; };