https://gitlab.opengeosys.org/ogs/ogs.git
Tip revision: be287da7d97c9700b52d45022d2e70639b136163 authored by Lars Bilke on 07 December 2020, 09:54:21 UTC
Merge branch 'link-gen-expr' into 'master'
Merge branch 'link-gen-expr' into 'master'
Tip revision: be287da
Color.cpp
/**
* \file
* \author Karsten Rink
* \date 2010-06-16
* \brief Implementation of the Color class.
*
* \copyright
* Copyright (c) 2012-2020, OpenGeoSys Community (http://www.opengeosys.org)
* Distributed under a Modified BSD License.
* See accompanying file LICENSE.txt or
* http://www.opengeosys.org/project/license
*
*/
#include "Color.h"
#include "BaseLib/Logging.h"
namespace DataHolderLib {
Color createColor(unsigned char r, unsigned char g, unsigned char b, unsigned char a)
{
return Color{{r,g,b,a}};
}
Color getRandomColor()
{
return createColor(static_cast<unsigned char>((rand() % 5) * 50),
static_cast<unsigned char>((rand() % 5) * 50),
static_cast<unsigned char>((rand() % 5) * 50));
}
Color getColor(const std::string& id, std::map<std::string, Color>& colors)
{
auto it = colors.find(id);
if (it == end(colors))
{
WARN("Key '{:s}' not found in color lookup table.", id);
it = colors.insert({id, getRandomColor()}).first;
}
return it->second;
}
} // namespace DataHolderLib