mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-11-04 07:01:04 +01:00 
			
		
		
		
	ImageButton() changed default bg_col parameter from (0,0,0,1) black to (0,0,0,0) tranparent + drawing frame even when no padding (#243)
This commit is contained in:
		
							
								
								
									
										10
									
								
								imgui.cpp
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								imgui.cpp
									
									
									
									
									
								
							@@ -136,7 +136,8 @@
 | 
			
		||||
 Occasionally introducing changes that are breaking the API. The breakage are generally minor and easy to fix.
 | 
			
		||||
 Here is a change-log of API breaking changes, if you are using one of the functions listed, expect to have to fix some code.
 | 
			
		||||
 
 | 
			
		||||
 - 2015/06/14 (1.41) - changed prototype of Selectable(label, selected, size) to Selectable(label, selected, flags, size). Size override should have been rarely be used. Sorry!
 | 
			
		||||
 - 2015/06/14 (1.41) - changed ImageButton() default bg_col parameter from (0,0,0,1) (black) to (0,0,0,0) (transparent) - makes a difference when texture have transparence
 | 
			
		||||
 - 2015/06/14 (1.41) - changed Selectable() API from (label, selected, size) to (label, selected, flags, size). Size override should have been rarely be used. Sorry!
 | 
			
		||||
 - 2015/05/31 (1.40) - renamed GetWindowCollapsed() to IsWindowCollapsed() for consistency. Kept inline redirection function (will obsolete).
 | 
			
		||||
 - 2015/05/31 (1.40) - renamed IsRectClipped() to IsRectVisible() for consistency. Note that return value is opposite! Kept inline redirection function (will obsolete).
 | 
			
		||||
 - 2015/05/27 (1.40) - removed the third 'repeat_if_held' parameter from Button() - sorry! it was rarely used and inconsistent. Use PushButtonRepeat(true) / PopButtonRepeat() to enable repeat on desired buttons.
 | 
			
		||||
@@ -5109,7 +5110,7 @@ bool ImGui::ImageButton(ImTextureID user_texture_id, const ImVec2& size, const I
 | 
			
		||||
    const ImGuiStyle& style = g.Style;
 | 
			
		||||
 | 
			
		||||
    // Default to using texture ID as ID. User can still push string/integer prefixes.
 | 
			
		||||
    // We could hash the size/uv to create a unique ID but that would prevent the user from animating buttons.
 | 
			
		||||
    // We could hash the size/uv to create a unique ID but that would prevent the user from animating UV.
 | 
			
		||||
    ImGui::PushID((void *)user_texture_id);
 | 
			
		||||
    const ImGuiID id = window->GetID("#image");
 | 
			
		||||
    ImGui::PopID();
 | 
			
		||||
@@ -5126,8 +5127,7 @@ bool ImGui::ImageButton(ImTextureID user_texture_id, const ImVec2& size, const I
 | 
			
		||||
 | 
			
		||||
    // Render
 | 
			
		||||
    const ImU32 col = window->Color((hovered && held) ? ImGuiCol_ButtonActive : hovered ? ImGuiCol_ButtonHovered : ImGuiCol_Button);
 | 
			
		||||
    if (padding.x > 0.0f || padding.y > 0.0f)
 | 
			
		||||
        RenderFrame(bb.Min, bb.Max, col);
 | 
			
		||||
    RenderFrame(bb.Min, bb.Max, col);
 | 
			
		||||
    if (bg_col.w > 0.0f)
 | 
			
		||||
        window->DrawList->AddRectFilled(image_bb.Min, image_bb.Max, window->Color(bg_col));
 | 
			
		||||
    window->DrawList->AddImage(user_texture_id, image_bb.Min, image_bb.Max, uv0, uv1, window->Color(tint_col));
 | 
			
		||||
@@ -10616,7 +10616,7 @@ void ImGui::ShowTestWindow(bool* opened)
 | 
			
		||||
                    ImGui::SameLine();
 | 
			
		||||
                ImGui::PushID(i);
 | 
			
		||||
                int frame_padding = -1 + i;     // -1 = uses default padding
 | 
			
		||||
                if (ImGui::ImageButton(tex_id, ImVec2(32,32), ImVec2(0,0), ImVec2(32.0f/tex_w,32/tex_h), frame_padding))
 | 
			
		||||
                if (ImGui::ImageButton(tex_id, ImVec2(32,32), ImVec2(0,0), ImVec2(32.0f/tex_w,32/tex_h), frame_padding, ImColor(0,0,0,255)))
 | 
			
		||||
                    pressed_count += 1;
 | 
			
		||||
                ImGui::PopID();
 | 
			
		||||
            }
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								imgui.h
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								imgui.h
									
									
									
									
									
								
							@@ -237,7 +237,7 @@ namespace ImGui
 | 
			
		||||
    IMGUI_API bool          SmallButton(const char* label);
 | 
			
		||||
    IMGUI_API bool          InvisibleButton(const char* str_id, const ImVec2& size);
 | 
			
		||||
    IMGUI_API void          Image(ImTextureID user_texture_id, const ImVec2& size, const ImVec2& uv0 = ImVec2(0,0), const ImVec2& uv1 = ImVec2(1,1), const ImVec4& tint_col = ImVec4(1,1,1,1), const ImVec4& border_col = ImVec4(0,0,0,0));
 | 
			
		||||
    IMGUI_API bool          ImageButton(ImTextureID user_texture_id, const ImVec2& size, const ImVec2& uv0 = ImVec2(0,0),  const ImVec2& uv1 = ImVec2(1,1), int frame_padding = -1, const ImVec4& bg_col = ImVec4(0,0,0,1), const ImVec4& tint_col = ImVec4(1,1,1,1));    // <0 frame_padding uses default frame padding settings. 0 for no padding
 | 
			
		||||
    IMGUI_API bool          ImageButton(ImTextureID user_texture_id, const ImVec2& size, const ImVec2& uv0 = ImVec2(0,0),  const ImVec2& uv1 = ImVec2(1,1), int frame_padding = -1, const ImVec4& bg_col = ImVec4(0,0,0,0), const ImVec4& tint_col = ImVec4(1,1,1,1));    // <0 frame_padding uses default frame padding settings. 0 for no padding
 | 
			
		||||
    IMGUI_API bool          CollapsingHeader(const char* label, const char* str_id = NULL, bool display_frame = true, bool default_open = false);
 | 
			
		||||
    IMGUI_API bool          Checkbox(const char* label, bool* v);
 | 
			
		||||
    IMGUI_API bool          CheckboxFlags(const char* label, unsigned int* flags, unsigned int flags_value);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user