linux-wallpaperengine/WallpaperEngine/Core/Objects/CEffect.h
Alexis Maiquez 654918904a ~ Changed namespace names for wp::core and wp to a more suited name
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2019-08-15 01:53:40 +02:00

39 lines
916 B
C++

#pragma once
#include <nlohmann/json.hpp>
#include <irrlicht/irrlicht.h>
#include "Images/CMaterial.h"
namespace WallpaperEngine::Core::Objects
{
using json = nlohmann::json;
class CEffect
{
public:
CEffect (
std::string name,
std::string description,
std::string group,
std::string preview
);
static CEffect* fromJSON (json data);
std::vector<std::string>* getDependencies ();
std::vector<Images::CMaterial*>* getMaterials ();
protected:
void insertDependency (const std::string& dep);
void insertMaterial (Images::CMaterial* material);
private:
std::string m_name;
std::string m_description;
std::string m_group;
std::string m_preview;
std::vector<std::string> m_dependencies;
std::vector<Images::CMaterial*> m_materials;
};
}