|
Diego Barrios Romero |
0b9c51 |
/* === S Y N F I G ========================================================= */
|
|
Diego Barrios Romero |
0b9c51 |
/*! \file tool/definitions.cpp
|
|
Diego Barrios Romero |
0b9c51 |
** \brief Implementation of the definitions header file for synfig tool
|
|
Diego Barrios Romero |
0b9c51 |
**
|
|
Diego Barrios Romero |
0b9c51 |
** $Id$
|
|
Diego Barrios Romero |
0b9c51 |
**
|
|
Diego Barrios Romero |
0b9c51 |
** \legal
|
|
Diego Barrios Romero |
0b9c51 |
** Copyright (c) 2014 Diego Barrios Romero
|
|
Diego Barrios Romero |
0b9c51 |
**
|
|
Diego Barrios Romero |
0b9c51 |
** This package is free software; you can redistribute it and/or
|
|
Diego Barrios Romero |
0b9c51 |
** modify it under the terms of the GNU General Public License as
|
|
Diego Barrios Romero |
0b9c51 |
** published by the Free Software Foundation; either version 2 of
|
|
Diego Barrios Romero |
0b9c51 |
** the License, or (at your option) any later version.
|
|
Diego Barrios Romero |
0b9c51 |
**
|
|
Diego Barrios Romero |
0b9c51 |
** This package is distributed in the hope that it will be useful,
|
|
Diego Barrios Romero |
0b9c51 |
** but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Diego Barrios Romero |
0b9c51 |
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Diego Barrios Romero |
0b9c51 |
** General Public License for more details.
|
|
Diego Barrios Romero |
0b9c51 |
** \endlegal
|
|
Diego Barrios Romero |
0b9c51 |
*/
|
|
Diego Barrios Romero |
0b9c51 |
/* ========================================================================= */
|
|
Diego Barrios Romero |
0b9c51 |
|
|
Diego Barrios Romero |
0b9c51 |
#include "definitions.h"
|
|
Diego Barrios Romero |
0b9c51 |
#include "synfigtoolexception.h"
|
|
Diego Barrios Romero |
0b9c51 |
|
|
bw |
94d8a6 |
#include <synfig localization.h=""></synfig>
|
|
bw |
94d8a6 |
#include <synfig general.h=""></synfig>
|
|
bw |
94d8a6 |
|
|
Diego Barrios Romero |
0b9c51 |
#include <synfig main.h=""></synfig>
|
|
Diego Barrios Romero |
0b9c51 |
|
|
![](https://seccdn.libravatar.org/avatar/41f7be7efd9c6a5e79c9949b62f1e9b1c95ddbe097b5368ec4c9383d10210602?s=16&d=retro) |
509b0d |
|
|
![](https://seccdn.libravatar.org/avatar/41f7be7efd9c6a5e79c9949b62f1e9b1c95ddbe097b5368ec4c9383d10210602?s=16&d=retro) |
509b0d |
std::shared_ptr<synfigtoolgeneraloptions> SynfigToolGeneralOptions::_instance;</synfigtoolgeneraloptions>
|
|
Diego Barrios Romero |
0b9c51 |
|
|
Diego Barrios Romero |
0b9c51 |
void SynfigToolGeneralOptions::create_singleton_instance(const char* argv0)
|
|
Diego Barrios Romero |
0b9c51 |
{
|
|
![](https://seccdn.libravatar.org/avatar/41f7be7efd9c6a5e79c9949b62f1e9b1c95ddbe097b5368ec4c9383d10210602?s=16&d=retro) |
509b0d |
_instance = std::shared_ptr<synfigtoolgeneraloptions>(</synfigtoolgeneraloptions>
|
|
Diego Barrios Romero |
0b9c51 |
new SynfigToolGeneralOptions(argv0));
|
|
Diego Barrios Romero |
0b9c51 |
}
|
|
Diego Barrios Romero |
0b9c51 |
|
|
Diego Barrios Romero |
0b9c51 |
SynfigToolGeneralOptions* SynfigToolGeneralOptions::instance()
|
|
Diego Barrios Romero |
0b9c51 |
{
|
|
Diego Barrios Romero |
0b9c51 |
if (_instance.get() == NULL)
|
|
Diego Barrios Romero |
0b9c51 |
{
|
|
Diego Barrios Romero |
0b9c51 |
throw SynfigToolException(SYNFIGTOOL_UNKNOWNERROR,
|
|
Diego Barrios Romero |
0b9c51 |
_("Uninitialized Synfig tool general options singleton."));
|
|
Diego Barrios Romero |
0b9c51 |
}
|
|
Diego Barrios Romero |
0b9c51 |
|
|
Diego Barrios Romero |
0b9c51 |
return _instance.get();
|
|
Diego Barrios Romero |
0b9c51 |
}
|
|
Diego Barrios Romero |
0b9c51 |
|
|
Diego Barrios Romero |
0b9c51 |
SynfigToolGeneralOptions::SynfigToolGeneralOptions(const char* argv0)
|
|
Diego Barrios Romero |
0b9c51 |
{
|
|
Diego Barrios Romero |
0b9c51 |
_binary_path = synfig::get_binary_path(argv0);
|
|
Diego Barrios Romero |
0b9c51 |
|
|
Diego Barrios Romero |
0b9c51 |
_verbosity = 0;
|
|
Diego Barrios Romero |
0b9c51 |
_should_be_quiet = false;
|
|
Diego Barrios Romero |
0b9c51 |
_should_print_benchmarks = false;
|
|
Diego Barrios Romero |
0b9c51 |
_threads = 1;
|
|
Diego Barrios Romero |
0b9c51 |
}
|
|
Diego Barrios Romero |
0b9c51 |
|
|
![](https://seccdn.libravatar.org/avatar/41f7be7efd9c6a5e79c9949b62f1e9b1c95ddbe097b5368ec4c9383d10210602?s=16&d=retro) |
509b0d |
std::string SynfigToolGeneralOptions::get_binary_path() const
|
|
Diego Barrios Romero |
0b9c51 |
{
|
|
Diego Barrios Romero |
0b9c51 |
return _binary_path;
|
|
Diego Barrios Romero |
0b9c51 |
}
|
|
Diego Barrios Romero |
0b9c51 |
|
|
Diego Barrios Romero |
0b9c51 |
size_t SynfigToolGeneralOptions::get_threads() const
|
|
Diego Barrios Romero |
0b9c51 |
{
|
|
Diego Barrios Romero |
0b9c51 |
return _threads;
|
|
Diego Barrios Romero |
0b9c51 |
}
|
|
Diego Barrios Romero |
0b9c51 |
|
|
Diego Barrios Romero |
0b9c51 |
void SynfigToolGeneralOptions::set_threads(size_t threads)
|
|
Diego Barrios Romero |
0b9c51 |
{
|
|
Diego Barrios Romero |
0b9c51 |
_threads = threads;
|
|
Diego Barrios Romero |
0b9c51 |
}
|
|
Diego Barrios Romero |
0b9c51 |
|
|
Diego Barrios Romero |
0b9c51 |
int SynfigToolGeneralOptions::get_verbosity() const
|
|
Diego Barrios Romero |
0b9c51 |
{
|
|
Diego Barrios Romero |
0b9c51 |
return _verbosity;
|
|
Diego Barrios Romero |
0b9c51 |
}
|
|
Diego Barrios Romero |
0b9c51 |
|
|
Diego Barrios Romero |
0b9c51 |
void SynfigToolGeneralOptions::set_verbosity(int verbosity)
|
|
Diego Barrios Romero |
0b9c51 |
{
|
|
Diego Barrios Romero |
0b9c51 |
_verbosity = verbosity;
|
|
Diego Barrios Romero |
0b9c51 |
}
|
|
Diego Barrios Romero |
0b9c51 |
|
|
Diego Barrios Romero |
0b9c51 |
bool SynfigToolGeneralOptions::should_be_quiet() const
|
|
Diego Barrios Romero |
0b9c51 |
{
|
|
Diego Barrios Romero |
0b9c51 |
return _should_be_quiet;
|
|
Diego Barrios Romero |
0b9c51 |
}
|
|
Diego Barrios Romero |
0b9c51 |
|
|
Diego Barrios Romero |
0b9c51 |
void SynfigToolGeneralOptions::set_should_be_quiet(bool be_quiet)
|
|
Diego Barrios Romero |
0b9c51 |
{
|
|
Diego Barrios Romero |
0b9c51 |
_should_be_quiet = be_quiet;
|
|
![](https://seccdn.libravatar.org/avatar/41f7be7efd9c6a5e79c9949b62f1e9b1c95ddbe097b5368ec4c9383d10210602?s=16&d=retro) |
9dfcef |
synfig::synfig_quiet_mode = be_quiet;
|
|
Diego Barrios Romero |
0b9c51 |
}
|
|
Diego Barrios Romero |
0b9c51 |
|
|
Diego Barrios Romero |
0b9c51 |
bool SynfigToolGeneralOptions::should_print_benchmarks() const
|
|
Diego Barrios Romero |
0b9c51 |
{
|
|
Diego Barrios Romero |
0b9c51 |
return _should_print_benchmarks;
|
|
Diego Barrios Romero |
0b9c51 |
}
|
|
Diego Barrios Romero |
0b9c51 |
|
|
Diego Barrios Romero |
0b9c51 |
void SynfigToolGeneralOptions::set_should_print_benchmarks(bool print_benchmarks)
|
|
Diego Barrios Romero |
0b9c51 |
{
|
|
Diego Barrios Romero |
0b9c51 |
_should_print_benchmarks = print_benchmarks;
|
|
Diego Barrios Romero |
0b9c51 |
}
|