mirror of
https://github.com/hyprwm/hyprcursor.git
synced 2024-12-22 18:29:48 +01:00
84203d8126
Adds nominal size support
36 lines
No EOL
881 B
C++
36 lines
No EOL
881 B
C++
#pragma once
|
|
|
|
#include <string>
|
|
#include <optional>
|
|
#include <vector>
|
|
|
|
/*
|
|
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<std::string> 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<std::string> overrides;
|
|
std::vector<SDefinedSize> definedSizes;
|
|
} parsedData;
|
|
|
|
private:
|
|
std::optional<std::string> parseHL();
|
|
std::optional<std::string> parseTOML();
|
|
|
|
bool dataPath = false;
|
|
bool hyprlang = true;
|
|
|
|
std::string rawdata;
|
|
}; |