/
vTech
/
FcApps
Обзор
Документация
Войти
/
vTech
/
FcApps
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
FcLibs/FcUI/src/FcUI_Config.h
79 строк
2 KB
vTech
alpha_00
03 дек 2025, 17:45
03 дек 2025, 17:45
ab8382d
Код
Авторство
О чём код?
#ifndef _FCUI_CONFIG_CONFIG_H_ #define _FCUI_CONFIG_CONFIG_H_ #include "FcUI_Error.h" #include "FcUI_Setting.h" #include "FcUI_Config/FcUI_Config_Setting.h" #include "FcUI_Config/FcUI_Config_GL0.h" typedef union _FcUI_Config_u { FcUI_Config_Graphics_GL_0_t mGraphics_0; }FcUI_Config_u; typedef struct _FcUI_Config_t { FcUI_Config_Setting_e mType; FcUI_Config_u mData; }FcUI_Config_t; FCUIDEF FcUI_Error_t FcUI_Config(FcUI_Config_t* pType, FcUI_Window_t* pWindow, FcUI_Config_Setting_t* pConfig, FcUI_Font_t* pFont, FcUI_Object_t* pObject); FCUIDEF FcUI_Config_Setting_e FcUI_Config_get(FcUI_Config_t* pType); FCUIDEF FcUI_Program_t* FcUI_Config_getProgram(FcUI_Config_t* pType); FCUIDEF FcUI_Error_t FcUI_Config_free(FcUI_Config_t* pType); FCUIDEF FcUI_Error_t FcUI_Config(FcUI_Config_t* pType, FcUI_Window_t* pWindow, FcUI_Config_Setting_t* pConfig, FcUI_Font_t* pFont, FcUI_Object_t* pObject) { FcUI_Error_t mError; FCUISAFECALL(mError, (pType && pWindow && pFont), FCUI_ERROR_PARAMETERS); mError = FCUI_ERROR_NOERROR; switch (pConfig->mTypeConfig) { case FCUI_CONFIG_NONE: break; case FCUI_CONFIG_GRAPHICS_GL_0: FCUISAFECALLF(mError, FcUI_Config_Graphics_GL_0(&pType->mData.mGraphics_0, pConfig, pWindow, pFont, pObject)); break; } pType->mType = pConfig->mTypeConfig; gError: return mError; } FCUIDEF FcUI_Config_Setting_e FcUI_Config_get(FcUI_Config_t* pType) { FcUI_Config_Setting_e mConfig = FCUI_CONFIG_NONE; FCUISAFECALL(mConfig, pType, FCUI_CONFIG_NONE); mConfig = pType->mType; gError: return mConfig; } FCUIDEF FcUI_Program_t* FcUI_Config_getProgram(FcUI_Config_t* pType) { FcUI_Program_t* mProgram = NULL; FCUISAFECALL(mProgram, (pType), NULL); switch (pType->mType) { case FCUI_CONFIG_NONE: break; case FCUI_CONFIG_GRAPHICS_GL_0: mProgram = &pType->mData.mGraphics_0.mProgram; break; } gError: return mProgram; } FCUIDEF FcUI_Error_t FcUI_Config_free(FcUI_Config_t* pType) { FcUI_Error_t mError; mError = FCUI_ERROR_NOERROR; FCUISAFECALL(mError, (pType), FCUI_ERROR_PARAMETERS); switch (pType->mType) { case FCUI_CONFIG_NONE: break; case FCUI_CONFIG_GRAPHICS_GL_0: FCUISAFECALLF(mError, FcUI_Config_Graphics_GL_0_free(&pType->mData.mGraphics_0)); break; } pType->mType = FCUI_CONFIG_NONE; gError: return mError; } #endif //_FCUI_Config_CONFIG_H_