diff options
| author | Vasile Vilvoiu <vasi@vilvoiu.ro> | 2021-10-20 21:58:13 +0300 |
|---|---|---|
| committer | Vasile Vilvoiu <vasi@vilvoiu.ro> | 2021-10-20 21:58:13 +0300 |
| commit | a568a2bbf457283717440ecf8711e87db7a4201e (patch) | |
| tree | cf491c9d08b7355d241b0e79a5f3de9a2dc80eb3 /src/color-map.cpp | |
| parent | d445fd00976fa3ce7ce2eda4d18e9b489a78aa67 (diff) | |
Add 'hot' and 'inferno' colormaps.
Make 'inferno' default.
Diffstat (limited to 'src/color-map.cpp')
| -rw-r--r-- | src/color-map.cpp | 45 |
1 files changed, 44 insertions, 1 deletions
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<JetColorMap>(); + case ColorMapType::kHot: + return std::make_unique<HotColorMap>(); + + case ColorMapType::kInferno: + return std::make_unique<InfernoColorMap>(); + case ColorMapType::kGray: return std::make_unique<TwoColorMap>(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 + } + ) +{ +} |
