| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #pragma once
- #include <vector>
- #include "WallpaperEngine/Data/JSON.h"
- #include "WallpaperEngine/Data/Model/Object.h"
- namespace WallpaperEngine::Data::Model {
- struct ObjectData;
- }
- namespace WallpaperEngine::Data::Parsers {
- using JSON = WallpaperEngine::Data::JSON::JSON;
- using namespace WallpaperEngine::Data::Model;
- class ObjectParser {
- public:
- /** ImageAlignment flags from an alignment name, images re-read it when a script changes it */
- static uint32_t parseAlignment (const std::string& alignment);
- static ObjectUniquePtr parse (const JSON& it, const Project& project);
- private:
- static std::vector<int> parseDependencies (const JSON& it);
- static SoundUniquePtr parseSound (const JSON& it, const Project& project, ObjectData base);
- static SoundPlaybackMode parsePlaybackMode (const std::string& mode);
- static ImageUniquePtr
- parseImage (const JSON& it, const Project& project, ObjectData base, const std::string& image);
- static ParticleUniquePtr parseParticle (const JSON& it, const Project& project, ObjectData base, int depth = 0);
- static TextUniquePtr parseText (const JSON& it, const Project& project, ObjectData base);
- static LightUniquePtr parseLight (const JSON& it, const Project& project, ObjectData base);
- static MeshUniquePtr parseMesh (const JSON& it, ObjectData base);
- static SceneCameraUniquePtr parseCamera (const JSON& it, const Project& project, ObjectData base);
- static std::vector<ImageEffectUniquePtr> parseEffects (const JSON& it, const Project& project);
- static ImageEffectUniquePtr parseEffect (const JSON& it, const Project& project);
- static std::vector<ImageEffectPassOverrideUniquePtr>
- parseEffectPassOverrides (const JSON& it, const Project& project);
- static ImageEffectPassOverrideUniquePtr parseEffectPass (const JSON& it, const Project& project);
- static ComboMap parseComboMap (const JSON& it);
- static std::vector<ImageAnimationLayerUniquePtr> parseAnimationLayers (const JSON& it, const Project& project);
- static ImageAnimationLayerUniquePtr parseAnimationLayer (const JSON& it, const Project& project);
- static ParticleEmitter parseParticleEmitter (const JSON& it);
- static ParticleInitializerUniquePtr parseParticleInitializer (const JSON& it, const Properties& properties);
- static ParticleOperatorUniquePtr parseParticleOperator (const JSON& it, const Properties& properties);
- static ParticleRenderer parseParticleRenderer (const JSON& it);
- static ParticleControlPoint parseParticleControlPoint (const JSON& it);
- static ParticleEventInput parseParticleEventInput (const JSON& it, ParticleEventInput fallback);
- static ParticleChild parseParticleChild (
- const JSON& it, const JSON& owner, const Project& project, const ObjectData& ownerBase, size_t index, int depth
- );
- static ParticleInstanceOverride parseParticleInstanceOverride (const JSON& it, const Properties& properties);
- };
- } // namespace WallpaperEngine::Data::Parsers
|