mirror of
https://github.com/RetroDECK/ES-DE.git
synced 2025-01-31 04:25:40 +00:00
introduce 'legacyZIndexMode' tag in carousel
Signed-off-by: Sophia Hadash <sophiahadash@gmail.com>
This commit is contained in:
parent
957c1fa7fc
commit
3070a66e2c
|
@ -402,20 +402,35 @@ void SystemView::render(const glm::mat4& parentTrans)
|
||||||
|
|
||||||
glm::mat4 trans{getTransform() * parentTrans};
|
glm::mat4 trans{getTransform() * parentTrans};
|
||||||
|
|
||||||
// Render the extras that are below the carousel.
|
if (mCarousel.legacyZIndexMode) {
|
||||||
renderExtras(trans, INT16_MIN, mCarousel.zIndex);
|
// Render all extras.
|
||||||
|
renderExtras(trans, INT16_MIN, INT16_MAX);
|
||||||
|
|
||||||
// Fade the screen if we're using fade transitions and we're currently transitioning.
|
// Fade the screen if we're using fade transitions and we're currently transitioning.
|
||||||
// This basically renders a black rectangle on top of the currently visible extras
|
// This basically renders a black rectangle on top of the currently visible extras
|
||||||
// (and beneath the carousel and help prompts).
|
// (and beneath the carousel and help prompts).
|
||||||
if (mExtrasFadeOpacity)
|
if (mExtrasFadeOpacity)
|
||||||
renderFade(trans);
|
renderFade(trans);
|
||||||
|
|
||||||
// Always render the carousel on top so that it's not faded.
|
// Always render the carousel on top so that it's not faded.
|
||||||
renderCarousel(trans);
|
renderCarousel(trans);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// Render the extras that are below the carousel.
|
||||||
|
renderExtras(trans, INT16_MIN, mCarousel.zIndex);
|
||||||
|
|
||||||
// Render the rest of the extras.
|
// Fade the screen if we're using fade transitions and we're currently transitioning.
|
||||||
renderExtras(trans, mCarousel.zIndex, INT16_MAX);
|
// This basically renders a black rectangle on top of the currently visible extras
|
||||||
|
// (and beneath the carousel and help prompts).
|
||||||
|
if (mExtrasFadeOpacity)
|
||||||
|
renderFade(trans);
|
||||||
|
|
||||||
|
// Render the carousel.
|
||||||
|
renderCarousel(trans);
|
||||||
|
|
||||||
|
// Render the rest of the extras.
|
||||||
|
renderExtras(trans, mCarousel.zIndex, INT16_MAX);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<HelpPrompt> SystemView::getHelpPrompts()
|
std::vector<HelpPrompt> SystemView::getHelpPrompts()
|
||||||
|
@ -734,4 +749,11 @@ void SystemView::getCarouselFromTheme(const ThemeData::ThemeElement* elem)
|
||||||
else
|
else
|
||||||
mCarousel.logoAlignment = ALIGN_CENTER;
|
mCarousel.logoAlignment = ALIGN_CENTER;
|
||||||
}
|
}
|
||||||
|
if (elem->has("legacyZIndexMode")) {
|
||||||
|
mCarousel.legacyZIndexMode =
|
||||||
|
elem->get<std::string>("legacyZIndexMode").compare("true") == 0 ? true : false;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
mCarousel.legacyZIndexMode = true;
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -47,6 +47,7 @@ struct SystemViewCarousel {
|
||||||
int maxLogoCount; // Number of logos shown on the carousel.
|
int maxLogoCount; // Number of logos shown on the carousel.
|
||||||
glm::vec2 logoSize;
|
glm::vec2 logoSize;
|
||||||
float zIndex;
|
float zIndex;
|
||||||
|
bool legacyZIndexMode;
|
||||||
};
|
};
|
||||||
|
|
||||||
class SystemView : public IList<SystemViewData, SystemData*>
|
class SystemView : public IList<SystemViewData, SystemData*>
|
||||||
|
|
|
@ -210,7 +210,8 @@ std::map<std::string, std::map<std::string, ThemeData::ElementPropertyType>> The
|
||||||
{"logoSize", NORMALIZED_PAIR},
|
{"logoSize", NORMALIZED_PAIR},
|
||||||
{"logoAlignment", STRING},
|
{"logoAlignment", STRING},
|
||||||
{"maxLogoCount", FLOAT},
|
{"maxLogoCount", FLOAT},
|
||||||
{"zIndex", FLOAT}}}};
|
{"zIndex", FLOAT},
|
||||||
|
{"legacyZIndexMode", STRING}}}};
|
||||||
|
|
||||||
#define MINIMUM_THEME_FORMAT_VERSION 3
|
#define MINIMUM_THEME_FORMAT_VERSION 3
|
||||||
#define CURRENT_THEME_FORMAT_VERSION 7
|
#define CURRENT_THEME_FORMAT_VERSION 7
|
||||||
|
|
Loading…
Reference in a new issue