linux-wallpaperengine/src/WallpaperEngine/Application/CApplicationContext.h
Alexis Maiquez 55760aee4d More code cleanup:
- Separated program args parsing and validation from initialization code
 - Application's main body in it's own class

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-07 04:17:51 +01:00

34 lines
812 B
C++

#pragma once
#include <FreeImage.h>
#include <filesystem>
#include <map>
#include <string>
#include <vector>
namespace WallpaperEngine::Application
{
class CApplicationContext
{
public:
CApplicationContext (int argc, char* argv[]);
std::vector <std::string> screens;
std::map <std::string, std::string> 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;
private:
void validatePath ();
void validateAssets ();
void validateScreenshot ();
void printHelp (const char* route);
};
}