mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 21:21:06 +01:00 
			
		
		
		
	OpenGL/DirextX examples: comments and tweaks.
This commit is contained in:
		| @@ -168,12 +168,10 @@ LRESULT WINAPI MsgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) | |||||||
|             io.AddInputCharacter((unsigned short)wParam); |             io.AddInputCharacter((unsigned short)wParam); | ||||||
|         return true; |         return true; | ||||||
|     case WM_DESTROY: |     case WM_DESTROY: | ||||||
|         { |  | ||||||
|         Cleanup(); |         Cleanup(); | ||||||
|         PostQuitMessage(0); |         PostQuitMessage(0); | ||||||
|         return 0; |         return 0; | ||||||
|     } |     } | ||||||
|     } |  | ||||||
|     return DefWindowProc(hWnd, msg, wParam, lParam); |     return DefWindowProc(hWnd, msg, wParam, lParam); | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -310,10 +308,12 @@ int WINAPI wWinMain(HINSTANCE hInst, HINSTANCE, LPWSTR, int) | |||||||
|          |          | ||||||
|         UpdateImGui(); |         UpdateImGui(); | ||||||
|  |  | ||||||
|         // Create a simple window |  | ||||||
|         // Tip: if we don't call ImGui::Begin()/ImGui::End() the widgets appears in a window automatically called "Debug" |  | ||||||
|         static bool show_test_window = true; |         static bool show_test_window = true; | ||||||
|         static bool show_another_window = false; |         static bool show_another_window = false; | ||||||
|  |  | ||||||
|  |         // 1. Show a simple window | ||||||
|  |         // Tip: if we don't call ImGui::Begin()/ImGui::End() the widgets appears in a window automatically called "Debug" | ||||||
|  |         { | ||||||
|             static float f; |             static float f; | ||||||
|             ImGui::Text("Hello, world!"); |             ImGui::Text("Hello, world!"); | ||||||
|             ImGui::SliderFloat("float", &f, 0.0f, 1.0f); |             ImGui::SliderFloat("float", &f, 0.0f, 1.0f); | ||||||
| @@ -330,16 +330,9 @@ int WINAPI wWinMain(HINSTANCE hInst, HINSTANCE, LPWSTR, int) | |||||||
|             ms_per_frame_idx = (ms_per_frame_idx + 1) % 120; |             ms_per_frame_idx = (ms_per_frame_idx + 1) % 120; | ||||||
|             const float ms_per_frame_avg = ms_per_frame_accum / 120; |             const float ms_per_frame_avg = ms_per_frame_accum / 120; | ||||||
|             ImGui::Text("Application average %.3f ms/frame (%.1f FPS)", ms_per_frame_avg, 1000.0f / ms_per_frame_avg); |             ImGui::Text("Application average %.3f ms/frame (%.1f FPS)", ms_per_frame_avg, 1000.0f / ms_per_frame_avg); | ||||||
|  |  | ||||||
|         // Show the ImGui test window |  | ||||||
|         // Most of user example code is in ImGui::ShowTestWindow() |  | ||||||
|         if (show_test_window) |  | ||||||
|         { |  | ||||||
|             ImGui::SetNewWindowDefaultPos(ImVec2(650, 20));     // Normally user code doesn't need/want to call it because positions are saved in .ini file anyway. Here we just want to make the demo initial state a bit more friendly! |  | ||||||
|             ImGui::ShowTestWindow(&show_test_window); |  | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         // Show another simple window |         // 2. Show another simple window, this time using an explicit Begin/End pair | ||||||
|         if (show_another_window) |         if (show_another_window) | ||||||
|         { |         { | ||||||
|             ImGui::Begin("Another Window", &show_another_window, ImVec2(200,100)); |             ImGui::Begin("Another Window", &show_another_window, ImVec2(200,100)); | ||||||
| @@ -347,6 +340,13 @@ int WINAPI wWinMain(HINSTANCE hInst, HINSTANCE, LPWSTR, int) | |||||||
|             ImGui::End(); |             ImGui::End(); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |         // 3. Show the ImGui test window. Most of the sample code is in ImGui::ShowTestWindow() | ||||||
|  |         if (show_test_window) | ||||||
|  |         { | ||||||
|  |             ImGui::SetNewWindowDefaultPos(ImVec2(650, 20));     // Normally user code doesn't need/want to call it because positions are saved in .ini file anyway. Here we just want to make the demo initial state a bit more friendly! | ||||||
|  |             ImGui::ShowTestWindow(&show_test_window); | ||||||
|  |         } | ||||||
|  |  | ||||||
|         // Rendering |         // Rendering | ||||||
|         g_pd3dDevice->SetRenderState(D3DRS_ZENABLE, false); |         g_pd3dDevice->SetRenderState(D3DRS_ZENABLE, false); | ||||||
|         g_pd3dDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, false); |         g_pd3dDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, false); | ||||||
|   | |||||||
| @@ -252,7 +252,7 @@ void UpdateImGui() | |||||||
|     double mouse_x, mouse_y; |     double mouse_x, mouse_y; | ||||||
|     glfwGetCursorPos(window, &mouse_x, &mouse_y); |     glfwGetCursorPos(window, &mouse_x, &mouse_y); | ||||||
|     io.MousePos = ImVec2((float)mouse_x * mousePosScale.x, (float)mouse_y * mousePosScale.y);      // Mouse position, in pixels (set to -1,-1 if no mouse / on another screen, etc.) |     io.MousePos = ImVec2((float)mouse_x * mousePosScale.x, (float)mouse_y * mousePosScale.y);      // Mouse position, in pixels (set to -1,-1 if no mouse / on another screen, etc.) | ||||||
|     io.MouseDown[0] = mousePressed[0] || glfwGetMouseButton(window, GLFW_MOUSE_BUTTON_LEFT) != 0;  // If a mouse press event came, always pass it, so we don't miss click-release events that are shorted than our frame. |     io.MouseDown[0] = mousePressed[0] || glfwGetMouseButton(window, GLFW_MOUSE_BUTTON_LEFT) != 0;  // If a mouse press event came, always pass it as "mouse held this frame", so we don't miss click-release events that are shorter than 1 frame. | ||||||
|     io.MouseDown[1] = mousePressed[1] || glfwGetMouseButton(window, GLFW_MOUSE_BUTTON_RIGHT) != 0; |     io.MouseDown[1] = mousePressed[1] || glfwGetMouseButton(window, GLFW_MOUSE_BUTTON_RIGHT) != 0; | ||||||
|  |  | ||||||
|     // Start the frame |     // Start the frame | ||||||
| @@ -273,10 +273,12 @@ int main(int argc, char** argv) | |||||||
|         glfwPollEvents(); |         glfwPollEvents(); | ||||||
|         UpdateImGui(); |         UpdateImGui(); | ||||||
|  |  | ||||||
|         // Create a simple window |  | ||||||
|         // Tip: if we don't call ImGui::Begin()/ImGui::End() the widgets appears in a window automatically called "Debug" |  | ||||||
|         static bool show_test_window = true; |         static bool show_test_window = true; | ||||||
|         static bool show_another_window = false; |         static bool show_another_window = false; | ||||||
|  |  | ||||||
|  |         // 1. Show a simple window | ||||||
|  |         // Tip: if we don't call ImGui::Begin()/ImGui::End() the widgets appears in a window automatically called "Debug" | ||||||
|  |         { | ||||||
|             static float f; |             static float f; | ||||||
|             ImGui::Text("Hello, world!"); |             ImGui::Text("Hello, world!"); | ||||||
|             ImGui::SliderFloat("float", &f, 0.0f, 1.0f); |             ImGui::SliderFloat("float", &f, 0.0f, 1.0f); | ||||||
| @@ -293,16 +295,9 @@ int main(int argc, char** argv) | |||||||
|             ms_per_frame_idx = (ms_per_frame_idx + 1) % 120; |             ms_per_frame_idx = (ms_per_frame_idx + 1) % 120; | ||||||
|             const float ms_per_frame_avg = ms_per_frame_accum / 120; |             const float ms_per_frame_avg = ms_per_frame_accum / 120; | ||||||
|             ImGui::Text("Application average %.3f ms/frame (%.1f FPS)", ms_per_frame_avg, 1000.0f / ms_per_frame_avg); |             ImGui::Text("Application average %.3f ms/frame (%.1f FPS)", ms_per_frame_avg, 1000.0f / ms_per_frame_avg); | ||||||
|  |  | ||||||
|         // Show the ImGui test window |  | ||||||
|         // Most of user example code is in ImGui::ShowTestWindow() |  | ||||||
|         if (show_test_window) |  | ||||||
|         { |  | ||||||
|             ImGui::SetNewWindowDefaultPos(ImVec2(650, 20));        // Normally user code doesn't need/want to call it because positions are saved in .ini file anyway. Here we just want to make the demo initial state a bit more friendly! |  | ||||||
|             ImGui::ShowTestWindow(&show_test_window); |  | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         // Show another simple window |         // 2. Show another simple window, this time using an explicit Begin/End pair | ||||||
|         if (show_another_window) |         if (show_another_window) | ||||||
|         { |         { | ||||||
|             ImGui::Begin("Another Window", &show_another_window, ImVec2(200,100)); |             ImGui::Begin("Another Window", &show_another_window, ImVec2(200,100)); | ||||||
| @@ -310,6 +305,13 @@ int main(int argc, char** argv) | |||||||
|             ImGui::End(); |             ImGui::End(); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |         // 3. Show the ImGui test window. Most of the sample code is in ImGui::ShowTestWindow() | ||||||
|  |         if (show_test_window) | ||||||
|  |         { | ||||||
|  |             ImGui::SetNewWindowDefaultPos(ImVec2(650, 20));        // Normally user code doesn't need/want to call this, because positions are saved in .ini file. Here we just want to make the demo initial state a bit more friendly! | ||||||
|  |             ImGui::ShowTestWindow(&show_test_window); | ||||||
|  |         } | ||||||
|  |  | ||||||
|         // Rendering |         // Rendering | ||||||
|         glViewport(0, 0, (int)io.DisplaySize.x, (int)io.DisplaySize.y); |         glViewport(0, 0, (int)io.DisplaySize.x, (int)io.DisplaySize.y); | ||||||
|         glClearColor(0.8f, 0.6f, 0.6f, 1.0f); |         glClearColor(0.8f, 0.6f, 0.6f, 1.0f); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user