1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
   | #include "imgui.h" #include "imgui_impl_glfw.h" #include "imgui_impl_opengl2.h" #include <stdio.h> #include <GLFW/glfw3.h>
  static void glfw_error_callback(int error, const char* description) {     fprintf(stderr, "Glfw Error %d: %s\n", error, description); }
  int main(int, char**) {          glfwSetErrorCallback(glfw_error_callback);     if (!glfwInit())         return 1;     GLFWwindow* window = glfwCreateWindow(1280, 720, "Dear ImGui GLFW+OpenGL2 example", NULL, NULL);     if (window == NULL)         return 1;     glfwMakeContextCurrent(window);     glfwSwapInterval(1); 
           IMGUI_CHECKVERSION();     ImGui::CreateContext();     ImGuiIO& io = ImGui::GetIO(); (void)io;
           ImGui::StyleColorsDark();
           ImGui_ImplGlfw_InitForOpenGL(window, true);     ImGui_ImplOpenGL2_Init();
           ImVec4 clear_color = ImVec4(0.45f, 0.55f, 0.60f, 1.00f);
           while (!glfwWindowShouldClose(window))     {         glfwPollEvents();
                   ImGui_ImplOpenGL2_NewFrame();         ImGui_ImplGlfw_NewFrame();         ImGui::NewFrame();
                   ImGui::Render();         int display_w, display_h;         glfwGetFramebufferSize(window, &display_w, &display_h);         glViewport(0, 0, display_w, display_h);         glClearColor(clear_color.x * clear_color.w, clear_color.y * clear_color.w, clear_color.z * clear_color.w, clear_color.w);         glClear(GL_COLOR_BUFFER_BIT);
          ImGui_ImplOpenGL2_RenderDrawData(ImGui::GetDrawData());
          glfwMakeContextCurrent(window);         glfwSwapBuffers(window);     }
           ImGui_ImplOpenGL2_Shutdown();     ImGui_ImplGlfw_Shutdown();     ImGui::DestroyContext();
      glfwDestroyWindow(window);     glfwTerminate();
      return 0; }
 
  |