diff --git a/release/datafiles/icons_svg/blender_logo_large.svg b/release/datafiles/icons_svg/blender_logo_large.svg index 49e0cf85972..3eca9e8f000 100644 --- a/release/datafiles/icons_svg/blender_logo_large.svg +++ b/release/datafiles/icons_svg/blender_logo_large.svg @@ -1 +1,111 @@ -® \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/source/blender/windowmanager/intern/wm_splash_screen.cc b/source/blender/windowmanager/intern/wm_splash_screen.cc index a3e5781131c..56e7a80e75e 100644 --- a/source/blender/windowmanager/intern/wm_splash_screen.cc +++ b/source/blender/windowmanager/intern/wm_splash_screen.cc @@ -23,6 +23,8 @@ #include "DNA_userdef_types.h" #include "DNA_windowmanager_types.h" +#include "BLF_api.hh" + #include "BLI_blenlib.h" #include "BLI_utildefines.h" @@ -312,17 +314,19 @@ static uiBlock *wm_block_about_create(bContext *C, ARegion *region, void * /*arg /* Blender logo. */ #ifndef WITH_HEADLESS - const uchar *blender_logo_data = (const uchar *)datatoc_blender_logo_png; - size_t blender_logo_data_size = datatoc_blender_logo_png_size; - ImBuf *ibuf = IMB_ibImageFromMemory( - blender_logo_data, blender_logo_data_size, IB_rect, nullptr, "blender_logo"); + float size = 0.2f * dialog_width; + ImBuf *ibuf = nullptr; + int width; + int height; + blender::Array bitmap = BLF_svg_icon_bitmap( + ICON_BLENDER_LOGO_LARGE, size, &width, &height); + if (!bitmap.is_empty()) { + ibuf = IMB_allocFromBuffer(bitmap.data(), nullptr, width, height, 4); + } if (ibuf) { - int width = 0.5 * dialog_width; - int height = (width * ibuf->y) / ibuf->x; - + IMB_flipy(ibuf); IMB_premultiply_alpha(ibuf); - IMB_scaleImBuf(ibuf, width, height); bTheme *btheme = UI_GetTheme(); const uchar *color = btheme->tui.wcol_menu_back.text_sel; @@ -334,7 +338,7 @@ static uiBlock *wm_block_about_create(bContext *C, ARegion *region, void * /*arg /* The logo image. */ row = uiLayoutRow(layout, false); uiLayoutSetAlignment(row, UI_LAYOUT_ALIGN_LEFT); - uiDefButImage(block, ibuf, 0, U.widget_unit, width, height, color); + uiDefButImage(block, ibuf, 0, U.widget_unit, ibuf->x, ibuf->y, color); /* Padding below the logo. */ row = uiLayoutRow(layout, false);