/
vTech
/
FcApps
Обзор
Документация
Войти
/
vTech
/
FcApps
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
FcLibs/FcWindow/src/FcError/include/FcError.h
108 строк
5 KB
vTech
alpha_00
03 дек 2025, 17:45
03 дек 2025, 17:45
ab8382d
Код
Авторство
О чём код?
#ifndef FCWINDOW_FCERROR_H #define FCWINDOW_FCERROR_H #include <stdio.h> #include "FcConfig.h" #include "FcThread_Error.h" #include "../FcError_GLX.h" #include "../FcError_GL.h" #include "../FcError_WINAPI.h" #include "../FcError_WGL.h" #include "../FcError_EGL.h" #include "../FcError_X11.h" #include "../FcError_Platform.h" #define FCWINDOW_ERROR_CODE(id) \ id##FCWINDOW_ERROR_PARAMETER_0, \ id##FCWINDOW_ERROR_PARAMETER_1, \ id##FCWINDOW_ERROR_PARAMETER_2, \ id##FCWINDOW_ERROR_PARAMETER_3, \ id##FCWINDOW_ERROR_CFUNCTION, \ id##FCWINDOW_ERROR_GLX, \ id##FCWINDOW_ERROR_FCLIB, \ id##FCWINDOW_ERROR_GL_VERSION, \ id##FCWINDOW_ERROR_FCUI_MEMORY, \ FCWINDOW_ERROR_PLATFORM_FUNCTION_CODE(id), \ FCWINDOW_ERROR_WINAPI_CODE(id), \ FCWINDOW_ERROR_WINAPI_CODE_FUNCTION(id), \ FCWINDOW_ERROR_EGL_CODE(id), \ FCWINDOW_ERROR_WGL_CODE(id), \ FCWINDOW_ERROR_WGL_FUNCTION_CODE(id), \ FCWINDOW_ERROR_X11_FUNCTION_CODE(id), \ FCWINDOW_ERROR_GLX_CODE(id), \ FCWINDOW_ERROR_GL_CODE(id), \ FCWINDOW_ERROR_GL_FUNCTION_CODE(id), \ FCTHREAD_ERROR_CODE(id##FCWINDOW_) typedef enum FcWindow_Error_e { FCWINDOW_ERROR_NOERROR, #ifdef _FCLIBS_ERROR_WINDOW FCLIBS_ERROR_WINDOW = _FCLIBS_ERROR_WINDOW, #endif FCWINDOW_ERROR_CODE() }FcWindow_Error_e; #define FCWINDOW_ERROR_SWITCH(mError, id, idCase)\ case idCase##FCWINDOW_ERROR_PARAMETER_0: mError = id##FCWINDOW_ERROR_PARAMETER_0; break; \ case idCase##FCWINDOW_ERROR_PARAMETER_1: mError = id##FCWINDOW_ERROR_PARAMETER_1; break; \ case idCase##FCWINDOW_ERROR_PARAMETER_2: mError = id##FCWINDOW_ERROR_PARAMETER_2; break; \ case idCase##FCWINDOW_ERROR_PARAMETER_3: mError = id##FCWINDOW_ERROR_PARAMETER_3; break; \ case idCase##FCWINDOW_ERROR_CFUNCTION: mError = id##FCWINDOW_ERROR_CFUNCTION; break; \ case idCase##FCWINDOW_ERROR_GLX: mError = id##FCWINDOW_ERROR_GLX; break; \ case idCase##FCWINDOW_ERROR_FCLIB: mError = id##FCWINDOW_ERROR_FCLIB; break; \ case idCase##FCWINDOW_ERROR_GL_VERSION: mError = id##FCWINDOW_ERROR_GL_VERSION; break; \ FCWINDOW_SWITCH_PLATFORM_FUNCTION_SWITCH(mError, id, idCase); \ FCWINDOW_ERROR_WINAPI_CODE_SWITCH(mError, id, idCase); \ FCWINDOW_ERROR_WINAPI_CODE_FUNCTION_SWITCH(mError, id, idCase); \ FCTHREAD_ERROR_SWITCH(mError, id##FCWINDOW_, idCase##FCWINDOW_); \ FCWINDOW_ERROR_GL_CODE_SWITCH(mError, id, idCase); \ FCWINDOW_ERROR_GL_FUNCTION_SWITCH(mError, id, idCase); \ FCWINDOW_ERROR_WGL_SWITCH(mError, id, idCase); \ FCWINDOW_ERROR_EGL_SWITCH(mError, id, idCase); \ FCWINDOW_ERROR_X11_FUNCTION_SWITCH(mError, id, idCase); \ FCWINDOW_ERROR_GLX_SWITCH(mError, id, idCase); \ FCWINDOW_ERROR_WGL_FUNCTION_SWITCH(mError, id, idCase); #define FCWINDOW_ERROR_SWITCH_TEXT(mError, id, idCase)\ case idCase##FCWINDOW_ERROR_PARAMETER_0: mError = "FCWINDOW_ERROR_PARAMETER_0"; break; \ case idCase##FCWINDOW_ERROR_PARAMETER_1: mError = "FCWINDOW_ERROR_PARAMETER_1"; break; \ case idCase##FCWINDOW_ERROR_PARAMETER_2: mError = "FCWINDOW_ERROR_PARAMETER_2"; break; \ case idCase##FCWINDOW_ERROR_PARAMETER_3: mError = "FCWINDOW_ERROR_PARAMETER_3"; break; \ case idCase##FCWINDOW_ERROR_CFUNCTION: mError = "FCWINDOW_ERROR_CFUNCTION"; break; \ case idCase##FCWINDOW_ERROR_GLX: mError = "FCWINDOW_ERROR_GLX"; break; \ case idCase##FCWINDOW_ERROR_FCLIB: mError = "FCWINDOW_ERROR_FCLIB"; break; \ case idCase##FCWINDOW_ERROR_GL_VERSION: mError = "FCWINDOW_ERROR_GL_VERSION"; break; \ FCWINDOW_SWITCH_PLATFORM_FUNCTION_SWITCH_TEXT(mError, id, idCase); \ FCWINDOW_ERROR_WINAPI_CODE_SWITCH_TEXT(mError, id, idCase); \ FCWINDOW_ERROR_WINAPI_CODE_FUNCTION_SWITCH_TEXT(mError, id, idCase); \ FCTHREAD_ERROR_SWITCH_TEXT(mError, id##FCWINDOW_, idCase##FCWINDOW_); \ FCWINDOW_ERROR_GL_CODE_SWITCH_TEXT(mError, id, idCase); \ FCWINDOW_ERROR_GL_FUNCTION_SWITCH_TEXT(mError, id, idCase); \ FCWINDOW_ERROR_WGL_SWITCH_TEXT(mError, id, idCase); \ FCWINDOW_ERROR_EGL_SWITCH_TEXT(mError, id, idCase); \ FCWINDOW_ERROR_X11_FUNCTION_SWITCH_TEXT(mError, id, idCase); \ FCWINDOW_ERROR_GLX_SWITCH_TEXT(mError, id, idCase); \ FCWINDOW_ERROR_WGL_FUNCTION_SWITCH_TEXT(mError, id, idCase); typedef size_t FcWindow_Error_t; FCDEF FcWindow_Error_t FcWindow_Error(const char* pFormat, const char* pText) { printf(pFormat, pText); return FCWINDOW_ERROR_NOERROR; } FCDEF FcWindow_Error_t FcWindow_Error_Thread(FcThread_Error_t error) { FcWindow_Error_t mError; switch (error) { FCTHREAD_ERROR_SWITCH(mError, FCWINDOW_, ); default: mError = FCWINDOW_ERROR_NOERROR; break; } return mError; } #endif //FCWINDOW_FCERROR_H