31 auto context = ::ImGui::CreateContext();
33 imguiThemes::embraceTheDarkness();
35 ImGuiIO &io = ::ImGui::GetIO();
36 io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard;
38 io.ConfigFlags |= ImGuiConfigFlags_DockingEnable;
39 io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable;
43 ImGuiStyle &style = ::ImGui::GetStyle();
44 if (io.ConfigFlags & ImGuiConfigFlags_ViewportsEnable)
47 style.Colors[ImGuiCol_WindowBg].w = 0.f;
48 style.Colors[ImGuiCol_DockingEmptyBg].w = 0.f;
52 ImGui_ImplGlfw_InitForOpenGL(pikaContext.
wind,
true);
53 ImGui_ImplOpenGL3_Init(
"#version 330");
55 ImGui_ImplSDL2_InitForSDLRenderer(pikaContext.
wind, pikaContext.renderer );
56 ImGui_ImplSDLRenderer2_Init(pikaContext.renderer);
65 io.Fonts->AddFontFromFileTTF(SAMURAI_RESOURCES_PATH
"arial.ttf", 16);
69 config.MergeMode =
true;
70 config.GlyphMinAdvanceX = 16.0f;
71 static const ImWchar icon_ranges[] = {ICON_MIN_FK, ICON_MAX_FK, 0};
72 io.Fonts->AddFontFromFileTTF(SAMURAI_RESOURCES_PATH
"fontawesome-webfont.ttf", 16.0f, &config, icon_ranges);
75 ImVector<ImWchar> ranges;
76 ImFontGlyphRangesBuilder builder;
77 builder.AddChar(0xf016);
78 builder.AddChar(0xf114);
79 builder.BuildRanges(&ranges);
81 io.Fonts->AddFontFromFileTTF(SAMURAI_RESOURCES_PATH
"fontawesome-webfont.ttf", 150, 0, ranges.Data);
114 int display_w = 0, display_h = 0;
117 glfwGetFramebufferSize(pikaContext.
wind, &display_w, &display_h);
118 glViewport(0, 0, display_w, display_h);
119 ImGui_ImplOpenGL3_RenderDrawData(::ImGui::GetDrawData());
121 SDL_GetWindowSize(pikaContext.
wind, &display_w, &display_h);
122 SDL_Rect viewport{0,0,display_w,display_h};
123 SDL_RenderSetViewport(pikaContext.renderer, &viewport);
124 ImGui_ImplSDLRenderer2_RenderDrawData(ImGui::GetDrawData());
127 ImGuiIO &io = ::ImGui::GetIO();
132 if (io.ConfigFlags & ImGuiConfigFlags_ViewportsEnable)
139 ::ImGui::UpdatePlatformWindows();
140 ::ImGui::RenderPlatformWindowsDefault();
samurai::memory::CustomAllocator imguiAllocator
ImGuiContext * ImGuiContext
glfwMakeContextCurrent_t * glfwMakeContextCurrentPtr