Skip to content

imgui方法 (imgui)

1. imgui.addOptionItem(handle, item_text) : 添加选项

参数:

参数名类型必填说明
handlestring选项框的句柄
item_textstring选项项的文本

返回值:

返回值类型说明
无返回值

2. imgui.addRadioBox(handle, text, wrapline) : 添加单选框

参数:

参数名类型必填说明
handlestring单选框的句柄
textstring单选框的文本
wraplineboolean是否换行显示

返回值:

返回值类型说明
无返回值

3. imgui.addTabBarItem(tabBar_handle, title) : 向标签栏添加标签页

参数:

参数名类型必填说明
tabBar_handlestring标签栏的句柄
titlestring标签页的标题

返回值:

返回值类型说明
无返回值

4. imgui.clearTable(handle) : 清空表格所有行

参数:

参数名类型必填说明
handlestring表格的句柄

返回值:

返回值类型说明
无返回值

5. imgui.close() : 关闭imgui框架

参数:

参数名类型必填说明
handlestring弹窗的句柄

返回值:

返回值类型说明
无返回值

6. imgui.createBitmapShape(x,y,width,height,bitmap) : 创建位图形状

参数:

参数名类型必填说明
xnumber位图形状的x坐标
ynumber位图形状的y坐标
widthnumber位图形状的宽度
heightnumber位图形状的高度
bitmapstring位图的路径

返回值:

返回值类型说明
整数位图形状的句柄

7. imgui.createButton(x,y,width,height,text) : 创建按钮

参数:

参数名类型必填说明
xnumber按钮的x坐标
ynumber按钮的y坐标
widthnumber按钮的宽度
heightnumber按钮的高度
textstring按钮的文本

返回值:

返回值类型说明
整数新创建的按钮句柄

注意事项:

注意事项说明
按钮会继承父容器的布局方向垂直/水平
当width/height为0时根据文本内容自动计算大小
当width/height为-1时填充满父容器可用空间
需要先创建有效的父容器
按钮点击事件需通过setOnClick回调设置

8. imgui.createCheckBox(parent, label, checked) : 创建复选框

参数:

参数名类型必填说明
parentstring复选框的父容器句柄
labelstring复选框的标签文本
checkedboolean是否默认选中

返回值:

返回值类型说明
整数复选框控件句柄(>0的整数)

注意事项:

注意事项说明
必须先调用imgui.isSupport()检查环境支持性
复选框会继承父容器的布局方向
标签文本支持UTF-8编码
失败时应查询imgui.getLastError()获取详情

9. imgui.createColorPicker(parent, title, color, width, height) : 创建颜色选择器

参数:

参数名类型必填说明
parentstring父容器句柄
titlestring标题文本(默认"Color")
colornumber初始颜色值(32位ARGB格式,默认0xFF000000)
widthnumber控件宽度(像素单位)
heightnumber控件高度(像素单位)

返回值:

返回值类型说明
整数颜色选择器句柄(成功)
nil失败(可通过imgui.getLastError()获取错误信息)

注意事项:

注意事项说明
颜色格式为32位无符号整数 0xAARRGGBBAA:透明度 RR:红色 GG:绿色 BB:蓝色
常用颜色示例:红色不透明0xFFFF0000绿色半透明0x8000FF00 蓝色透明0x000000FF
需先调用imgui.isSupport()检查环境支持性

10. imgui.setOnClick(buttonHandle, callback) : 设置按钮点击回调

参数:

参数名类型必填说明
buttonHandlestring按钮句柄(由createButton创建)
callbackfunction回调函数,格式为function(handle)

返回值:

返回值类型说明
无返回值

注意事项:

注意事项说明
必须在按钮创建成功后调用
回调函数会在UI线程中执行,不宜做耗时操作
每个按钮只能设置一个点击回调,重复设置会覆盖之前的回调
如果需要在回调中修改UI元素,请使用imgui.post延迟处理
回调函数中不要直接销毁按钮本身

11. imgui.setOnCheck(handle, callback) : 设置复选框状态变更回调

参数:

参数名类型必填说明
handlestring复选框控件句柄
callbackfunction回调函数,格式为function(handle, state)

返回值:

返回值类型说明
无返回值

注意事项:

注意事项说明
handle为复选框控件句柄state为当前选中状态(true/false)
必须在复选框创建成功后调用

12. imgui.createSwitch(parent, label, checked, height) : 创建开关控件

参数:

参数名类型必填说明
parentstring父容器句柄(由createWindow等创建)
labelstring开关右侧显示的文本
checkedboolean初始状态(默认false)
heightnumber开关高度(不能为0)

返回值:

返回值类型说明
整数开关控件句柄(>0)
0创建失败(可通过imgui.getLastError()获取原因)

注意事项:

注意事项说明
必须先调用imgui.isSupport()检查支持性
高度为0时根据系统DPI自动计算合适尺寸
文本支持多语言UTF-8编码
开关颜色可通过imgui.setStyleColor自定义

