##// END OF EJS Templates
Separate the initialization of the properties of the graph of the update of the units of the graph....
Separate the initialization of the properties of the graph of the update of the units of the graph. The initialization of the properties is carried out when adding a variable in the graph, the update of the units is carried out when loading the data of this variable

File last commit:

r584:17624d030c39
r1308:41b7c6aab8be
Show More
ColorUtils.cpp
29 lines | 1.0 KiB | text/x-c | CppLexer
#include "Common/ColorUtils.h"
#include <QtGui/QColor>
std::vector<QColor> ColorUtils::colors(const QColor &minColor, const QColor &maxColor,
int nbColors) noexcept
{
auto result = std::vector<QColor>{};
if (nbColors == 1) {
result.push_back(minColor);
}
else if (nbColors > 0) {
const auto nbSteps = static_cast<double>(nbColors - 1);
const auto colorHStep = (maxColor.hue() - minColor.hue()) / nbSteps;
const auto colorSStep = (maxColor.saturation() - minColor.saturation()) / nbSteps;
const auto colorVStep = (maxColor.value() - minColor.value()) / nbSteps;
const auto colorAStep = (maxColor.alpha() - minColor.alpha()) / nbSteps;
for (auto i = 0; i < nbColors; ++i) {
result.push_back(QColor::fromHsv(
minColor.hue() + i * colorHStep, minColor.saturation() + i * colorSStep,
minColor.value() + i * colorVStep, minColor.alpha() + i * colorAStep));
}
}
return result;
}