#ifndef _DllInterface_h_ #define _DllInterface_h_ #include #include #include typedef BOOL (*dll_initializeFromFile) ( const char*, double, double ); typedef BOOL (*dll_initializeFromRaw) ( const char*, int, int, int, BOOL, double, double ); typedef int (*dll_onLButtonUp)( int, int, plaque::PlaqueResult* ); typedef int (*dll_computePlaque)( int, int, int, unsigned char*, plaque::PlaqueResult*, int, int ); typedef int (*dll_fonctionDebug)( plaque::PlaqueResult* ); typedef int (*dll_CalculerPlaqueManuelle)(int, unsigned char*, plaque::PlaqueResult* ); typedef float (*dll_getDistanceToFirstPoint)( int, int, int, int ); typedef int (*dll_getImageWidth)(); typedef int (*dll_getImageHeight)(); typedef int (*dll_getImageBitsPerPixel)(); typedef char* (*dll_getPixelArray)(); class DllInterface { public: DllInterface(); virtual ~DllInterface(); BOOL IsValid(); void Clear(); plaque::PlaqueResult* GetResult(); BOOL initializeFromFile( const char*, double mmPerPixelX = -1.0, double mmPerPixelY = -1.0 ); int OnLButtonUp( int, int ); int computePlaque(int, int, int, unsigned char*, int, int); int fonctionDebug( ); int CalculerPlaqueManuelle(int, unsigned char*); dll_initializeFromRaw initializeFromRaw; dll_getDistanceToFirstPoint getDistanceToFirstPoint; dll_getImageWidth getImageWidth; dll_getImageHeight getImageHeight; dll_getImageBitsPerPixel getImageBitsPerPixel; dll_getPixelArray getPixelArray; private: void Initialize(); dll_initializeFromFile m_initializeFromFile; dll_onLButtonUp m_onLButtonUp; dll_computePlaque m_computePlaque; dll_fonctionDebug m_fonctionDebug; dll_CalculerPlaqueManuelle m_CalculerPlaqueManuelle; HMODULE hDLL; BOOL m_isValid; public: plaque::PlaqueResult plaqueResult; }; #endif