diff --git a/es-app/src/views/SystemView.cpp b/es-app/src/views/SystemView.cpp index d77b192e8..c7ec55e63 100644 --- a/es-app/src/views/SystemView.cpp +++ b/es-app/src/views/SystemView.cpp @@ -455,6 +455,7 @@ void SystemView::renderExtras(const Eigen::Affine3f& trans, float lower, float u else extrasTrans.translate(Eigen::Vector3f(0, (i - mExtrasCamOffset) * mSize.y(), 0)); + Renderer::pushClipRect(Eigen::Vector2i(extrasTrans.translation()[0], extrasTrans.translation()[1]), mSize.cast()); SystemViewData data = mEntries.at(index).data; for(unsigned int j = 0; j < data.backgroundExtras.size(); j++) { @@ -463,6 +464,7 @@ void SystemView::renderExtras(const Eigen::Affine3f& trans, float lower, float u extra->render(extrasTrans); } } + Renderer::popClipRect(); } Renderer::popClipRect(); } diff --git a/es-app/src/views/gamelist/IGameListView.cpp b/es-app/src/views/gamelist/IGameListView.cpp index 69799cdd9..5ea2ce83f 100644 --- a/es-app/src/views/gamelist/IGameListView.cpp +++ b/es-app/src/views/gamelist/IGameListView.cpp @@ -41,3 +41,11 @@ HelpStyle IGameListView::getHelpStyle() style.applyTheme(mTheme, getName()); return style; } + +void IGameListView::render(const Eigen::Affine3f& parentTrans) +{ + Eigen::Affine3f trans = parentTrans * getTransform(); + Renderer::pushClipRect(Eigen::Vector2i(trans.translation()[0],trans.translation()[1]), Eigen::Vector2i(Renderer::getScreenWidth(), Renderer::getScreenHeight())); + renderChildren(trans); + Renderer::popClipRect(); +} diff --git a/es-app/src/views/gamelist/IGameListView.h b/es-app/src/views/gamelist/IGameListView.h index ec98a9de9..5a44fbbee 100644 --- a/es-app/src/views/gamelist/IGameListView.h +++ b/es-app/src/views/gamelist/IGameListView.h @@ -37,6 +37,8 @@ public: virtual const char* getName() const = 0; virtual HelpStyle getHelpStyle() override; + + void render(const Eigen::Affine3f& parentTrans) override; protected: FileData* mRoot; std::shared_ptr mTheme;