Renamed color to colors.
Added colors conversion to rgb. Added colors_test.cpp.
This commit is contained in:
parent
a2ce87a4e6
commit
be3e96322d
@ -17,6 +17,8 @@
|
||||
|
||||
FMT_BEGIN_NAMESPACE
|
||||
|
||||
enum class colors : uint32_t;
|
||||
|
||||
// rgb is a struct for red, green and blue colors.
|
||||
// we use rgb as name because some editors will show it as color direct in the editor.
|
||||
struct rgb {
|
||||
@ -25,6 +27,8 @@ struct rgb {
|
||||
: r(r_), g(g_), b(b_) {}
|
||||
FMT_CONSTEXPR_DECL rgb(uint32_t hex)
|
||||
: r((hex >> 16) & 0xFF), g((hex >> 8) & 0xFF), b((hex) & 0xFF) {}
|
||||
FMT_CONSTEXPR_DECL rgb(colors hex)
|
||||
: r((uint32_t(hex) >> 16) & 0xFF), g((uint32_t(hex) >> 8) & 0xFF), b(uint32_t(hex) & 0xFF) {}
|
||||
uint8_t r;
|
||||
uint8_t g;
|
||||
uint8_t b;
|
||||
@ -89,7 +93,7 @@ inline void print(rgb fd, rgb bg, string_view format_str, const Args & ... args)
|
||||
}
|
||||
|
||||
|
||||
enum class color : uint32_t {
|
||||
enum class colors : uint32_t {
|
||||
alice_blue = 0xF0F8FF, // rgb(240,248,255);
|
||||
antique_white = 0xFAEBD7, // rgb(250,235,215);
|
||||
aqua = 0x00FFFF, // rgb(0,255,255);
|
||||
|
||||
35
test/colors_test.cpp
Normal file
35
test/colors_test.cpp
Normal file
@ -0,0 +1,35 @@
|
||||
// Formatting library for C++ - the core API
|
||||
//
|
||||
// Copyright (c) 2012 - present, Victor Zverovich
|
||||
// All rights reserved.
|
||||
//
|
||||
// For the license information refer to format.h.
|
||||
//
|
||||
// Copyright (c) 2018 - present, Remotion (Igor Schulz)
|
||||
// All Rights Reserved
|
||||
// {fmt} support for rgb color output.
|
||||
|
||||
#include "gtest.h"
|
||||
|
||||
#include "fmt/colors.h"
|
||||
#include "fmt/printf.h"
|
||||
|
||||
#include <vector>
|
||||
#include <array>
|
||||
#include <map>
|
||||
#include <string>
|
||||
|
||||
TEST(ColorsTest, RgbTest) {
|
||||
fmt::print(fmt::rgb(10,20,30), "rgb(10,20,30) \n"); // \x1b[38;2;010;020;030mrgb(10,20,30) \n\x1b[0m
|
||||
fmt::print(fmt::rgb(255,20,30), "rgb(255,20,30) \n"); // \x1b[38;2;255;020;030mrgb(255,20,30) \n\x1b[0m
|
||||
fmt::print(fmt::rgb(30,255,30), "rgb(30,255,30) \n"); // \x1b[38;2;030;255;030mrgb(30,255,30) \n\x1b[0m
|
||||
fmt::print(fmt::rgb(30,30,255), "rgb(30,30,255) \n"); // \x1b[38;2;030;030;255mrgb(30,30,255) \n\x1b[0m
|
||||
|
||||
EXPECT_WRITE(stdout, fmt::print(fmt::rgb(255,20,30), "rgb(255,20,30)"), "\x1b[38;2;255;020;030mrgb(255,20,30)\x1b[0m");
|
||||
}
|
||||
|
||||
TEST(ColorsTest, Colors) {
|
||||
fmt::print(fmt::colors::blue,"blue \n"); // \x1b[38;2;000;000;255mblue \n\x1b[0m
|
||||
fmt::print(fmt::colors::medium_spring_green,"medium_spring_green \n"); // \x1b[38;2;000;250;154mmedium_spring_green \n\x1b[0m
|
||||
fmt::print(fmt::colors::light_golden_rod_yellow,"light_golden_rod_yellow \n"); // \x1b[38;2;250;250;210mlight_golden_rod_yellow \n\x1b[0m
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user