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>
18 print_rgba_palette(const Palette<Rgba32, palette::max_size> &palette) const override;
19
20 [[nodiscard]] std::vector<std::string> print_rgba_palette(const Palette<Rgba32> &palette) const override;
21
22 [[nodiscard]] std::vector<std::string> print_rgba_palette_with_highlights(
23 const Palette<Rgba32> &palette, const std::vector<std::size_t> &slots) const override;
24
25 [[nodiscard]] std::vector<std::string> print_rgba_palette_with_highlights(
26 const Palette<Rgba32, palette::max_size> &palette, const std::vector<std::size_t> &slots) const override;
27
28 [[nodiscard]] std::vector<std::string>
29 print_palette_hint_with_highlights(const PaletteHint &hint, const std::vector<std::size_t> &slots) const override;
30
31 [[nodiscard]] std::vector<std::string> print_rgba_palette_covered_missing(
33 std::set<Rgba32> covered_colors,
34 std::set<Rgba32> missing_colors) const override;
35
36 [[nodiscard]] std::vector<std::string>
37 print_rgba_counts(const std::vector<std::pair<Rgba32, unsigned int>> &colors_counts) const override;
38
39 private:
40 TextFormatter *format_;
41};
42
43} // namespace porytiles
std::vector< std::string > print_rgba_palette_covered_missing(const Palette< Rgba32, palette::max_size > &palette, 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_rgba_palette_with_highlights(const Palette< Rgba32 > &palette, const std::vector< std::size_t > &slots) const override
std::vector< std::string > print_rgba_palette(const Palette< Rgba32, palette::max_size > &palette) const override
std::vector< std::string > print_palette_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:45
Abstract base class for applying text styling with context-aware formatting.