SASA 扩展imgui

界面 ImGui

ImGui 扩展全表(87 条)

sa · 扩展 imgui · 需 CLEO + ImGui 相关插件

源:sa.jsonimgui22002256)。必须 BeginFrame / EndFrame 成对。

写法见 Lua / Redux

典型结构

imguiBeginFrame("my_ui")
local open = imguiBegin("demo", true, false, false, false, false)
if open then
  imguiText("hello")
  if imguiButton("ok", 80.0, 24.0) then
  end
end
imguiEnd()
imguiEndFrame()

帧 / 窗口

IMGUI_BEGIN_FRAME · 2200
ImGui.BeginFrame

开一帧独立 UI 空间;必须配对 2201

2200 IMGUI_BEGIN_FRAME
in: uniqueId
IMGUI_END_FRAME · 2201
ImGui.EndFrame

结束 2200 帧。

2201 IMGUI_END_FRAME
IMGUI_BEGIN · 2202
ImGui.Begin

开窗口;返回当前是否打开。

2202 IMGUI_BEGIN
in: windowName, state, noTitleBar, noResize, noMove, autoResize
out: state
IMGUI_END · 2203
ImGui.End

关窗口,配对 2202

2203 IMGUI_END

菜单 / 子区 / 页签

IMGUI_BEGIN_MAINMENUBAR · 2204
ImGui.BeginMainMenuBar

主菜单栏开始。

2204 IMGUI_BEGIN_MAINMENUBAR
in: uniqueId
IMGUI_END_MAINMENUBAR · 2205
ImGui.EndMainMenuBar

主菜单栏结束。

2205 IMGUI_END_MAINMENUBAR
IMGUI_BEGIN_CHILD · 2206
ImGui.BeginChild

子区域开始。

2206 IMGUI_BEGIN_CHILD
in: uniqueId
IMGUI_END_CHILD · 2207
ImGui.EndChild

子区域结束。

2207 IMGUI_END_CHILD
IMGUI_TABS · 2208
ImGui.Tabs

逗号分隔页签名;返回当前可见页下标。

2208 IMGUI_TABS
in: name, tabNames
out: index
IMGUI_COLLAPSING_HEADER · 2209
ImGui.CollapsingHeader

折叠标题。用在 if 里。

2209 IMGUI_COLLAPSING_HEADER
in: label
IMGUI_BEGIN_CHILDEX · 2252
ImGui.BeginChildEx

扩展版子窗口。

2252 IMGUI_BEGIN_CHILDEX
in: uniqueId, width, height, border, flags
IMGUI_BEGIN_DISABLED · 2253
ImGui.BeginDisabled

禁用块开始。

2253 IMGUI_BEGIN_DISABLED
in: disabled
IMGUI_END_DISABLED · 2254
ImGui.EndDisabled

禁用块结束。

2254 IMGUI_END_DISABLED
IMGUI_BEGIN_MENU · 2255
ImGui.BeginMenu

菜单块开始。用在 if 里。

2255 IMGUI_BEGIN_MENU
in: label, enabled
IMGUI_END_MENU · 2256
ImGui.EndMenu

菜单块结束。

2256 IMGUI_END_MENU

窗口位置 / 尺寸

IMGUI_SET_WINDOW_POS · 220A
ImGui.SetWindowPos

设当前窗口位置(须在 Begin…End 内)。

220A IMGUI_SET_WINDOW_POS
in: x, y, imGuiCond
IMGUI_SET_WINDOW_SIZE · 220B
ImGui.SetWindowSize

设当前窗口大小(Begin…End 内)。

220B IMGUI_SET_WINDOW_SIZE
in: width, height, imGuiCond
IMGUI_SET_NEXT_WINDOW_POS · 220C
ImGui.SetNextWindowPos

下一个 Begin 窗口位置。

220C IMGUI_SET_NEXT_WINDOW_POS
in: x, y, imGuiCond
IMGUI_SET_NEXT_WINDOW_SIZE · 220D
ImGui.SetNextWindowSize

设下一个 Begin 窗口大小。

220D IMGUI_SET_NEXT_WINDOW_SIZE
in: width, height, imGuiCond
IMGUI_SET_NEXT_WINDOW_TRANSPARENCY · 224F
ImGui.SetNextWindowTransparency

下一窗口背景透明度 0–1。

224F IMGUI_SET_NEXT_WINDOW_TRANSPARENCY
in: alpha