13. imgui.setChecked(handle, state) : 设置复选框/开关控件的选中状态

参数:

参数名类型必填说明
handlestring复选框/开关控件句柄
stateboolean要设置的选中状态

返回值:

返回值类型说明
无返回值

注意事项:

注意事项说明
需要确保句柄有效性使用imgui.isValidHandle验证
线程安全,可在任意线程调用

14. imgui.isChecked(handle) : 获取复选框/开关控件的当前状态

参数:

参数名类型必填说明
handlestring有效的控件句柄

返回值:

返回值类型说明
boolean当前选中状态(true表示选中/开启)
nil获取失败(句柄无效/控件类型不匹配)

注意事项:

注意事项说明
返回值反映控件的实时状态(包含动画过渡中的状态)
对已销毁的控件会返回nil
线程安全,可在任何线程调用

15. imgui.createLabel(parent, text, singleline) : 创建文本标签

参数:

参数名类型必填说明
parentstring父容器句柄(由createWindow/createVerticalLayout等创建)
textstring要显示的文本内容
singlelineboolean是否单行显示(默认true)

返回值:

返回值类型说明
整数标签控件句柄(>0)
0创建失败(使用imgui.getLastError()获取详情)

注意事项:

注意事项说明
必须先调用imgui.isSupport()确认环境支持
文本内容支持UTF-8编码和转义字符(\n,\t等)
多行模式下高度自动计算
可通过imgui.setWidgetText更新内容
singleline为true时单行显示(超出部分截断)false时多行显示(自动换行)

16. imgui.createInputText(parent, label, value, inputType, width, height) : 创建输入框

参数:

参数名类型必填说明
parentstring父容器句柄
labelstring输入框左侧标签(支持HTML富文本)
valuestring初始文本内容(默认为空字符串)
inputTypenumber输入类型(0:普通文本 1:密码 2:多行)
widthnumber控件宽度(像素,0表示自动计算)
heightnumber控件高度(像素,仅多行模式有效)

返回值:

返回值类型说明
整数输入框句柄(>0)
0创建失败(使用imgui.getLastError()获取原因)

注意事项:

注意事项说明
多行模式需要显式设置高度(height≥60像素)
密码输入框返回值是真实内容(非*号)
输入类型不可运行时修改,需重新创建
使用imgui.inputSetMaskChar自定义密码掩码字符

17. imgui.getInputText(handle) : 获取输入框当前文本内容

参数:

参数名类型必填说明
handlestring有效的输入框句柄(由createInputText创建)

返回值:

返回值类型说明
string输入框当前文本内容
nil获取失败(句柄无效/控件已销毁)

注意事项:

注意事项说明
对于Password类型的输入框,返回的是真实内容而非掩码字符
多行文本会保留换行符(\n)
线程安全,可在任何线程调用
对已销毁的输入框会返回nil

18. imgui.setInputText(handle, text) : 设置输入框文本内容

参数:

参数名类型必填说明
handlestring输入框控件句柄(由createInputText等函数创建)
textstring要设置的文本内容

返回值:

返回值类型说明
无返回值,失败时可通过imgui.getLastError()获取错误信息

注意事项:

注意事项说明
需要确保句柄有效性(使用imgui.isValidHandle验证)
文本内容最大长度受系统限制(默认1024字符)
支持包含转义字符(\n,\t等)单行输入框会自动过滤换行符
线程安全,可在任意线程调用
修改后会触发onInputChange事件
密码框类型会显示为掩码字符

19. imgui.setInputType(handle, inputType) : 设置输入框类型

参数:

参数名类型必填说明
handlestring输入框控件句柄(由createInputField创建)
inputTypenumber输入类型(0:普通单行文本 1:密码输入 2:多行文本)

返回值:

返回值类型说明
无返回值,失败时可通过imgui.getLastError()获取错误信息

注意事项:

注意事项说明
必须在创建输入框后调用
切换类型会清空现有内容
多行模式下会自动启用垂直滚动条
线程安全,可在任意线程调用

20. imgui.createProgressBar(parent, progress, width, height) : 创建水平进度条控件

参数:

参数名类型必填说明
parentstring父容器句柄
progressnumber初始进度值(0.0~1.0)
widthnumber进度条宽度(像素,0表示默认宽度)
heightnumber进度条高度(像素,0表示使用主题默认高度)

返回值:

返回值类型说明
整数进度条句柄(>0)
0创建失败(使用imgui.getLastError()获取原因)

注意事项:

注意事项说明
进度值超过范围会自动钳制(小于0视为0,大于1视为1)
修改进度需使用imgui.setProgress
可通过imgui.setProgressColor自定义颜色
支持平滑动画过渡效果

21. imgui.setProgressBarPos(handle, progress) : 设置进度条当前进度值

参数:

