#pragma once #include #include #include /* Meta can parse meta.hl and meta.toml */ class CMeta { public: CMeta(const std::string& rawdata_, bool hyprlang_ /* false for toml */, bool dataIsPath = false); std::optional parse(); struct SDefinedSize { std::string file; int size = 0, delayMs = 200; }; struct { std::string resizeAlgo; float hotspotX = 0, hotspotY = 0, nominalSize = 1.F; std::vector overrides; std::vector definedSizes; } parsedData; private: std::optional parseHL(); std::optional parseTOML(); bool dataPath = false; bool hyprlang = true; std::string rawdata; };