| // dear imgui: "null" example application | |
| // (compile and link imgui, create context, run headless with NO INPUTS, NO GRAPHICS OUTPUT) | |
| // This is useful to test building, but you cannot interact with anything here! | |
| #include "imgui.h" | |
| #include <stdio.h> | |
| // For imgui_impl_null: use relative filename + embed implementation directly by including the .cpp file. | |
| // This is to simplify casual building of this example from all sorts of test scripts. | |
| #include "../../backends/imgui_impl_null.h" | |
| #include "../../backends/imgui_impl_null.cpp" | |
| int main(int, char**) | |
| { | |
| IMGUI_CHECKVERSION(); | |
| ImGui::CreateContext(); | |
| ImGuiIO& io = ImGui::GetIO(); | |
| // Setup Dear ImGui style | |
| ImGuiStyle& style = ImGui::GetStyle(); | |
| ImGui::StyleColorsDark(); | |
| //ImGui::StyleColorsLight(); | |
| //style.FontSizeBase = 16.0f; // Default to 13.0f when unspecified, which allows crisp legacy font for non-4K screens. | |
| style.FrameRounding = 3.0f; | |
| style.GrabRounding = 3.0f; | |
| ImGui_ImplNullPlatform_Init(); | |
| ImGui_ImplNullRender_Init(); | |
| for (int n = 0; n < 20; n++) | |
| { | |
| printf("NewFrame() %d\n", n); | |
| ImGui_ImplNullPlatform_NewFrame(); | |
| ImGui_ImplNullRender_NewFrame(); | |
| ImGui::NewFrame(); | |
| static float f = 0.0f; | |
| ImGui::Text("Hello, world!"); | |
| ImGui::SliderFloat("float", &f, 0.0f, 1.0f); | |
| ImGui::Text("Application average %.3f ms/frame (%.1f FPS)", 1000.0f / io.Framerate, io.Framerate); | |
| ImGui::ShowDemoWindow(nullptr); | |
| ImGui::Render(); | |
| } | |
| printf("DestroyContext()\n"); | |
| ImGui_ImplNullRender_Shutdown(); | |
| ImGui_ImplNullPlatform_Shutdown(); | |
| ImGui::DestroyContext(); | |
| return 0; | |
| } |