fix(branding): KX-Logo in allen UI-Dialogen korrekt anzeigen
- Splash: SVG durch direktes PNG-Laden ersetzt (nanosvg rendert kein eingebettetes Raster-PNG) - About-Dialog: Logo auf 125px skaliert statt unkontrolliert 192px - TroubleshootDialog, UpdateDialogs, ReleaseNote, MsgDialog: OrcaSlicer.svg → OrcaSlicer_192px.png (bereits KX-Logo)
This commit is contained in:
@@ -229,9 +229,16 @@ AboutDialog::AboutDialog()
|
||||
|
||||
bool is_dark = wxGetApp().app_config->get("dark_color_mode") == "1";
|
||||
|
||||
// logo — load KX fork logo as PNG (SVG path via nanosvg cannot render embedded raster images)
|
||||
m_logo_bitmap = ScalableBitmap(this, Slic3r::var("OrcaSlicer_192px.png"), wxBITMAP_TYPE_PNG);
|
||||
m_logo = new wxStaticBitmap(this, wxID_ANY, m_logo_bitmap.bmp(), wxDefaultPosition, wxSize(125, 125), 0);
|
||||
// logo — load KX fork logo as PNG scaled to fill the 125px header panel
|
||||
{
|
||||
wxImage img;
|
||||
img.LoadFile(Slic3r::var("OrcaSlicer_192px.png"), wxBITMAP_TYPE_PNG);
|
||||
if (img.IsOk())
|
||||
img = img.Scale(FromDIP(125), FromDIP(125), wxIMAGE_QUALITY_HIGH);
|
||||
m_logo_bitmap = ScalableBitmap(this, Slic3r::var("OrcaSlicer_192px.png"), wxBITMAP_TYPE_PNG);
|
||||
m_logo = new wxStaticBitmap(this, wxID_ANY, img.IsOk() ? wxBitmap(img) : m_logo_bitmap.bmp(),
|
||||
wxDefaultPosition, wxSize(FromDIP(125), FromDIP(125)), 0);
|
||||
}
|
||||
m_logo->SetSizer(vesizer);
|
||||
|
||||
panel_versizer->Add(m_logo, 1, wxALL | wxEXPAND, 0);
|
||||
|
||||
@@ -306,8 +306,12 @@ public:
|
||||
m_fg_color = StateColor::darkModeColorFor(wxColour("#6B6A6A"));
|
||||
bool dark_mode = m_fg_color != wxColour("#6B6A6A");
|
||||
wxSize sz = m_window->GetClientSize();
|
||||
BitmapCache bmp_cache;
|
||||
m_logo_bmp = *bmp_cache.load_svg(dark_mode ? "splash_logo_dark" : "splash_logo", sz.GetWidth(), sz.GetHeight());
|
||||
// KX: load PNG directly — nanosvg cannot render embedded raster images in SVGs
|
||||
wxImage img;
|
||||
img.LoadFile(Slic3r::var("OrcaSlicer_192px.png"), wxBITMAP_TYPE_PNG);
|
||||
if (img.IsOk())
|
||||
img = img.Scale(sz.GetWidth(), sz.GetHeight(), wxIMAGE_QUALITY_HIGH);
|
||||
m_logo_bmp = img.IsOk() ? wxBitmap(img) : wxBitmap();
|
||||
|
||||
m_window->Bind(wxEVT_PAINT, &SplashScreen::OnPaint, this);
|
||||
m_window->Refresh();
|
||||
|
||||
@@ -215,7 +215,7 @@ void MsgDialog::apply_style(long style)
|
||||
logo->SetBitmap( create_scaled_bitmap(style & wxAPPLY ? "completed" :
|
||||
style & wxICON_WARNING ? "exclamation" : // ORCA "exclamation" used for dialogs "obj_warning" used for 16x16 areas
|
||||
style & wxICON_INFORMATION ? "info" :
|
||||
style & wxICON_QUESTION ? "question" : "OrcaSlicer", this, 64, style & wxICON_ERROR));
|
||||
style & wxICON_QUESTION ? "question" : "OrcaSlicer_192px", this, 64, style & wxICON_ERROR));
|
||||
}
|
||||
|
||||
void MsgDialog::finalize()
|
||||
|
||||
@@ -60,7 +60,7 @@ ReleaseNoteDialog::ReleaseNoteDialog(Plater *plater /*= nullptr*/)
|
||||
|
||||
m_sizer_body->Add(0, 0, 0, wxLEFT, FromDIP(38));
|
||||
|
||||
auto sm = create_scaled_bitmap("OrcaSlicer", nullptr, 70);
|
||||
auto sm = create_scaled_bitmap("OrcaSlicer_192px", nullptr, 70);
|
||||
auto brand = new wxStaticBitmap(this, wxID_ANY, sm, wxDefaultPosition, wxSize(FromDIP(70), FromDIP(70)));
|
||||
|
||||
m_sizer_body->Add(brand, 0, wxALL, 0);
|
||||
@@ -127,7 +127,7 @@ UpdatePluginDialog::UpdatePluginDialog(wxWindow* parent /*= nullptr*/)
|
||||
|
||||
|
||||
|
||||
auto sm = create_scaled_bitmap("OrcaSlicer", nullptr, 55);
|
||||
auto sm = create_scaled_bitmap("OrcaSlicer_192px", nullptr, 55);
|
||||
auto brand = new wxStaticBitmap(this, wxID_ANY, sm, wxDefaultPosition, wxSize(FromDIP(55), FromDIP(55)));
|
||||
|
||||
wxBoxSizer* m_sizer_right = new wxBoxSizer(wxVERTICAL);
|
||||
@@ -247,7 +247,7 @@ UpdateVersionDialog::UpdateVersionDialog(wxWindow *parent)
|
||||
wxBoxSizer *m_sizer_top = new wxBoxSizer(wxHORIZONTAL);
|
||||
wxBoxSizer *m_sizer_desc = new wxBoxSizer(wxVERTICAL);
|
||||
|
||||
auto sm = create_scaled_bitmap("OrcaSlicer", nullptr, 64);
|
||||
auto sm = create_scaled_bitmap("OrcaSlicer_192px", nullptr, 64);
|
||||
m_brand = new wxStaticBitmap(this, wxID_ANY, sm, wxDefaultPosition, FromDIP(wxSize(64, 64)));
|
||||
|
||||
m_text_up_info = new Label(this, Label::Head_14, wxEmptyString, LB_AUTO_WRAP);
|
||||
|
||||
@@ -127,8 +127,14 @@ TroubleshootDialog::TroubleshootDialog()
|
||||
// LEFT SIZER //////////////////////
|
||||
|
||||
// HEADER
|
||||
m_logo = ScalableBitmap(this, is_dark ? "OrcaSlicer_horizontal_dark" : "OrcaSlicer_horizontal_light", 64);
|
||||
m_header_logo = new wxStaticBitmap(this, wxID_ANY, m_logo.bmp());
|
||||
// KX: load PNG directly — horizontal SVGs contain nanosvg-incompatible embedded raster
|
||||
{
|
||||
wxImage img;
|
||||
img.LoadFile(Slic3r::var("OrcaSlicer_64.png"), wxBITMAP_TYPE_PNG);
|
||||
if (img.IsOk()) img = img.Scale(FromDIP(64), FromDIP(64), wxIMAGE_QUALITY_HIGH);
|
||||
m_logo = ScalableBitmap(this, "OrcaSlicer_64.png", 64);
|
||||
m_header_logo = new wxStaticBitmap(this, wxID_ANY, img.IsOk() ? wxBitmap(img) : m_logo.bmp());
|
||||
}
|
||||
auto logo_line = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(-1, FromDIP(2)));
|
||||
logo_line->SetBackgroundColour(StateColor::darkModeColorFor(wxColour("#009687")));
|
||||
auto version = new Label(this, wxString(SoftFever_VERSION), wxALIGN_CENTRE_HORIZONTAL);
|
||||
|
||||
@@ -111,7 +111,7 @@ MsgUpdateConfig::MsgUpdateConfig(const std::vector<Update> &updates, bool force_
|
||||
|
||||
m_sizer_body->Add(0, 0, 0, wxLEFT, FromDIP(38));
|
||||
|
||||
auto sm = create_scaled_bitmap("OrcaSlicer", nullptr, 70);
|
||||
auto sm = create_scaled_bitmap("OrcaSlicer_192px", nullptr, 70);
|
||||
auto brand = new wxStaticBitmap(this, wxID_ANY, sm, wxDefaultPosition, wxSize(FromDIP(70), FromDIP(70)));
|
||||
|
||||
m_sizer_body->Add(brand, 0, wxALL, 0);
|
||||
|
||||
Reference in New Issue
Block a user