Code cleanup by moving a lot of casts to the appropriate getter functions.

This commit is contained in:
Leon Styhre 2022-02-11 23:38:23 +01:00
parent ead1d5af9c
commit a42d63e567
31 changed files with 137 additions and 153 deletions

View file

@ -83,8 +83,8 @@ void MediaViewer::render(const glm::mat4& /*parentTrans*/)
Renderer::setMatrix(trans); Renderer::setMatrix(trans);
// Render a black background below the game media. // Render a black background below the game media.
Renderer::drawRect(0.0f, 0.0f, static_cast<float>(Renderer::getScreenWidth()), Renderer::drawRect(0.0f, 0.0f, Renderer::getScreenWidth(), Renderer::getScreenHeight(),
static_cast<float>(Renderer::getScreenHeight()), 0x000000FF, 0x000000FF); 0x000000FF, 0x000000FF);
if (mVideo && !mDisplayingImage) { if (mVideo && !mDisplayingImage) {
mVideo->render(trans); mVideo->render(trans);
@ -96,7 +96,7 @@ void MediaViewer::render(const glm::mat4& /*parentTrans*/)
shaders = Renderer::SHADER_SCANLINES; shaders = Renderer::SHADER_SCANLINES;
if (Settings::getInstance()->getBool("MediaViewerVideoBlur")) { if (Settings::getInstance()->getBool("MediaViewerVideoBlur")) {
shaders |= Renderer::SHADER_BLUR_HORIZONTAL; shaders |= Renderer::SHADER_BLUR_HORIZONTAL;
float heightModifier = Renderer::getScreenHeightModifier(); float heightModifier {Renderer::getScreenHeightModifier()};
// clang-format off // clang-format off
if (heightModifier < 1) if (heightModifier < 1)
videoParameters.blurPasses = 2; // Below 1080 videoParameters.blurPasses = 2; // Below 1080
@ -265,11 +265,9 @@ void MediaViewer::playVideo()
mVideo->setPosition(Renderer::getScreenWidth() / 2.0f, Renderer::getScreenHeight() / 2.0f); mVideo->setPosition(Renderer::getScreenWidth() / 2.0f, Renderer::getScreenHeight() / 2.0f);
if (Settings::getInstance()->getBool("MediaViewerStretchVideos")) if (Settings::getInstance()->getBool("MediaViewerStretchVideos"))
mVideo->setResize(static_cast<float>(Renderer::getScreenWidth()), mVideo->setResize(Renderer::getScreenWidth(), Renderer::getScreenHeight());
static_cast<float>(Renderer::getScreenHeight()));
else else
mVideo->setMaxSize(static_cast<float>(Renderer::getScreenWidth()), mVideo->setMaxSize(Renderer::getScreenWidth(), Renderer::getScreenHeight());
static_cast<float>(Renderer::getScreenHeight()));
mVideo->setVideo(mVideoFile); mVideo->setVideo(mVideoFile);
mVideo->setMediaViewerMode(true); mVideo->setMediaViewerMode(true);
@ -288,7 +286,6 @@ void MediaViewer::showImage(int index)
mImage->setImage(mImageFiles[index]); mImage->setImage(mImageFiles[index]);
mImage->setOrigin(0.5f, 0.5f); mImage->setOrigin(0.5f, 0.5f);
mImage->setPosition(Renderer::getScreenWidth() / 2.0f, Renderer::getScreenHeight() / 2.0f); mImage->setPosition(Renderer::getScreenWidth() / 2.0f, Renderer::getScreenHeight() / 2.0f);
mImage->setMaxSize(static_cast<float>(Renderer::getScreenWidth()), mImage->setMaxSize(Renderer::getScreenWidth(), Renderer::getScreenHeight());
static_cast<float>(Renderer::getScreenHeight()));
} }
} }

View file