文本

IMGUI_TEXT · 220E
ImGui.Text

文本行。

220E IMGUI_TEXT
in: text
IMGUI_TEXT_CENTERED · 220F
ImGui.TextCentered

居中文本。

220F IMGUI_TEXT_CENTERED
in: text
IMGUI_TEXT_DISABLED · 2210
ImGui.TextDisabled

灰色禁用色文本。

2210 IMGUI_TEXT_DISABLED
in: text
IMGUI_TEXT_WRAPPED · 2211
ImGui.TextWrapped

自动换行文本。

2211 IMGUI_TEXT_WRAPPED
in: text
IMGUI_TEXT_COLORED · 2212
ImGui.TextColored

RGBA(0–1) 着色文本。

2212 IMGUI_TEXT_COLORED
in: text, red, green, blue, alpha
IMGUI_BULLET_TEXT · 2213
ImGui.TextWithBullet

带圆点的文本。

2213 IMGUI_BULLET_TEXT
in: text
IMGUI_BULLET · 2214
ImGui.Bullet

只画一个圆点。

2214 IMGUI_BULLET

控件

IMGUI_CHECKBOX · 2215
ImGui.Checkbox

复选框;返回勾选状态。

2215 IMGUI_CHECKBOX
in: label, isChecked
out: state
IMGUI_COMBO · 2216
ImGui.ComboBox

下拉框;选项逗号分隔。

2216 IMGUI_COMBO
in: name, options, selection
out: selected
IMGUI_SET_TOOLTIP · 2217
ImGui.SetTooltip

悬停提示文本。

2217 IMGUI_SET_TOOLTIP
in: text
IMGUI_BUTTON · 2218
ImGui.Button

按钮;按下时条件真。用在 if 里。

2218 IMGUI_BUTTON
in: buttonName, width, height
IMGUI_IMAGE_BUTTON · 2219
ImGui.ButtonImage

图片按钮。用在 if 里。

2219 IMGUI_IMAGE_BUTTON
in: name, image, width, height
IMGUI_INVISIBLE_BUTTON · 221A
ImGui.ButtonInvisible

隐形按钮(占位点击区)。用在 if 里。

221A IMGUI_INVISIBLE_BUTTON
in: buttonName, width, height
IMGUI_COLOR_BUTTON · 221B
ImGui.ButtonColored

自定义色按钮(RGBA 0–1)。用在 if 里。

221B IMGUI_COLOR_BUTTON
in: buttonName, red, green, blue, alpha, width, height
IMGUI_ARROW_BUTTON · 221C
ImGui.ButtonArrow

方向箭头按钮。用在 if 里。

221C IMGUI_ARROW_BUTTON
in: name, imGuiDir
IMGUI_SLIDER_INT · 221D
ImGui.SliderInt

整数滑条;返回当前值。

221D IMGUI_SLIDER_INT
in: label, initValue, min, max
out: val
IMGUI_SLIDER_FLOAT · 221E
ImGui.SliderFloat

浮点滑条。

221E IMGUI_SLIDER_FLOAT
in: label, initValue, min, max
out: val
IMGUI_INPUT_INT · 221F
ImGui.InputInt

整数输入框。

221F IMGUI_INPUT_INT
in: label, initValue, min, max
out: val
IMGUI_INPUT_FLOAT · 2220
ImGui.InputFloat

浮点输入框。

2220 IMGUI_INPUT_FLOAT
in: label, initValue, min, max
out: val
IMGUI_INPUT_TEXT · 2221
ImGui.InputText

文本输入;返回串。

2221 IMGUI_INPUT_TEXT
in: label
out: text
IMGUI_RADIO_BUTTON · 2222
ImGui.RadioButton

单选;selectedBtn 当前选中号,btnNo 本钮号,返回选中号。

2222 IMGUI_RADIO_BUTTON
in: label, selectedBtn, btnNo
out: val
IMGUI_COLOR_PICKER · 2223
ImGui.ColorPicker

颜色选择;输出 RGBA 0–255。

2223 IMGUI_COLOR_PICKER
in: label
out: red, green, blue, alpha
IMGUI_MENU_ITEM · 2224
ImGui.MenuItem

菜单项。用在 if 里。

2224 IMGUI_MENU_ITEM
in: text, selected, enabled
IMGUI_SELECTABLE · 2225
ImGui.Selectable

可选行。用在 if 里。

2225 IMGUI_SELECTABLE
in: text, selected

