2022-03-16 23:17:45 +00:00
|
|
|
/*
|
2022-03-19 21:16:20 +00:00
|
|
|
Copyright© 2022 John Sennesael
|
2022-03-16 23:17:45 +00:00
|
|
|
|
|
|
|
This file is part of justify.
|
|
|
|
Justify 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 3 of the License,
|
|
|
|
or (at your option) any later version.
|
|
|
|
|
|
|
|
Justify 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 Justify. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <string>
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
using StrVector = std::vector<std::string>;
|
|
|
|
enum class Justification { CENTER, FILL, LEFT, RIGHT };
|
|
|
|
|
|
|
|
struct Settings
|
|
|
|
{
|
2022-03-16 23:52:03 +00:00
|
|
|
size_t cols{};
|
2022-03-16 23:17:45 +00:00
|
|
|
bool error{false};
|
2022-03-19 21:16:20 +00:00
|
|
|
size_t hspacing{2};
|
2022-03-16 23:17:45 +00:00
|
|
|
std::string inFile;
|
|
|
|
Justification justify{Justification::FILL};
|
2022-03-19 21:16:20 +00:00
|
|
|
size_t maxColHeight{};
|
|
|
|
std::string outFile;
|
2022-04-01 00:46:07 +00:00
|
|
|
wchar_t pageSepChar{0};
|
2022-03-19 21:16:20 +00:00
|
|
|
bool shouldExit{false};
|
|
|
|
size_t vspacing{1};
|
|
|
|
size_t width{};
|
2022-03-16 23:17:45 +00:00
|
|
|
};
|