@ -126,11 +126,11 @@ void Screensaver::startScreensaver(bool generateMediaList)
Renderer::getScreenHeight() / 2.0f); Renderer::getScreenHeight() / 2.0f);
if (Settings::getInstance()->getBool("ScreensaverStretchImages")) if (Settings::getInstance()->getBool("ScreensaverStretchImages"))
mImageScreensaver->setResize(static_cast<float>(Renderer::getScreenWidth()), mImageScreensaver->setResize(Renderer::getScreenWidth(),
static_cast<float>(Renderer::getScreenHeight())); Renderer::getScreenHeight());
else else
mImageScreensaver->setMaxSize(static_cast<float>(Renderer::getScreenWidth()), mImageScreensaver->setMaxSize(Renderer::getScreenWidth(),
static_cast<float>(Renderer::getScreenHeight())); Renderer::getScreenHeight());
} }
mTimer = 0; mTimer = 0;
return; return;
@ -163,11 +163,11 @@ void Screensaver::startScreensaver(bool generateMediaList)
Renderer::getScreenHeight() / 2.0f); Renderer::getScreenHeight() / 2.0f);
if (Settings::getInstance()->getBool("ScreensaverStretchVideos")) if (Settings::getInstance()->getBool("ScreensaverStretchVideos"))
mVideoScreensaver->setResize(static_cast<float>(Renderer::getScreenWidth()), mVideoScreensaver->setResize(Renderer::getScreenWidth(),
static_cast<float>(Renderer::getScreenHeight())); Renderer::getScreenHeight());
else else
mVideoScreensaver->setMaxSize(static_cast<float>(Renderer::getScreenWidth()), mVideoScreensaver->setMaxSize(Renderer::getScreenWidth(),
static_cast<float>(Renderer::getScreenHeight())); Renderer::getScreenHeight());
mVideoScreensaver->setVideo(path); mVideoScreensaver->setVideo(path);
mVideoScreensaver->setScreensaverMode(true); mVideoScreensaver->setScreensaverMode(true);
@ -237,8 +237,8 @@ void Screensaver::renderScreensaver()
if (mVideoScreensaver && screensaverType == "video") { if (mVideoScreensaver && screensaverType == "video") {
// Render a black background below the video. // Render a black background below the video.
Renderer::setMatrix(Renderer::getIdentity()); Renderer::setMatrix(Renderer::getIdentity());
Renderer::drawRect(0.0f, 0.0f, static_cast<float>(Renderer::getScreenWidth()), Renderer::drawRect(0.0f, 0.0f, Renderer::getScreenWidth(), Renderer::getScreenHeight(),
static_cast<float>(Renderer::getScreenHeight()), 0x000000FF, 0x000000FF); 0x000000FF, 0x000000FF);
// Only render the video if the state requires it. // Only render the video if the state requires it.
if (static_cast<int>(mState) >= STATE_FADE_IN_VIDEO) { if (static_cast<int>(mState) >= STATE_FADE_IN_VIDEO) {
@ -249,8 +249,8 @@ void Screensaver::renderScreensaver()
else if (mImageScreensaver && screensaverType == "slideshow") { else if (mImageScreensaver && screensaverType == "slideshow") {
// Render a black background below the image. // Render a black background below the image.
Renderer::setMatrix(Renderer::getIdentity()); Renderer::setMatrix(Renderer::getIdentity());
Renderer::drawRect(0.0f, 0.0f, static_cast<float>(Renderer::getScreenWidth()), Renderer::drawRect(0.0f, 0.0f, Renderer::getScreenWidth(), Renderer::getScreenHeight(),
static_cast<float>(Renderer::getScreenHeight()), 0x000000FF, 0x000000FF); 0x000000FF, 0x000000FF);
// Only render the image if the state requires it. // Only render the image if the state requires it.
if (static_cast<int>(mState) >= STATE_FADE_IN_VIDEO) { if (static_cast<int>(mState) >= STATE_FADE_IN_VIDEO) {
@ -581,8 +581,8 @@ void Screensaver::generateOverlayInfo()
if (mGameName == "" || mSystemName == "") if (mGameName == "" || mSystemName == "")
return; return;
float posX = static_cast<float>(Renderer::getWindowWidth()) * 0.023f; float posX {Renderer::getWindowWidth() * 0.023f};
float posY = static_cast<float>(Renderer::getWindowHeight()) * 0.02f; float posY {Renderer::getWindowHeight() * 0.02f};
std::string favoriteChar; std::string favoriteChar;
if (mCurrentGame && mCurrentGame->getFavorite()) if (mCurrentGame && mCurrentGame->getFavorite())
@ -609,7 +609,7 @@ void Screensaver::generateOverlayInfo()
else else
textSizeX = mGameOverlayFont[0].get()->sizeText(systemName).x; textSizeX = mGameOverlayFont[0].get()->sizeText(systemName).x;
float marginX = Renderer::getWindowWidth() * 0.01f; float marginX {Renderer::getWindowWidth() * 0.01f};
mGameOverlayRectangleCoords.clear(); mGameOverlayRectangleCoords.clear();
mGameOverlayRectangleCoords.push_back(posX - marginX); mGameOverlayRectangleCoords.push_back(posX - marginX);

View file

@ -193,19 +193,19 @@ void GuiAlternativeEmulators::selectorWindow(SystemData* system)
// Set a maximum width depending on the aspect ratio of the screen, to make the screen look // Set a maximum width depending on the aspect ratio of the screen, to make the screen look
// somewhat coherent regardless of screen type. The 1.778 aspect ratio value is the 16:9 // somewhat coherent regardless of screen type. The 1.778 aspect ratio value is the 16:9
// reference. // reference.
float aspectValue = 1.778f / Renderer::getScreenAspectRatio(); float aspectValue {1.778f / Renderer::getScreenAspectRatio()};
float maxWidthModifier = glm::clamp(0.72f * aspectValue, 0.50f, 0.92f); float maxWidthModifier {glm::clamp(0.72f * aspectValue, 0.50f, 0.92f)};
float maxWidth = static_cast<float>(Renderer::getScreenWidth()) * maxWidthModifier; float maxWidth {Renderer::getScreenWidth() * maxWidthModifier};
// Set the width of the selector window to the menu width, unless the system full name is // Set the width of the selector window to the menu width, unless the system full name is
// too large to fit. If so, allow the size to be exceeded up to the maximum size calculated // too large to fit. If so, allow the size to be exceeded up to the maximum size calculated
// above. // above.
float systemTextWidth = float systemTextWidth {
Font::get(FONT_SIZE_LARGE)->sizeText(Utils::String::toUpper(system->getFullName())).x * Font::get(FONT_SIZE_LARGE)->sizeText(Utils::String::toUpper(system->getFullName())).x *
1.05f; 1.05f};
float width = 0.0f; float width {0.0f};
float menuWidth = mMenu.getSize().x; float menuWidth {mMenu.getSize().x};
if (systemTextWidth <= menuWidth) if (systemTextWidth <= menuWidth)
width = menuWidth; width = menuWidth;

View file

@ -304,7 +304,7 @@ GuiCollectionSystemsOptions::GuiCollectionSystemsOptions(std::string title)
glm::vec2 menuSize {ss->getMenuSize()}; glm::vec2 menuSize {ss->getMenuSize()};
glm::vec3 menuPos {ss->getMenuPosition()}; glm::vec3 menuPos {ss->getMenuPosition()};
ss->setMenuSize(glm::vec2 {menuSize.x * 1.08f, menuSize.y}); ss->setMenuSize(glm::vec2 {menuSize.x * 1.08f, menuSize.y});
menuPos.x = static_cast<float>((Renderer::getScreenWidth()) - ss->getMenuSize().x) / 2.0f; menuPos.x = (Renderer::getScreenWidth() - ss->getMenuSize().x) / 2.0f;
ss->setMenuPosition(menuPos); ss->setMenuPosition(menuPos);
mWindow->pushGui(ss); mWindow->pushGui(ss);
}); });

View file

@ -243,8 +243,7 @@ GuiGamelistOptions::GuiGamelistOptions(SystemData* system)
} }
// Center the menu. // Center the menu.
setSize(static_cast<float>(Renderer::getScreenWidth()), setSize(Renderer::getScreenWidth(), Renderer::getScreenHeight());
static_cast<float>(Renderer::getScreenHeight()));
mMenu.setPosition((mSize.x - mMenu.getSize().x) / 2.0f, (mSize.y - mMenu.getSize().y) / 2.0f); mMenu.setPosition((mSize.x - mMenu.getSize().x) / 2.0f, (mSize.y - mMenu.getSize().y) / 2.0f);
} }

View file

