• ImGui-imgui实例解析之ShowStyleEditor-Colors


    ImGui-imgui实例解析之ShowStyleEditor-Colors

    没有明白是什么意思:
    LogBegin(ImGuiLogType_TTY, auto_open_depth);
    ImGui::LogText("ImVec4* colors = ImGui::GetStyle().Colors;" IM_NEWLINE);
    ImGui::LogFinish();
    颜色提取:
    for (int i = 0; i < ImGuiCol_COUNT; i++)
    {
    const ImVec4& col = style.Colors[i];
    const char* name = ImGui::GetStyleColorName(i);
    if (!output_only_modified || memcmp(&col, &ref->Colors[i], sizeof(ImVec4)) != 0)
    ImGui::LogText("colors[ImGuiCol_%s]%*s= ImVec4(%.2ff, %.2ff, %.2ff, %.2ff);" IM_NEWLINE,
    name, 23 - (int)strlen(name), "", col.x, col.y, col.z, col.w);
    }
    文件过虑器:
    static ImGuiTextFilter filter;
    filter.Draw("Filter colors", ImGui::GetFontSize() * 16);
    单选组:TMD还是没有明白,为什么这就是选中的,艹。
    if (ImGui::RadioButton("Opaque", alpha_flags == ImGuiColorEditFlags_None))
    {
    alpha_flags = ImGuiColorEditFlags_None;
    }
    if (ImGui::RadioButton("Alpha", alpha_flags == ImGuiColorEditFlags_AlphaPreview))
    {
    alpha_flags = ImGuiColorEditFlags_AlphaPreview;
    }
    if (ImGui::RadioButton("Both", alpha_flags == ImGuiColorEditFlags_AlphaPreviewHalf))
    {
    alpha_flags = ImGuiColorEditFlags_AlphaPreviewHalf;
    }
    增加一个区域:真TMD的长呀。
    ImGui::BeginChild("##colors", ImVec2(0, 0), true,
    ImGuiWindowFlags_AlwaysVerticalScrollbar |
    ImGuiWindowFlags_AlwaysHorizontalScrollbar |
    ImGuiWindowFlags_NavFlattened);
    结束区域:
    ImGui::EndChild();// 需要和ImGui::BeginChild成对出现。
    以颜色的名字,过虑颜色:
    for (int i = 0; i < ImGuiCol_COUNT; i++)
    {
    const char* name = ImGui::GetStyleColorName(i);
    if (!filter.PassFilter(name))
    continue;
    ImGui::PushID(i);
    ImGui::ColorEdit4("##color", (float*)&style.Colors[i], ImGuiColorEditFlags_AlphaBar | alpha_flags);
    if (memcmp(&style.Colors[i], &ref->Colors[i], sizeof(ImVec4)) != 0)
    {
    // Tips: in a real user application, you may want to merge and use an icon font into the main font,
    // so instead of "Save"/"Revert" you'd use icons!
    // Read the FAQ and docs/FONTS.md about using icon fonts. It's really easy and super convenient!
    ImGui::SameLine(0.0f, style.ItemInnerSpacing.x); if (ImGui::Button("Save")) { ref->Colors[i] = style.Colors[i]; }
    ImGui::SameLine(0.0f, style.ItemInnerSpacing.x); if (ImGui::Button("Revert")) { style.Colors[i] = ref->Colors[i]; }
    }
    ImGui::SameLine(0.0f, style.ItemInnerSpacing.x);
    ImGui::TextUnformatted(name);// 没明白是什么意思,也没去试。
    ImGui::PopID();
    }
    颜色编辑器:
    ImGui::ColorEdit4("##color", (float*)&style.Colors[i], ImGuiColorEditFlags_AlphaBar | alpha_flags);

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

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

  • 相关阅读:
    find排除目录
    rm删除文件时排除特定文件
    聚集索引与非聚集索引
    聚集索引
    Union和Union all的区别
    delete、truncate与drop的区别
    apt-get 总结2
    apt-get 依赖修复
    apt-get 总结
    大端 小端
  • 原文地址:https://www.cnblogs.com/FKdelphi/p/15250493.html
Copyright © 2020-2023  润新知