From a568a2bbf457283717440ecf8711e87db7a4201e Mon Sep 17 00:00:00 2001 From: Vasile Vilvoiu Date: Wed, 20 Oct 2021 21:58:13 +0300 Subject: Add 'hot' and 'inferno' colormaps. Make 'inferno' default. --- src/color-map.cpp | 45 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) (limited to 'src/color-map.cpp') diff --git a/src/color-map.cpp b/src/color-map.cpp index 7bf7e4e..3b51af1 100644 --- a/src/color-map.cpp +++ b/src/color-map.cpp @@ -20,6 +20,12 @@ ColorMap::Build(ColorMapType type, const sf::Color& bg_color, const sf::Color& c case ColorMapType::kJet: return std::make_unique(); + case ColorMapType::kHot: + return std::make_unique(); + + case ColorMapType::kInferno: + return std::make_unique(); + case ColorMapType::kGray: return std::make_unique(sf::Color::Black, sf::Color::White); @@ -150,4 +156,41 @@ JetColorMap::JetColorMap() : InterpolationColorMap( { 0.0f, 1.0f / 9.0f, 23.0f / 63.0f, 13.0f / 21.0f, 47.0f / 63.0f, 55.0 / 63.0, 1.0f } ) { -} \ No newline at end of file +} + +HotColorMap::HotColorMap() : InterpolationColorMap( + { + sf::Color(0, 0, 0, 255), + sf::Color(255, 0, 0, 255), + sf::Color(255, 255, 0, 255), + sf::Color(255, 255, 255, 255), + }, + { 0.0f, 1.0f / 3.0f, 2.0f / 3.0f, 1.0f } + ) +{ +} + +InfernoColorMap::InfernoColorMap() : InterpolationColorMap( + { + sf::Color(0, 0, 0, 255), + sf::Color(40, 11, 84, 255), + sf::Color(101, 21, 110, 255), + sf::Color(159, 42, 99, 255), + sf::Color(212, 72, 66, 255), + sf::Color(245, 125, 21, 255), + sf::Color(250, 193, 39, 255), + sf::Color(252, 255, 164, 255), + }, + { + 0.0f, + 0.142857142857143f, + 0.285714285714286f, + 0.428571428571429f, + 0.571428571428571f, + 0.714285714285714f, + 0.857142857142857f, + 1.0f + } + ) +{ +} -- cgit v1.2.3