zoukankan      html  css  js  c++  java
  • ImGui-imgui实例解析之ShowDemoWindow

     

    imgui实例解析之ShowDemoWindow

    实例入口:实例的总入口。
    ShowDemoWindow
    断言:判断IMGUI上下文是否正常,如果不正常后面的函数将全部报错,所以在此断言。
    IM_ASSERT(ImGui::GetCurrentContext() != NULL && "Missing dear imgui context. Refer to examples app!");
    ini文件:如果.ini文件中没有数据,我们将指定默认位置/大小。
    const ImGuiViewport* main_viewport = ImGui::GetMainViewport();
    设置位置
    ImGui::SetNextWindowPos(ImVec2(main_viewport->WorkPos.x + 650, main_viewport->WorkPos.y + 20), ImGuiCond_FirstUseEver);
    设置大小:
    ImGui::SetNextWindowSize(ImVec2(550, 680), ImGuiCond_FirstUseEver);
    主窗体:窗体标题也是这个设置的。
    if (!ImGui::Begin("Dear ImGui Demo", p_open, window_flags))
    {
    // Early out if the window is collapsed, as an optimization.
    ImGui::End();
    return;
    }
    设置宽度:
    ImGui::PushItemWidth(ImGui::GetFontSize() * -12);
    // 例如,将2/3的空间用于小部件,1/3的空间用于标签(右对齐)
    // ImGui::PushItemWidth(-ImGui::GetWindowWidth() * 0.35f);
    增加菜单工具条:
    if (ImGui::BeginMenuBar())
    {
    // 例如:ImGui::BeginMenu("Menu")
    ImGui::EndMenuBar();
    }
    增加菜单头:
    if (ImGui::BeginMenu("Menu"))
    {
    // 例如:ImGui::MenuItem("Main menu bar", NULL, &show_app_main_menu_bar);
    ImGui::EndMenu();
    }
    增加菜单项:
    ImGui::MenuItem("Main menu bar", NULL, &show_app_main_menu_bar);
    增加LABEL:
    ImGui::Text("dear imgui says hello. (%s)", IMGUI_VERSION);
    增加间距:
    ImGui::Spacing();
    增加折叠标题:
    if (ImGui::CollapsingHeader("Configuration"))
    {
    }
    增加树节点:
    if (ImGui::TreeNode("Style"))
    {
    ImGui::ShowStyleEditor();// 调用IMGUI函数显示设置
    ImGui::TreePop();// 树节点结束
    ImGui::Separator();// 分离器,就是除最后一个节点外,之前增加的节点都增加一个。
    }
    增加帮助标记:
    HelpMarker("The same contents can be accessed in 'Tools->Style Editor' or by calling the ShowStyleEditor() function.");
    获取IO:
    ImGuiIO& io = ImGui::GetIO();
    实例结束:
    ImGui::PopItemWidth();
    ImGui::End();

    作者:疯狂Delphi
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.

    欢迎关注我,一起进步!扫描下方二维码即可加我

  • 相关阅读:
    通过PowerShell发送TCP请求
    移动端h5全屏body背景图底部未到底bug
    前端开发工具——utils
    微信公众号网页开发——授权登录,js安全域名,jssdk使用
    移动端开发——移动端遮罩层滚动防穿透body解决方案
    js实现cookie有效期至当次日凌晨
    js获取数组中任意一项
    mysql连接错误,error1251解决方式
    Vue packages version mismatch
    js实现拖动效果
  • 原文地址:https://www.cnblogs.com/FKdelphi/p/15250019.html
Copyright © 2011-2022 走看看