From 5e7e98cd3ccfa4dafbf79ade0a2211301f6f9b22 Mon Sep 17 00:00:00 2001 From: Nicolas Ramz Date: Fri, 5 Jan 2024 17:11:05 +0100 Subject: [PATCH] LibGfx/ILBMLoader: Add support for transparent color --- Userland/Libraries/LibGfx/ImageFormats/ILBMLoader.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Userland/Libraries/LibGfx/ImageFormats/ILBMLoader.cpp b/Userland/Libraries/LibGfx/ImageFormats/ILBMLoader.cpp index 8e2cebee1d..baf1541bdd 100644 --- a/Userland/Libraries/LibGfx/ImageFormats/ILBMLoader.cpp +++ b/Userland/Libraries/LibGfx/ImageFormats/ILBMLoader.cpp @@ -163,6 +163,8 @@ static ErrorOr> chunky_to_bitmap(ILBMLoadingContext& context color = Color(chunky[index], chunky[index + 1], chunky[index + 2]); } else if (chunky[index] < context.color_table.size()) { color = context.color_table[chunky[index]]; + if (context.bm_header.mask == MaskType::HasTransparentColor && chunky[index] == context.bm_header.transparent_color) + color = color.with_alpha(0); } else if (has_flag(context.viewport_mode, ViewportMode::HAM)) { // Get the control bit which will tell use how current pixel should be calculated u8 control = (chunky[index] >> context.cmap_bits) & 0x3;