/
vTech
/
FcApps
Обзор
Документация
Войти
/
vTech
/
FcApps
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
FcLibs/FcUI/src/FcUI_View.h
104 строки
3 KB
vTech
alpha_00
03 дек 2025, 17:45
03 дек 2025, 17:45
ab8382d
Код
Авторство
О чём код?
#ifndef _FCUI_VIEW_H_ #define _FCUI_VIEW_H_ #include "FcUI_Error.h" #include "FcUI_Setting.h" #include "FcUI_Font.h" #include "FcUI_Config.h" //#include "FcUI_View/FcUI_View_Flags.h" //#include "FcUI_Type/FcUI_Type.h" #include "FcUI_Object/FcUI_Object_Info.h" //#include "FcUI_View/FcUI_View_Type.h" //#include "FcUI_View/FcUI_View_Basic.h" //#include "FcUI_View/FcUI_View_Basic_Render.h" #include "FcUI_View/FcUI_View_Config.h" #include "FcUI_View/FcUI_View_GL0.h" //#include "FcUI_View/FcUI_View_Field_Config.h" //#include "FcUI_View/FcUI_View_Basic.h" typedef union _FcUI_View_u { //FcUI_View_Basic_t mBasic; FcUI_View_Graphics_GL_0_t mGraphics_GL_0; }FcUI_View_u; typedef struct _FcUI_View_t { FcUI_Config_t* mConfig; FcUI_Font_t* mFont; FcUI_View_u mData; }FcUI_View_t; typedef size_t FCUI_VIEW_RASTER_CURVE2_INFO_t; enum FcUI_View_Raster_Curve_Info_t{ FCUI_VIEW_RASTER_CURVE_INFO_NONE, FCUI_VIEW_RASTER_CURVE_INFO_FONT, FCUI_VIEW_RASTER_CURVE_INFO_BUTTON, FCUI_VIEW_RASTER_CURVE_INFO_TEXTVIEW }; typedef struct _FcUI_View_Raster_getInfo_data_t { FCUI_VIEW_RASTER_CURVE2_INFO_t mType; union { FcUI_Font_t* mFont; TCHAR mGlyph; size_t mHeightFont; }mFont; union { size_t mGlyphID; FcUI_Font_t* mFont; FcUI_Button_t* mButton; }mButton; union { size_t mGlyphID; FcUI_Font_t* mFont; FcUI_TextView_t* mTextView; }mTextView; }FcUI_View_Raster_getInfo_data_t; FCUIDEF FcUI_Error_t FcUI_View(FcUI_View_t* pView, FcUI_Window_t* pWindow, FcUI_Font_t* pFont, FcUI_Object_t* pObject, FcUI_Config_t* pConfig); FCUIDEF FcUI_Error_t FcUI_View_free(FcUI_View_t* pView); FCUIDEF FcUI_Error_t FcUI_View(FcUI_View_t* pView, FcUI_Window_t* pWindow, FcUI_Font_t* pFont, FcUI_Object_t* pObject, FcUI_Config_t* pConfig){ FcUI_Config_Setting_e mConfig; FcUI_Error_t mError = FCUI_ERROR_NOERROR; FCUISAFECALL(mError, (pView && pWindow && pFont && pConfig), FCUI_ERROR_PARAMETERS); mConfig = FcUI_Config_get(pConfig); switch (mConfig){ default: case FCUI_CONFIG_NONE: break; case FCUI_CONFIG_GRAPHICS_GL_0: FCUISAFECALLF(mError, FcUI_View_Graphics_GL_0(&pView->mData.mGraphics_GL_0, pFont, pWindow, pObject, mConfig)); break; } pView->mConfig = pConfig; pView->mFont = pFont; gError: return mError; } FCUIDEF FcUI_Error_t FcUI_View_free(FcUI_View_t* pView){ FcUI_Config_Setting_e mConfig; FcUI_Error_t mError = FCUI_ERROR_NOERROR; FCUISAFECALL(mError, (pView), FCUI_ERROR_PARAMETERS); mConfig = FcUI_Config_get(pView->mConfig); switch (mConfig){ case FCUI_CONFIG_NONE: break; case FCUI_CONFIG_GRAPHICS_GL_0: FCUISAFECALLF(mError, FcUI_View_Graphics_GL_0_free(&pView->mData.mGraphics_GL_0)); break; } pView->mConfig = NULL; pView->mFont = NULL; gError: return mError; } #endif //_FCUI_VIEW_H_