参数名类型必填说明
handlestring进度条控件句柄
progressnumber要设置的进度值(0.0~1.0)

返回值:

返回值类型说明
无返回值

注意事项:

注意事项说明
进度值会立即生效
进度值超过范围会自动钳制

22. imgui.getProgressBarPos(handle) : 获取进度条当前进度值

参数:

参数名类型必填说明
handlestring有效的进度条句柄

返回值:

返回值类型说明
number当前进度值(0.0~1.0范围的浮点数)
nil获取失败(句柄无效/控件已销毁)

注意事项:

注意事项说明
返回值包含动画过渡中的中间值
对已销毁的进度条会返回nil
线程安全,可在任何线程调用

23. imgui.createComboBox(parent_handle, items, width) : 创建组合框控件

参数:

参数名类型必填说明
parent_handlestring父控件句柄(窗口或容器控件)
itemsstring组合框选项内容,用竖线"
widthnumber控件宽度,0表示自动宽度(默认0)

返回值:

返回值类型说明
整数组合框控件句柄(>0)
0失败(可通过imgui.getLastError()获取错误信息)

注意事项:

注意事项说明
需要确保父句柄有效性(使用imgui.isValidHandle验证)
选项字符串最大长度受系统限制(默认2048字符)
选项分隔符""会被自动转义,如需包含"
创建后可通过setComboBoxSelection设置选中项
控件高度由系统自动决定
选项变更会触发onComboBoxChange事件
线程安全,可在任意线程调用

24. imgui.getItemText(combo_handle, item_index) : 获取下拉项文本

参数:

参数名类型必填说明
combo_handlestring组合框控件句柄
item_indexnumber要获取的项索引(从0开始)

返回值:

返回值类型说明
string项文本字符串(成功)
nil失败

注意事项:

注意事项说明
索引超出范围将返回nil
返回文本已自动处理转义字符
最大返回长度受系统限制(默认1024字符)

25. imgui.removeItemAt(handle, item_index) : 删除组合框指定项

参数:

参数名类型必填说明
handlestring组合框控件句柄
item_indexnumber要删除的项索引(从0开始)

返回值:

返回值类型说明
无返回值,失败时可通过imgui.getLastError()获取错误信息

注意事项:

注意事项说明
索引超出范围将不执行任何操作
删除后选中项会自动调整

26. imgui.removeAllItems(combo_handle) : 清空组合框所有项

参数:

参数名类型必填说明
combo_handlestring组合框控件句柄

返回值:

返回值类型说明
无返回值,失败时可通过imgui.getLastError()获取错误信息

注意事项:

注意事项说明
清空后选中索引将变为-1
性能优于循环调用removeItemAt

27. imgui.getSelectedItemIndex(handle) : 获取组合框|表被选中的项

参数:

参数名类型必填说明
handlestring组合框

返回值:

返回值类型说明
number当前选中项的索引(从0开始)
-1无选中项(组合框为空或未选择)
-2函数执行出错(可通过imgui.getLastError()获取错误信息)

注意事项:

注意事项说明
需要确保句柄有效性(使用imgui.isValidHandle验证)
≥0表示有效选中索引-1表示无选中项 -2表示函数执行出错
与getComboBoxSelection功能相同,两者可互换使用
线程安全,可在任意线程调用

28. imgui.setItemSelected(handle, index) : 设置组合框|表选中项

参数:

参数名类型必填说明
handlestring组合框
indexnumber要选中的项索引(从0开始)

返回值:

返回值类型说明
无返回值,失败时可通过imgui.getLastError()获取错误信息

注意事项:

注意事项说明
索引超出范围将不执行任何操作

29. imgui.setOnSelectEvent(handle, callback) : 设置组合框/单选框选择事件回调

参数:

参数名类型必填说明
handlestring控件句柄(由createComboBox或createRadioGroup创建)
callbackfunction回调函数,格式为function(handle, index, text)

返回值:

返回值类型说明
无返回值,如果回调执行出错,错误信息会输出到stderr

注意事项:

注意事项说明
重复设置会覆盖之前的回调
传入nil可移除现有回调
事件触发时机包括:用户选择新选项、通过程序调用setSelectedIndex改变选择
线程安全,回调在主UI线程执行
回调中应避免阻塞操作
对于单选框组,会传递当前选中项的索引和文本

30. imgui.createRadioGroup(parent, label) : 创建单选按钮组

参数:

参数名类型必填说明
parentstring父容器句柄(整数)
labelstring单选组的标签文本(字符串)

返回值:

返回值类型说明
整数单选组的控件句柄(成功)
nil失败(可通过imgui.getLastError()获取错误信息)

注意事项:

注意事项说明
需要使用imgui.addRadioBox向单选组添加选项
使用imgui.getSelectedRadio获取当前选中项

31. imgui.createTableView(parent, title, columns, showheader, width, height) : 创建表格视图

参数:

