История изменений
Исправление gagarin0, (текущая версия) :
в итоге да, я хочу получить WM
но пока задача стоит написать приложение, которое может отображать другое приложение, и пропихивать в него события
я так понимаю что мне нужно использовать что-то вроде
imgui + xlib
что-то в духе такого
https://github.com/rdbo/imgui-overlay/blob/master/overlay/main.cpp
int render_callback(struct window_info *winfo, GLFWwindow *glfw_window, void *arg) {
Display *display = (Display *)arg;
if (!init) {
ImGuiContext *ctx = ImGui::CreateContext();
ImGui::SetCurrentContext(ctx);
ImGui_ImplGlfw_InitForOpenGL(glfw_window, true);
ImGui_ImplOpenGL2_Init();
init = true;
}
ImGui_ImplOpenGL2_NewFrame();
ImGui_ImplGlfw_NewFrame();
ImGui::NewFrame();
glfwSetWindowAttrib(glfw_window, GLFW_MOUSE_PASSTHROUGH, GLFW_FALSE);
glfwSetWindowAttrib(glfw_window, GLFW_MOUSE_PASSTHROUGH, GLFW_TRUE);
ImGui::Render();
int display_w, display_h;
glfwGetFramebufferSize(glfw_window, &display_w, &display_h);
glViewport(0, 0, display_w, display_h);
glClearColor(0, 0, 0, 0);
glClear(GL_COLOR_BUFFER_BIT);
ImGui_ImplOpenGL2_RenderDrawData(ImGui::GetDrawData())
}
Исходная версия gagarin0, :
в итоге да, я хочу получить WM
но пока задача стоит написать приложение, которое может отображать другое приложение, и пропихивать в него события
я так понимаю что мне нужно использовать что-то вроде
imgui + xlib