#ifndef __StopWatch__
#define __StopWatch__

#ifndef CORE_DLL 
    #ifdef CORE_BUILD
	    #define CORE_DLL __declspec(dllexport)
    #else
	    #define CORE_DLL __declspec(dllimport)
        #pragma comment(lib, "Core.lib")
    #endif
#endif

#include "types.h"

class CORE_DLL StopWatch {
public:
	StopWatch();

	void start();
	void stop();
	void resume();

	double getElapsedTime();

protected:
	int64  _frequency;
	int64  _counter;

	bool   _active;
	double _elapsedTime;
};

#endif