参数名类型必填说明
parentstring父容器句柄(整数)
titlestring表格标题文本(字符串)
columnsnumber列数(整数)
showheaderboolean是否显示表头(布尔值)
widthnumber表格宽度(浮点数)
heightnumber表格高度(浮点数)

返回值:

返回值类型说明
整数表格的控件句柄(成功)
nil失败(可通过imgui.getLastError()获取错误信息)

注意事项:

注意事项说明
列数必须大于0
宽度和高度为-1时使用默认大小

32. imgui.setTableHeaderItem(handle, col, text) : 设置表头文本

参数:

参数名类型必填说明
handlestring表格句柄(整数)
colnumber列索引(从0开始)
textstring表头文本(字符串)

返回值:

返回值类型说明
无返回值,失败时可通过imgui.getLastError()获取错误信息

注意事项:

注意事项说明
列索引不能超过创建表格时指定的列数
如果表格设置为不显示表头(showheader=false),设置的表头将不会显示

33. imgui.insertTableRow(handle, after) : 插入表格行

参数:

参数名类型必填说明
handlestring表格句柄(整数)
afternumber插入位置指示(整数)

返回值:

返回值类型说明
整数新插入行的索引(成功)
nil失败(可通过imgui.getLastError()获取错误信息)

注意事项:

注意事项说明
行索引从0开始
after=-1:在开头插入 after=-2:在末尾插入 after≥0:在指定行索引后插入
插入大量数据时建议先禁用表格刷新,完成后再启用

34. imgui.getTableItemText(handle, row, col) : 获取表格单元格文本

参数:

参数名类型必填说明
handlestring表格句柄(由createTableView创建)
rownumber行索引(从0开始)
colnumber列索引(从0开始)

返回值:

返回值类型说明
字符串单元格文本内容(成功)
nil失败(可通过imgui.getLastError()获取错误信息)
空字符串("")单元格为空

注意事项:

注意事项说明
行和列索引都不能超过表格当前的范围
返回的文本是原始内容,不包含任何格式化字符
批量获取数据时建议先获取行数再循环读取

35. imgui.getItemCount(handle) : 获取表格行数,或者组合框子项数,单选框控件子项数

参数:

参数名类型必填说明
handlestring控件句柄(表格/组合框/单选框)

返回值:

返回值类型说明
整数控件项数(成功)
-1失败(可通过imgui.getLastError()获取错误信息)

注意事项:

注意事项说明
对于表格控件,返回行数
对于组合框控件,返回选项项数
对于单选框控件,返回单选选项数

36. imgui.setTableItemText(handle, row, col, text) : 设置表格单元格文本

参数:

参数名类型必填说明
handlestring表格句柄(由createTableView创建)
rownumber行索引(从0开始)
colnumber列索引(从0开始)
textstring要设置的文本(字符串)

返回值:

返回值类型说明
无返回值,失败时可通过imgui.getLastError()获取错误信息

注意事项:

注意事项说明
行和列索引都不能超过表格当前的范围

37. imgui.deleteTableRow(handle, row) : 删除表格行

参数:

参数名类型必填说明
handlestring表格句柄(由createTableView创建)
rownumber要删除的行索引(从0开始)

返回值:

返回值类型说明
无返回值,失败时可通过imgui.getLastError()获取错误信息

注意事项:

注意事项说明
行索引必须有效(0到行数-1)

38. imgui.setOnSelectEventEx(handle, callback) : 设置表格选择事件回调(扩展版)

参数:

参数名类型必填说明
handlestring表格句柄(由createTableView创建)
callbackfunction回调函数,格式为function(handle, row, col, text)

返回值:

返回值类型说明
无返回值,如果回调函数执行出错,错误信息会输出到stderr

注意事项:

注意事项说明
重复设置会覆盖之前的回调
传入nil可移除现有回调
回调中不要进行耗时操作,以免阻塞UI线程
事件触发时机:当用户点击表格单元格时
线程安全,但回调会在主UI线程执行
回调函数内部错误不会影响程序继续运行

40. imgui.createSlider(parent, label, min, max, initialPos, width) : 创建滑动条控件

参数:

参数名类型必填说明
parentstring父容器句柄
labelstring滑动条标签文本
minnumber最小值(整数)
maxnumber最大值(整数)
initialPosnumber初始位置(介于min和max之间)
widthnumber控件宽度(像素)

返回值:

返回值类型说明
整数滑动条句柄(成功)
nil失败(可通过imgui.getLastError()获取错误信息)

注意事项:

注意事项说明
min必须小于max
initialPos必须在[min,max]范围内
宽度为-1时使用默认大小
会触发onControlCreate事件

41. imgui.setSlider(handle, pos) : 设置滑动条位置

参数:

参数名类型必填说明
handlestring滑动条句柄
posnumber要设置的位置值(整数)

返回值:

返回值类型说明
无返回值,失败时可通过imgui.getLastError()获取错误信息

