FIX: use scaled icon in MacOS

Change-Id: Ic7e89a3ff1dd92818adfcec410cc0bdcacfc0398
This commit is contained in:
chunmao.guo 2022-07-26 17:28:49 +08:00 committed by Lane.Wei
parent 9f062905b2
commit 00ba515783
5 changed files with 13 additions and 13 deletions

View File

@ -162,7 +162,7 @@ void Button::render(wxDC& dc)
//BBS norrow size between text and icon
szContent.x += padding;
}
szIcon = icon.bmp().GetSize();
szIcon = icon.GetBmpSize();
szContent.x += szIcon.x;
if (szIcon.y > szContent.y)
szContent.y = szIcon.y;
@ -211,7 +211,7 @@ void Button::messureSize()
//BBS norrow size between text and icon
szContent.x += 5;
}
wxSize szIcon = this->active_icon.bmp().GetSize();
wxSize szIcon = this->active_icon.GetBmpSize();
szContent.x += szIcon.x;
if (szIcon.y > szContent.y)
szContent.y = szIcon.y;

View File

@ -233,7 +233,7 @@ void DropDown::render(wxDC &dc)
rcContent.x += 5;
rcContent.width -= 5;
if (check_bitmap.bmp().IsOk()) {
auto szBmp = check_bitmap.bmp().GetSize();
auto szBmp = check_bitmap.GetBmpSize();
if (selection >= 0) {
wxPoint pt = rcContent.GetLeftTop();
pt.y += (rcContent.height - szBmp.y) / 2;

View File

@ -232,7 +232,7 @@ void SideButton::render(wxDC& dc)
//BBS norrow size between text and icon
szContent.x += 5;
}
szIcon = icon.bmp().GetSize();
szIcon = icon.GetBmpSize();
szContent.x += szIcon.x;
if (szIcon.y > szContent.y)
szContent.y = szIcon.y;
@ -284,7 +284,7 @@ void SideButton::messureSize()
if (szContent.y > 0) {
szContent.x += 5;
}
wxSize szIcon = this->icon.bmp().GetSize();
wxSize szIcon = this->icon.GetBmpSize();
szContent.x += szIcon.x;
if (szIcon.y > szContent.y)
szContent.y = szIcon.y;

View File

@ -174,7 +174,7 @@ void TextInput::DoSetSize(int x, int y, int width, int height, int sizeFlags)
wxSize size = GetSize();
wxPoint textPos = {5, 0};
if (this->icon.bmp().IsOk()) {
wxSize szIcon = this->icon.bmp().GetSize();
wxSize szIcon = this->icon.GetBmpSize();
textPos.x += szIcon.x;
}
bool align_right = GetWindowStyle() & wxRIGHT;

View File

@ -26,12 +26,12 @@ bool mac_dark_mode()
double mac_max_scaling_factor()
{
double scaling = 1.;
// if ([NSScreen screens] == nil) {
// scaling = [[NSScreen mainScreen] backingScaleFactor];
// } else {
// for (int i = 0; i < [[NSScreen screens] count]; ++ i)
// scaling = std::max<double>(scaling, [[[NSScreen screens] objectAtIndex:0] backingScaleFactor]);
// }
if ([NSScreen screens] == nil) {
scaling = [[NSScreen mainScreen] backingScaleFactor];
} else {
for (int i = 0; i < [[NSScreen screens] count]; ++ i)
scaling = std::max<double>(scaling, [[[NSScreen screens] objectAtIndex:0] backingScaleFactor]);
}
return scaling;
}