Porytiles
Loading...
Searching...
No Matches
color_palette_printer.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "gsl/pointers"
4
10
11namespace porytiles {
12
14 public:
15 explicit ColorPalettePrinter(gsl::not_null<TextFormatter *> format) : format_{format} {}
16
17 [[nodiscard]] std::vector<std::string> print_rgba_pal(const Palette<Rgba32, pal::max_size> &pal) const override;
18
19 [[nodiscard]] std::vector<std::string> print_rgba_pal(const Palette<Rgba32> &pal) const override;
20
21 [[nodiscard]] std::vector<std::string>
22 print_rgba_pal_with_highlights(const Palette<Rgba32> &pal, const std::vector<std::size_t> &slots) const override;
23
24 [[nodiscard]] std::vector<std::string> print_rgba_pal_with_highlights(
25 const Palette<Rgba32, pal::max_size> &pal, const std::vector<std::size_t> &slots) const override;
26
27 [[nodiscard]] std::vector<std::string>
28 print_pal_hint_with_highlights(const PaletteHint &hint, const std::vector<std::size_t> &slots) const override;
29
30 [[nodiscard]] std::vector<std::string> print_rgba_palette_covered_missing(
32 std::set<Rgba32> covered_colors,
33 std::set<Rgba32> missing_colors) const override;
34
35 [[nodiscard]] std::vector<std::string>
36 print_rgba_counts(const std::vector<std::pair<Rgba32, unsigned int>> &colors_counts) const override;
37
38 private:
39 TextFormatter *format_;
40};
41
42} // namespace porytiles
std::vector< std::string > print_rgba_pal(const Palette< Rgba32, pal::max_size > &pal) const override
std::vector< std::string > print_rgba_pal_with_highlights(const Palette< Rgba32 > &pal, const std::vector< std::size_t > &slots) const override
std::vector< std::string > print_rgba_palette_covered_missing(const Palette< Rgba32, pal::max_size > &pal, std::set< Rgba32 > covered_colors, std::set< Rgba32 > missing_colors) const override
std::vector< std::string > print_rgba_counts(const std::vector< std::pair< Rgba32, unsigned int > > &colors_counts) const override
ColorPalettePrinter(gsl::not_null< TextFormatter * > format)
std::vector< std::string > print_pal_hint_with_highlights(const PaletteHint &hint, const std::vector< std::size_t > &slots) const override
Represents a palette hint for the palette packing algorithm.
A collection of printer functions for the Palette and related types.
A generic palette container for colors that support transparency checking.
Definition palette.hpp:47
Abstract base class for applying text styling with context-aware formatting.