注意事项:

注意事项说明
pos必须在滑动条的[min,max]范围内
会触发onSliderChange事件
线程安全,可在任意线程调用

42. imgui.getSliderPos(handle) : 获取滑动条当前位置

参数:

参数名类型必填说明
handlestring滑动条句柄

返回值:

返回值类型说明
整数当前位置值(成功)
nil失败(可通过imgui.getLastError()获取错误信息)

注意事项:

注意事项说明
返回值始终在[min,max]范围内
线程安全,可在任意线程调用
避免在频繁调用的循环中获取

43. imgui.setOnSliderEvent(handle, callback) : 设置滑动条值变化事件回调

参数:

参数名类型必填说明
handlestring滑动条控件句柄(由createSlider创建)
callbackfunction回调函数,格式为function(handle, value)

返回值:

返回值类型说明
无返回值,如果回调函数执行出错,错误信息会输出到stderr

注意事项:

注意事项说明
事件触发时机:用户拖动滑块时实时触发、用户点击滑动条轨道跳转位置时、通过程序调用setSlider改变值时
重复设置会覆盖之前的回调
传入nil可移除现有回调
回调中不要进行耗时操作,以免阻塞UI线程
线程安全,但回调会在主UI线程执行
值变化频率可能很高,建议做适当节流处理

44. imgui.setWidgetSize(handle, width, height) : 设置控件尺寸

参数:

参数名类型必填说明
handlestring控件句柄(整数)
widthnumber新的宽度值(浮点数,像素单位)
heightnumber新的高度值(浮点数,像素单位)

返回值:

返回值类型说明
无返回值,失败时可通过imgui.getLastError()获取错误信息

注意事项:

注意事项说明
支持大多数可调整大小的控件(按钮、滑动条、文本框等)
width/height为-1:使用控件默认大小
width/height为0:自动计算最小所需大小

45. imgui.createImage(parent, path, width, height) : 创建图片显示控件

参数:

参数名类型必填说明
parentstring父容器句柄(必须)
pathstring图片文件路径(可选)
widthnumber图片显示宽度(可选,像素单位)
heightnumber图片显示高度(可选,像素单位)

返回值:

返回值类型说明
整数图片控件句柄(成功)
nil失败(可通过imgui.getLastError()获取错误信息)

注意事项:

注意事项说明
路径是绝对路径
支持格式:PNG/JPG/BMP等系统支持的格式
传nil或不传创建空图片控件
width/height为-1:铺满

46. imgui.setImage(handle, path) : 设置或更换显示图片

参数:

参数名类型必填说明
handlestring图片控件句柄(必须)
pathstring新图片文件路径

返回值:

返回值类型说明
无返回值,失败时可通过imgui.getLastError()获取错误信息

注意事项:

注意事项说明
传nil清空当前图片
支持格式同createImage

47. imgui.setImageFromBitmap(handle, bitmap) : 设置图像对象

参数:

参数名类型必填说明
handlestring图像控件句柄(整数)
bitmapobject位图对象(Java对象)

返回值:

返回值类型说明
无返回值

注意事项:

注意事项说明
bitmap必须是有效的Java位图对象

48. imgui.setWidgetVisible(handle, visible) : 设置控件可见性

参数:

参数名类型必填说明
handlestring控件句柄(整数)
visibleboolean可见性状态,true表示显示,false表示隐藏

返回值:

返回值类型说明
无返回值,失败时可通过imgui.getLastError()获取错误信息

注意事项:

注意事项说明
支持所有类型的控件

49. imgui.isWidgetVisible(handle) : 获取控件当前可见状态

参数:

参数名类型必填说明
handlestring控件句柄(整数)

返回值:

返回值类型说明
booleantrue表示控件可见,false表示控件隐藏

注意事项:

注意事项说明
返回控件当前的可见状态

50. imgui.setLayoutBorderVisible(handle, visible) : 设置容器布局控件是否显示边框

参数:

参数名类型必填说明
handlestring控件句柄(整数)
visibleboolean可见性状态,true表示显示,false表示隐藏

返回值:

返回值类型说明
无返回值

注意事项:

注意事项说明
仅对容器布局控件有效

51. imgui.setWindowPos(handle, x, y) : 设置窗口位置

参数:

参数名类型必填说明
handlestring布局容器句柄(整数)
xnumber水平位置相对窗口左上角为原点(浮点数,像素单位)
ynumber垂直位置相对窗口左上角为原点(浮点数,像素单位)

返回值:

返回值类型说明
无返回值

注意事项:

注意事项说明
坐标原点为窗口左上角

52. imgui.setWindowSize(handle, width, height) : 设置窗口大小

参数:

参数名类型必填说明
handlestring布局容器句柄(整数)
widthnumber
heightnumber

返回值:

返回值类型说明
无返回值

注意事项:

注意事项说明
设置窗口的宽度和高度

