/
vTech
/
FcApps
Обзор
Документация
Войти
/
vTech
/
FcApps
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
FcLibs/FcUI/src/FcUI_Object.h
185 строк
7 KB
vTech
alpha_00
03 дек 2025, 17:45
03 дек 2025, 17:45
ab8382d
Код
Авторство
О чём код?
#ifndef _FCUI_OBJECT_H_ #define _FCUI_OBJECT_H_ #include "FcUI_Setting.h" #include "FcUI_Error.h" #include "FcUI_Algo/FcUI_List.h" #include "FcUI_Object/FcUI_Object_Button.h" #include "FcUI_Object/FcUI_Object_RadioButton.h" #include "FcUI_Object/FcUI_Object_TextView.h" #include "FcUI_Object/FcUI_Object_Slider.h" #include "FcUI_Font/FcUI_Font_Config.h" #include "FcUI_Program.h" #include "FcUI_Vertex.h" typedef struct _FcUI_Object_t { size_t mButtonNumber; size_t mTextViewNumber; size_t mRadioButtonNumber; size_t mSliderNumber; FcUI_Vertex_t mVertex; FcUI_List_t mList; }FcUI_Object_t; FCUIDEF FcUI_Error_t FcUI_Object(FcUI_Object_t* pObject); FCUIDEF FcUI_Error_t FcUI_Object_free(FcUI_Object_t* pObject); FCUIDEF size_t FcUI_Object_get_textView_number(FcUI_Object_t *pObject) { return pObject ? pObject->mTextViewNumber : 0; } FCUIDEF size_t FcUI_Object_get_button_number(FcUI_Object_t* pObject) { return pObject ? pObject->mButtonNumber : 0; } FCUIDEF size_t FcUI_Object_get_radioButton_number(FcUI_Object_t *pObject) { return pObject ? pObject->mRadioButtonNumber : 0;} FCUIDEF size_t FcUI_Object_get_slider_number(FcUI_Object_t *pObject) { return pObject ? pObject->mSliderNumber : 0; } FCUIDEF FcUI_Error_t FcUI_Object_add_font(FcUI_Object_t* pObject, FcUI_Font_Config_t* pFontConfig); FCUIDEF FcUI_Error_t FcUI_Object_add_program(FcUI_Object_t* pObject, FcUI_Program_Config_t* pProgramConfig); FCUIDEF FcUI_Error_t FcUI_Object_add_button(FcUI_Object_t* pObject, FcUI_Object_Button_t* pButton); FCUIDEF FcUI_Error_t FcUI_Object_add_textView(FcUI_Object_t* pObject, FcUI_Object_TextView_t* pTextView); FCUIDEF FcUI_Error_t FcUI_Object_add_radioButton(FcUI_Object_t *pObject, FcUI_Object_RadioButton_t *pRadioButton); FCUIDEF FcUI_Error_t FcUI_Object_add_slider(FcUI_Object_t *pObject, FcUI_Object_Slider_t *pRadioButton); FCUIDEF FcUI_Font_Config_t* FcUI_Object_get_font_config(FcUI_Object_t* pObject, size_t id); FCUIDEF FcUI_Program_Config_t* FcUI_Object_get_program_config(FcUI_Object_t* pObject, size_t id); FCUIDEF FcUI_Button_t* FcUI_Object_get_button(FcUI_Object_t* pObject, size_t id); FCUIDEF FcUI_TextView_t* FcUI_Object_get_textView(FcUI_Object_t* pObject, size_t id); FCUIDEF FcUI_RadioButton_t * FcUI_Object_get_radioButton(FcUI_Object_t *pObject, size_t id); FCUIDEF FcUI_Slider_t * FcUI_Object_get_slider(FcUI_Object_t *pObject, size_t id); #include "FcUI_Object/FcUI_Object_Info.h" FCUIDEF FcUI_Error_t FcUI_Object(FcUI_Object_t* pObject) { FcUI_Error_t mError; mError = FCUI_ERROR_NOERROR; FCUISAFECALL(mError, pObject, FCUI_ERROR_PARAMETERS); memset(pObject, 0, sizeof(*pObject)); FCUISAFECALLF(mError, FcUI_Vertex(&pObject->mVertex)); gError: return mError; } FCUIDEF FcUI_Error_t FcUI_Object_free(FcUI_Object_t* pObject) { FcUI_Error_t mError; mError = FCUI_ERROR_NOERROR; FCUISAFECALL(mError, pObject, FCUI_ERROR_PARAMETERS); FCUISAFECALLF(mError, FcUI_List_free(&pObject->mList)); gError: return mError; } FCUIDEF FcUI_Error_t FcUI_Object_add_font(FcUI_Object_t* pObject, FcUI_Font_Config_t* pFontConfig){ FcUI_Error_t mError; mError = FCUI_ERROR_NOERROR; FCUISAFECALL(mError, (pObject && pFontConfig), FCUI_ERROR_PARAMETERS); FCUISAFECALLF(mError, FcUI_List_push(&pObject->mList, pFontConfig, sizeof(*pFontConfig), FCUI_OBJECT_FONTCONFIG)); gError: return mError; } FCUIDEF FcUI_Error_t FcUI_Object_add_program(FcUI_Object_t* pObject, FcUI_Program_Config_t* pProgramConfig) { FcUI_Error_t mError; mError = FCUI_ERROR_NOERROR; FCUISAFECALL(mError, (pObject && pProgramConfig), FCUI_ERROR_PARAMETERS); FCUISAFECALLF(mError, FcUI_List_push(&pObject->mList, pProgramConfig, sizeof(*pProgramConfig), FCUI_OBJECT_PROGRAM)); gError: return mError; } FCUIDEF FcUI_Error_t FcUI_Object_add_button(FcUI_Object_t* pObject, FcUI_Object_Button_t* pButton){ FcUI_Button_t mButton; FcUI_Error_t mError; mError = FCUI_ERROR_NOERROR; FCUISAFECALL(mError, (pObject && pButton), FCUI_ERROR_PARAMETERS); FCUISAFECALLF(mError, FcUI_Button(pButton, &mButton)); FCUISAFECALLF(mError, FcUI_List_push(&pObject->mList, &mButton, sizeof(mButton), FCUI_OBJECT_BUTTON)); pObject->mButtonNumber++; gError: return mError; } FCUIDEF FcUI_Error_t FcUI_Object_add_textView(FcUI_Object_t* pObject, FcUI_Object_TextView_t* pTextView) { FcUI_TextView_t mTextView; FcUI_Error_t mError; mError = FCUI_ERROR_NOERROR; FCUISAFECALL(mError, (pObject && pTextView), FCUI_ERROR_PARAMETERS); FCUISAFECALLF(mError, FcUI_TextView(pTextView, &mTextView)); FCUISAFECALLF(mError, FcUI_List_push(&pObject->mList, &mTextView, sizeof(mTextView), FCUI_OBJECT_TEXTVIEW)); pObject->mTextViewNumber++; gError: return mError; } FCUIDEF FcUI_Error_t FcUI_Object_add_radioButton(FcUI_Object_t* pObject, FcUI_Object_RadioButton_t* pRadioButton) { FcUI_RadioButton_t mRadioButton; FcUI_Error_t mError; mError = FCUI_ERROR_NOERROR; FCUISAFECALL(mError, (pObject && pRadioButton), FCUI_ERROR_PARAMETERS); FCUISAFECALLF(mError, FcUI_RadioButton(pRadioButton, &mRadioButton)); FCUISAFECALLF(mError, FcUI_List_push(&pObject->mList, &mRadioButton, sizeof(mRadioButton), FCUI_OBJECT_RADIOBUTTON)); pObject->mRadioButtonNumber++; gError: return mError; } FCUIDEF FcUI_Error_t FcUI_Object_add_slider(FcUI_Object_t *pObject, FcUI_Object_Slider_t *pSlider) { FcUI_Slider_t mSlider; FcUI_Error_t mError; mError = FCUI_ERROR_NOERROR; FCUISAFECALL(mError, (pObject && pSlider), FCUI_ERROR_PARAMETERS); FCUISAFECALLF(mError, FcUI_Slider(pSlider, &mSlider)); FCUISAFECALLF(mError, FcUI_List_push(&pObject->mList, &mSlider, sizeof(mSlider), FCUI_OBJECT_SLIDER)); pObject->mSliderNumber++; gError: return mError; } FCUIDEF FcUI_Button_t* FcUI_Object_get_button(FcUI_Object_t* pObject, size_t id) { FcUI_Button_t* mButton; FCUISAFECALL(mButton, pObject, NULL); mButton = (FcUI_Button_t*)FcUI_List_find(&pObject->mList, FCUI_OBJECT_BUTTON, id); gError: return mButton; } FCUIDEF FcUI_TextView_t* FcUI_Object_get_textView(FcUI_Object_t* pObject, size_t id) { FcUI_TextView_t* mTextView; FCUISAFECALL(mTextView, pObject, NULL); mTextView = (FcUI_TextView_t*)FcUI_List_find(&pObject->mList, FCUI_OBJECT_TEXTVIEW, id); gError: return mTextView; } FCUIDEF FcUI_RadioButton_t* FcUI_Object_get_radioButton(FcUI_Object_t* pObject, size_t id) { FcUI_RadioButton_t* nRadioButton; FCUISAFECALL(nRadioButton, pObject, NULL); nRadioButton = (FcUI_RadioButton_t*)FcUI_List_find(&pObject->mList, FCUI_OBJECT_RADIOBUTTON, id); gError: return nRadioButton; } FCUIDEF FcUI_Slider_t *FcUI_Object_get_slider(FcUI_Object_t *pObject, size_t id) { FcUI_Slider_t *mConfig; FCUISAFECALL(mConfig, pObject, NULL); mConfig = (FcUI_Slider_t *) FcUI_List_find(&pObject->mList, FCUI_OBJECT_SLIDER, id); gError: return mConfig; } FCUIDEF FcUI_Program_Config_t* FcUI_Object_get_program_config(FcUI_Object_t* pObject, size_t id) { FcUI_Program_Config_t* mConfig; FCUISAFECALL(mConfig, pObject, NULL); mConfig = (FcUI_Program_Config_t*)FcUI_List_find(&pObject->mList, FCUI_OBJECT_PROGRAM, id); gError: return mConfig; } FCUIDEF FcUI_Font_Config_t* FcUI_Object_get_font_config(FcUI_Object_t* pObject, size_t id) { FcUI_Font_Config_t* mConfig; FCUISAFECALL(mConfig, pObject, NULL); mConfig = (FcUI_Font_Config_t*)FcUI_List_find(&pObject->mList, FCUI_OBJECT_FONTCONFIG, id); gError: return mConfig; } #endif //_FCUI_OBJECT_H_