@ -99,29 +99,29 @@ void GuiLaunchScreen::displayLaunchScreen(FileData* game)
// Adjust the width depending on the aspect ratio of the screen, to make the screen look // Adjust the width depending on the aspect ratio of the screen, to make the screen look
// somewhat coherent regardless of screen type. The 1.778 aspect ratio value is the 16:9 // somewhat coherent regardless of screen type. The 1.778 aspect ratio value is the 16:9
// reference. // reference.
float aspectValue = 1.778f / Renderer::getScreenAspectRatio(); float aspectValue {1.778f / Renderer::getScreenAspectRatio()};
float maxWidthModifier = glm::clamp(0.78f * aspectValue, 0.78f, 0.90f); float maxWidthModifier {glm::clamp(0.78f * aspectValue, 0.78f, 0.90f)};
float minWidthModifier = glm::clamp(0.50f * aspectValue, 0.50f, 0.65f); float minWidthModifier {glm::clamp(0.50f * aspectValue, 0.50f, 0.65f)};
float maxWidth = static_cast<float>(Renderer::getScreenWidth()) * maxWidthModifier; float maxWidth {Renderer::getScreenWidth() * maxWidthModifier};
float minWidth = static_cast<float>(Renderer::getScreenWidth()) * minWidthModifier; float minWidth {Renderer::getScreenWidth() * minWidthModifier};
float fontWidth = float fontWidth {
Font::get(static_cast<int>(gameNameFontSize * std::min(Renderer::getScreenHeight(), Font::get(static_cast<int>(gameNameFontSize * std::min(Renderer::getScreenHeight(),
Renderer::getScreenWidth()))) Renderer::getScreenWidth())))
->sizeText(Utils::String::toUpper(game->getName())) ->sizeText(Utils::String::toUpper(game->getName()))
.x; .x};
// Add a bit of width to compensate for the left and right spacers. // Add a bit of width to compensate for the left and right spacers.
fontWidth += static_cast<float>(Renderer::getScreenWidth()) * 0.05f; fontWidth += Renderer::getScreenWidth() * 0.05f;
float width = glm::clamp(fontWidth, minWidth, maxWidth); float width {glm::clamp(fontWidth, minWidth, maxWidth)};
if (mImagePath != "") if (mImagePath != "")
setSize(width, static_cast<float>(Renderer::getScreenHeight()) * 0.60f); setSize(width, Renderer::getScreenHeight() * 0.60f);
else else
setSize(width, static_cast<float>(Renderer::getScreenHeight()) * 0.38f); setSize(width, Renderer::getScreenHeight() * 0.38f);
// Set row heights. // Set row heights.
if (mImagePath != "") if (mImagePath != "")
@ -161,7 +161,7 @@ void GuiLaunchScreen::displayLaunchScreen(FileData* game)
// of the images. // of the images.
if (mImagePath != "") { if (mImagePath != "") {
mMarquee->setImage(game->getMarqueePath(), false, true); mMarquee->setImage(game->getMarqueePath(), false, true);
mMarquee->cropTransparentPadding(static_cast<float>(Renderer::getScreenWidth()) * mMarquee->cropTransparentPadding(Renderer::getScreenWidth() *
(0.25f * (1.778f / Renderer::getScreenAspectRatio())), (0.25f * (1.778f / Renderer::getScreenAspectRatio())),
mGrid->getRowHeight(3)); mGrid->getRowHeight(3));
@ -178,8 +178,7 @@ void GuiLaunchScreen::displayLaunchScreen(FileData* game)
setOrigin({0.5f, 0.5f}); setOrigin({0.5f, 0.5f});
// Center on the X axis and keep slightly off-center on the Y axis. // Center on the X axis and keep slightly off-center on the Y axis.
setPosition(static_cast<float>(Renderer::getScreenWidth()) / 2.0f, setPosition(Renderer::getScreenWidth() / 2.0f, Renderer::getScreenHeight() / 2.25f);
static_cast<float>(Renderer::getScreenHeight()) / 2.25f);
mBackground.fitTo(mSize, glm::vec3 {}, glm::vec2 {-32.0f, -32.0f}); mBackground.fitTo(mSize, glm::vec3 {}, glm::vec2 {-32.0f, -32.0f});
mBackground.setEdgeColor(0xEEEEEEFF); mBackground.setEdgeColor(0xEEEEEEFF);

View file

@ -256,10 +256,9 @@ GuiMetaDataEd::GuiMetaDataEd(MetaDataList* md,
s->addRow(row, false); s->addRow(row, false);
} }
float aspectValue = 1.778f / Renderer::getScreenAspectRatio(); float aspectValue {1.778f / Renderer::getScreenAspectRatio()};
float maxWidthModifier = glm::clamp(0.64f * aspectValue, 0.42f, 0.92f); float maxWidthModifier {glm::clamp(0.64f * aspectValue, 0.42f, 0.92f)};
float maxWidth = float maxWidth {Renderer::getScreenWidth() * maxWidthModifier};
static_cast<float>(Renderer::getScreenWidth()) * maxWidthModifier;
s->setMenuSize(glm::vec2 {maxWidth, s->getMenuSize().y}); s->setMenuSize(glm::vec2 {maxWidth, s->getMenuSize().y});
s->setMenuPosition( s->setMenuPosition(
@ -388,10 +387,11 @@ GuiMetaDataEd::GuiMetaDataEd(MetaDataList* md,
s->addRow(row, false); s->addRow(row, false);
} }
float aspectValue = 1.778f / Renderer::getScreenAspectRatio(); const float aspectValue {1.778f / Renderer::getScreenAspectRatio()};
float maxWidthModifier = glm::clamp(0.64f * aspectValue, 0.42f, 0.92f); const float maxWidthModifier {
float maxWidth = glm::clamp(0.64f * aspectValue, 0.42f, 0.92f)};
static_cast<float>(Renderer::getScreenWidth()) * maxWidthModifier; const float maxWidth {static_cast<float>(Renderer::getScreenWidth()) *
maxWidthModifier};
s->setMenuSize(glm::vec2 {maxWidth, s->getMenuSize().y}); s->setMenuSize(glm::vec2 {maxWidth, s->getMenuSize().y});
s->setMenuPosition(glm::vec3 {(s->getSize().x - maxWidth) / 2.0f, s->setMenuPosition(glm::vec3 {(s->getSize().x - maxWidth) / 2.0f,
@ -581,9 +581,7 @@ GuiMetaDataEd::GuiMetaDataEd(MetaDataList* md,
mGrid.setEntry(mButtons, glm::ivec2 {0, 5}, true, false, glm::ivec2 {2, 1}); mGrid.setEntry(mButtons, glm::ivec2 {0, 5}, true, false, glm::ivec2 {2, 1});
// Resize + center. // Resize + center.
float width = float width = std::min(Renderer::getScreenHeight() * 1.05f, Renderer::getScreenWidth() * 0.90f);
static_cast<float>(std::min(static_cast<int>(Renderer::getScreenHeight() * 1.05f),
static_cast<int>(Renderer::getScreenWidth() * 0.90f)));
// Set height explicitly to ten rows for the component list. // Set height explicitly to ten rows for the component list.
float height = mList->getRowHeight(0) * 10.0f + mTitle->getSize().y + mSubtitle->getSize().y + float height = mList->getRowHeight(0) * 10.0f + mTitle->getSize().y + mSubtitle->getSize().y +

View file

@ -176,8 +176,8 @@ GuiOfflineGenerator::GuiOfflineGenerator(const std::queue<FileData*>& gameQueue)
// For narrower displays (e.g. in 4:3 ratio), allow the window to fill 95% of the screen // For narrower displays (e.g. in 4:3 ratio), allow the window to fill 95% of the screen
// width rather than the 85% allowed for wider displays. // width rather than the 85% allowed for wider displays.
float width = float width {Renderer::getScreenWidth() *
Renderer::getScreenWidth() * ((Renderer::getScreenAspectRatio() < 1.4f) ? 0.95f : 0.85f); ((Renderer::getScreenAspectRatio() < 1.4f) ? 0.95f : 0.85f)};
setSize(width, Renderer::getScreenHeight() * 0.75f); setSize(width, Renderer::getScreenHeight() * 0.75f);
setPosition((Renderer::getScreenWidth() - mSize.x) / 2.0f, setPosition((Renderer::getScreenWidth() - mSize.x) / 2.0f,

View file

@ -151,8 +151,7 @@ GuiScraperMulti::GuiScraperMulti(const std::queue<ScraperSearchParams>& searches
float aspectValue = 1.778f / Renderer::getScreenAspectRatio(); float aspectValue = 1.778f / Renderer::getScreenAspectRatio();
float width = glm::clamp(0.95f * aspectValue, 0.70f, 0.95f) * Renderer::getScreenWidth(); float width = glm::clamp(0.95f * aspectValue, 0.70f, 0.95f) * Renderer::getScreenWidth();
float height = (mTitle->getFont()->getLetterHeight() + float height = (mTitle->getFont()->getLetterHeight() + Renderer::getScreenHeight() * 0.0637f) +
static_cast<float>(Renderer::getScreenHeight()) * 0.0637f) +
mSystem->getFont()->getLetterHeight() + mSystem->getFont()->getLetterHeight() +
mSubtitle->getFont()->getHeight() * 1.75f + mButtonGrid->getSize().y + mSubtitle->getFont()->getHeight() * 1.75f + mButtonGrid->getSize().y +
Font::get(FONT_SIZE_MEDIUM)->getHeight() * 7.0f; Font::get(FONT_SIZE_MEDIUM)->getHeight() * 7.0f;

View file

@ -120,14 +120,13 @@ GuiScraperSingle::GuiScraperSingle(ScraperSearchParams& params,
// Limit the width of the GUI on ultrawide monitors. The 1.778 aspect ratio value is // Limit the width of the GUI on ultrawide monitors. The 1.778 aspect ratio value is
// the 16:9 reference. // the 16:9 reference.
float aspectValue = 1.778f / Renderer::getScreenAspectRatio(); float aspectValue {1.778f / Renderer::getScreenAspectRatio()};
float width = glm::clamp(0.95f * aspectValue, 0.70f, 0.95f) * Renderer::getScreenWidth(); float width {glm::clamp(0.95f * aspectValue, 0.70f, 0.95f) * Renderer::getScreenWidth()};
float height = (mGameName->getFont()->getLetterHeight() + float height {
static_cast<float>(Renderer::getScreenHeight()) * 0.0637f) + (mGameName->getFont()->getLetterHeight() + Renderer::getScreenHeight() * 0.0637f) +
mSystemName->getFont()->getLetterHeight() + mSystemName->getFont()->getLetterHeight() + Renderer::getScreenHeight() * 0.04f +
static_cast<float>(Renderer::getScreenHeight()) * 0.04f + mButtonGrid->getSize().y + Font::get(FONT_SIZE_MEDIUM)->getHeight() * 8.0f};
mButtonGrid->getSize().y + Font::get(FONT_SIZE_MEDIUM)->getHeight() * 8.0f;
setSize(width, height); setSize(width, height);
setPosition((Renderer::getScreenWidth() - mSize.x) / 2.0f, setPosition((Renderer::getScreenWidth() - mSize.x) / 2.0f,

View file

@ -39,8 +39,7 @@ GuiSettings::GuiSettings(std::string title)
addChild(&mMenu); addChild(&mMenu);
mMenu.addButton("BACK", "back", [this] { delete this; }); mMenu.addButton("BACK", "back", [this] { delete this; });
setSize(static_cast<float>(Renderer::getScreenWidth()), setSize(Renderer::getScreenWidth(), Renderer::getScreenHeight());
static_cast<float>(Renderer::getScreenHeight()));
mMenu.setPosition((mSize.x - mMenu.getSize().x) / 2.0f, Renderer::getScreenHeight() * 0.13f); mMenu.setPosition((mSize.x - mMenu.getSize().x) / 2.0f, Renderer::getScreenHeight() * 0.13f);
} }

View file

@ -26,8 +26,7 @@ GamelistBase::GamelistBase(FileData* root)
, mIsFolder {false} , mIsFolder {false}
, mVideoPlaying {false} , mVideoPlaying {false}
{ {
setSize(static_cast<float>(Renderer::getScreenWidth()), setSize(Renderer::getScreenWidth(), Renderer::getScreenHeight());
static_cast<float>(Renderer::getScreenHeight()));
mList.setSize(mSize.x, mSize.y * 0.8f); mList.setSize(mSize.x, mSize.y * 0.8f);
mList.setPosition(0.0f, mSize.y * 0.2f); mList.setPosition(0.0f, mSize.y * 0.2f);

View file

@ -37,8 +37,7 @@ SystemView::SystemView()
, mViewNeedsReload {true} , mViewNeedsReload {true}
, mLegacyMode {false} , mLegacyMode {false}
{ {
setSize(static_cast<float>(Renderer::getScreenWidth()), setSize(Renderer::getScreenWidth(), Renderer::getScreenHeight());
static_cast<float>(Renderer::getScreenHeight()));
mCarousel = std::make_unique<CarouselComponent>(); mCarousel = std::make_unique<CarouselComponent>();
mCarousel->setCursorChangedCallback([&](const CursorState& state) { onCursorChanged(state); }); mCarousel->setCursorChangedCallback([&](const CursorState& state) { onCursorChanged(state); });

View file

@ -340,7 +340,7 @@ void ViewController::goToSystemView(SystemData* system, bool playTransition)
mSystemViewTransition = true; mSystemViewTransition = true;
auto systemList = getSystemListView(); auto systemList = getSystemListView();
systemList->setPosition(getSystemId(system) * static_cast<float>(Renderer::getScreenWidth()), systemList->setPosition(getSystemId(system) * Renderer::getScreenWidth(),
systemList->getPosition().y); systemList->getPosition().y);
systemList->goToSystem(system, false); systemList->goToSystem(system, false);
@ -353,17 +353,17 @@ void ViewController::goToSystemView(SystemData* system, bool playTransition)
if (Settings::getInstance()->getString("TransitionStyle") == "slide") { if (Settings::getInstance()->getString("TransitionStyle") == "slide") {
if (getSystemListView()->getCarouselType() == CarouselComponent::HORIZONTAL || if (getSystemListView()->getCarouselType() == CarouselComponent::HORIZONTAL ||
getSystemListView()->getCarouselType() == CarouselComponent::HORIZONTAL_WHEEL) getSystemListView()->getCarouselType() == CarouselComponent::HORIZONTAL_WHEEL)
mCamera[3].y += static_cast<float>(Renderer::getScreenHeight()); mCamera[3].y += Renderer::getScreenHeight();
else else
mCamera[3].x -= static_cast<float>(Renderer::getScreenWidth()); mCamera[3].x -= Renderer::getScreenWidth();
updateHelpPrompts(); updateHelpPrompts();
} }
else if (Settings::getInstance()->getString("TransitionStyle") == "fade") { else if (Settings::getInstance()->getString("TransitionStyle") == "fade") {
if (getSystemListView()->getCarouselType() == CarouselComponent::HORIZONTAL || if (getSystemListView()->getCarouselType() == CarouselComponent::HORIZONTAL ||
getSystemListView()->getCarouselType() == CarouselComponent::HORIZONTAL_WHEEL) getSystemListView()->getCarouselType() == CarouselComponent::HORIZONTAL_WHEEL)
mCamera[3].y += static_cast<float>(Renderer::getScreenHeight()); mCamera[3].y += Renderer::getScreenHeight();
else else
mCamera[3].x += static_cast<float>(Renderer::getScreenWidth()); mCamera[3].x += Renderer::getScreenWidth();
} }
else { else {
updateHelpPrompts(); updateHelpPrompts();
@ -476,8 +476,7 @@ void ViewController::goToGamelist(SystemData* system)
float offsetX = sysList->getPosition().x; float offsetX = sysList->getPosition().x;
int sysId = getSystemId(system); int sysId = getSystemId(system);
sysList->setPosition(sysId * static_cast<float>(Renderer::getScreenWidth()), sysList->setPosition(sysId * Renderer::getScreenWidth(), sysList->getPosition().y);
sysList->getPosition().y);
offsetX = sysList->getPosition().x - offsetX; offsetX = sysList->getPosition().x - offsetX;
mCamera[3].x -= offsetX; mCamera[3].x -= offsetX;
} }
@ -520,11 +519,11 @@ void ViewController::goToGamelist(SystemData* system)
if (mState.viewing == NOTHING) { if (mState.viewing == NOTHING) {
mCamera = glm::translate(mCamera, -mCurrentView->getPosition()); mCamera = glm::translate(mCamera, -mCurrentView->getPosition());
if (Settings::getInstance()->getString("TransitionStyle") == "slide") { if (Settings::getInstance()->getString("TransitionStyle") == "slide") {
mCamera[3].y -= static_cast<float>(Renderer::getScreenHeight()); mCamera[3].y -= Renderer::getScreenHeight();
updateHelpPrompts(); updateHelpPrompts();
} }
else if (Settings::getInstance()->getString("TransitionStyle") == "fade") { else if (Settings::getInstance()->getString("TransitionStyle") == "fade") {
mCamera[3].y += static_cast<float>(Renderer::getScreenHeight() * 2); mCamera[3].y += Renderer::getScreenHeight() * 2.0f;
} }
else { else {
updateHelpPrompts(); updateHelpPrompts();
@ -773,8 +772,7 @@ std::shared_ptr<GamelistView> ViewController::getGamelistView(SystemData* system
std::vector<SystemData*>& sysVec = SystemData::sSystemVector; std::vector<SystemData*>& sysVec = SystemData::sSystemVector;
int id {static_cast<int>(std::find(sysVec.cbegin(), sysVec.cend(), system) - sysVec.cbegin())}; int id {static_cast<int>(std::find(sysVec.cbegin(), sysVec.cend(), system) - sysVec.cbegin())};
view->setPosition(id * static_cast<float>(Renderer::getScreenWidth()), view->setPosition(id * Renderer::getScreenWidth(), Renderer::getScreenHeight() * 2.0f);
static_cast<float>(Renderer::getScreenHeight() * 2));
addChild(view.get()); addChild(view.get());
@ -790,7 +788,7 @@ std::shared_ptr<SystemView> ViewController::getSystemListView()
mSystemListView = std::shared_ptr<SystemView>(new SystemView); mSystemListView = std::shared_ptr<SystemView>(new SystemView);
addChild(mSystemListView.get()); addChild(mSystemListView.get());
mSystemListView->setPosition(0, static_cast<float>(Renderer::getScreenHeight())); mSystemListView->setPosition(0, Renderer::getScreenHeight());
return mSystemListView; return mSystemListView;
} }
@ -870,9 +868,8 @@ void ViewController::render(const glm::mat4& parentTrans)
// Camera position, position + size. // Camera position, position + size.
glm::vec3 viewStart {transInverse[3]}; glm::vec3 viewStart {transInverse[3]};
glm::vec3 viewEnd {std::fabs(trans[3].x) + static_cast<float>(Renderer::getScreenWidth()), glm::vec3 viewEnd {std::fabs(trans[3].x) + Renderer::getScreenWidth(),
std::fabs(trans[3].y) + static_cast<float>(Renderer::getScreenHeight()), std::fabs(trans[3].y) + Renderer::getScreenHeight(), 0.0f};
0.0f};
// Keep track of UI mode changes. // Keep track of UI mode changes.
UIModeController::getInstance()->monitorUIMode(); UIModeController::getInstance()->monitorUIMode();
@ -904,8 +901,8 @@ void ViewController::render(const glm::mat4& parentTrans)
if (mFadeOpacity) { if (mFadeOpacity) {
unsigned int fadeColor = 0x00000000 | static_cast<unsigned char>(mFadeOpacity * 255); unsigned int fadeColor = 0x00000000 | static_cast<unsigned char>(mFadeOpacity * 255);
Renderer::setMatrix(parentTrans); Renderer::setMatrix(parentTrans);
Renderer::drawRect(0.0f, 0.0f, static_cast<float>(Renderer::getScreenWidth()), Renderer::drawRect(0.0f, 0.0f, Renderer::getScreenWidth(), Renderer::getScreenHeight(),
static_cast<float>(Renderer::getScreenHeight()), fadeColor, fadeColor); fadeColor, fadeColor);
} }
} }

View file

@ -321,9 +321,9 @@ void GuiComponent::applyTheme(const std::shared_ptr<ThemeData>& theme,
const std::string& element, const std::string& element,
unsigned int properties) unsigned int properties)
{ {
glm::vec2 scale {getParent() ? getParent()->getSize() : glm::vec2 scale {getParent() ?
glm::vec2 {static_cast<float>(Renderer::getScreenWidth()), getParent()->getSize() :
static_cast<float>(Renderer::getScreenHeight())}}; glm::vec2 {Renderer::getScreenWidth(), Renderer::getScreenHeight()}};
const ThemeData::ThemeElement* elem = theme->getElement(view, element, ""); const ThemeData::ThemeElement* elem = theme->getElement(view, element, "");
if (!elem) if (!elem)

View file

@ -40,8 +40,7 @@ void HelpStyle::applyTheme(const std::shared_ptr<ThemeData>& theme, const std::s
if (elem->has("pos")) if (elem->has("pos"))
position = elem->get<glm::vec2>("pos") * position = elem->get<glm::vec2>("pos") *
glm::vec2 {static_cast<float>(Renderer::getScreenWidth()), glm::vec2 {Renderer::getScreenWidth(), Renderer::getScreenHeight()};
static_cast<float>(Renderer::getScreenHeight())};
if (elem->has("origin")) if (elem->has("origin"))
origin = elem->get<glm::vec2>("origin"); origin = elem->get<glm::vec2>("origin");

View file

@ -131,8 +131,7 @@ bool Window::init()
} }
mBackgroundOverlay->setImage(":/graphics/screen_gradient.png"); mBackgroundOverlay->setImage(":/graphics/screen_gradient.png");
mBackgroundOverlay->setResize(static_cast<float>(Renderer::getScreenWidth()), mBackgroundOverlay->setResize(Renderer::getScreenWidth(), Renderer::getScreenHeight());
static_cast<float>(Renderer::getScreenHeight()));
#if defined(USE_OPENGL_21) #if defined(USE_OPENGL_21)
mPostprocessedBackground = TextureResource::get(""); mPostprocessedBackground = TextureResource::get("");
@ -461,7 +460,8 @@ void Window::render()
const auto backgroundStartTime = std::chrono::system_clock::now(); const auto backgroundStartTime = std::chrono::system_clock::now();
#endif #endif
unsigned char* processedTexture = unsigned char* processedTexture =
new unsigned char[Renderer::getScreenWidth() * Renderer::getScreenHeight() * 4]; new unsigned char[Renderer::getScreenWidth() * Renderer::getScreenHeight() *
4.0f];
// De-focus the background using multiple passes of gaussian blur, with the number // De-focus the background using multiple passes of gaussian blur, with the number
// of iterations relative to the screen resolution. // of iterations relative to the screen resolution.
@ -502,7 +502,8 @@ void Window::render()
} }
mPostprocessedBackground->initFromPixels( mPostprocessedBackground->initFromPixels(
processedTexture, Renderer::getScreenWidth(), Renderer::getScreenHeight()); processedTexture, static_cast<size_t>(Renderer::getScreenWidth()),
static_cast<size_t>(Renderer::getScreenHeight()));
mBackgroundOverlay->setImage(mPostprocessedBackground); mBackgroundOverlay->setImage(mPostprocessedBackground);
@ -561,8 +562,7 @@ void Window::render()
// Render the quick list scrolling overlay, which is triggered in IList. // Render the quick list scrolling overlay, which is triggered in IList.
if (mListScrollOpacity != 0.0f) { if (mListScrollOpacity != 0.0f) {
Renderer::setMatrix(Renderer::getIdentity()); Renderer::setMatrix(Renderer::getIdentity());
Renderer::drawRect(0.0f, 0.0f, static_cast<float>(Renderer::getScreenWidth()), Renderer::drawRect(0.0f, 0.0f, Renderer::getScreenWidth(), Renderer::getScreenHeight(),
static_cast<float>(Renderer::getScreenHeight()),
0x00000000 | static_cast<unsigned char>(mListScrollOpacity * 255.0f), 0x00000000 | static_cast<unsigned char>(mListScrollOpacity * 255.0f),
0x00000000 | static_cast<unsigned char>(mListScrollOpacity * 255.0f)); 0x00000000 | static_cast<unsigned char>(mListScrollOpacity * 255.0f));
@ -628,8 +628,8 @@ void Window::renderLoadingScreen(std::string text)
{ {
glm::mat4 trans {Renderer::getIdentity()}; glm::mat4 trans {Renderer::getIdentity()};
Renderer::setMatrix(trans); Renderer::setMatrix(trans);
Renderer::drawRect(0.0f, 0.0f, static_cast<float>(Renderer::getScreenWidth()), Renderer::drawRect(0.0f, 0.0f, Renderer::getScreenWidth(), Renderer::getScreenHeight(),
static_cast<float>(Renderer::getScreenHeight()), 0x000000FF, 0x000000FF); 0x000000FF, 0x000000FF);
ImageComponent splash(true); ImageComponent splash(true);
splash.setImage(":/graphics/splash.svg"); splash.setImage(":/graphics/splash.svg");
@ -641,8 +641,8 @@ void Window::renderLoadingScreen(std::string text)
auto& font = mDefaultFonts.at(1); auto& font = mDefaultFonts.at(1);
TextCache* cache = font->buildTextCache(text, 0.0f, 0.0f, 0x656565FF); TextCache* cache = font->buildTextCache(text, 0.0f, 0.0f, 0x656565FF);
float x = std::round((Renderer::getScreenWidth() - cache->metrics.size.x) / 2.0f); float x {std::round((Renderer::getScreenWidth() - cache->metrics.size.x) / 2.0f)};
float y = std::round(Renderer::getScreenHeight() * 0.835f); float y {std::round(Renderer::getScreenHeight() * 0.835f)};
trans = glm::translate(trans, glm::vec3 {x, y, 0.0f}); trans = glm::translate(trans, glm::vec3 {x, y, 0.0f});
Renderer::setMatrix(trans); Renderer::setMatrix(trans);
font->renderTextCache(cache); font->renderTextCache(cache);

View file

@ -45,10 +45,10 @@ void BusyComponent::onSizeChanged()
if (mSize.x == 0.0f || mSize.y == 0.0f) if (mSize.x == 0.0f || mSize.y == 0.0f)
return; return;
const float middleSpacerWidth = 0.01f * Renderer::getScreenWidth(); const float middleSpacerWidth {0.01f * Renderer::getScreenWidth()};
const float textHeight = mText->getFont()->getLetterHeight(); const float textHeight {mText->getFont()->getLetterHeight()};
mText->setSize(0, textHeight); mText->setSize(0, textHeight);
const float textWidth = mText->getSize().x + (4.0f * Renderer::getScreenWidthModifier()); const float textWidth {mText->getSize().x + (4.0f * Renderer::getScreenWidthModifier())};
mGrid.setColWidthPerc(1, textHeight / mSize.x); // Animation is square. mGrid.setColWidthPerc(1, textHeight / mSize.x); // Animation is square.
mGrid.setColWidthPerc(2, middleSpacerWidth / mSize.x); mGrid.setColWidthPerc(2, middleSpacerWidth / mSize.x);

View file

@ -91,10 +91,8 @@ void FlexboxComponent::computeLayout()
mItemMargin.y = glm::clamp(mItemMargin.y, 0.0f, mSize.y / 2.0f); mItemMargin.y = glm::clamp(mItemMargin.y, 0.0f, mSize.y / 2.0f);
// Also keep the size within reason. // Also keep the size within reason.
mSize.x = glm::clamp(mSize.x, static_cast<float>(Renderer::getScreenWidth()) * 0.03f, mSize.x = glm::clamp(mSize.x, Renderer::getScreenWidth() * 0.03f, Renderer::getScreenWidth());
static_cast<float>(Renderer::getScreenWidth())); mSize.y = glm::clamp(mSize.y, Renderer::getScreenHeight() * 0.03f, Renderer::getScreenHeight());
mSize.y = glm::clamp(mSize.y, static_cast<float>(Renderer::getScreenHeight()) * 0.03f,
static_cast<float>(Renderer::getScreenHeight()));
if (mItemsPerLine * mLines < mItems.size()) { if (mItemsPerLine * mLines < mItems.size()) {
LOG(LogWarning) LOG(LogWarning)

View file

@ -75,8 +75,7 @@ void GridTileComponent::update(int deltaTime)
void applyThemeToProperties(const ThemeData::ThemeElement* elem, GridTileProperties* properties) void applyThemeToProperties(const ThemeData::ThemeElement* elem, GridTileProperties* properties)
{ {
glm::vec2 screen {static_cast<float>(Renderer::getScreenWidth()), glm::vec2 screen {Renderer::getScreenWidth(), Renderer::getScreenHeight()};
static_cast<float>(Renderer::getScreenHeight())};
if (elem->has("size")) if (elem->has("size"))
properties->mSize = elem->get<glm::vec2>("size") * screen; properties->mSize = elem->get<glm::vec2>("size") * screen;

View file

@ -484,9 +484,9 @@ void ImageComponent::applyTheme(const std::shared_ptr<ThemeData>& theme,
if (!elem) if (!elem)
return; return;
glm::vec2 scale {getParent() ? getParent()->getSize() : glm::vec2 scale {getParent() ?
glm::vec2(static_cast<float>(Renderer::getScreenWidth()), getParent()->getSize() :
static_cast<float>(Renderer::getScreenHeight()))}; glm::vec2(Renderer::getScreenWidth(), Renderer::getScreenHeight())};
if (properties & ThemeFlags::SIZE) { if (properties & ThemeFlags::SIZE) {
if (elem->has("size")) if (elem->has("size"))

View file

@ -124,8 +124,7 @@ private:
template <typename T> ImageGridComponent<T>::ImageGridComponent() template <typename T> ImageGridComponent<T>::ImageGridComponent()
{ {
glm::vec2 screen {static_cast<float>(Renderer::getScreenWidth()), glm::vec2 screen {Renderer::getScreenWidth(), Renderer::getScreenHeight()};
static_cast<float>(Renderer::getScreenHeight())};
mCamera = 0.0f; mCamera = 0.0f;
mCameraDirection = 1.0f; mCameraDirection = 1.0f;

View file

@ -108,9 +108,7 @@ void MenuComponent::updateSize()
} }
} }
float width = float width {std::min(Renderer::getScreenHeight() * 1.05f, Renderer::getScreenWidth() * 0.90f)};
static_cast<float>(std::min(static_cast<int>(Renderer::getScreenHeight() * 1.05f),
static_cast<int>(Renderer::getScreenWidth() * 0.90f)));
setSize(width, height); setSize(width, height);
} }

View file

@ -531,9 +531,9 @@ void TextListComponent<T>::applyTheme(const std::shared_ptr<ThemeData>& theme,
<< str << "\""; << str << "\"";
} }
if (elem->has("horizontalMargin")) { if (elem->has("horizontalMargin")) {
mHorizontalMargin = elem->get<float>("horizontalMargin") * mHorizontalMargin =
(this->mParent ? this->mParent->getSize().x : elem->get<float>("horizontalMargin") *
static_cast<float>(Renderer::getScreenWidth())); (this->mParent ? this->mParent->getSize().x : Renderer::getScreenWidth());
} }
} }

View file

@ -221,9 +221,9 @@ void VideoComponent::applyTheme(const std::shared_ptr<ThemeData>& theme,
if (!elem) if (!elem)
return; return;
glm::vec2 scale {getParent() ? getParent()->getSize() : glm::vec2 scale {getParent() ?
glm::vec2 {static_cast<float>(Renderer::getScreenWidth()), getParent()->getSize() :
static_cast<float>(Renderer::getScreenHeight())}}; glm::vec2 {Renderer::getScreenWidth(), Renderer::getScreenHeight()}};
if (properties & ThemeFlags::SIZE) { if (properties & ThemeFlags::SIZE) {
if (elem->has("size")) { if (elem->has("size")) {

View file

@ -272,8 +272,8 @@ GuiTextEditKeyboardPopup::GuiTextEditKeyboardPopup(
if (mMultiLine) { if (mMultiLine) {
setSize(width, KEYBOARD_HEIGHT + textHeight - mText->getFont()->getHeight()); setSize(width, KEYBOARD_HEIGHT + textHeight - mText->getFont()->getHeight());
setPosition((static_cast<float>(Renderer::getScreenWidth()) - mSize.x) / 2.0f, setPosition((Renderer::getScreenWidth() - mSize.x) / 2.0f,
(static_cast<float>(Renderer::getScreenHeight()) - mSize.y) / 2.0f); (Renderer::getScreenHeight() - mSize.y) / 2.0f);
} }
else { else {
if (mComplexMode) if (mComplexMode)
@ -281,8 +281,8 @@ GuiTextEditKeyboardPopup::GuiTextEditKeyboardPopup(
else else
setSize(width, KEYBOARD_HEIGHT); setSize(width, KEYBOARD_HEIGHT);
setPosition((static_cast<float>(Renderer::getScreenWidth()) - mSize.x) / 2.0f, setPosition((Renderer::getScreenWidth() - mSize.x) / 2.0f,
(static_cast<float>(Renderer::getScreenHeight()) - mSize.y) / 2.0f); (Renderer::getScreenHeight() - mSize.y) / 2.0f);
} }
if (!multiLine) if (!multiLine)

View file

@ -535,12 +535,12 @@ namespace Renderer
const glm::mat4& getProjectionMatrix() { return mProjectionMatrix; } const glm::mat4& getProjectionMatrix() { return mProjectionMatrix; }
SDL_Window* getSDLWindow() { return sdlWindow; } SDL_Window* getSDLWindow() { return sdlWindow; }
const int getWindowWidth() { return windowWidth; } const float getWindowWidth() { return static_cast<float>(windowWidth); }
const int getWindowHeight() { return windowHeight; } const float getWindowHeight() { return static_cast<float>(windowHeight); }
const int getScreenWidth() { return screenWidth; } const float getScreenWidth() { return static_cast<float>(screenWidth); }
const int getScreenHeight() { return screenHeight; } const float getScreenHeight() { return static_cast<float>(screenHeight); }
const int getScreenOffsetX() { return screenOffsetX; } const float getScreenOffsetX() { return static_cast<float>(screenOffsetX); }
const int getScreenOffsetY() { return screenOffsetY; } const float getScreenOffsetY() { return static_cast<float>(screenOffsetY); }
const int getScreenRotate() { return screenRotate; } const int getScreenRotate() { return screenRotate; }
const float getScreenWidthModifier() { return screenWidthModifier; } const float getScreenWidthModifier() { return screenWidthModifier; }
const float getScreenHeightModifier() { return screenHeightModifier; } const float getScreenHeightModifier() { return screenHeightModifier; }

View file

@ -146,12 +146,12 @@ namespace Renderer
const Blend::Factor srcBlendFactor = Blend::SRC_ALPHA, const Blend::Factor srcBlendFactor = Blend::SRC_ALPHA,
const Blend::Factor dstBlendFactor = Blend::ONE_MINUS_SRC_ALPHA); const Blend::Factor dstBlendFactor = Blend::ONE_MINUS_SRC_ALPHA);
SDL_Window* getSDLWindow(); SDL_Window* getSDLWindow();
const int getWindowWidth(); const float getWindowWidth();
const int getWindowHeight(); const float getWindowHeight();
const int getScreenWidth(); const float getScreenWidth();
const int getScreenHeight(); const float getScreenHeight();
const int getScreenOffsetX(); const float getScreenOffsetX();
const int getScreenOffsetY(); const float getScreenOffsetY();
const int getScreenRotate(); const int getScreenRotate();
const float getScreenWidthModifier(); const float getScreenWidthModifier();
const float getScreenHeightModifier(); const float getScreenHeightModifier();

View file

@ -389,7 +389,8 @@ namespace Renderer
void setViewport(const Rect& viewport) void setViewport(const Rect& viewport)
{ {
// glViewport starts at the bottom left of the window. // glViewport starts at the bottom left of the window.
GL_CHECK_ERROR(glViewport(viewport.x, getWindowHeight() - viewport.y - viewport.h, GL_CHECK_ERROR(glViewport(viewport.x,
static_cast<GLint>(getWindowHeight()) - viewport.y - viewport.h,
viewport.w, viewport.h)); viewport.w, viewport.h));
} }
@ -400,7 +401,8 @@ namespace Renderer
} }
else { else {
// glScissor starts at the bottom left of the window. // glScissor starts at the bottom left of the window.
GL_CHECK_ERROR(glScissor(scissor.x, getWindowHeight() - scissor.y - scissor.h, GL_CHECK_ERROR(glScissor(scissor.x,
static_cast<GLint>(getWindowHeight()) - scissor.y - scissor.h,
scissor.w, scissor.h)); scissor.w, scissor.h));
GL_CHECK_ERROR(glEnable(GL_SCISSOR_TEST)); GL_CHECK_ERROR(glEnable(GL_SCISSOR_TEST));
} }

View file

@ -233,7 +233,8 @@ namespace Renderer
void setViewport(const Rect& viewport) void setViewport(const Rect& viewport)
{ {
// glViewport starts at the bottom left of the window. // glViewport starts at the bottom left of the window.
GL_CHECK_ERROR(glViewport(viewport.x, getWindowHeight() - viewport.y - viewport.h, GL_CHECK_ERROR(glViewport(viewport.x,
static_cast<GLint>(getWindowHeight()) - viewport.y - viewport.h,
viewport.w, viewport.h)); viewport.w, viewport.h));
} }
@ -244,7 +245,8 @@ namespace Renderer
} }
else { else {
// glScissor starts at the bottom left of the window. // glScissor starts at the bottom left of the window.
GL_CHECK_ERROR(glScissor(scissor.x, getWindowHeight() - scissor.y - scissor.h, GL_CHECK_ERROR(glScissor(scissor.x,
static_cast<GLint>(getWindowHeight()) - scissor.y - scissor.h,
scissor.w, scissor.h)); scissor.w, scissor.h));
GL_CHECK_ERROR(glEnable(GL_SCISSOR_TEST)); GL_CHECK_ERROR(glEnable(GL_SCISSOR_TEST));
} }

View file

@ -434,7 +434,8 @@ namespace Renderer
void setViewport(const Rect& viewport) void setViewport(const Rect& viewport)
{ {
// glViewport starts at the bottom left of the window. // glViewport starts at the bottom left of the window.
GL_CHECK_ERROR(glViewport(viewport.x, getWindowHeight() - viewport.y - viewport.h, GL_CHECK_ERROR(glViewport(viewport.x,
static_cast<GLint>(getWindowHeight()) - viewport.y - viewport.h,
viewport.w, viewport.h)); viewport.w, viewport.h));
} }
@ -445,7 +446,8 @@ namespace Renderer
} }
else { else {
// glScissor starts at the bottom left of the window. // glScissor starts at the bottom left of the window.
GL_CHECK_ERROR(glScissor(scissor.x, getWindowHeight() - scissor.y - scissor.h, GL_CHECK_ERROR(glScissor(scissor.x,
static_cast<GLint>(getWindowHeight()) - scissor.y - scissor.h,
scissor.w, scissor.h)); scissor.w, scissor.h));
GL_CHECK_ERROR(glEnable(GL_SCISSOR_TEST)); GL_CHECK_ERROR(glEnable(GL_SCISSOR_TEST));
} }