aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorArisotura <thetotalworm@gmail.com>2019-06-12 03:32:25 +0200
committerArisotura <thetotalworm@gmail.com>2019-06-12 03:32:25 +0200
commit4553da720c90a399d43a4a003ac9250ec4eded23 (patch)
tree02dcd20371afef4e5000f2ca04bd3c430094bfe0 /src
parentea5dc39e8335a7f8ba2dc0407035fd61cec138f4 (diff)
add setting for showing/hiding OSD
Diffstat (limited to 'src')
-rw-r--r--src/libui_sdl/OSD.cpp12
-rw-r--r--src/libui_sdl/PlatformConfig.cpp2
-rw-r--r--src/libui_sdl/PlatformConfig.h1
-rw-r--r--src/libui_sdl/main.cpp12
4 files changed, 27 insertions, 0 deletions
diff --git a/src/libui_sdl/OSD.cpp b/src/libui_sdl/OSD.cpp
index 8b87e9d..bd44e99 100644
--- a/src/libui_sdl/OSD.cpp
+++ b/src/libui_sdl/OSD.cpp
@@ -28,6 +28,8 @@
#include "OSD.h"
#include "font.h"
+#include "PlatformConfig.h"
+
extern int WindowWidth, WindowHeight;
namespace OSD
@@ -306,6 +308,8 @@ void RenderText(u32 color, const char* text, Item* item)
void AddMessage(u32 color, const char* text)
{
+ if (!Config::ShowOSD) return;
+
while (Rendering);
Item item;
@@ -341,6 +345,14 @@ void WindowResized(bool opengl)
void Update(bool opengl, uiAreaDrawParams* params)
{
+ if (!Config::ShowOSD)
+ {
+ Rendering = true;
+ if (ItemQueue.size() > 0) DeInit(opengl);
+ Rendering = false;
+ return;
+ }
+
Rendering = true;
Uint32 tick_now = SDL_GetTicks();
diff --git a/src/libui_sdl/PlatformConfig.cpp b/src/libui_sdl/PlatformConfig.cpp
index 6a9d4b2..7f45b59 100644
--- a/src/libui_sdl/PlatformConfig.cpp
+++ b/src/libui_sdl/PlatformConfig.cpp
@@ -46,6 +46,7 @@ int ScreenUseGL;
int ScreenRatio;
int LimitFPS;
+int ShowOSD;
int DirectBoot;
@@ -120,6 +121,7 @@ ConfigEntry PlatformConfigFile[] =
{"ScreenRatio", 0, &ScreenRatio, 0, NULL, 0},
{"LimitFPS", 0, &LimitFPS, 1, NULL, 0},
+ {"ShowOSD", 0, &ShowOSD, 1, NULL, 0},
{"DirectBoot", 0, &DirectBoot, 1, NULL, 0},
diff --git a/src/libui_sdl/PlatformConfig.h b/src/libui_sdl/PlatformConfig.h
index d6eb151..2c59e5d 100644
--- a/src/libui_sdl/PlatformConfig.h
+++ b/src/libui_sdl/PlatformConfig.h
@@ -57,6 +57,7 @@ extern int ScreenUseGL;
extern int ScreenRatio;
extern int LimitFPS;
+extern int ShowOSD;
extern int DirectBoot;
diff --git a/src/libui_sdl/main.cpp b/src/libui_sdl/main.cpp
index 9d14517..86949eb 100644
--- a/src/libui_sdl/main.cpp
+++ b/src/libui_sdl/main.cpp
@@ -93,6 +93,7 @@ uiMenuItem* MenuItem_ScreenSizing[4];
uiMenuItem* MenuItem_ScreenFilter;
uiMenuItem* MenuItem_LimitFPS;
+uiMenuItem* MenuItem_ShowOSD;
SDL_Thread* EmuThread;
int EmuRunning;
@@ -2144,6 +2145,13 @@ void OnSetLimitFPS(uiMenuItem* item, uiWindow* window, void* blarg)
else Config::LimitFPS = false;
}
+void OnSetShowOSD(uiMenuItem* item, uiWindow* window, void* blarg)
+{
+ int chk = uiMenuItemChecked(item);
+ if (chk != 0) Config::ShowOSD = true;
+ else Config::ShowOSD = false;
+}
+
void ApplyNewSettings(int type)
{
if (!RunningSomething)
@@ -2370,6 +2378,9 @@ void CreateMainWindowMenu()
MenuItem_LimitFPS = uiMenuAppendCheckItem(menu, "Limit framerate");
uiMenuItemOnClicked(MenuItem_LimitFPS, OnSetLimitFPS, NULL);
+
+ MenuItem_ShowOSD = uiMenuAppendCheckItem(menu, "Show OSD");
+ uiMenuItemOnClicked(MenuItem_ShowOSD, OnSetShowOSD, NULL);
}
void CreateMainWindow(bool opengl)
@@ -2604,6 +2615,7 @@ int main(int argc, char** argv)
uiMenuItemSetChecked(MenuItem_ScreenFilter, Config::ScreenFilter==1);
uiMenuItemSetChecked(MenuItem_LimitFPS, Config::LimitFPS==1);
+ uiMenuItemSetChecked(MenuItem_ShowOSD, Config::ShowOSD==1);
SDL_AudioSpec whatIwant, whatIget;
memset(&whatIwant, 0, sizeof(SDL_AudioSpec));