布局

IMGUI_DUMMY · 2226
ImGui.Dummy

空白占位(间距)。

2226 IMGUI_DUMMY
in: width, height
IMGUI_SAMELINE · 2227
ImGui.SameLine

下一控件同一行。

2227 IMGUI_SAMELINE
IMGUI_NEWLINE · 2228
ImGui.NewLine

强制换行。

2228 IMGUI_NEWLINE
IMGUI_COLUMNS · 2229
ImGui.Columns

分 N 列;结束用 columns(1)

2229 IMGUI_COLUMNS
in: count
IMGUI_NEXT_COLUMN · 222A
ImGui.NextColumn

下一列。

222A IMGUI_NEXT_COLUMN
IMGUI_SPACING · 222B
ImGui.Spacing

控件间距。

222B IMGUI_SPACING
IMGUI_SEPARATOR · 222C
ImGui.Separator

水平分隔线。

222C IMGUI_SEPARATOR
IMGUI_PUSH_ITEM_WIDTH · 222D
ImGui.PushItemWidth

压入后续控件宽度。

222D IMGUI_PUSH_ITEM_WIDTH
in: width
IMGUI_POP_ITEM_WIDTH · 222E
ImGui.PopItemWidth

弹出 222D 宽度。

222E IMGUI_POP_ITEM_WIDTH
IMGUI_SET_COLUMN_WIDTH · 2251
ImGui.SetColumnWidth

设列宽。

2251 IMGUI_SET_COLUMN_WIDTH
in: index, width

控件状态 / 写值

IMGUI_IS_ITEM_ACTIVE · 222F
ImGui.IsItemActive

上一控件是否 active。用在 if 里。

222F IMGUI_IS_ITEM_ACTIVE
in: uniqueId
IMGUI_IS_ITEM_CLICKED · 2230
ImGui.IsItemClicked

上一控件是否点击。用在 if 里。

2230 IMGUI_IS_ITEM_CLICKED
in: uniqueId
IMGUI_IS_ITEM_FOCUSED · 2231
ImGui.IsItemFocused

上一控件是否聚焦。用在 if 里。

2231 IMGUI_IS_ITEM_FOCUSED
in: uniqueId
IMGUI_IS_ITEM_HOVERED · 2232
ImGui.IsItemHovered

上一控件是否悬停。用在 if 里。

2232 IMGUI_IS_ITEM_HOVERED
in: uniqueId
IMGUI_SET_ITEM_INT · 2233
ImGui.SetItemValueInt

写 int 输入/滑条的值。

2233 IMGUI_SET_ITEM_INT
in: id, val
IMGUI_SET_ITEM_FLOAT · 2234
ImGui.SetItemValueFloat

写 float 输入/滑条的值。

2234 IMGUI_SET_ITEM_FLOAT
in: id, val
IMGUI_SET_ITEM_TEXT · 2235
ImGui.SetItemValueText

写文本输入的值。

2235 IMGUI_SET_ITEM_TEXT
in: id, val

图片

IMGUI_SET_IMAGE_BG_COLOR · 2236
ImGui.SetImageBgColor

设图片背景色(RGBA 0–1)。

2236 IMGUI_SET_IMAGE_BG_COLOR
in: r, g, b, a
IMGUI_SET_IMAGE_TINT_COLOR · 2237
ImGui.SetImageTintColor

设图片着色。

2237 IMGUI_SET_IMAGE_TINT_COLOR
in: r, g, b, a
IMGUI_LOAD_IMAGE · 2238
ImGui.LoadImage

从磁盘加载图(相对 CLEO 目录)。

2238 IMGUI_LOAD_IMAGE
in: path
out: image
IMGUI_FREE_IMAGE · 2239
ImGui.FreeImage

释放已加载图。

2239 IMGUI_FREE_IMAGE
in: image

样式

IMGUI_PUSH_STYLE_VAR · 223A
ImGui.PushStyleVar

压入单个 float 风格变量。

223A IMGUI_PUSH_STYLE_VAR
in: imGuiStyleVar, val
IMGUI_PUSH_STYLE_VAR2 · 223B
ImGui.PushStyleVar2

压入二维风格变量。

223B IMGUI_PUSH_STYLE_VAR2
in: imGuiStyleVar, x, y
IMGUI_PUSH_STYLE_COLOR · 223C
ImGui.PushStyleColor

压入颜色(RGBA 0–255)。

