Как заставить строку меню imgui прикрепляться к верхней части окна SDL? ⇐ C++
Как заставить строку меню imgui прикрепляться к верхней части окна SDL?
У меня есть небольшая игра, написанная на SDL, я пытаюсь добавить верхнюю панель виджетов Imgui в верхнюю часть моего приложения.
void Application::render() { #ifndef НДЕБУГ ImGui_ImplSDLRenderer3_NewFrame(); ImGui_ImplSDL3_NewFrame(); ImGui::NewFrame(); ImGui::Begin("Моя строка меню", NULL, ImGuiWindowFlags_MenuBar ); если (ImGui::BeginMenuBar()) { если (ImGui::BeginMenu("Файл")) { if (ImGui::MenuItem("Открыть..", "Ctrl+O")) { } if (ImGui::MenuItem("Сохранить", "Ctrl+S")) { } if (ImGui::MenuItem("Закрыть", "Ctrl+W")) { } ImGui::EndMenu(); } ImGui::EndMenuBar(); } ImGui::End(); ImGui::Render(); #endif SDL_RenderClear(m_renderer->getRenderer()); SDL_SetRenderTarget(m_renderer->getRenderer(), nullptr); m_stateMachine->рендер(); #ifndef НДЕБУГ ImGui_ImplSDLRenderer3_RenderDrawData( ImGui::GetDrawData()); #endif SDL_RenderPresent(m_renderer->getRenderer()); } Это работает, но Imgui создает другое окно и рисует в нем виджеты. Как сделать так, чтобы оно отображалось вверху существующего окна?
У меня есть небольшая игра, написанная на SDL, я пытаюсь добавить верхнюю панель виджетов Imgui в верхнюю часть моего приложения.
void Application::render() { #ifndef НДЕБУГ ImGui_ImplSDLRenderer3_NewFrame(); ImGui_ImplSDL3_NewFrame(); ImGui::NewFrame(); ImGui::Begin("Моя строка меню", NULL, ImGuiWindowFlags_MenuBar ); если (ImGui::BeginMenuBar()) { если (ImGui::BeginMenu("Файл")) { if (ImGui::MenuItem("Открыть..", "Ctrl+O")) { } if (ImGui::MenuItem("Сохранить", "Ctrl+S")) { } if (ImGui::MenuItem("Закрыть", "Ctrl+W")) { } ImGui::EndMenu(); } ImGui::EndMenuBar(); } ImGui::End(); ImGui::Render(); #endif SDL_RenderClear(m_renderer->getRenderer()); SDL_SetRenderTarget(m_renderer->getRenderer(), nullptr); m_stateMachine->рендер(); #ifndef НДЕБУГ ImGui_ImplSDLRenderer3_RenderDrawData( ImGui::GetDrawData()); #endif SDL_RenderPresent(m_renderer->getRenderer()); } Это работает, но Imgui создает другое окно и рисует в нем виджеты. Как сделать так, чтобы оно отображалось вверху существующего окна?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение