Move DebugOverlay rendering to the overlay screen, allowing drawing it on top of the menu

This commit is contained in:
Henrik Rydgård committed 2023-08-03 16:19:18 +02:00
1 parent 8ef781faff
commit a32249a3cf
15 files changed
+50 -27

No files matched your search

+13
View File
@@ -10,6 +10,7 @@
#include "Common/Math/math_util.h"
#include "Common/UI/IconCache.h"
#include "UI/RetroAchievementScreens.h"
#include "UI/DebugOverlay.h"
#include "Common/UI/Context.h"
#include "Common/System/OSD.h"
@@ -456,6 +457,18 @@ void OSDOverlayScreen::CreateViews() {
root_->Add(new OnScreenMessagesView(new UI::AnchorLayoutParams(0.0f, 0.0f, 0.0f, 0.0f)));
}
void OSDOverlayScreen::render() {
UIScreen::render();
DebugOverlay debugOverlay = (DebugOverlay)g_Config.iDebugOverlay;
// Special case control for now, since it uses the control mapper that's owned by EmuScreen.
if (debugOverlay != DebugOverlay::OFF && debugOverlay != DebugOverlay::CONTROL) {
UIContext *uiContext = screenManager()->getUIContext();
DrawDebugOverlay(uiContext, uiContext->GetLayoutBounds(), debugOverlay);
}
}
void NoticeView::GetContentDimensionsBySpec(const UIContext &dc, UI::MeasureSpec horiz, UI::MeasureSpec vert, float &w, float &h) const {
Bounds bounds(0, 0, layoutParams_->width, layoutParams_->height);
if (bounds.w < 0) {