feat(gui): 迁移图形界面库从SDL3到IUP

- 移除SDL3依赖,引入IUP图形界面库
- 更新Makefile以支持IUP编译配置
- 重构GUI模块,移除SDL相关代码
- 更新全局变量和类型定义,移除SDL依赖
- 添加IUP头文件到项目库目录
- 删除手动帧率控制(SDL_Delay),依赖IUP事件循环
- 更新编译脚本和文档说明
This commit is contained in:
2026-03-16 13:14:01 +08:00
parent a0944f8e16
commit 8bddf6bb37
44 changed files with 5001 additions and 630 deletions
@@ -0,0 +1,52 @@
/** \file
* \brief IUP API with explicit variable argument parameters.
*
* See Copyright Notice in "iup.h"
*/
#ifndef __IUP_VARG_H
#define __IUP_VARG_H
#include <stdarg.h>
#include "iup.h"
#ifdef __cplusplus
extern "C" {
#endif
IUP_API void IupLogV(const char* type, const char* format, va_list arglist);
IUP_API Ihandle* IupSetAttV(const char* handle_name, Ihandle* ih, const char* name, va_list arglist);
IUP_API void IupSetStrfV(Ihandle* ih, const char* name, const char* format, va_list arglist);
IUP_API void IupSetStrfIdV(Ihandle* ih, const char* name, int id, const char* format, va_list arglist);
IUP_API void IupSetStrfId2V(Ihandle* ih, const char* name, int lin, int col, const char* format, va_list arglist);
IUP_API Ihandle* IupSetCallbacksV(Ihandle* ih, const char *name, Icallback func, va_list arglist);
IUP_API Ihandle* IupCreateV(const char *classname, void* first, va_list arglist);
IUP_API Ihandle* IupVboxV(Ihandle* child, va_list arglist);
IUP_API Ihandle* IupZboxV(Ihandle* child, va_list arglist);
IUP_API Ihandle* IupHboxV(Ihandle* child,va_list arglist);
IUP_API Ihandle* IupNormalizerV(Ihandle* ih_first, va_list arglist);
IUP_API Ihandle* IupCboxV(Ihandle* child, va_list arglist);
IUP_API Ihandle* IupGridBoxV(Ihandle* child, va_list arglist);
IUP_API Ihandle* IupMultiBoxV(Ihandle* child, va_list arglist);
IUP_API Ihandle* IupMenuV(Ihandle* child,va_list arglist);
IUP_API Ihandle* IupTabsV(Ihandle* child, va_list arglist);
IUP_API Ihandle* IupFlatTabsV(Ihandle* child, va_list arglist);
IUP_API void IupMessageV(const char *title, const char *format, va_list arglist);
IUP_API Ihandle* IupParamBoxV(Ihandle* param, va_list arglist);
IUP_API int IupGetParamV(const char* title, Iparamcb action, void* user_data, const char* format, va_list arglist);
/* must include iupglcontrols before this file to enable this declaration */
#ifdef __IUPGLCONTROLS_H
#ifndef IUP_GLCONTROLS_API
#define IUP_GLCONTROLS_API
#endif
IUP_GLCONTROLS_API Ihandle* IupGLCanvasBoxV(Ihandle* child, va_list arglist);
#endif
#endif