Sfoglia il codice sorgente

+ added support for the isVisible flag on images

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
Alexis Maiquez 5 anni fa
parent
commit
8bc19b20ae

+ 1 - 1
src/WallpaperEngine/Core/CObject.cpp

@@ -182,7 +182,7 @@ const std::vector<uint32_t>& CObject::getDependencies () const
     return this->m_dependencies;
 }
 
-bool CObject::isVisible ()
+const bool CObject::isVisible () const
 {
     return this->m_visible;
 }

+ 1 - 1
src/WallpaperEngine/Core/CObject.h

@@ -34,7 +34,7 @@ namespace WallpaperEngine::Core
         const glm::vec3& getAngles () const;
         const std::string& getName () const;
 
-        bool isVisible ();
+        const bool isVisible () const;
     protected:
         CObject (
             bool visible,

+ 0 - 10
src/WallpaperEngine/Render/CScene.cpp

@@ -22,13 +22,8 @@ CScene::CScene (Core::CScene* scene, CContainer* container) :
     auto cur = scene->getObjects ().begin ();
     auto end = scene->getObjects ().end ();
 
-    int highestId = 0;
-
     for (; cur != end; cur ++)
     {
-        if ((*cur)->getId () > highestId)
-            highestId = (*cur)->getId ();
-
         CObject* object = nullptr;
 
         if ((*cur)->is<Core::Objects::CImage>() == true)
@@ -50,11 +45,6 @@ CCamera* CScene::getCamera () const
     return this->m_camera;
 }
 
-int CScene::nextId ()
-{
-    return this->m_nextId ++;
-}
-
 void CScene::render ()
 {
     auto cur = this->m_objects.begin ();

+ 0 - 2
src/WallpaperEngine/Render/CScene.h

@@ -18,7 +18,6 @@ namespace WallpaperEngine::Render
         CScene (Core::CScene* scene, CContainer* container);
 
         CCamera* getCamera () const;
-        int nextId ();
 
         void render () override;
 
@@ -31,7 +30,6 @@ namespace WallpaperEngine::Render
 
     private:
         CCamera* m_camera;
-        uint32_t m_nextId;
         std::vector<CObject*> m_objects;
     };
 }

+ 4 - 0
src/WallpaperEngine/Render/Objects/CImage.cpp

@@ -121,6 +121,10 @@ CImage::CImage (CScene* scene, Core::Objects::CImage* image) :
 
 void CImage::render ()
 {
+    // ensure this image is visible first
+    if (this->getImage ()->isVisible () == false)
+        return;
+
     GLuint drawTo = 0;
     GLuint inputTexture = this->m_texture->getTextureID ();
     // get the orthogonal projection