223C IMGUI_PUSH_STYLE_COLOR
in: imGuiCol, r, g, b, a
IMGUI_POP_STYLE_VAR · 223D
ImGui.PopStyleVar

弹出 count 个 style var。

223D IMGUI_POP_STYLE_VAR
in: count
IMGUI_POP_STYLE_COLOR · 223E
ImGui.PopStyleColor

弹出 count 个 style color。

223E IMGUI_POP_STYLE_COLOR
in: count

DrawList

IMGUI_GET_FOREGROUND_DRAWLIST · 223F
ImGui.GetForegroundDrawList

前景 draw list 指针。

223F IMGUI_GET_FOREGROUND_DRAWLIST
out: drawList
IMGUI_GET_BACKGROUND_DRAWLIST · 2240
ImGui.GetBackgroundDrawList

背景 draw list。

2240 IMGUI_GET_BACKGROUND_DRAWLIST
out: drawList
IMGUI_GET_WINDOW_DRAWLIST · 2241
ImGui.GetWindowDrawlist

当前窗 draw list。

2241 IMGUI_GET_WINDOW_DRAWLIST
out: drawList
IMGUI_DRAWLIST_ADD_TEXT · 2242
ImGui.AddText

在 draw list 上画字。

2242 IMGUI_DRAWLIST_ADD_TEXT
in: drawList, posX, posY, r, g, b, a, text
IMGUI_DRAWLIST_ADD_LINE · 2243
ImGui.AddLine

在 draw list 上画线。

2243 IMGUI_DRAWLIST_ADD_LINE
in: drawList, p1X, p1Y, p2X, p2Y, r, g, b, a, thickness

查询 / 杂项

GET_FRAMERATE · 2244
Game.GetFramerate

游戏 FPS。

2244 GET_FRAMERATE
out: fps
IMGUI_GET_VERSION · 2245
ImGui.GetVersion

ImGui 版本号。

2245 IMGUI_GET_VERSION
out: version
IMGUI_GET_PLUGIN_VERSION · 2246
ImGui.GetPluginVersion

ImGuiRedux 插件版本。

2246 IMGUI_GET_PLUGIN_VERSION
out: version
IMGUI_SET_CURSOR_VISIBLE · 2247
ImGui.SetCursorVisible

显示/隐藏光标。

2247 IMGUI_SET_CURSOR_VISIBLE
in: show
IMGUI_GET_FRAME_HEIGHT · 2248
ImGui.GetFrameHeight

帧高度。

2248 IMGUI_GET_FRAME_HEIGHT
out: height
IMGUI_GET_WINDOW_POS · 2249
ImGui.GetWindowPos

窗口屏幕坐标。

2249 IMGUI_GET_WINDOW_POS
in: uniqueId
out: x, y
IMGUI_GET_WINDOW_SIZE · 224A
ImGui.GetWindowSize

窗口宽高。

224A IMGUI_GET_WINDOW_SIZE
in: uniqueId
out: width, height
IMGUI_CALC_TEXT_SIZE · 224B
ImGui.CalcTextSize

测文字宽高。

224B IMGUI_CALC_TEXT_SIZE
in: text
out: width, height
IMGUI_GET_WINDOW_CONTENT_REGION_WIDTH · 224C
ImGui.GetWindowContentRegionWidth

内容区宽度。

224C IMGUI_GET_WINDOW_CONTENT_REGION_WIDTH
in: uniqueId
out: width
IMGUI_GET_SCALING_SIZE · 224D
ImGui.GetScalingSize

按窗口尺寸算缩放因子。

224D IMGUI_GET_SCALING_SIZE
in: uniqueId, count, spacing
out: x, y
IMGUI_GET_DISPLAY_SIZE · 224E
ImGui.GetDisplaySize

显示宽高。

224E IMGUI_GET_DISPLAY_SIZE
out: width, height
IMGUI_SET_MESSAGE · 2250
ImGui.SetMessage

左上角短消息(无 showTextBox 时好用)。

2250 IMGUI_SET_MESSAGE
in: text

覆盖

状态说明
本页22002256 全表(与 sa.json imgui 对齐)
装载CLEO + ImGui/ImGuiRedux 类插件

成对

BeginFrame/EndFrameBegin/End、菜单栏/子区/菜单/Disabled 都要成对,缺 End* 会崩或 UI 串层。

进度

imgui 全量已齐(87 条)。

On this page