// 亲爱的 ImGui,v1.89.6 预览版
// (主要代码和文档)
// 帮助:
// - 在 http://dearimgui.com/faq 阅读常见问题解答
// - 初学者,请阅读下方的“程序员指南”以获取在代码库中设置 Dear ImGui 的注意事项
// - 在 imgui_demo.cpp 中调用并阅读 ImGui::ShowDemoWindow()。examples/ 文件夹中的所有应用程序都在这样做。
// 请在 imgui.cpp 中阅读详细信息、链接和注释。
// 资源:
// - 常见问题解答 http://dearimgui.com/faq
// - 主页和最新信息 https://github.com/ocornut/imgui
// - 发布版和更新日志 https://github.com/ocornut/imgui/releases
// - 图库 https://github.com/ocornut/imgui/issues/5886(请在那里发布您的截屏/视频!)
// - 维基百科 https://github.com/ocornut/imgui/wiki(有许多有用的内容)
// - 术语表 https://github.com/ocornut/imgui/wiki/Glossary
// - 问题和支持 https://github.com/ocornut/imgui/issues
// 如何入门?
// - 对于首次使用者,如果遇到编译/链接/运行问题,或者遇到加载字体的问题:
// 请在 https://github.com/ocornut/imgui/discussions 发布问题,如果在上述资源中找不到解决方案。
// 由 Omar Cornut 及所有直接或间接贡献者共同开发。
// 有关版权和许可详情,请参阅 LICENSE.txt(标准 MIT 许可证)。
// 该库免费,但需要您的支持来维持开发和维护。
// 企业:您可以通过发票技术支持、维护和赞助合同来支持持续开发。请通过 "contact AT dearimgui.com" 联系。
// 个人:您可以通过捐赠来支持持续开发。请查看 docs/README 或网页。
// 不建议修改 imgui.cpp!这将使您难以更新库。
// 请注意,'ImGui::' 是一个命名空间,您可以从自己的源文件中添加函数到该命名空间中,而无需修改 imgui.h 或 imgui.cpp。您可以包含 imgui_internal.h
// 以访问内部数据结构,但不能保证向前兼容性。在 GitHub 问题跟踪器上讨论您的更改可能会为您找到更好的解决方案或官方支持。
/*
文件索引:
文档
使命宣言
控件指南
程序员指南
首先阅读
如何升级到 Dear ImGui 的新版本
开始集成 Dear ImGui 到您的代码/引擎中
简单应用程序的示例
简单渲染函数的示例
API 重大变更(更新时阅读!)
常见问题解答(FAQ)
在线阅读所有答案:https://www.dearimgui.com/faq,或在 docs/FAQ.md 中使用 Markdown 查看器阅读
代码
(在代码中搜索 "[SECTION]" 以找到相关部分)
// [SECTION] 包含
// [SECTION] 前向声明
// [SECTION] 上下文和内存分配器
// [SECTION] 用户可见的结构(ImGuiStyle、ImGuiIO)
// [SECTION] 杂项助手/实用工具(几何函数)
// [SECTION] 杂项助手/实用工具(字符串、格式化、哈希函数)
// [SECTION] 杂项助手/实用工具(文件函数)
// [SECTION] 杂项助手/实用工具(ImText* 函数)
// [SECTION] 杂项助手/实用工具(颜色函数)
// [SECTION] ImGuiStorage
// [SECTION] ImGuiTextFilter
// [SECTION] ImGuiTextBuffer、ImGuiTextIndex
// [SECTION] ImGuiListClipper
// [SECTION] 样式
// [SECTION] 渲染辅助函数
// [SECTION] 初始化、关闭
// [SECTION] 主要代码(大部分代码!很多内容,需要整理!)
// [SECTION] 输入
// [SECTION] 错误检查
// [SECTION] 布局
// [SECTION] 滚动
// [SECTION] 工具提示
// [SECTION] 弹出窗口
// [SECTION] 键盘/游戏手柄导航
// [SECTION] 拖放
// [SECTION] 日志/捕获
// [SECTION] 设置
// [SECTION] 本地化
// [SECTION] 视口、平台窗口
// [SECTION] 平台相关的辅助函数
// [SECTION] 指标/调试器窗口
// [SECTION] 调试日志窗口
// [SECTION] 其他调试工具(项选择器、堆栈工具)
*/
//-----------------------------------------------------------------------------
// 文档
//-----------------------------------------------------------------------------
/*
使命宣言
易于使用,用于创建代码驱动和数据驱动的工具。
易于使用,用于创建即席短时工具和长寿命、更精心制作的工具。
易于修改和改进。
最小化设置和维护。
最小化用户端的状态存储。
最小化状态同步。
可移植,在目标上运行(主机、手机等)。
高效的运行时和内存消耗。
设计面向开发人员和内容创作者,而不是典型的最终用户!当前的一些弱点包括:
不会展示花哨的外观,不会动画。
有限的布局功能,复杂的布局通常是在代码中精心制作的。
控件指南
鼠标控制
鼠标滚轮:垂直滚动。
SHIFT+鼠标滚轮:水平滚动。
单击 [X]:关闭窗口,在 ImGui::Begin() 中传递 'bool* p_open' 时可用。
单击 ^,双击标题:折叠窗口。
拖动角落/边界:调整窗口大小(双击以自动适应窗口内容)。
在任何空白区域上拖动:移动窗口(除非 io.ConfigWindowsMoveFromTitleBarOnly = true)。
在弹出窗口外部左击:关闭弹出窗口堆栈(在底层弹出窗口上右击:部分关闭弹出窗口堆栈)。
文本编辑器
按住 SHIFT 或拖动鼠标:选择文本。
CTRL+左/右:跳转到单词。
CTRL+Shift+左/右:选择单词。
CTRL+A 或双击:全选。
CTRL+X、CTRL+C、CTRL+V:使用操作系统剪贴板。
CTRL+Z、CTRL+Y:撤销、重做。
ESCAPE:将文本恢复为其原始值。
在 OSX 上,控件会自动调整以匹配标准的 OSX 文本编辑快捷键和行为。
键盘控制
基本:
Tab,SHIFT+Tab:循环遍历可编辑的文本字段。
CTRL+Tab,CTRL+Shift+Tab:循环遍历窗口。
CTRL+Click:将文本输入到滑块或拖动小部件中。
使用 io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard 启用扩展功能:
Tab,SHIFT+Tab:循环遍历每个项。
方向键:使用方向导航在项之间移动。微调值。
方向键 + Alt、Shift:较慢微调,较快微调(使用方向键时)。
Enter:激活项目(最好在可能的情况下使用文本输入)。
Space:激活项目(最好在可能的情况下使用箭头微调)。
ESCAPE:取消激活项目,离开子窗口,关闭弹出窗口。
Page Up,Page Down:上一页,下一页。
Home,End:滚动到顶部,滚动到底部。
Alt:在滚动层和菜单层之间切换。
CTRL+Tab 然后 Ctrl+Arrows:移动窗口。按住 SHIFT 可以调整大小而不是移动。
在设置 ImGuiConfigFlags_NavEnableKeyboard 的情况下输出,
当键盘被占用时,io.WantCaptureKeyboard 标志被设置。
当窗口聚焦且未设置 ImGuiWindowFlags_NoNavInputs 标志时,io.NavActive 为 true。
当导航光标可见时,io.NavVisible 为 true(通常在使用鼠标时会变为 false)。
游戏手柄控制
使用 'io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad' 启用。
在没有鼠标的控制台系统(如 PlayStation、Switch、Xbox)上使用 Dear ImGui 特别有用!
在 http://dearimgui.com/controls_sheets 上下载控制器映射的 PNG/PSD 图片。
后端支持:后端需要:
设置 'io.BackendFlags |= ImGuiBackendFlags_HasGamepad' + 使用 ImGuiKey_Gamepad_XXX 键调用 io.AddKeyEvent/AddKeyAnalogEvent()。
对于模拟值(0.0 到 1.0),后端需要处理死区并相应地重新缩放输入。后端代码可能需要转换原始输入(例如重新映射 0.2..0.9 的原始输入范围到 0.0..1.0 的 imgui 范围等)。
在 1.87 之前,后端使用 io.NavInputs[] 来写入。现在已过时。请改用 io 函数!
如果需要在游戏和 Dear ImGui 界面之间共享输入,最简单的方法是全有或全无,使用组合键切换目标。如果您认为游戏与导航输入共享可以改进,请与我们联系。
远程输入共享和鼠标模拟
PS4/PS5 用户:考虑使用 DualShock 触摸板或备用模拟杆来模拟鼠标光标作为鼠标模拟的备用方案。
主机/平板/手机用户:考虑使用 Synergy 1.x 服务器(在您的 PC 上)+ 在�
熄烛
- 粉丝: 0
- 资源: 4
最新资源
- 基于蒙特卡洛抽样的电动汽车充电负荷计算(matlab代码版) 主要内容:代码主要主要研究的的是大规模电动汽车的蒙特卡洛模拟,包括电动汽车起始充电时间以及每日行使里程的概率密度分布,在此基础上,进一步计
- MATLAB代码:基于粒子群算法的含风光燃储微网优化调度 关键词:微网优化调度 粒子群算法 风光燃储 参考文档:《基于多目标粒子群算法的微电网优化调度-王金全》仅参考部分模型,非完全复现 优势:代码
- kmeans聚类,肘部法确定聚类个数 代码对数据先进行归一化然后聚类 可设定聚类个数范围,根据肘部法选择合适的聚类个数 可求得每类的具体数据 matlab代码,备注清楚,更改为自己的数据和要求即可
- 同步机VSG DFIG双馈风电机组同步机控制,并网端电源分为理想电源或同步发电机 机组1.5MW,采用控制策略如图片所示 (附赠同步机简易模型)
- P3分布参数拟合与ks检验,累计概率密度画图 对数据进行3参数拟合(形状、尺度、位置参数),可设置ks检验的显著性水平 matlab代码,备注清楚,更改为自己的数据即可
- FLAC3D水力压裂例子,可以拿来参考,有单孔和双孔
- 基于高频脉振电压注入的PMSM无传感器控制 无感控制,高频电压注入 1.包括位置观测器构成是带通滤波器加低通滤波器,采用PLL锁相环,是离散模型 2.也有连续模型,用的是龙贝格观测器提取转子位置和转速
- 拉锥光纤,镀膜、耦合、光栅…… Rsoft beamprop,光纤仿真,光子晶体光纤仿真
- 基于floyd算法的路径规划算法matlab代码,求解常见的路径规划问题 内含算法的注释,模块化编程,新手小白可快速入门 佛洛依德算法,路径规划算法,栅格地图
- 二维互相关随机场模拟实践,保姆级教程 基于matlab与flac6.0的乔列斯基分解的中点法模拟岩土体互相关随机场 自相关函数可以选择:指数型、高斯型、二阶自回归型、指数余弦型、三角型自相关函数 案例
- STM32环形串口队列程序 大数据串口收发 实时不丢包 串口程序平常产品开发中编写或移植的程序并亲自测试通过,均为工程文件格式,可直接编译使用 该程序为大数据量吞吐的串口收发例程,中断接收,边收边
- MCGS与三菱变频器通讯基于MODBUS-RTU程序 ~ 可以通过触摸屏控制变频器正反转,运行停止,还能监视变频器的运行频率,输出频率,输出电压,输出电流以及转速 MCGS嵌入版7.7软件打开
- svr支持向量机回归预测 案例提供数据进行归一化处理,对训练数据训练,对测试集预测,并计算mae、rmse、R2、mre等误差指标 matlab代码,备注详细,根据自己需要修改案例数据即可
- pytho面试资源库(含基础题和面试真题带答案)
- stm32低压无感BLDC方波控制方案 MCU是ST32M0核 负载的ADC反电动势采样 1.启动传统三段式,强拖的步数少,启动快,任意电机基本可以顺利启动切闭环; 2.配有英非凌电感法入算法; 3
- 永磁同步电机滑模控制的直接转矩控制的matlab仿真 SMC DTC直接转矩控制加滑膜控制 转速环调节器 磁链和转矩调节器 磁链和转矩的计算SVPWM矢量控制 含有报告
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