mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Fix the look of buttons with images. Use one.
This commit is contained in:
parent
09a13e3d2c
commit
cc9a739faf
2 changed files with 27 additions and 8 deletions
|
@ -730,8 +730,22 @@ void Button::GetContentDimensions(const UIContext &dc, float &w, float &h) const
|
|||
if (imageID_.isValid()) {
|
||||
dc.Draw()->GetAtlas()->measureImage(imageID_, &w, &h);
|
||||
} else {
|
||||
dc.MeasureText(dc.theme->uiFont, 1.0f, 1.0f, text_.c_str(), &w, &h);
|
||||
w = 0.0f;
|
||||
h = 0.0f;
|
||||
}
|
||||
|
||||
if (!text_.empty() && !ignoreText_) {
|
||||
float width = 0.0f;
|
||||
float height = 0.0f;
|
||||
dc.MeasureText(dc.theme->uiFont, 1.0f, 1.0f, text_.c_str(), &width, &height);
|
||||
|
||||
w += width;
|
||||
if (imageID_.isValid()) {
|
||||
w += paddingW_;
|
||||
}
|
||||
h = std::max(h, height);
|
||||
}
|
||||
|
||||
// Add some internal padding to not look totally ugly
|
||||
w += paddingW_;
|
||||
h += paddingH_;
|
||||
|
@ -772,13 +786,15 @@ void Button::Draw(UIContext &dc) {
|
|||
if (imageID_.isValid() && (ignoreText_ || text_.empty())) {
|
||||
dc.Draw()->DrawImage(imageID_, bounds_.centerX(), bounds_.centerY(), scale_, 0xFFFFFFFF, ALIGN_CENTER);
|
||||
} else if (!text_.empty()) {
|
||||
dc.DrawText(text_.c_str(), bounds_.centerX(), bounds_.centerY(), style.fgColor, ALIGN_CENTER);
|
||||
float textX = bounds_.centerX();
|
||||
if (imageID_.isValid()) {
|
||||
const AtlasImage *img = dc.Draw()->GetAtlas()->getImage(imageID_);
|
||||
if (img) {
|
||||
dc.Draw()->DrawImage(imageID_, bounds_.centerX() - tw / 2 - 5 - img->w / 2, bounds_.centerY(), 1.0f, 0xFFFFFFFF, ALIGN_CENTER);
|
||||
dc.Draw()->DrawImage(imageID_, bounds_.centerX() - tw / 2 - 5, bounds_.centerY(), 1.0f, 0xFFFFFFFF, ALIGN_CENTER);
|
||||
textX += img->w / 2.0f;
|
||||
}
|
||||
}
|
||||
dc.DrawText(text_.c_str(), textX, bounds_.centerY(), style.fgColor, ALIGN_CENTER);
|
||||
}
|
||||
dc.SetFontScale(1.0f, 1.0f);
|
||||
|
||||
|
|
|
@ -136,29 +136,32 @@ void MemStickScreen::CreateViews() {
|
|||
// TODO: Gonna need a scroll view.
|
||||
#if PPSSPP_PLATFORM(ANDROID)
|
||||
if (!System_GetPropertyBool(SYSPROP_ANDROID_SCOPED_STORAGE)) {
|
||||
leftColumn->Add(new Choice(iz->T("Use PSP folder at root of storage")))->OnClick.Handle(this, &MemStickScreen::OnUseStorageRoot);
|
||||
leftColumn->Add(new Button(iz->T("Use PSP folder at root of storage")))->OnClick.Handle(this, &MemStickScreen::OnUseStorageRoot);
|
||||
leftColumn->Add(new TextView(iz->T("DataWillStay", "Data will stay even if you uninstall PPSSPP.")))->SetBullet(true);
|
||||
leftColumn->Add(new TextView(iz->T("DataCanBeShared", "Data can be shared between PPSSPP regular/Gold.")))->SetBullet(true);
|
||||
leftColumn->Add(new TextView(iz->T("EasyUSBAccess", "Easy USB access")))->SetBullet(true);
|
||||
}
|
||||
#endif
|
||||
|
||||
// Let's only offer the browse-for-folder choice on Android 10 or later.
|
||||
// Earlier versions often don't really have working folder browsers.
|
||||
bool storageBrowserWorking = System_GetPropertyInt(SYSPROP_SYSTEMVERSION) >= 29;
|
||||
#else
|
||||
// For testing UI only
|
||||
bool storageBrowserWorking = true;
|
||||
#endif
|
||||
|
||||
if (storageBrowserWorking) {
|
||||
leftColumn->Add(new Choice(iz->T("Create or Choose a PSP folder")))->OnClick.Handle(this, &MemStickScreen::OnBrowse);
|
||||
leftColumn->Add(new Button(iz->T("Create or Choose a PSP folder"), ImageID("I_FOLDER")))->OnClick.Handle(this, &MemStickScreen::OnBrowse);
|
||||
leftColumn->Add(new TextView(iz->T("DataWillStay", "Data will stay even if you uninstall PPSSPP.")))->SetBullet(true);
|
||||
leftColumn->Add(new TextView(iz->T("DataCanBeShared", "Data can be shared between PPSSPP regular/Gold.")))->SetBullet(true);
|
||||
leftColumn->Add(new TextView(iz->T("EasyUSBAccess", "Easy USB access")))->SetBullet(true);
|
||||
} else {
|
||||
leftColumn->Add(new Choice(iz->T("Manually specify PSP folder")))->OnClick.Handle(this, &MemStickScreen::OnSetFolderManually);
|
||||
leftColumn->Add(new Button(iz->T("Manually specify PSP folder")))->OnClick.Handle(this, &MemStickScreen::OnSetFolderManually);
|
||||
leftColumn->Add(new TextView(iz->T("DataWillStay", "Data will stay even if you uninstall PPSSPP.")))->SetBullet(true);
|
||||
leftColumn->Add(new TextView(iz->T("DataCanBeShared", "Data can be shared between PPSSPP regular/Gold.")))->SetBullet(true);
|
||||
}
|
||||
|
||||
leftColumn->Add(new Choice(iz->T("Use App Private Directory")))->OnClick.Handle(this, &MemStickScreen::OnUseInternalStorage);
|
||||
leftColumn->Add(new Button(iz->T("Use App Private Directory")))->OnClick.Handle(this, &MemStickScreen::OnUseInternalStorage);
|
||||
// Consider https://www.compart.com/en/unicode/U+26A0 (unicode warning sign?)? or a graphic?
|
||||
leftColumn->Add(new TextView(iz->T("DataWillBeLostOnUninstall", "Warning! Data will be lost when you uninstall PPSSPP!")))->SetBullet(true);
|
||||
leftColumn->Add(new TextView(iz->T("DataCannotBeShared", "Data CANNOT be shared between PPSSPP regular/Gold!")))->SetBullet(true);
|
||||
|
|
Loading…
Add table
Reference in a new issue