53. imgui.setWidgetStyle(handle, style, v1, v2) : 设置imgui控件一些属性

参数:

参数名类型必填说明
handlestring布局容器句柄(整数)
stylenumberImGuiStyleVar类型
v1number属性值
v2number属性值(可选)

返回值:

返回值类型说明
无返回值

注意事项:

注意事项说明
style参数为ImGuiStyleVar枚举类型
具体使用方式参考示例代码

54. imgui.setWidgetColor(handle, type, color) : 设置imgui控件的相关颜色

参数:

参数名类型必填说明
handlestring布局容器句柄(整数)
typenumberImGuiColor类型
colornumber颜色值整数类型

返回值:

返回值类型说明
无返回值

注意事项:

注意事项说明
所有颜色值使用0xAARRGGBB格式(Alpha,Red,Green,Blue)
Alpha值为00表示完全透明,FF表示完全不透明
颜色设置通常会影响所有同类型控件
建议在创建控件前设置颜色,以确保初始显示效果

55. imgui.setWindowFlags(handle, flags) : 设置窗口标志

参数:

| 参数名 | 类型 | 必填 | 说明 | |:---😐:---😐:---😐 | handle | string | 是 | 布局容器句柄(整数) | | flags | number | 是 | WindowFlags类型 |

返回值:

返回值类型说明
无返回值

注意事项:

注意事项说明
flags参数为WindowFlags枚举类型
支持单个标志或多个标志组合使用
常用标志包括NoTitleBar、NoResize、NoMove等
具体使用方式参考示例代码

56. imgui.createTabBar(parent_handle, title) : 创建标签栏控件

参数:

参数名类型必填说明
parent_handlestring父窗口或父控件句柄(整数)
titlestring标签栏标题(字符串)

返回值:

返回值类型说明
整数标签栏句柄(成功)
nil失败(可通过imgui.getLastError()获取错误信息)

注意事项:

注意事项说明
需要先创建父窗口/父控件
标签栏内部需要通过imgui.addTabBarItem()添加标签页

57. imgui.createRectangle(x, y, x1, y1, color, filled, rounding) : 创建矩形

参数:

参数名类型必填说明
xnumber矩形左上角X坐标(数字)
ynumber矩形左上角Y坐标(数字)
x1number矩形右下角X坐标(数字)
y1number矩形右下角Y坐标(数字)
colornumber颜色值(十六进制整数,格式0xAARRGGBB)
filledboolean是否填充(布尔值,true为填充,false为边框)
roundingnumber圆角半径(数字,0为直角)

返回值:

返回值类型说明
整数矩形句柄(成功)
nil失败(可通过imgui.getLastError()获取错误信息)

59. imgui.createCircle(x, y, radius, color, filled, segments) : 创建圆形

参数:

参数名类型必填说明
xnumber圆心X坐标(数字)
ynumber圆心Y坐标(数字)
radiusnumber半径(数字)
colornumber颜色值(十六进制整数,格式0xAARRGGBB)
filledboolean是否填充(布尔值)
segmentsnumber分段数(整数,值越大圆越平滑)

返回值:

返回值类型说明
整数圆形句柄(成功)
nil失败(可通过imgui.getLastError()获取错误信息)

注意事项:

注意事项说明
推荐分段数在12-64之间,平衡性能和质量
要绘制椭圆可以使用imgui.createEllipse()

60. imgui.createPolygon(points, color, closed, filled, thickness) : 创建多边形

参数:

参数名类型必填说明
pointstable顶点数组(table of x,y tables)
colornumber颜色(0xAARRGGBB格式)
closedboolean是否闭合(布尔值)
filledboolean是否填充(布尔值)
thicknessnumber线宽(数字)

返回值:

返回值类型说明
整数图形句柄(成功)
nil失败

61. imgui.createLine(x1, y1, x2, y2, color, thickness) : 创建线段

参数:

参数名类型必填说明
x1number起点X坐标
y1number起点Y坐标
x2number终点X坐标
y2number终点Y坐标
colornumber颜色值(0xAARRGGBB)
thicknessnumber线宽(像素)

返回值:

返回值类型说明
整数线段句柄

62. imgui.setShapePosition(handle, x, y) : 设置图形位置

参数:

参数名类型必填说明
handlestring图形句柄
xnumber新坐标X(对于多边形是整体偏移)
ynumber新坐标Y(对于多边形是整体偏移)

返回值:

返回值类型说明
整数0成功,-1失败

63. imgui.setShapeVisibility(handle, visible) : 设置图形可见性

参数:

参数名类型必填说明
handlestring图形句柄
visibleboolean是否可见(布尔值)

返回值:

返回值类型说明
整数0操作成功,-1操作失败

64. imgui.isShapeVisibility(handle) : 判断图形是否可见

参数:

参数名类型必填说明
handlestring图形句柄

返回值:

返回值类型说明
booleantrue表示可见,false表示隐藏

