/***************************************************************************
*                                                                          *
*  Copyright (C) Golaem S.A.  All Rights Reserved.                         *
*                                                                          *
****************************************************************************/

#pragma once

#include "glmTypes.h"
#include "glmCoreAPI.h"

namespace glm
{
	/**
	* \brief display a MessageBox in windows, if not print to the standard error output stream, stderr. 
	*
	* \param msg message
	* \ingroup debug
	* \author Golaem <dev@golaem.com>
	*/
	GLM_CORE_API void printErrorMessage(const char* msg);

	/**
	* \brief If a Visual Studio Debugger is present the charaters and values are printed to the console output, if not to the standard error output stream, stderr. 
	*
	* \param msg message
	* \ingroup debug
	* \author Golaem <dev@golaem.com>
	*/
	GLM_CORE_API void printDebugMessage(const char* msg);

	/**
	* \brief If a Visual Studio Debugger is present and condition is true breakIf set a Break Point. Otherwise do nothing.
	*
	* \param condition break if condition is true
	* \ingroup debug
	* \author Golaem <dev@golaem.com>
	*/
	GLM_CORE_API void debugBreakIf(bool condition);
}
