From 1b1bec879de4eead0937509ca6a7cf35c6b03215 Mon Sep 17 00:00:00 2001 From: Alexis Maiquez Date: Fri, 28 Oct 2022 07:38:57 +0200 Subject: [PATCH] Added missing code for previous video FPS settings Signed-off-by: Alexis Maiquez --- src/WallpaperEngine/Core/CProject.cpp | 2 ++ src/WallpaperEngine/Render/CContext.cpp | 5 +++++ src/WallpaperEngine/Render/CContext.h | 1 + src/WallpaperEngine/Render/CVideo.cpp | 5 +++++ src/WallpaperEngine/Render/CVideo.h | 2 ++ 5 files changed, 15 insertions(+) diff --git a/src/WallpaperEngine/Core/CProject.cpp b/src/WallpaperEngine/Core/CProject.cpp index 41c3a53..ba22b3b 100644 --- a/src/WallpaperEngine/Core/CProject.cpp +++ b/src/WallpaperEngine/Core/CProject.cpp @@ -37,6 +37,8 @@ CProject* CProject::fromFile (const std::string& filename, CContainer* container { wallpaper = new CVideo (file.c_str ()); } + else if (type == "web") + throw std::runtime_error ("Web wallpapers not supported yet"); else throw std::runtime_error ("Unsupported wallpaper type"); diff --git a/src/WallpaperEngine/Render/CContext.cpp b/src/WallpaperEngine/Render/CContext.cpp index 74c02d9..d9810c6 100644 --- a/src/WallpaperEngine/Render/CContext.cpp +++ b/src/WallpaperEngine/Render/CContext.cpp @@ -242,4 +242,9 @@ CMouseInput* CContext::getMouse () const void CContext::setMouse (CMouseInput* mouse) { this->m_mouse = mouse; +} + +CWallpaper* CContext::getWallpaper () const +{ + return this->m_wallpaper; } \ No newline at end of file diff --git a/src/WallpaperEngine/Render/CContext.h b/src/WallpaperEngine/Render/CContext.h index 351a7b5..83370dc 100644 --- a/src/WallpaperEngine/Render/CContext.h +++ b/src/WallpaperEngine/Render/CContext.h @@ -25,6 +25,7 @@ namespace WallpaperEngine::Render void setDefaultViewport (glm::vec4 defaultViewport); CMouseInput* getMouse () const; void setMouse (CMouseInput* mouse); + CWallpaper* getWallpaper () const; private: Display* m_display; diff --git a/src/WallpaperEngine/Render/CVideo.cpp b/src/WallpaperEngine/Render/CVideo.cpp index 42d810e..c51506d 100644 --- a/src/WallpaperEngine/Render/CVideo.cpp +++ b/src/WallpaperEngine/Render/CVideo.cpp @@ -371,4 +371,9 @@ int CVideo::getHeight () return this->m_codecCtx->height; } +int CVideo::getFPS () +{ + return this->m_codecCtx->framerate.num; +} + const std::string CVideo::Type = "video"; diff --git a/src/WallpaperEngine/Render/CVideo.h b/src/WallpaperEngine/Render/CVideo.h index 5f285ec..383bd6c 100644 --- a/src/WallpaperEngine/Render/CVideo.h +++ b/src/WallpaperEngine/Render/CVideo.h @@ -25,6 +25,8 @@ namespace WallpaperEngine::Render int getWidth (); int getHeight (); + int getFPS (); + protected: void renderFrame (glm::ivec4 viewport) override;