#pragma once #include #include #include #include #include #include namespace WallpaperEngine::Application { class CApplicationContext { public: CApplicationContext (int argc, char* argv[]); enum WINDOW_MODE { NORMAL_WINDOW = 0, X11_BACKGROUND = 1, EXPLICIT_WINDOW = 2, }; glm::ivec4 windowGeometry; std::map screenSettings; std::map properties; std::string background; std::filesystem::path assets; std::filesystem::path screenshot; bool takeScreenshot; int maximumFPS; int audioVolume; bool audioEnabled; bool onlyListProperties; FREE_IMAGE_FORMAT screenshotFormat; WINDOW_MODE windowMode; private: std::string validatePath (const std::string& path); void validateAssets (); void validateScreenshot (); static void printHelp (const char* route); }; }