65. imgui.createShapeText(x, y, w, h, text, text_color, bg_color, has_background, font_scale) : 创建文本图形

参数:

参数名类型必填说明
xnumber位置坐标X
ynumber位置坐标Y
wnumber文本框宽度
hnumber文本框高度
textstring文本内容(字符串)
text_colornumber文字颜色(0xAARRGGBB)
bg_colornumber背景颜色(0xAARRGGBB)
has_backgroundboolean是否显示背景(布尔值)
font_scalenumber字体缩放系数(建议0.5~3.0)

返回值:

返回值类型说明
整数文本图形句柄

66. imgui.setShapeTextString(handle, new_text) : 修改文本内容

参数:

参数名类型必填说明
handlestring文本图形句柄
new_textstring新文本内容

返回值:

返回值类型说明
boolean是否修改成功

67. imgui.setShapeTextColor(handle, new_color) : 设置文本颜色

参数:

参数名类型必填说明
handlestring文本图形句柄
new_colornumber新颜色(0xAARRGGBB)

返回值:

返回值类型说明
boolean是否修改成功

68. imgui.setShapeTextBackground(handle, bg_color, has_bg) : 设置文本背景

参数:

参数名类型必填说明
handlestring文本图形句柄
bg_colornumber背景颜色(0xAARRGGBB)
has_bgboolean是否显示背景

返回值:

返回值类型说明
boolean是否修改成功

69. imgui.setShapeTextFontScale(handle, scale) : 设置文本图形字体缩放比例

参数:

参数名类型必填说明
handlestring文本图形句柄(整数)
scalenumber缩放比例(浮点数,建议范围0.5~3.0)

返回值:

返回值类型说明
booleantrue设置成功,false设置失败(可通过imgui.getLastError()获取错误信息)

注意事项:

注意事项说明
缩放后可能需要手动调整文本框尺寸
极端值可能导致文字渲染异常
缩放是相对于创建时的初始大小

70. imgui.removeShape(handle) : 删除图形对象

参数:

参数名类型必填说明
handlestring要删除的图形句柄(整数)

返回值:

返回值类型说明
整数0删除成功,-1删除失败(无效句柄或已删除)

注意事项:

注意事项说明
删除后句柄立即失效
建议在窗口关闭时批量删除所有图形
重复删除不会报错但返回-1

71. imgui.setBitmapShape(handle, bitmap) : 设置位图形状

参数:

参数名类型必填说明
handlestring之前创建的位图形状句柄
bitmapobject新的位图对象(Java对象)

返回值:

返回值类型说明
无返回值

73. imgui.setShapeThickness(handle, thickness) : 设置形状边框厚度

参数:

参数名类型必填说明
handlestring形状句柄(整数)
thicknessnumber边框厚度值(浮点数,必须大于0)

返回值:

返回值类型说明
booleantrue表示设置成功,false表示失败

74. imgui.getWindowPos(windowHandle) : 获取窗口位置和尺寸

参数:

参数名类型必填说明
windowHandlestring目标窗口的句柄(整数)

返回值:

返回值类型说明
table成功时返回包含窗口位置和尺寸的表,结构为x,y,width,height
nil失败时返回nil

注意事项:

注意事项说明
坐标系统以屏幕左上角为原点(0,0)
所有尺寸单位为像素
需要确保传入的窗口句柄有效
如果窗口被最小化或隐藏,可能无法获取正确位置

75. imgui.isSupport() : 检测IMGUI支持状态

参数:

无参数

返回值:

返回值类型说明
booleantrue表示当前环境支持IMGUI
booleanfalse表示当前环境不支持IMGUI

注意事项:

注意事项说明
应在调用其他imgui函数前先检测支持情况
返回false时调用其他imgui函数可能产生未定义行为
典型不支持情况包括在不兼容的Android版本上运行
缺少必要的OpenGL ES3支持或系统内存不足

76. imgui.setColorTheme(style) : 设置imgui颜色主题

参数:

参数名类型必填说明
stylenumber1表示浅色主题,2表示经典主题,其它值表示黑色主题

返回值:

返回值类型说明
booleantrue表示当前环境支持IMGUI
booleanfalse表示当前环境不支持IMGUI

77. imgui.show([touchable], [font], [fontsize]) : 显示UI框架

参数:

参数名类型必填说明
touchableboolean是否允许触摸交互,默认为true
fontstring字体文件路径,默认为系统默认字体
fontsizenumber字体大小,默认为45.0

返回值:

返回值类型说明
booleantrue表示成功显示,false表示显示失败

注意事项:

注意事项说明
参数顺序不影响调用,函数会根据参数类型自动匹配
如果指定的字体文件不存在,将使用默认字体
重复参数类型会导致错误(例如传入两个数字参数)
如果touchable为true,函数不返回直到imgui框架被关闭才会返回

78. imgui.showWindow(config) : 创建并显示独立窗口

参数:

