mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-11-04 15:11:05 +01:00 
			
		
		
		
	Examples: OpenGL: skip rendering and calling glViewport() if we have a zero-fixed buffer (#486)
This commit is contained in:
		@@ -62,6 +62,8 @@ void ImGui_ImplGlfwGL3_RenderDrawLists(ImDrawData* draw_data)
 | 
			
		||||
    ImGuiIO& io = ImGui::GetIO();
 | 
			
		||||
    int fb_width = (int)(io.DisplaySize.x * io.DisplayFramebufferScale.x);
 | 
			
		||||
    int fb_height = (int)(io.DisplaySize.y * io.DisplayFramebufferScale.y);
 | 
			
		||||
    if (fb_width == 0 || fb_height == 0)
 | 
			
		||||
        return;
 | 
			
		||||
    draw_data->ScaleClipRects(io.DisplayFramebufferScale);
 | 
			
		||||
 | 
			
		||||
    // Setup viewport, orthographic projection matrix
 | 
			
		||||
@@ -353,7 +355,7 @@ void ImGui_ImplGlfwGL3_NewFrame()
 | 
			
		||||
    glfwGetWindowSize(g_Window, &w, &h);
 | 
			
		||||
    glfwGetFramebufferSize(g_Window, &display_w, &display_h);
 | 
			
		||||
    io.DisplaySize = ImVec2((float)w, (float)h);
 | 
			
		||||
    io.DisplayFramebufferScale = ImVec2((float)display_w / w, (float)display_h / h);
 | 
			
		||||
    io.DisplayFramebufferScale = ImVec2(w > 0 ? ((float)display_w / w) : 0, h > 0 ? ((float)display_h / h) : 0);
 | 
			
		||||
 | 
			
		||||
    // Setup time step
 | 
			
		||||
    double current_time =  glfwGetTime();
 | 
			
		||||
 
 | 
			
		||||
@@ -48,6 +48,8 @@ void ImGui_ImplGlfw_RenderDrawLists(ImDrawData* draw_data)
 | 
			
		||||
    ImGuiIO& io = ImGui::GetIO();
 | 
			
		||||
    int fb_width = (int)(io.DisplaySize.x * io.DisplayFramebufferScale.x);
 | 
			
		||||
    int fb_height = (int)(io.DisplaySize.y * io.DisplayFramebufferScale.y);
 | 
			
		||||
    if (fb_width == 0 || fb_height == 0)
 | 
			
		||||
        return;
 | 
			
		||||
    draw_data->ScaleClipRects(io.DisplayFramebufferScale);
 | 
			
		||||
 | 
			
		||||
    // Setup viewport, orthographic projection matrix
 | 
			
		||||
@@ -242,7 +244,7 @@ void ImGui_ImplGlfw_NewFrame()
 | 
			
		||||
    glfwGetWindowSize(g_Window, &w, &h);
 | 
			
		||||
    glfwGetFramebufferSize(g_Window, &display_w, &display_h);
 | 
			
		||||
    io.DisplaySize = ImVec2((float)w, (float)h);
 | 
			
		||||
    io.DisplayFramebufferScale = ImVec2((float)display_w / w, (float)display_h / h);
 | 
			
		||||
    io.DisplayFramebufferScale = ImVec2(w > 0 ? ((float)display_w / w) : 0, h > 0 ? ((float)display_h / h) : 0);
 | 
			
		||||
 | 
			
		||||
    // Setup time step
 | 
			
		||||
    double current_time =  glfwGetTime();
 | 
			
		||||
 
 | 
			
		||||
@@ -57,6 +57,8 @@ void ImGui_ImplSdlGL3_RenderDrawLists(ImDrawData* draw_data)
 | 
			
		||||
    ImGuiIO& io = ImGui::GetIO();
 | 
			
		||||
    int fb_width = (int)(io.DisplaySize.x * io.DisplayFramebufferScale.x);
 | 
			
		||||
    int fb_height = (int)(io.DisplaySize.y * io.DisplayFramebufferScale.y);
 | 
			
		||||
    if (fb_width == 0 || fb_height == 0)
 | 
			
		||||
        return;
 | 
			
		||||
    draw_data->ScaleClipRects(io.DisplayFramebufferScale);
 | 
			
		||||
 | 
			
		||||
    // Setup orthographic projection matrix
 | 
			
		||||
 
 | 
			
		||||
@@ -41,6 +41,8 @@ void ImGui_ImplSdl_RenderDrawLists(ImDrawData* draw_data)
 | 
			
		||||
    ImGuiIO& io = ImGui::GetIO();
 | 
			
		||||
    int fb_width = (int)(io.DisplaySize.x * io.DisplayFramebufferScale.x);
 | 
			
		||||
    int fb_height = (int)(io.DisplaySize.y * io.DisplayFramebufferScale.y);
 | 
			
		||||
    if (fb_width == 0 || fb_height == 0)
 | 
			
		||||
        return;
 | 
			
		||||
    draw_data->ScaleClipRects(io.DisplayFramebufferScale);
 | 
			
		||||
 | 
			
		||||
    // Setup viewport, orthographic projection matrix
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user