/****************************************************************************** Copyright (C) 2023 by Dennis Sädtler This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . ******************************************************************************/ #pragma once #include #include #include struct OBSTheme { /* internal name, must be unique */ QString id; QString name; QString author; QString extends; /* First ancestor base theme */ QString parent; /* Dependencies from root to direct ancestor */ QStringList dependencies; /* File path */ std::filesystem::path location; std::filesystem::path filename; /* Filename without extension */ bool isDark; bool isVisible; /* Whether it should be shown to the user */ bool isBaseTheme; /* Whether it is a "style" or variant */ bool isHighContrast; /* Whether it is a high-contrast adjustment layer */ bool usesFontScale = false; /* Whether the generated QSS uses the font scale option */ bool usesDensity = false; /* Whether the generated QSS uses the density option */ };