参数名类型必填说明
configtable配置表,包含以下可选字段

配置表字段说明:

字段名类型必填默认值说明
xnumber0窗口X坐标(整数)
ynumber0窗口Y坐标(整数)
widthnumber600窗口宽度(整数)
heightnumber600窗口高度(整数)
hastitlebooleantrue是否显示标题栏
titlestring窗口标题文本
titlecolornumber0xFFFFFFFF标题文字颜色(ARGB格式)
titlebgcolornumber0xFF87CEFA标题栏背景色(ARGB格式)
hasclosebooleantrue是否显示关闭按钮
closecolornumber0xFFFFFFFF关闭按钮颜色(ARGB格式)
hasresizebooleantrue是否显示设置窗口大小按钮
resizecolornumber0xFFFFFFFF设置窗口大小按钮颜色(ARGB格式)
hastogglebooleantrue是否显示窗口收缩按钮
togglecolornumber0xFFFFFFFF设置窗口收缩按钮颜色(ARGB格式)
fontsizenumber100标题字体大小(整数)

返回值:

返回值类型说明
booleantrue表示窗口创建成功,false表示失败

注意事项:

注意事项说明
这个方法和imgui.show不一样
imgui.show是整个屏幕作为画布去渲染创建的窗口
这个函数是创建一个小的窗口作为画布去渲染imgui创建的窗口
默认第一个imgui的窗口是填充满你创建的窗口大小的

79. imgui.createWindow(title, x, y, width, height, showclose) : 创建一个imgui窗口

参数:

参数名类型必填说明
titlestring窗口标题
xnumber窗口左上角相对屏幕的X坐标
ynumber窗口左上角相对屏幕的Y坐标
widthnumber窗口的宽度
heightnumber窗口的高度
showcloseboolean是否显示关闭按钮

返回值:

返回值类型说明
string窗口的句柄

80. imgui.setOnClose(window_handle, callback_function) : 设置窗口关闭回调函数

参数:

参数名类型必填说明
window_handlestring窗口句柄
callback_functionfunction回调函数

返回值:

返回值类型说明
无返回值

注意事项:

注意事项说明
回调函数接收窗口句柄作为参数
可以在回调中调用imgui.destroyWindow销毁窗口
返回false可以阻止关闭(需慎用)

81. imgui.destroyWindow(handle) : 销毁一个imgui窗口

参数:

参数名类型必填说明
handlestring要销毁的窗口句柄(由createWindow创建返回的值)

返回值:

返回值类型说明
无返回值

注意事项:

注意事项说明
销毁窗口后,对应的句柄将失效,不应再使用
建议在窗口关闭回调中使用此函数确保资源释放
重复销毁同一窗口可能导致错误

82. imgui.createVerticalLayout(parent, [width], [height]) : 创建垂直布局容器

参数:

参数名类型必填说明
parentstring父容器/窗口的句柄(整数)
widthnumber布局宽度(浮点数),默认为0,值为-1时表示填满父容器宽度
heightnumber布局高度(浮点数),默认为0,值为-1时表示填满父容器高度

返回值:

返回值类型说明
string新创建的垂直布局句柄(整数)
string失败返回0

注意事项:

注意事项说明
子控件将按照添加顺序垂直排列
当width/height为0时使用自动计算大小
当width/height为-1时填充满父容器
必须先创建父容器再创建子布局

83. imgui.createHorticalLayout(parent, [width], [height]) : 创建水平布局容器

参数:

参数名类型必填说明
parentstring父容器/窗口的句柄(整数)
widthnumber布局宽度(浮点数),默认为0,值为-1时表示填满父容器宽度
heightnumber布局高度(浮点数),默认为0,值为-1时表示填满父容器高度

返回值:

返回值类型说明
string新创建的水平布局句柄(整数)
string失败返回0

注意事项:

注意事项说明
子控件将按照添加顺序水平排列
当width/height为0时使用自动计算大小
当width/height为-1时填充满父容器
必须先创建父容器再创建子布局
注意函数名是HorticalLayout(不是Horizontal)

84. imgui.createTreeBoxLayout(parent, title, width) : 创建树形布局容器

参数:

参数名类型必填说明
parentstring父容器句柄(整数)
titlestring树形框标题文本(字符串)
widthnumber树形框宽度(浮点数,像素单位)

返回值:

返回值类型说明
string成功返回树形框句柄(整数)
nil失败返回nil,可通过imgui.getLastError()获取错误信息

85. imgui.sameLine(handle, spacing) : 设置控件同行布局

参数:

参数名类型必填说明
handlestring控件句柄(整数)
spacingnumber与前一个控件的间距(浮点数,像素单位)

返回值:

返回值类型说明
boolean成功返回true
boolean失败返回false,可通过imgui.getLastError()获取错误信息

注意事项:

注意事项说明
使当前控件与前一个控件在同一行显示
spacing为-1表示系统计算