|
@@ -3679,27 +3679,27 @@ static bool CloseWindowButton(bool* p_opened)
|
|
|
return pressed;
|
|
|
}
|
|
|
|
|
|
-void ImGui::Image(ImTextureID user_texture_id, const ImVec2& size, const ImVec2& uv0, const ImVec2& uv1, ImU32 tint_col, ImU32 border_col)
|
|
|
+void ImGui::Image(ImTextureID user_texture_id, const ImVec2& size, const ImVec2& uv0, const ImVec2& uv1, const ImVec4& tint_col, const ImVec4& border_col)
|
|
|
{
|
|
|
ImGuiWindow* window = GetCurrentWindow();
|
|
|
if (window->SkipItems)
|
|
|
return;
|
|
|
|
|
|
ImGuiAabb bb(window->DC.CursorPos, window->DC.CursorPos + size);
|
|
|
- if (border_col != 0)
|
|
|
+ if (border_col.w > 0.0f)
|
|
|
bb.Max += ImVec2(2,2);
|
|
|
ItemSize(bb);
|
|
|
if (!ItemAdd(bb, NULL))
|
|
|
return;
|
|
|
|
|
|
- if (border_col != 0)
|
|
|
+ if (border_col.w > 0.0f)
|
|
|
{
|
|
|
- window->DrawList->AddRect(bb.Min, bb.Max, border_col, 0.0f);
|
|
|
- window->DrawList->AddImage(user_texture_id, bb.Min+ImVec2(1,1), bb.Max-ImVec2(1,1), uv0, uv1, tint_col);
|
|
|
+ window->DrawList->AddRect(bb.Min, bb.Max, window->Color(border_col), 0.0f);
|
|
|
+ window->DrawList->AddImage(user_texture_id, bb.Min+ImVec2(1,1), bb.Max-ImVec2(1,1), uv0, uv1, window->Color(tint_col));
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- window->DrawList->AddImage(user_texture_id, bb.Min, bb.Max, uv0, uv1, tint_col);
|
|
|
+ window->DrawList->AddImage(user_texture_id, bb.Min, bb.Max, uv0, uv1, window->Color(tint_col));
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -3707,7 +3707,7 @@ void ImGui::Image(ImTextureID user_texture_id, const ImVec2& size, const ImVec2&
|
|
|
// frame_padding = 0: no framing
|
|
|
// frame_padding > 0: set framing size
|
|
|
// The color used are the button colors.
|
|
|
-bool ImGui::ImageButton(ImTextureID user_texture_id, const ImVec2& size, const ImVec2& uv0, const ImVec2& uv1, int frame_padding, ImU32 bg_col)
|
|
|
+bool ImGui::ImageButton(ImTextureID user_texture_id, const ImVec2& size, const ImVec2& uv0, const ImVec2& uv1, int frame_padding, const ImVec4& bg_col)
|
|
|
{
|
|
|
ImGuiState& g = GImGui;
|
|
|
ImGuiWindow* window = GetCurrentWindow();
|
|
@@ -3736,8 +3736,8 @@ bool ImGui::ImageButton(ImTextureID user_texture_id, const ImVec2& size, const I
|
|
|
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);
|
|
|
- if ((bg_col >> 24) != 0)
|
|
|
- window->DrawList->AddRectFilled(image_bb.Min, image_bb.Max, bg_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);
|
|
|
|
|
|
return pressed;
|
|
@@ -7770,7 +7770,7 @@ void ImGui::ShowTestWindow(bool* opened)
|
|
|
float tex_w = (float)ImGui::GetIO().Fonts->TexWidth;
|
|
|
float tex_h = (float)ImGui::GetIO().Fonts->TexHeight;
|
|
|
ImTextureID tex_id = ImGui::GetIO().Fonts->TexID;
|
|
|
- ImGui::Image(tex_id, ImVec2(tex_w, tex_h), ImVec2(0,0), ImVec2(1,1), 0xFFFFFFFF, 0x80808080);
|
|
|
+ ImGui::Image(tex_id, ImVec2(tex_w, tex_h), ImVec2(0,0), ImVec2(1,1), ImColor(255,255,255,255), ImColor(255,255,255,128));
|
|
|
if (ImGui::IsItemHovered())
|
|
|
{
|
|
|
ImGui::BeginTooltip();
|
|
@@ -7781,7 +7781,7 @@ void ImGui::ShowTestWindow(bool* opened)
|
|
|
ImGui::Text("Max: (%.2f, %.2f)", focus_x + focus_sz, focus_y + focus_sz);
|
|
|
ImVec2 uv0 = ImVec2((focus_x) / tex_w, (focus_y) / tex_h);
|
|
|
ImVec2 uv1 = ImVec2((focus_x + focus_sz) / tex_w, (focus_y + focus_sz) / tex_h);
|
|
|
- ImGui::Image(tex_id, ImVec2(128,128), uv0, uv1, 0xFFFFFFFF, 0x80808080);
|
|
|
+ ImGui::Image(tex_id, ImVec2(128,128), uv0, uv1, ImColor(255,255,255,255), ImColor(255,255,255,128));
|
|
|
ImGui::EndTooltip();
|
|
|
}
|
|
|
ImGui::TextWrapped("And now some textured buttons..");
|