Пример #1
0
inline void HandleBuildError(const String& msg, const ErrorInfo& info)
{
#if OGLPLUS_CUSTOM_ERROR_HANDLING
	if(aux::_has_error_handler() && aux::_get_error_handler()(
		ErrorData(
			GL_INVALID_OPERATION,
			0u, 0u,
			msg.c_str(),
			info,
			Error::PropertyMapInit(),
			false,
			false,
			true,
			false
		)
	)) return;
#endif // OGLPLUS_CUSTOM_ERROR_HANDLING
	throw Exception(msg, info);
}
Пример #2
0
inline void HandleLimitError(GLuint value, GLuint limit, const ErrorInfo& info)
{
	const GLchar* msg = "OpenGL limited value out of range";
#if OGLPLUS_CUSTOM_ERROR_HANDLING
	if(aux::_has_error_handler() && aux::_get_error_handler()(
		ErrorData(
			GL_INVALID_VALUE,
			value, limit,
			msg,
			info,
			Error::PropertyMapInit(),
			false,
			false,
			false,
			true
		)
	)) return;
#endif // OGLPLUS_CUSTOM_ERROR_HANDLING
	throw LimitError(value, limit, msg, info);
}
Пример #3
0
inline void HandleMissingFunction(const ErrorInfo& info)
{
	const GLenum code = GL_INVALID_VALUE;
	const char* msg = "Function called through an invalid pointer";
#if OGLPLUS_CUSTOM_ERROR_HANDLING
	if(aux::_has_error_handler() && aux::_get_error_handler()(
		ErrorData(
			code,
			0u, 0u,
			msg,
			info,
			Error::PropertyMapInit(),
			true,
			true,
			false,
			false
		)
	)) return;
#endif // OGLPLUS_CUSTOM_ERROR_HANDLING
	throw MissingFunction(code, msg, info);
}
Пример #4
0
inline void HandleError(
	ALenum code,
	const ALchar* msg,
	const ErrorInfo& info,
	bool assertion
)
{
#if OALPLUS_CUSTOM_ERROR_HANDLING
	if(aux::_has_error_handler() && aux::_get_error_handler()(
		ErrorData(
			code,
			msg,
			info,
			assertion,
			code == AL_OUT_OF_MEMORY,
			false,
			false
		)
	)) return;
#endif // OALPLUS_CUSTOM_ERROR_HANDLING
	throw Error(code, msg?msg:"Unknown error", info, assertion);
}
Пример #5
0
inline void HandleIncompleteFramebuffer(
	FBStatus status,
	const ErrorInfo& info
)
{
	const GLchar* msg = "Framebuffer is incomplete";
#if OGLPLUS_CUSTOM_ERROR_HANDLING
	if(aux::_has_error_handler() && aux::_get_error_handler()(
		ErrorData(
			GL_INVALID_FRAMEBUFFER_OPERATION,
			0u, 0u,
			msg,
			info,
			Error::PropertyMapInit(),
			false,
			false,
			false,
			true
		)
	)) return;
#endif // OGLPLUS_CUSTOM_ERROR_HANDLING
	throw Exception(status, msg, info);
}