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,47 @@
/** \file
* \brief GL Controls.
*
* See Copyright Notice in "iup.h"
*/
#ifndef __IUPGLCONTROLS_H
#define __IUPGLCONTROLS_H
#ifdef __cplusplus
extern "C" {
#endif
int IupGLControlsOpen(void);
Ihandle* IupGLCanvasBoxv(Ihandle** children);
Ihandle* IupGLCanvasBox(Ihandle* child, ...);
Ihandle* IupGLSubCanvas(void);
Ihandle* IupGLLabel(const char* title);
Ihandle* IupGLSeparator(void);
Ihandle* IupGLButton(const char* title);
Ihandle* IupGLToggle(const char* title);
Ihandle* IupGLLink(const char *url, const char * title);
Ihandle* IupGLProgressBar(void);
Ihandle* IupGLVal(void);
Ihandle* IupGLFrame(Ihandle* child);
Ihandle* IupGLExpander(Ihandle* child);
Ihandle* IupGLScrollBox(Ihandle* child);
Ihandle* IupGLSizeBox(Ihandle* child);
Ihandle* IupGLText(void);
/* Utilities */
void IupGLDrawImage(Ihandle* ih, const char* name, int x, int y, int active);
void IupGLDrawText(Ihandle* ih, const char* str, int len, int x, int y);
void IupGLDrawGetTextSize(Ihandle* ih, const char* str, int *w, int *h);
void IupGLDrawGetImageInfo(const char* name, int *w, int *h, int *bpp);
#ifdef __cplusplus
}
#endif
#endif