mirror of
https://github.com/ArthurSonzogni/FTXUI.git
synced 2024-11-22 18:59:59 +08:00
Improve color handling. (#49)
This commit is contained in:
parent
6a35efa3b7
commit
d969c74341
41
doc/example_list.md
Normal file
41
doc/example_list.md
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
# Examples
|
||||||
|
@example ./examples/util/print_key_press.cpp
|
||||||
|
@example ./examples/dom/color_truecolor_HSV.cpp
|
||||||
|
@example ./examples/dom/dbox.cpp
|
||||||
|
@example ./examples/dom/separator.cpp
|
||||||
|
@example ./examples/dom/style_color.cpp
|
||||||
|
@example ./examples/dom/color_info_palette256.cpp
|
||||||
|
@example ./examples/dom/color_truecolor_RGB.cpp
|
||||||
|
@example ./examples/dom/paragraph.cpp
|
||||||
|
@example ./examples/dom/style_blink.cpp
|
||||||
|
@example ./examples/dom/style_dim.cpp
|
||||||
|
@example ./examples/dom/style_inverted.cpp
|
||||||
|
@example ./examples/dom/graph.cpp
|
||||||
|
@example ./examples/dom/package_manager.cpp
|
||||||
|
@example ./examples/dom/window.cpp
|
||||||
|
@example ./examples/dom/html_like.cpp
|
||||||
|
@example ./examples/dom/border.cpp
|
||||||
|
@example ./examples/dom/style_underlined.cpp
|
||||||
|
@example ./examples/dom/color_gallery.cpp
|
||||||
|
@example ./examples/dom/gauge.cpp
|
||||||
|
@example ./examples/dom/style_bold.cpp
|
||||||
|
@example ./examples/dom/spinner.cpp
|
||||||
|
@example ./examples/dom/style_gallery.cpp
|
||||||
|
@example ./examples/dom/vbox_hbox.cpp
|
||||||
|
@example ./examples/dom/size.cpp
|
||||||
|
@example ./examples/dom/hflow.cpp
|
||||||
|
@example ./examples/component/tab_vertical.cpp
|
||||||
|
@example ./examples/component/gallery.cpp
|
||||||
|
@example ./examples/component/checkbox.cpp
|
||||||
|
@example ./examples/component/checkbox_in_frame.cpp
|
||||||
|
@example ./examples/component/menu2.cpp
|
||||||
|
@example ./examples/component/tab_horizontal.cpp
|
||||||
|
@example ./examples/component/input.cpp
|
||||||
|
@example ./examples/component/homescreen.cpp
|
||||||
|
@example ./examples/component/radiobox.cpp
|
||||||
|
@example ./examples/component/menu.cpp
|
||||||
|
@example ./examples/component/menu_style.cpp
|
||||||
|
@example ./examples/component/radiobox_in_frame.cpp
|
||||||
|
@example ./examples/component/button.cpp
|
||||||
|
@example ./examples/component/toggle.cpp
|
||||||
|
@example ./examples/component/modal_dialog.cpp
|
@ -1,25 +1,21 @@
|
|||||||
|
#include <cmath>
|
||||||
#include <ftxui/dom/elements.hpp>
|
#include <ftxui/dom/elements.hpp>
|
||||||
|
#include <ftxui/screen/color_info.hpp>
|
||||||
#include <ftxui/screen/screen.hpp>
|
#include <ftxui/screen/screen.hpp>
|
||||||
#include <ftxui/screen/terminal.hpp>
|
#include <ftxui/screen/terminal.hpp>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
#include "ftxui/screen/string.hpp"
|
#include "ftxui/screen/string.hpp"
|
||||||
|
|
||||||
int main(int argc, const char* argv[]) {
|
using namespace ftxui;
|
||||||
using namespace ftxui;
|
#include "./color_info_sorted_2d.ipp" // ColorInfoSorted2D.
|
||||||
// clang-format off
|
|
||||||
auto terminal_info =
|
|
||||||
vbox(
|
|
||||||
text(L"Basic Color support : unknown"),
|
|
||||||
text(L"256 Color support : unknown"),
|
|
||||||
(Terminal::CanSupportTrueColors() ?
|
|
||||||
text(L"TrueColor support : Yes"):
|
|
||||||
text(L"TrueColor support : No"))
|
|
||||||
);
|
|
||||||
|
|
||||||
|
int main(int argc, const char* argv[]) {
|
||||||
|
// clang-format off
|
||||||
auto basic_color_display =
|
auto basic_color_display =
|
||||||
vbox(
|
vbox(
|
||||||
text(L"Basic Color Set:"),
|
text(L"16 color palette:"),
|
||||||
|
separator(),
|
||||||
hbox(
|
hbox(
|
||||||
vbox(
|
vbox(
|
||||||
color(Color::Default, text(L"Default")),
|
color(Color::Default, text(L"Default")),
|
||||||
@ -63,37 +59,68 @@ int main(int argc, const char* argv[]) {
|
|||||||
);
|
);
|
||||||
|
|
||||||
// clang-format on
|
// clang-format on
|
||||||
auto palette_256_color_display = vbox(text(L"256 color palette:"));
|
auto palette_256_color_display = text(L"256 colors palette:");
|
||||||
|
{
|
||||||
int y = -1;
|
std::vector<std::vector<ColorInfo>> info_columns = ColorInfoSorted2D();
|
||||||
for (int i = 0; i < 256; ++i) {
|
Elements columns;
|
||||||
if (i % 16 == 0) {
|
for (auto& column : info_columns) {
|
||||||
palette_256_color_display->children.push_back(hbox());
|
Elements column_elements;
|
||||||
++y;
|
for (auto& it : column) {
|
||||||
|
column_elements.push_back(
|
||||||
|
text(L" ") | bgcolor(Color(Color::Palette256(it.index_256))));
|
||||||
|
}
|
||||||
|
columns.push_back(hbox(std::move(column_elements)));
|
||||||
}
|
}
|
||||||
std::string number = std::to_string(i);
|
palette_256_color_display = vbox({
|
||||||
while (number.length() < 4) {
|
palette_256_color_display,
|
||||||
number.push_back(' ');
|
separator(),
|
||||||
}
|
vbox(columns),
|
||||||
palette_256_color_display->children.back()->children.push_back(
|
});
|
||||||
bgcolor(Color::Palette256(i), text(to_wstring(number))));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
auto true_color_display = vbox(text(L"a true color grandient:"));
|
// True color display.
|
||||||
|
auto true_color_display = text(L"TrueColors: 24bits:");
|
||||||
for (int i = 0; i < 17; ++i) {
|
{
|
||||||
true_color_display->children.push_back(hbox());
|
int saturation = 255;
|
||||||
|
Elements array;
|
||||||
for (int j = 0; j < 30; ++j) {
|
for (int value = 0; value < 255; value += 16) {
|
||||||
true_color_display->children.back()->children.push_back(
|
Elements line;
|
||||||
bgcolor(Color(50 + i * 5, 100 + j, 150), text(L" ")));
|
for (int hue = 0; hue < 255; hue += 6) {
|
||||||
|
line.push_back(text(L"▀") //
|
||||||
|
| color(Color::HSV(hue, saturation, value)) //
|
||||||
|
| bgcolor(Color::HSV(hue, saturation, value + 8)));
|
||||||
|
}
|
||||||
|
array.push_back(hbox(std::move(line)));
|
||||||
}
|
}
|
||||||
|
true_color_display = vbox({
|
||||||
|
true_color_display,
|
||||||
|
separator(),
|
||||||
|
vbox(std::move(array)),
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
auto document =
|
auto terminal_info =
|
||||||
vbox(terminal_info, text(L""),
|
vbox({
|
||||||
hbox(basic_color_display, text(L" "), palette_256_color_display,
|
Terminal::ColorSupport() >= Terminal::Color::Palette16
|
||||||
text(L" "), true_color_display));
|
? text(L" 16 color palette support : Yes")
|
||||||
|
: text(L" 16 color palette support : No"),
|
||||||
|
Terminal::ColorSupport() >= Terminal::Color::Palette256
|
||||||
|
? text(L"256 color palette support : Yes")
|
||||||
|
: text(L"256 color palette support : No"),
|
||||||
|
Terminal::ColorSupport() >= Terminal::Color::TrueColor
|
||||||
|
? text(L" True color support : Yes")
|
||||||
|
: text(L" True color support : No"),
|
||||||
|
}) |
|
||||||
|
border;
|
||||||
|
|
||||||
|
auto document = vbox({hbox({
|
||||||
|
basic_color_display,
|
||||||
|
text(L" "),
|
||||||
|
palette_256_color_display,
|
||||||
|
text(L" "),
|
||||||
|
true_color_display,
|
||||||
|
}),
|
||||||
|
terminal_info});
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
|
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
#include <cmath>
|
||||||
#include <ftxui/dom/elements.hpp>
|
#include <ftxui/dom/elements.hpp>
|
||||||
#include <ftxui/screen/color_info.hpp>
|
#include <ftxui/screen/color_info.hpp>
|
||||||
#include <ftxui/screen/screen.hpp>
|
#include <ftxui/screen/screen.hpp>
|
||||||
@ -6,54 +7,11 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include "ftxui/screen/string.hpp"
|
#include "ftxui/screen/string.hpp"
|
||||||
|
|
||||||
|
using namespace ftxui;
|
||||||
|
#include "./color_info_sorted_2d.ipp" // ColorInfoSorted2D.
|
||||||
|
|
||||||
int main(int argc, const char* argv[]) {
|
int main(int argc, const char* argv[]) {
|
||||||
using namespace ftxui;
|
std::vector<std::vector<ColorInfo>> info_columns = ColorInfoSorted2D();
|
||||||
|
|
||||||
// Acquire the color information for the palette256.
|
|
||||||
std::vector<ColorInfo> info_gray;
|
|
||||||
std::vector<ColorInfo> info_color;
|
|
||||||
for (int i = 0; i < 256; ++i) {
|
|
||||||
ColorInfo info = GetColorInfo(Color::Palette256(i));
|
|
||||||
if (info.saturation == 0)
|
|
||||||
info_gray.push_back(info);
|
|
||||||
else
|
|
||||||
info_color.push_back(info);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Sort info_color by hue.
|
|
||||||
std::sort(
|
|
||||||
info_color.begin(), info_color.end(),
|
|
||||||
[](const ColorInfo& A, const ColorInfo& B) { return A.hue < B.hue; });
|
|
||||||
|
|
||||||
// Make 8 colums, one gray and seven colored.
|
|
||||||
std::vector<std::vector<ColorInfo>> info_columns(8);
|
|
||||||
info_columns[0] = info_gray;
|
|
||||||
for (int i = 0; i < info_color.size(); ++i) {
|
|
||||||
info_columns[1 + 7 * i / info_color.size()].push_back(info_color[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Minimize discontinuities for every columns.
|
|
||||||
for (auto& column : info_columns) {
|
|
||||||
std::sort(column.begin(), column.end(),
|
|
||||||
[](const ColorInfo& A, const ColorInfo& B) {
|
|
||||||
return A.value < B.value;
|
|
||||||
});
|
|
||||||
for (int i = 0; i < column.size() - 1; ++i) {
|
|
||||||
int best_index = i + 1;
|
|
||||||
int best_distance = 255 * 255 * 3;
|
|
||||||
for (int j = i + 1; j < column.size(); ++j) {
|
|
||||||
int dx = column[i].red - column[j].red;
|
|
||||||
int dy = column[i].green - column[j].green;
|
|
||||||
int dz = column[i].blue - column[j].blue;
|
|
||||||
int distance = dx * dx + dy * dy + dz * dz;
|
|
||||||
if (best_distance > distance) {
|
|
||||||
best_distance = distance;
|
|
||||||
best_index = j;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
std::swap(column[i + 1], column[best_index]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Draw every columns
|
// Draw every columns
|
||||||
Elements columns_elements;
|
Elements columns_elements;
|
||||||
@ -61,7 +19,7 @@ int main(int argc, const char* argv[]) {
|
|||||||
Elements column_elements;
|
Elements column_elements;
|
||||||
for (auto& it : column) {
|
for (auto& it : column) {
|
||||||
column_elements.push_back(hbox({
|
column_elements.push_back(hbox({
|
||||||
text(L" ") | bgcolor(Color(Color::Palette256(it.index))),
|
text(L" ") | bgcolor(Color(Color::Palette256(it.index_256))),
|
||||||
text(to_wstring(std::string(it.name))),
|
text(to_wstring(std::string(it.name))),
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
52
examples/dom/color_info_sorted_2d.ipp
Normal file
52
examples/dom/color_info_sorted_2d.ipp
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
#include <cmath>
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
std::vector<std::vector<ColorInfo>> ColorInfoSorted2D() {
|
||||||
|
// Acquire the color information for the palette256.
|
||||||
|
std::vector<ColorInfo> info_gray;
|
||||||
|
std::vector<ColorInfo> info_color;
|
||||||
|
for (int i = 16; i < 256; ++i) {
|
||||||
|
ColorInfo info = GetColorInfo(Color::Palette256(i));
|
||||||
|
if (info.saturation == 0)
|
||||||
|
info_gray.push_back(info);
|
||||||
|
else
|
||||||
|
info_color.push_back(info);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sort info_color by hue.
|
||||||
|
std::sort(
|
||||||
|
info_color.begin(), info_color.end(),
|
||||||
|
[](const ColorInfo& A, const ColorInfo& B) { return A.hue < B.hue; });
|
||||||
|
|
||||||
|
// Make 8 colums, one gray and seven colored.
|
||||||
|
std::vector<std::vector<ColorInfo>> info_columns(8);
|
||||||
|
info_columns[0] = info_gray;
|
||||||
|
for (int i = 0; i < info_color.size(); ++i) {
|
||||||
|
info_columns[1 + 7 * i / info_color.size()].push_back(info_color[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Minimize discontinuities for every columns.
|
||||||
|
for (auto& column : info_columns) {
|
||||||
|
std::sort(column.begin(), column.end(),
|
||||||
|
[](const ColorInfo& A, const ColorInfo& B) {
|
||||||
|
return A.value < B.value;
|
||||||
|
});
|
||||||
|
for (int i = 0; i < column.size() - 1; ++i) {
|
||||||
|
int best_index = i + 1;
|
||||||
|
int best_distance = 255 * 255 * 3;
|
||||||
|
for (int j = i + 1; j < column.size(); ++j) {
|
||||||
|
int dx = column[i].red - column[j].red;
|
||||||
|
int dy = column[i].green - column[j].green;
|
||||||
|
int dz = column[i].blue - column[j].blue;
|
||||||
|
int distance = dx * dx + dy * dy + dz * dz;
|
||||||
|
if (best_distance > distance) {
|
||||||
|
best_distance = distance;
|
||||||
|
best_index = j;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
std::swap(column[i + 1], column[best_index]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return std::move(info_columns);
|
||||||
|
}
|
@ -1,3 +1,4 @@
|
|||||||
|
#include <cmath>
|
||||||
#include <ftxui/dom/elements.hpp>
|
#include <ftxui/dom/elements.hpp>
|
||||||
#include <ftxui/screen/screen.hpp>
|
#include <ftxui/screen/screen.hpp>
|
||||||
#include <ftxui/screen/terminal.hpp>
|
#include <ftxui/screen/terminal.hpp>
|
||||||
@ -10,10 +11,13 @@ int main(int argc, const char* argv[]) {
|
|||||||
|
|
||||||
int saturation = 255;
|
int saturation = 255;
|
||||||
Elements array;
|
Elements array;
|
||||||
for (int value = 0; value < 255; value += 10) {
|
for (int value = 0; value < 255; value += 20) {
|
||||||
Elements line;
|
Elements line;
|
||||||
for (int hue = 0; hue < 255; hue += 2)
|
for (int hue = 0; hue < 255; hue += 2) {
|
||||||
line.push_back(text(L" ") | bgcolor(Color::HSV(hue, saturation, value)));
|
line.push_back(text(L"▀") //
|
||||||
|
| color(Color::HSV(hue, saturation, value)) //
|
||||||
|
| bgcolor(Color::HSV(hue, saturation, value + 10)));
|
||||||
|
}
|
||||||
array.push_back(hbox(std::move(line)));
|
array.push_back(hbox(std::move(line)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,12 +2,21 @@
|
|||||||
#include <ftxui/screen/screen.hpp>
|
#include <ftxui/screen/screen.hpp>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
int main(int argc, const char* argv[]) {
|
int main(void) {
|
||||||
using namespace ftxui;
|
using namespace ftxui;
|
||||||
auto document = window(text(L"Title"), text(L"content"));
|
Element document = graph([](int x, int y) {
|
||||||
auto screen = Screen::Create(Dimension::Fixed(30), Dimension::Fixed(6));
|
std::vector<int> result(x, 0);
|
||||||
|
for (int i{0}; i < x; ++i) {
|
||||||
|
result[i] = ((3 * i) / 2) % y;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}) |
|
||||||
|
color(Color::Red) | border | color(Color::Green) |
|
||||||
|
bgcolor(Color::DarkBlue);
|
||||||
|
|
||||||
|
auto screen = Screen::Create(Dimension::Fixed(80), Dimension::Fixed(10));
|
||||||
Render(screen, document);
|
Render(screen, document);
|
||||||
std::cout << screen.ToString() << std::endl;
|
std::cout << screen.ToString() << '\n';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Copyright 2020 Arthur Sonzogni. All rights reserved.
|
// Copyright 2020 Arthur Sonzogni. All rights reserved.
|
||||||
|
@ -10,10 +10,12 @@ namespace ftxui {
|
|||||||
/// @ingroup screen
|
/// @ingroup screen
|
||||||
class Color {
|
class Color {
|
||||||
public:
|
public:
|
||||||
|
enum Palette1 : uint8_t;
|
||||||
enum Palette16 : uint8_t;
|
enum Palette16 : uint8_t;
|
||||||
enum Palette256 : uint8_t;
|
enum Palette256 : uint8_t;
|
||||||
|
|
||||||
Color(); // Transparent.
|
Color(); // Transparent.
|
||||||
|
Color(Palette1 index); // Transparent.
|
||||||
Color(Palette16 index); // Implicit conversion from index to Color.
|
Color(Palette16 index); // Implicit conversion from index to Color.
|
||||||
Color(Palette256 index); // Implicit conversion from index to Color.
|
Color(Palette256 index); // Implicit conversion from index to Color.
|
||||||
Color(uint8_t red, uint8_t green, uint8_t blue);
|
Color(uint8_t red, uint8_t green, uint8_t blue);
|
||||||
@ -23,26 +25,28 @@ class Color {
|
|||||||
//---------------------------
|
//---------------------------
|
||||||
// List of colors:
|
// List of colors:
|
||||||
//---------------------------
|
//---------------------------
|
||||||
|
|
||||||
// clang-format off
|
// clang-format off
|
||||||
|
enum Palette1 : uint8_t{
|
||||||
|
Default, // Transparent
|
||||||
|
};
|
||||||
|
|
||||||
enum Palette16 : uint8_t {
|
enum Palette16 : uint8_t {
|
||||||
Black = 30,
|
Black = 0,
|
||||||
Blue = 34,
|
Red = 1,
|
||||||
BlueLight = 94,
|
Green = 2,
|
||||||
Cyan = 36,
|
Yellow = 3,
|
||||||
CyanLight = 96,
|
Blue = 4,
|
||||||
Default = 39, // Transparent
|
Magenta = 5,
|
||||||
GrayDark = 90,
|
Cyan = 6,
|
||||||
GrayLight = 37,
|
GrayLight = 7,
|
||||||
Green = 32,
|
GrayDark = 8,
|
||||||
GreenLight = 92,
|
RedLight = 9,
|
||||||
Magenta = 35,
|
GreenLight = 10,
|
||||||
MagentaLight = 95,
|
YellowLight = 11,
|
||||||
Red = 31,
|
BlueLight = 12,
|
||||||
RedLight = 91,
|
MagentaLight = 13,
|
||||||
White = 97,
|
CyanLight = 14,
|
||||||
Yellow = 33,
|
White = 15,
|
||||||
YellowLight = 93,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
enum Palette256 : uint8_t {
|
enum Palette256 : uint8_t {
|
||||||
@ -297,6 +301,7 @@ class Color {
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
enum class ColorType : uint8_t {
|
enum class ColorType : uint8_t {
|
||||||
|
Palette1,
|
||||||
Palette16,
|
Palette16,
|
||||||
Palette256,
|
Palette256,
|
||||||
TrueColor,
|
TrueColor,
|
||||||
|
@ -7,7 +7,8 @@ namespace ftxui {
|
|||||||
|
|
||||||
struct ColorInfo {
|
struct ColorInfo {
|
||||||
const char* name;
|
const char* name;
|
||||||
uint8_t index;
|
uint8_t index_256;
|
||||||
|
uint8_t index_16;
|
||||||
uint8_t red;
|
uint8_t red;
|
||||||
uint8_t green;
|
uint8_t green;
|
||||||
uint8_t blue;
|
uint8_t blue;
|
||||||
@ -17,6 +18,7 @@ struct ColorInfo {
|
|||||||
};
|
};
|
||||||
|
|
||||||
ColorInfo GetColorInfo(Color::Palette256 index);
|
ColorInfo GetColorInfo(Color::Palette256 index);
|
||||||
|
ColorInfo GetColorInfo(Color::Palette16 index);
|
||||||
|
|
||||||
} // namespace ftxui
|
} // namespace ftxui
|
||||||
|
|
||||||
|
@ -9,10 +9,15 @@ class Terminal {
|
|||||||
int dimx;
|
int dimx;
|
||||||
int dimy;
|
int dimy;
|
||||||
};
|
};
|
||||||
|
|
||||||
static bool CanSupportTrueColors();
|
|
||||||
|
|
||||||
static Dimensions Size();
|
static Dimensions Size();
|
||||||
|
|
||||||
|
enum Color {
|
||||||
|
Palette1,
|
||||||
|
Palette16,
|
||||||
|
Palette256,
|
||||||
|
TrueColor,
|
||||||
|
};
|
||||||
|
static Color ColorSupport();
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ftxui
|
} // namespace ftxui
|
||||||
|
@ -6,6 +6,18 @@
|
|||||||
|
|
||||||
namespace ftxui {
|
namespace ftxui {
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
const wchar_t* palette16code[16][2] = {
|
||||||
|
{L"30", L"40"}, {L"31", L"41"}, {L"32", L"42"}, {L"33", L"43"},
|
||||||
|
{L"34", L"44"},
|
||||||
|
|
||||||
|
{L"35", L"45"}, {L"36", L"46"}, {L"37", L"47"},
|
||||||
|
|
||||||
|
{L"90", L"100"}, {L"91", L"101"}, {L"92", L"102"}, {L"93", L"103"},
|
||||||
|
{L"94", L"104"}, {L"95", L"105"}, {L"96", L"106"}, {L"97", L"107"},
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
bool Color::operator==(const Color& rhs) const {
|
bool Color::operator==(const Color& rhs) const {
|
||||||
return red_ == rhs.red_ && green_ == rhs.green_ && blue_ == rhs.blue_ &&
|
return red_ == rhs.red_ && green_ == rhs.green_ && blue_ == rhs.blue_ &&
|
||||||
type_ == rhs.type_;
|
type_ == rhs.type_;
|
||||||
@ -17,28 +29,31 @@ bool Color::operator!=(const Color& rhs) const {
|
|||||||
|
|
||||||
std::wstring Color::Print(bool is_background_color) const {
|
std::wstring Color::Print(bool is_background_color) const {
|
||||||
switch (type_) {
|
switch (type_) {
|
||||||
|
case ColorType::Palette1:
|
||||||
|
return is_background_color ? L"49" : L"39";
|
||||||
|
|
||||||
case ColorType::Palette16:
|
case ColorType::Palette16:
|
||||||
return to_wstring(
|
return palette16code[index_][is_background_color];
|
||||||
std::to_string((is_background_color ? 10 : 0) + index_));
|
|
||||||
|
|
||||||
case ColorType::Palette256:
|
case ColorType::Palette256:
|
||||||
return to_wstring(std::to_string(is_background_color ? 48 : 38) //
|
return (is_background_color ? L"48;5;" : L"38;5") + to_wstring(index_);
|
||||||
+ ";5;" //
|
|
||||||
+ std::to_string(index_)); //
|
|
||||||
|
|
||||||
case ColorType::TrueColor:
|
case ColorType::TrueColor:
|
||||||
return to_wstring(std::to_string(is_background_color ? 48 : 38) //
|
return (is_background_color ? L"48;2;" : L"38;2;") //
|
||||||
+ ";2;" //
|
+ to_wstring(red_) + L";" //
|
||||||
+ std::to_string(red_) + ";" //
|
+ to_wstring(green_) + L";" //
|
||||||
+ std::to_string(green_) + ";" //
|
+ to_wstring(blue_); //
|
||||||
+ std::to_string(blue_)); //
|
|
||||||
}
|
}
|
||||||
return L"";
|
return L"";
|
||||||
}
|
}
|
||||||
|
|
||||||
/// @brief Build a transparent color.
|
/// @brief Build a transparent color.
|
||||||
/// @ingroup screen
|
/// @ingroup screen
|
||||||
Color::Color() : type_(ColorType::Palette16), index_(Palette16::Default) {}
|
Color::Color() : type_(ColorType::Palette1) {}
|
||||||
|
|
||||||
|
/// @brief Build a transparent color.
|
||||||
|
/// @ingroup screen
|
||||||
|
Color::Color(Palette1) : type_(ColorType::Palette1) {}
|
||||||
|
|
||||||
/// @brief Build a transparent using Palette16 colors.
|
/// @brief Build a transparent using Palette16 colors.
|
||||||
/// @ingroup screen
|
/// @ingroup screen
|
||||||
|
@ -4,267 +4,271 @@ namespace ftxui {
|
|||||||
|
|
||||||
// clang-format off
|
// clang-format off
|
||||||
const ColorInfo palette256[] = {
|
const ColorInfo palette256[] = {
|
||||||
{"Black" , 0 , 0 , 0 , 0 , 0 , 0 , 0 } ,
|
{"Black" , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 } ,
|
||||||
{"Maroon" , 1 , 128 , 0 , 0 , 0 , 255 , 128 } ,
|
{"Red" , 1 , 1 , 128 , 0 , 0 , 0 , 255 , 128 } ,
|
||||||
{"Green" , 2 , 0 , 128 , 0 , 85 , 255 , 128 } ,
|
{"Green" , 2 , 2 , 0 , 128 , 0 , 85 , 255 , 128 } ,
|
||||||
{"Olive" , 3 , 128 , 128 , 0 , 43 , 255 , 128 } ,
|
{"Yellow" , 3 , 3 , 128 , 128 , 0 , 43 , 255 , 128 } ,
|
||||||
{"Navy" , 4 , 0 , 0 , 128 , 171 , 255 , 128 } ,
|
{"Blue" , 4 , 4 , 0 , 0 , 128 , 171 , 255 , 128 } ,
|
||||||
{"Purple" , 5 , 128 , 0 , 128 , 213 , 255 , 128 } ,
|
{"Magenta" , 5 , 5 , 128 , 0 , 128 , 213 , 255 , 128 } ,
|
||||||
{"Teal" , 6 , 0 , 128 , 128 , 128 , 255 , 128 } ,
|
{"Cyan" , 6 , 6 , 0 , 128 , 128 , 128 , 255 , 128 } ,
|
||||||
{"Silver" , 7 , 192 , 192 , 192 , 0 , 0 , 192 } ,
|
{"GrayLight" , 7 , 7 , 192 , 192 , 192 , 0 , 0 , 192 } ,
|
||||||
{"Grey" , 8 , 128 , 128 , 128 , 0 , 0 , 128 } ,
|
{"GrayDark" , 8 , 8 , 128 , 128 , 128 , 0 , 0 , 128 } ,
|
||||||
{"Red" , 9 , 255 , 0 , 0 , 0 , 255 , 255 } ,
|
{"RedLight" , 9 , 9 , 255 , 0 , 0 , 0 , 255 , 255 } ,
|
||||||
{"Lime" , 10 , 0 , 255 , 0 , 85 , 255 , 255 } ,
|
{"GreenLight" , 10 , 10 , 0 , 255 , 0 , 85 , 255 , 255 } ,
|
||||||
{"Yellow" , 11 , 255 , 255 , 0 , 43 , 255 , 255 } ,
|
{"YellowLight" , 11 , 11 , 255 , 255 , 0 , 43 , 255 , 255 } ,
|
||||||
{"Blue" , 12 , 0 , 0 , 255 , 171 , 255 , 255 } ,
|
{"BlueLight" , 12 , 12 , 0 , 0 , 255 , 171 , 255 , 255 } ,
|
||||||
{"Fuchsia" , 13 , 255 , 0 , 255 , 213 , 255 , 255 } ,
|
{"MagentaLight" , 13 , 13 , 255 , 0 , 255 , 213 , 255 , 255 } ,
|
||||||
{"Aqua" , 14 , 0 , 255 , 255 , 128 , 255 , 255 } ,
|
{"CyanLight" , 14 , 14 , 0 , 255 , 255 , 128 , 255 , 255 } ,
|
||||||
{"White" , 15 , 255 , 255 , 255 , 0 , 0 , 255 } ,
|
{"White" , 15 , 15 , 255 , 255 , 255 , 0 , 0 , 255 } ,
|
||||||
{"Grey0" , 16 , 0 , 0 , 0 , 0 , 0 , 0 } ,
|
{"Grey0" , 16 , 0 , 0 , 0 , 0 , 0 , 0 , 0 } ,
|
||||||
{"NavyBlue" , 17 , 0 , 0 , 95 , 171 , 255 , 95 } ,
|
{"NavyBlue" , 17 , 4 , 0 , 0 , 95 , 171 , 255 , 95 } ,
|
||||||
{"DarkBlue" , 18 , 0 , 0 , 135 , 171 , 255 , 135 } ,
|
{"DarkBlue" , 18 , 4 , 0 , 0 , 135 , 171 , 255 , 135 } ,
|
||||||
{"Blue3" , 19 , 0 , 0 , 175 , 171 , 255 , 175 } ,
|
{"Blue3" , 19 , 4 , 0 , 0 , 175 , 171 , 255 , 175 } ,
|
||||||
{"Blue3Bis" , 20 , 0 , 0 , 215 , 171 , 255 , 215 } ,
|
{"Blue3Bis" , 20 , 12 , 0 , 0 , 215 , 171 , 255 , 215 } ,
|
||||||
{"Blue1" , 21 , 0 , 0 , 255 , 171 , 255 , 255 } ,
|
{"Blue1" , 21 , 12 , 0 , 0 , 255 , 171 , 255 , 255 } ,
|
||||||
{"DarkGreen" , 22 , 0 , 95 , 0 , 85 , 255 , 95 } ,
|
{"DarkGreen" , 22 , 2 , 0 , 95 , 0 , 85 , 255 , 95 } ,
|
||||||
{"DeepSkyBlue4" , 23 , 0 , 95 , 95 , 128 , 255 , 95 } ,
|
{"DeepSkyBlue4" , 23 , 6 , 0 , 95 , 95 , 128 , 255 , 95 } ,
|
||||||
{"DeepSkyBlue4Bis" , 24 , 0 , 95 , 135 , 141 , 255 , 135 } ,
|
{"DeepSkyBlue4Bis" , 24 , 6 , 0 , 95 , 135 , 141 , 255 , 135 } ,
|
||||||
{"DeepSkyBlue4Ter" , 25 , 0 , 95 , 175 , 148 , 255 , 175 } ,
|
{"DeepSkyBlue4Ter" , 25 , 6 , 0 , 95 , 175 , 148 , 255 , 175 } ,
|
||||||
{"DodgerBlue3" , 26 , 0 , 95 , 215 , 152 , 255 , 215 } ,
|
{"DodgerBlue3" , 26 , 12 , 0 , 95 , 215 , 152 , 255 , 215 } ,
|
||||||
{"DodgerBlue2" , 27 , 0 , 95 , 255 , 155 , 255 , 255 } ,
|
{"DodgerBlue2" , 27 , 12 , 0 , 95 , 255 , 155 , 255 , 255 } ,
|
||||||
{"Green4" , 28 , 0 , 135 , 0 , 85 , 255 , 135 } ,
|
{"Green4" , 28 , 2 , 0 , 135 , 0 , 85 , 255 , 135 } ,
|
||||||
{"SpringGreen4" , 29 , 0 , 135 , 95 , 115 , 255 , 135 } ,
|
{"SpringGreen4" , 29 , 6 , 0 , 135 , 95 , 115 , 255 , 135 } ,
|
||||||
{"Turquoise4" , 30 , 0 , 135 , 135 , 128 , 255 , 135 } ,
|
{"Turquoise4" , 30 , 6 , 0 , 135 , 135 , 128 , 255 , 135 } ,
|
||||||
{"DeepSkyBlue3" , 31 , 0 , 135 , 175 , 138 , 255 , 175 } ,
|
{"DeepSkyBlue3" , 31 , 6 , 0 , 135 , 175 , 138 , 255 , 175 } ,
|
||||||
{"DeepSkyBlue3Bis" , 32 , 0 , 135 , 215 , 144 , 255 , 215 } ,
|
{"DeepSkyBlue3Bis" , 32 , 14 , 0 , 135 , 215 , 144 , 255 , 215 } ,
|
||||||
{"DodgerBlue1" , 33 , 0 , 135 , 255 , 149 , 255 , 255 } ,
|
{"DodgerBlue1" , 33 , 14 , 0 , 135 , 255 , 149 , 255 , 255 } ,
|
||||||
{"Green3" , 34 , 0 , 175 , 0 , 85 , 255 , 175 } ,
|
{"Green3" , 34 , 2 , 0 , 175 , 0 , 85 , 255 , 175 } ,
|
||||||
{"SpringGreen3" , 35 , 0 , 175 , 95 , 108 , 255 , 175 } ,
|
{"SpringGreen3" , 35 , 6 , 0 , 175 , 95 , 108 , 255 , 175 } ,
|
||||||
{"DarkCyan" , 36 , 0 , 175 , 135 , 118 , 255 , 175 } ,
|
{"DarkCyan" , 36 , 6 , 0 , 175 , 135 , 118 , 255 , 175 } ,
|
||||||
{"LightSeaGreen" , 37 , 0 , 175 , 175 , 128 , 255 , 175 } ,
|
{"LightSeaGreen" , 37 , 6 , 0 , 175 , 175 , 128 , 255 , 175 } ,
|
||||||
{"DeepSkyBlue2" , 38 , 0 , 175 , 215 , 136 , 255 , 215 } ,
|
{"DeepSkyBlue2" , 38 , 14 , 0 , 175 , 215 , 136 , 255 , 215 } ,
|
||||||
{"DeepSkyBlue1" , 39 , 0 , 175 , 255 , 142 , 255 , 255 } ,
|
{"DeepSkyBlue1" , 39 , 14 , 0 , 175 , 255 , 142 , 255 , 255 } ,
|
||||||
{"Green3Bis" , 40 , 0 , 215 , 0 , 85 , 255 , 215 } ,
|
{"Green3Bis" , 40 , 10 , 0 , 215 , 0 , 85 , 255 , 215 } ,
|
||||||
{"SpringGreen3Bis" , 41 , 0 , 215 , 95 , 104 , 255 , 215 } ,
|
{"SpringGreen3Bis" , 41 , 10 , 0 , 215 , 95 , 104 , 255 , 215 } ,
|
||||||
{"SpringGreen2" , 42 , 0 , 215 , 135 , 112 , 255 , 215 } ,
|
{"SpringGreen2" , 42 , 14 , 0 , 215 , 135 , 112 , 255 , 215 } ,
|
||||||
{"Cyan3" , 43 , 0 , 215 , 175 , 120 , 255 , 215 } ,
|
{"Cyan3" , 43 , 14 , 0 , 215 , 175 , 120 , 255 , 215 } ,
|
||||||
{"DarkTurquoise" , 44 , 0 , 215 , 215 , 128 , 255 , 215 } ,
|
{"DarkTurquoise" , 44 , 14 , 0 , 215 , 215 , 128 , 255 , 215 } ,
|
||||||
{"Turquoise2" , 45 , 0 , 215 , 255 , 135 , 255 , 255 } ,
|
{"Turquoise2" , 45 , 14 , 0 , 215 , 255 , 135 , 255 , 255 } ,
|
||||||
{"Green1" , 46 , 0 , 255 , 0 , 85 , 255 , 255 } ,
|
{"Green1" , 46 , 10 , 0 , 255 , 0 , 85 , 255 , 255 } ,
|
||||||
{"SpringGreen2Bis" , 47 , 0 , 255 , 95 , 101 , 255 , 255 } ,
|
{"SpringGreen2Bis" , 47 , 10 , 0 , 255 , 95 , 101 , 255 , 255 } ,
|
||||||
{"SpringGreen1" , 48 , 0 , 255 , 135 , 107 , 255 , 255 } ,
|
{"SpringGreen1" , 48 , 14 , 0 , 255 , 135 , 107 , 255 , 255 } ,
|
||||||
{"MediumSpringGreen" , 49 , 0 , 255 , 175 , 114 , 255 , 255 } ,
|
{"MediumSpringGreen" , 49 , 14 , 0 , 255 , 175 , 114 , 255 , 255 } ,
|
||||||
{"Cyan2" , 50 , 0 , 255 , 215 , 121 , 255 , 255 } ,
|
{"Cyan2" , 50 , 14 , 0 , 255 , 215 , 121 , 255 , 255 } ,
|
||||||
{"Cyan1" , 51 , 0 , 255 , 255 , 128 , 255 , 255 } ,
|
{"Cyan1" , 51 , 14 , 0 , 255 , 255 , 128 , 255 , 255 } ,
|
||||||
{"DarkRed" , 52 , 95 , 0 , 0 , 0 , 255 , 95 } ,
|
{"DarkRed" , 52 , 1 , 95 , 0 , 0 , 0 , 255 , 95 } ,
|
||||||
{"DeepPink4Ter" , 53 , 95 , 0 , 95 , 213 , 255 , 95 } ,
|
{"DeepPink4Ter" , 53 , 5 , 95 , 0 , 95 , 213 , 255 , 95 } ,
|
||||||
{"Purple4" , 54 , 95 , 0 , 135 , 201 , 255 , 135 } ,
|
{"Purple4" , 54 , 5 , 95 , 0 , 135 , 201 , 255 , 135 } ,
|
||||||
{"Purple4Bis" , 55 , 95 , 0 , 175 , 194 , 255 , 175 } ,
|
{"Purple4Bis" , 55 , 5 , 95 , 0 , 175 , 194 , 255 , 175 } ,
|
||||||
{"Purple3" , 56 , 95 , 0 , 215 , 190 , 255 , 215 } ,
|
{"Purple3" , 56 , 12 , 95 , 0 , 215 , 190 , 255 , 215 } ,
|
||||||
{"BlueViolet" , 57 , 95 , 0 , 255 , 187 , 255 , 255 } ,
|
{"BlueViolet" , 57 , 12 , 95 , 0 , 255 , 187 , 255 , 255 } ,
|
||||||
{"Orange4" , 58 , 95 , 95 , 0 , 43 , 255 , 95 } ,
|
{"Orange4" , 58 , 3 , 95 , 95 , 0 , 43 , 255 , 95 } ,
|
||||||
{"Grey37" , 59 , 95 , 95 , 95 , 0 , 0 , 95 } ,
|
{"Grey37" , 59 , 8 , 95 , 95 , 95 , 0 , 0 , 95 } ,
|
||||||
{"MediumPurple4" , 60 , 95 , 95 , 135 , 171 , 75 , 135 } ,
|
{"MediumPurple4" , 60 , 4 , 95 , 95 , 135 , 171 , 75 , 135 } ,
|
||||||
{"SlateBlue3" , 61 , 95 , 95 , 175 , 171 , 116 , 175 } ,
|
{"SlateBlue3" , 61 , 4 , 95 , 95 , 175 , 171 , 116 , 175 } ,
|
||||||
{"SlateBlue3Bis" , 62 , 95 , 95 , 215 , 171 , 142 , 215 } ,
|
{"SlateBlue3Bis" , 62 , 12 , 95 , 95 , 215 , 171 , 142 , 215 } ,
|
||||||
{"RoyalBlue1" , 63 , 95 , 95 , 255 , 171 , 160 , 255 } ,
|
{"RoyalBlue1" , 63 , 12 , 95 , 95 , 255 , 171 , 160 , 255 } ,
|
||||||
{"Chartreuse4" , 64 , 95 , 135 , 0 , 55 , 255 , 135 } ,
|
{"Chartreuse4" , 64 , 3 , 95 , 135 , 0 , 55 , 255 , 135 } ,
|
||||||
{"DarkSeaGreen4" , 65 , 95 , 135 , 95 , 85 , 75 , 135 } ,
|
{"DarkSeaGreen4" , 65 , 8 , 95 , 135 , 95 , 85 , 75 , 135 } ,
|
||||||
{"PaleTurquoise4" , 66 , 95 , 135 , 135 , 128 , 75 , 135 } ,
|
{"PaleTurquoise4" , 66 , 6 , 95 , 135 , 135 , 128 , 75 , 135 } ,
|
||||||
{"SteelBlue" , 67 , 95 , 135 , 175 , 150 , 116 , 175 } ,
|
{"SteelBlue" , 67 , 4 , 95 , 135 , 175 , 150 , 116 , 175 } ,
|
||||||
{"SteelBlue3" , 68 , 95 , 135 , 215 , 157 , 142 , 215 } ,
|
{"SteelBlue3" , 68 , 12 , 95 , 135 , 215 , 157 , 142 , 215 } ,
|
||||||
{"CornflowerBlue" , 69 , 95 , 135 , 255 , 161 , 160 , 255 } ,
|
{"CornflowerBlue" , 69 , 12 , 95 , 135 , 255 , 161 , 160 , 255 } ,
|
||||||
{"Chartreuse3" , 70 , 95 , 175 , 0 , 62 , 255 , 175 } ,
|
{"Chartreuse3" , 70 , 3 , 95 , 175 , 0 , 62 , 255 , 175 } ,
|
||||||
{"DarkSeaGreen4Bis" , 71 , 95 , 175 , 95 , 85 , 116 , 175 } ,
|
{"DarkSeaGreen4Bis" , 71 , 2 , 95 , 175 , 95 , 85 , 116 , 175 } ,
|
||||||
{"CadetBlue" , 72 , 95 , 175 , 135 , 106 , 116 , 175 } ,
|
{"CadetBlue" , 72 , 2 , 95 , 175 , 135 , 106 , 116 , 175 } ,
|
||||||
{"CadetBlueBis" , 73 , 95 , 175 , 175 , 128 , 116 , 175 } ,
|
{"CadetBlueBis" , 73 , 6 , 95 , 175 , 175 , 128 , 116 , 175 } ,
|
||||||
{"SkyBlue3" , 74 , 95 , 175 , 215 , 143 , 142 , 215 } ,
|
{"SkyBlue3" , 74 , 14 , 95 , 175 , 215 , 143 , 142 , 215 } ,
|
||||||
{"SteelBlue1" , 75 , 95 , 175 , 255 , 150 , 160 , 255 } ,
|
{"SteelBlue1" , 75 , 12 , 95 , 175 , 255 , 150 , 160 , 255 } ,
|
||||||
{"Chartreuse3Bis" , 76 , 95 , 215 , 0 , 66 , 255 , 215 } ,
|
{"Chartreuse3Bis" , 76 , 10 , 95 , 215 , 0 , 66 , 255 , 215 } ,
|
||||||
{"PaleGreen3Bis" , 77 , 95 , 215 , 95 , 85 , 142 , 215 } ,
|
{"PaleGreen3Bis" , 77 , 10 , 95 , 215 , 95 , 85 , 142 , 215 } ,
|
||||||
{"SeaGreen3" , 78 , 95 , 215 , 135 , 99 , 142 , 215 } ,
|
{"SeaGreen3" , 78 , 10 , 95 , 215 , 135 , 99 , 142 , 215 } ,
|
||||||
{"Aquamarine3" , 79 , 95 , 215 , 175 , 113 , 142 , 215 } ,
|
{"Aquamarine3" , 79 , 14 , 95 , 215 , 175 , 113 , 142 , 215 } ,
|
||||||
{"MediumTurquoise" , 80 , 95 , 215 , 215 , 128 , 142 , 215 } ,
|
{"MediumTurquoise" , 80 , 14 , 95 , 215 , 215 , 128 , 142 , 215 } ,
|
||||||
{"SteelBlue1Bis" , 81 , 95 , 215 , 255 , 139 , 160 , 255 } ,
|
{"SteelBlue1Bis" , 81 , 14 , 95 , 215 , 255 , 139 , 160 , 255 } ,
|
||||||
{"Chartreuse2Bis" , 82 , 95 , 255 , 0 , 69 , 255 , 255 } ,
|
{"Chartreuse2Bis" , 82 , 10 , 95 , 255 , 0 , 69 , 255 , 255 } ,
|
||||||
{"SeaGreen2" , 83 , 95 , 255 , 95 , 85 , 160 , 255 } ,
|
{"SeaGreen2" , 83 , 10 , 95 , 255 , 95 , 85 , 160 , 255 } ,
|
||||||
{"SeaGreen1" , 84 , 95 , 255 , 135 , 95 , 160 , 255 } ,
|
{"SeaGreen1" , 84 , 10 , 95 , 255 , 135 , 95 , 160 , 255 } ,
|
||||||
{"SeaGreen1Bis" , 85 , 95 , 255 , 175 , 106 , 160 , 255 } ,
|
{"SeaGreen1Bis" , 85 , 10 , 95 , 255 , 175 , 106 , 160 , 255 } ,
|
||||||
{"Aquamarine1Bis" , 86 , 95 , 255 , 215 , 117 , 160 , 255 } ,
|
{"Aquamarine1Bis" , 86 , 14 , 95 , 255 , 215 , 117 , 160 , 255 } ,
|
||||||
{"DarkSlateGray2" , 87 , 95 , 255 , 255 , 128 , 160 , 255 } ,
|
{"DarkSlateGray2" , 87 , 14 , 95 , 255 , 255 , 128 , 160 , 255 } ,
|
||||||
{"DarkRedBis" , 88 , 135 , 0 , 0 , 0 , 255 , 135 } ,
|
{"DarkRedBis" , 88 , 1 , 135 , 0 , 0 , 0 , 255 , 135 } ,
|
||||||
{"DeepPink4Bis" , 89 , 135 , 0 , 95 , 226 , 255 , 135 } ,
|
{"DeepPink4Bis" , 89 , 5 , 135 , 0 , 95 , 226 , 255 , 135 } ,
|
||||||
{"DarkMagenta" , 90 , 135 , 0 , 135 , 213 , 255 , 135 } ,
|
{"DarkMagenta" , 90 , 5 , 135 , 0 , 135 , 213 , 255 , 135 } ,
|
||||||
{"DarkMagentaBis" , 91 , 135 , 0 , 175 , 204 , 255 , 175 } ,
|
{"DarkMagentaBis" , 91 , 5 , 135 , 0 , 175 , 204 , 255 , 175 } ,
|
||||||
{"DarkVioletBis" , 92 , 135 , 0 , 215 , 198 , 255 , 215 } ,
|
{"DarkVioletBis" , 92 , 13 , 135 , 0 , 215 , 198 , 255 , 215 } ,
|
||||||
{"PurpleBis" , 93 , 135 , 0 , 255 , 193 , 255 , 255 } ,
|
{"PurpleBis" , 93 , 13 , 135 , 0 , 255 , 193 , 255 , 255 } ,
|
||||||
{"Orange4Bis" , 94 , 135 , 95 , 0 , 30 , 255 , 135 } ,
|
{"Orange4Bis" , 94 , 3 , 135 , 95 , 0 , 30 , 255 , 135 } ,
|
||||||
{"LightPink4" , 95 , 135 , 95 , 95 , 0 , 75 , 135 } ,
|
{"LightPink4" , 95 , 8 , 135 , 95 , 95 , 0 , 75 , 135 } ,
|
||||||
{"Plum4" , 96 , 135 , 95 , 135 , 213 , 75 , 135 } ,
|
{"Plum4" , 96 , 5 , 135 , 95 , 135 , 213 , 75 , 135 } ,
|
||||||
{"MediumPurple3" , 97 , 135 , 95 , 175 , 192 , 116 , 175 } ,
|
{"MediumPurple3" , 97 , 4 , 135 , 95 , 175 , 192 , 116 , 175 } ,
|
||||||
{"MediumPurple3Bis" , 98 , 135 , 95 , 215 , 185 , 142 , 215 } ,
|
{"MediumPurple3Bis" , 98 , 12 , 135 , 95 , 215 , 185 , 142 , 215 } ,
|
||||||
{"SlateBlue1" , 99 , 135 , 95 , 255 , 181 , 160 , 255 } ,
|
{"SlateBlue1" , 99 , 12 , 135 , 95 , 255 , 181 , 160 , 255 } ,
|
||||||
{"Yellow4" , 100 , 135 , 135 , 0 , 43 , 255 , 135 } ,
|
{"Yellow4" , 100 , 3 , 135 , 135 , 0 , 43 , 255 , 135 } ,
|
||||||
{"Wheat4" , 101 , 135 , 135 , 95 , 43 , 75 , 135 } ,
|
{"Wheat4" , 101 , 8 , 135 , 135 , 95 , 43 , 75 , 135 } ,
|
||||||
{"Grey53" , 102 , 135 , 135 , 135 , 0 , 0 , 135 } ,
|
{"Grey53" , 102 , 8 , 135 , 135 , 135 , 0 , 0 , 135 } ,
|
||||||
{"LightSlateGrey" , 103 , 135 , 135 , 175 , 171 , 58 , 175 } ,
|
{"LightSlateGrey" , 103 , 4 , 135 , 135 , 175 , 171 , 58 , 175 } ,
|
||||||
{"MediumPurple" , 104 , 135 , 135 , 215 , 171 , 94 , 215 } ,
|
{"MediumPurple" , 104 , 12 , 135 , 135 , 215 , 171 , 94 , 215 } ,
|
||||||
{"LightSlateBlue" , 105 , 135 , 135 , 255 , 171 , 120 , 255 } ,
|
{"LightSlateBlue" , 105 , 12 , 135 , 135 , 255 , 171 , 120 , 255 } ,
|
||||||
{"Yellow4Bis" , 106 , 135 , 175 , 0 , 52 , 255 , 175 } ,
|
{"Yellow4Bis" , 106 , 3 , 135 , 175 , 0 , 52 , 255 , 175 } ,
|
||||||
{"DarkOliveGreen3" , 107 , 135 , 175 , 95 , 64 , 116 , 175 } ,
|
{"DarkOliveGreen3" , 107 , 7 , 135 , 175 , 95 , 64 , 116 , 175 } ,
|
||||||
{"DarkSeaGreen" , 108 , 135 , 175 , 135 , 85 , 58 , 175 } ,
|
{"DarkSeaGreen" , 108 , 7 , 135 , 175 , 135 , 85 , 58 , 175 } ,
|
||||||
{"LightSkyBlue3" , 109 , 135 , 175 , 175 , 128 , 58 , 175 } ,
|
{"LightSkyBlue3" , 109 , 7 , 135 , 175 , 175 , 128 , 58 , 175 } ,
|
||||||
{"LightSkyBlue3Bis" , 110 , 135 , 175 , 215 , 150 , 94 , 215 } ,
|
{"LightSkyBlue3Bis" , 110 , 12 , 135 , 175 , 215 , 150 , 94 , 215 } ,
|
||||||
{"SkyBlue2" , 111 , 135 , 175 , 255 , 157 , 120 , 255 } ,
|
{"SkyBlue2" , 111 , 12 , 135 , 175 , 255 , 157 , 120 , 255 } ,
|
||||||
{"Chartreuse2" , 112 , 135 , 215 , 0 , 58 , 255 , 215 } ,
|
{"Chartreuse2" , 112 , 11 , 135 , 215 , 0 , 58 , 255 , 215 } ,
|
||||||
{"DarkOliveGreen3Bis" , 113 , 135 , 215 , 95 , 71 , 142 , 215 } ,
|
{"DarkOliveGreen3Bis" , 113 , 10 , 135 , 215 , 95 , 71 , 142 , 215 } ,
|
||||||
{"PaleGreen3" , 114 , 135 , 215 , 135 , 85 , 94 , 215 } ,
|
{"PaleGreen3" , 114 , 7 , 135 , 215 , 135 , 85 , 94 , 215 } ,
|
||||||
{"DarkSeaGreen3" , 115 , 135 , 215 , 175 , 106 , 94 , 215 } ,
|
{"DarkSeaGreen3" , 115 , 10 , 135 , 215 , 175 , 106 , 94 , 215 } ,
|
||||||
{"DarkSlateGray3" , 116 , 135 , 215 , 215 , 128 , 94 , 215 } ,
|
{"DarkSlateGray3" , 116 , 14 , 135 , 215 , 215 , 128 , 94 , 215 } ,
|
||||||
{"SkyBlue1" , 117 , 135 , 215 , 255 , 143 , 120 , 255 } ,
|
{"SkyBlue1" , 117 , 14 , 135 , 215 , 255 , 143 , 120 , 255 } ,
|
||||||
{"Chartreuse1" , 118 , 135 , 255 , 0 , 63 , 255 , 255 } ,
|
{"Chartreuse1" , 118 , 11 , 135 , 255 , 0 , 63 , 255 , 255 } ,
|
||||||
{"LightGreen" , 119 , 135 , 255 , 95 , 75 , 160 , 255 } ,
|
{"LightGreen" , 119 , 10 , 135 , 255 , 95 , 75 , 160 , 255 } ,
|
||||||
{"LightGreenBis" , 120 , 135 , 255 , 135 , 85 , 120 , 255 } ,
|
{"LightGreenBis" , 120 , 10 , 135 , 255 , 135 , 85 , 120 , 255 } ,
|
||||||
{"PaleGreen1" , 121 , 135 , 255 , 175 , 99 , 120 , 255 } ,
|
{"PaleGreen1" , 121 , 10 , 135 , 255 , 175 , 99 , 120 , 255 } ,
|
||||||
{"Aquamarine1" , 122 , 135 , 255 , 215 , 113 , 120 , 255 } ,
|
{"Aquamarine1" , 122 , 14 , 135 , 255 , 215 , 113 , 120 , 255 } ,
|
||||||
{"DarkSlateGray1" , 123 , 135 , 255 , 255 , 128 , 120 , 255 } ,
|
{"DarkSlateGray1" , 123 , 14 , 135 , 255 , 255 , 128 , 120 , 255 } ,
|
||||||
{"Red3" , 124 , 175 , 0 , 0 , 0 , 255 , 175 } ,
|
{"Red3" , 124 , 1 , 175 , 0 , 0 , 0 , 255 , 175 } ,
|
||||||
{"DeepPink4" , 125 , 175 , 0 , 95 , 233 , 255 , 175 } ,
|
{"DeepPink4" , 125 , 5 , 175 , 0 , 95 , 233 , 255 , 175 } ,
|
||||||
{"MediumVioletRed" , 126 , 175 , 0 , 135 , 223 , 255 , 175 } ,
|
{"MediumVioletRed" , 126 , 5 , 175 , 0 , 135 , 223 , 255 , 175 } ,
|
||||||
{"Magenta3" , 127 , 175 , 0 , 175 , 213 , 255 , 175 } ,
|
{"Magenta3" , 127 , 5 , 175 , 0 , 175 , 213 , 255 , 175 } ,
|
||||||
{"DarkViolet" , 128 , 175 , 0 , 215 , 206 , 255 , 215 } ,
|
{"DarkViolet" , 128 , 13 , 175 , 0 , 215 , 206 , 255 , 215 } ,
|
||||||
{"Purple" , 129 , 175 , 0 , 255 , 200 , 255 , 255 } ,
|
{"Purple" , 129 , 13 , 175 , 0 , 255 , 200 , 255 , 255 } ,
|
||||||
{"DarkOrange3" , 130 , 175 , 95 , 0 , 23 , 255 , 175 } ,
|
{"DarkOrange3" , 130 , 3 , 175 , 95 , 0 , 23 , 255 , 175 } ,
|
||||||
{"IndianRed" , 131 , 175 , 95 , 95 , 0 , 116 , 175 } ,
|
{"IndianRed" , 131 , 7 , 175 , 95 , 95 , 0 , 116 , 175 } ,
|
||||||
{"HotPink3" , 132 , 175 , 95 , 135 , 235 , 116 , 175 } ,
|
{"HotPink3" , 132 , 5 , 175 , 95 , 135 , 235 , 116 , 175 } ,
|
||||||
{"MediumOrchid3" , 133 , 175 , 95 , 175 , 213 , 116 , 175 } ,
|
{"MediumOrchid3" , 133 , 5 , 175 , 95 , 175 , 213 , 116 , 175 } ,
|
||||||
{"MediumOrchid" , 134 , 175 , 95 , 215 , 199 , 142 , 215 } ,
|
{"MediumOrchid" , 134 , 13 , 175 , 95 , 215 , 199 , 142 , 215 } ,
|
||||||
{"MediumPurple2" , 135 , 175 , 95 , 255 , 192 , 160 , 255 } ,
|
{"MediumPurple2" , 135 , 12 , 175 , 95 , 255 , 192 , 160 , 255 } ,
|
||||||
{"DarkGoldenrod" , 136 , 175 , 135 , 0 , 33 , 255 , 175 } ,
|
{"DarkGoldenrod" , 136 , 3 , 175 , 135 , 0 , 33 , 255 , 175 } ,
|
||||||
{"LightSalmon3" , 137 , 175 , 135 , 95 , 21 , 116 , 175 } ,
|
{"LightSalmon3" , 137 , 7 , 175 , 135 , 95 , 21 , 116 , 175 } ,
|
||||||
{"RosyBrown" , 138 , 175 , 135 , 135 , 0 , 58 , 175 } ,
|
{"RosyBrown" , 138 , 7 , 175 , 135 , 135 , 0 , 58 , 175 } ,
|
||||||
{"Grey63" , 139 , 175 , 135 , 175 , 213 , 58 , 175 } ,
|
{"Grey63" , 139 , 5 , 175 , 135 , 175 , 213 , 58 , 175 } ,
|
||||||
{"MediumPurple2Bis" , 140 , 175 , 135 , 215 , 192 , 94 , 215 } ,
|
{"MediumPurple2Bis" , 140 , 12 , 175 , 135 , 215 , 192 , 94 , 215 } ,
|
||||||
{"MediumPurple1" , 141 , 175 , 135 , 255 , 185 , 120 , 255 } ,
|
{"MediumPurple1" , 141 , 12 , 175 , 135 , 255 , 185 , 120 , 255 } ,
|
||||||
{"Gold3" , 142 , 175 , 175 , 0 , 43 , 255 , 175 } ,
|
{"Gold3" , 142 , 3 , 175 , 175 , 0 , 43 , 255 , 175 } ,
|
||||||
{"DarkKhaki" , 143 , 175 , 175 , 95 , 43 , 116 , 175 } ,
|
{"DarkKhaki" , 143 , 7 , 175 , 175 , 95 , 43 , 116 , 175 } ,
|
||||||
{"NavajoWhite3" , 144 , 175 , 175 , 135 , 43 , 58 , 175 } ,
|
{"NavajoWhite3" , 144 , 7 , 175 , 175 , 135 , 43 , 58 , 175 } ,
|
||||||
{"Grey69" , 145 , 175 , 175 , 175 , 0 , 0 , 175 } ,
|
{"Grey69" , 145 , 7 , 175 , 175 , 175 , 0 , 0 , 175 } ,
|
||||||
{"LightSteelBlue3" , 146 , 175 , 175 , 215 , 171 , 47 , 215 } ,
|
{"LightSteelBlue3" , 146 , 12 , 175 , 175 , 215 , 171 , 47 , 215 } ,
|
||||||
{"LightSteelBlue" , 147 , 175 , 175 , 255 , 171 , 80 , 255 } ,
|
{"LightSteelBlue" , 147 , 12 , 175 , 175 , 255 , 171 , 80 , 255 } ,
|
||||||
{"Yellow3" , 148 , 175 , 215 , 0 , 50 , 255 , 215 } ,
|
{"Yellow3" , 148 , 11 , 175 , 215 , 0 , 50 , 255 , 215 } ,
|
||||||
{"DarkOliveGreen3Ter" , 149 , 175 , 215 , 95 , 57 , 142 , 215 } ,
|
{"DarkOliveGreen3Ter" , 149 , 11 , 175 , 215 , 95 , 57 , 142 , 215 } ,
|
||||||
{"DarkSeaGreen3Bis" , 150 , 175 , 215 , 135 , 64 , 94 , 215 } ,
|
{"DarkSeaGreen3Bis" , 150 , 7 , 175 , 215 , 135 , 64 , 94 , 215 } ,
|
||||||
{"DarkSeaGreen2" , 151 , 175 , 215 , 175 , 85 , 47 , 215 } ,
|
{"DarkSeaGreen2" , 151 , 7 , 175 , 215 , 175 , 85 , 47 , 215 } ,
|
||||||
{"LightCyan3" , 152 , 175 , 215 , 215 , 128 , 47 , 215 } ,
|
{"LightCyan3" , 152 , 7 , 175 , 215 , 215 , 128 , 47 , 215 } ,
|
||||||
{"LightSkyBlue1" , 153 , 175 , 215 , 255 , 150 , 80 , 255 } ,
|
{"LightSkyBlue1" , 153 , 12 , 175 , 215 , 255 , 150 , 80 , 255 } ,
|
||||||
{"GreenYellow" , 154 , 175 , 255 , 0 , 56 , 255 , 255 } ,
|
{"GreenYellow" , 154 , 11 , 175 , 255 , 0 , 56 , 255 , 255 } ,
|
||||||
{"DarkOliveGreen2" , 155 , 175 , 255 , 95 , 64 , 160 , 255 } ,
|
{"DarkOliveGreen2" , 155 , 10 , 175 , 255 , 95 , 64 , 160 , 255 } ,
|
||||||
{"PaleGreen1Bis" , 156 , 175 , 255 , 135 , 71 , 120 , 255 } ,
|
{"PaleGreen1Bis" , 156 , 10 , 175 , 255 , 135 , 71 , 120 , 255 } ,
|
||||||
{"DarkSeaGreen2Bis" , 157 , 175 , 255 , 175 , 85 , 80 , 255 } ,
|
{"DarkSeaGreen2Bis" , 157 , 15 , 175 , 255 , 175 , 85 , 80 , 255 } ,
|
||||||
{"DarkSeaGreen1" , 158 , 175 , 255 , 215 , 106 , 80 , 255 } ,
|
{"DarkSeaGreen1" , 158 , 15 , 175 , 255 , 215 , 106 , 80 , 255 } ,
|
||||||
{"PaleTurquoise1" , 159 , 175 , 255 , 255 , 128 , 80 , 255 } ,
|
{"PaleTurquoise1" , 159 , 14 , 175 , 255 , 255 , 128 , 80 , 255 } ,
|
||||||
{"Red3Bis" , 160 , 215 , 0 , 0 , 0 , 255 , 215 } ,
|
{"Red3Bis" , 160 , 9 , 215 , 0 , 0 , 0 , 255 , 215 } ,
|
||||||
{"DeepPink3" , 161 , 215 , 0 , 95 , 237 , 255 , 215 } ,
|
{"DeepPink3" , 161 , 13 , 215 , 0 , 95 , 237 , 255 , 215 } ,
|
||||||
{"DeepPink3Bis" , 162 , 215 , 0 , 135 , 229 , 255 , 215 } ,
|
{"DeepPink3Bis" , 162 , 13 , 215 , 0 , 135 , 229 , 255 , 215 } ,
|
||||||
{"Magenta3Bis" , 163 , 215 , 0 , 175 , 221 , 255 , 215 } ,
|
{"Magenta3Bis" , 163 , 13 , 215 , 0 , 175 , 221 , 255 , 215 } ,
|
||||||
{"Magenta3Ter" , 164 , 215 , 0 , 215 , 213 , 255 , 215 } ,
|
{"Magenta3Ter" , 164 , 13 , 215 , 0 , 215 , 213 , 255 , 215 } ,
|
||||||
{"Magenta2" , 165 , 215 , 0 , 255 , 207 , 255 , 255 } ,
|
{"Magenta2" , 165 , 13 , 215 , 0 , 255 , 207 , 255 , 255 } ,
|
||||||
{"DarkOrange3Bis" , 166 , 215 , 95 , 0 , 19 , 255 , 215 } ,
|
{"DarkOrange3Bis" , 166 , 9 , 215 , 95 , 0 , 19 , 255 , 215 } ,
|
||||||
{"IndianRedBis" , 167 , 215 , 95 , 95 , 0 , 142 , 215 } ,
|
{"IndianRedBis" , 167 , 9 , 215 , 95 , 95 , 0 , 142 , 215 } ,
|
||||||
{"HotPink3Bis" , 168 , 215 , 95 , 135 , 242 , 142 , 215 } ,
|
{"HotPink3Bis" , 168 , 13 , 215 , 95 , 135 , 242 , 142 , 215 } ,
|
||||||
{"HotPink2" , 169 , 215 , 95 , 175 , 228 , 142 , 215 } ,
|
{"HotPink2" , 169 , 13 , 215 , 95 , 175 , 228 , 142 , 215 } ,
|
||||||
{"Orchid" , 170 , 215 , 95 , 215 , 213 , 142 , 215 } ,
|
{"Orchid" , 170 , 13 , 215 , 95 , 215 , 213 , 142 , 215 } ,
|
||||||
{"MediumOrchid1" , 171 , 215 , 95 , 255 , 203 , 160 , 255 } ,
|
{"MediumOrchid1" , 171 , 13 , 215 , 95 , 255 , 203 , 160 , 255 } ,
|
||||||
{"Orange3" , 172 , 215 , 135 , 0 , 27 , 255 , 215 } ,
|
{"Orange3" , 172 , 11 , 215 , 135 , 0 , 27 , 255 , 215 } ,
|
||||||
{"LightSalmon3" , 173 , 215 , 135 , 95 , 14 , 142 , 215 } ,
|
{"LightSalmon3" , 173 , 9 , 215 , 135 , 95 , 14 , 142 , 215 } ,
|
||||||
{"LightPink3" , 174 , 215 , 135 , 135 , 0 , 94 , 215 } ,
|
{"LightPink3" , 174 , 7 , 215 , 135 , 135 , 0 , 94 , 215 } ,
|
||||||
{"Pink3" , 175 , 215 , 135 , 175 , 235 , 94 , 215 } ,
|
{"Pink3" , 175 , 13 , 215 , 135 , 175 , 235 , 94 , 215 } ,
|
||||||
{"Plum3" , 176 , 215 , 135 , 215 , 213 , 94 , 215 } ,
|
{"Plum3" , 176 , 13 , 215 , 135 , 215 , 213 , 94 , 215 } ,
|
||||||
{"Violet" , 177 , 215 , 135 , 255 , 199 , 120 , 255 } ,
|
{"Violet" , 177 , 13 , 215 , 135 , 255 , 199 , 120 , 255 } ,
|
||||||
{"Gold3Bis" , 178 , 215 , 175 , 0 , 35 , 255 , 215 } ,
|
{"Gold3Bis" , 178 , 11 , 215 , 175 , 0 , 35 , 255 , 215 } ,
|
||||||
{"LightGoldenrod3" , 179 , 215 , 175 , 95 , 28 , 142 , 215 } ,
|
{"LightGoldenrod3" , 179 , 11 , 215 , 175 , 95 , 28 , 142 , 215 } ,
|
||||||
{"Tan" , 180 , 215 , 175 , 135 , 21 , 94 , 215 } ,
|
{"Tan" , 180 , 7 , 215 , 175 , 135 , 21 , 94 , 215 } ,
|
||||||
{"MistyRose3" , 181 , 215 , 175 , 175 , 0 , 47 , 215 } ,
|
{"MistyRose3" , 181 , 7 , 215 , 175 , 175 , 0 , 47 , 215 } ,
|
||||||
{"Thistle3" , 182 , 215 , 175 , 215 , 213 , 47 , 215 } ,
|
{"Thistle3" , 182 , 13 , 215 , 175 , 215 , 213 , 47 , 215 } ,
|
||||||
{"Plum2" , 183 , 215 , 175 , 255 , 192 , 80 , 255 } ,
|
{"Plum2" , 183 , 12 , 215 , 175 , 255 , 192 , 80 , 255 } ,
|
||||||
{"Yellow3Bis" , 184 , 215 , 215 , 0 , 43 , 255 , 215 } ,
|
{"Yellow3Bis" , 184 , 11 , 215 , 215 , 0 , 43 , 255 , 215 } ,
|
||||||
{"Khaki3" , 185 , 215 , 215 , 95 , 43 , 142 , 215 } ,
|
{"Khaki3" , 185 , 11 , 215 , 215 , 95 , 43 , 142 , 215 } ,
|
||||||
{"LightGoldenrod2" , 186 , 215 , 215 , 135 , 43 , 94 , 215 } ,
|
{"LightGoldenrod2" , 186 , 7 , 215 , 215 , 135 , 43 , 94 , 215 } ,
|
||||||
{"LightYellow3" , 187 , 215 , 215 , 175 , 43 , 47 , 215 } ,
|
{"LightYellow3" , 187 , 7 , 215 , 215 , 175 , 43 , 47 , 215 } ,
|
||||||
{"Grey84" , 188 , 215 , 215 , 215 , 0 , 0 , 215 } ,
|
{"Grey84" , 188 , 7 , 215 , 215 , 215 , 0 , 0 , 215 } ,
|
||||||
{"LightSteelBlue1" , 189 , 215 , 215 , 255 , 171 , 40 , 255 } ,
|
{"LightSteelBlue1" , 189 , 12 , 215 , 215 , 255 , 171 , 40 , 255 } ,
|
||||||
{"Yellow2" , 190 , 215 , 255 , 0 , 49 , 255 , 255 } ,
|
{"Yellow2" , 190 , 11 , 215 , 255 , 0 , 49 , 255 , 255 } ,
|
||||||
{"DarkOliveGreen1" , 191 , 215 , 255 , 95 , 53 , 160 , 255 } ,
|
{"DarkOliveGreen1" , 191 , 11 , 215 , 255 , 95 , 53 , 160 , 255 } ,
|
||||||
{"DarkOliveGreen1Bis" , 192 , 215 , 255 , 135 , 57 , 120 , 255 } ,
|
{"DarkOliveGreen1Bis" , 192 , 11 , 215 , 255 , 135 , 57 , 120 , 255 } ,
|
||||||
{"DarkSeaGreen1Bis" , 193 , 215 , 255 , 175 , 64 , 80 , 255 } ,
|
{"DarkSeaGreen1Bis" , 193 , 15 , 215 , 255 , 175 , 64 , 80 , 255 } ,
|
||||||
{"Honeydew2" , 194 , 215 , 255 , 215 , 85 , 40 , 255 } ,
|
{"Honeydew2" , 194 , 15 , 215 , 255 , 215 , 85 , 40 , 255 } ,
|
||||||
{"LightCyan1Bis" , 195 , 215 , 255 , 255 , 128 , 40 , 255 } ,
|
{"LightCyan1Bis" , 195 , 15 , 215 , 255 , 255 , 128 , 40 , 255 } ,
|
||||||
{"Red1" , 196 , 255 , 0 , 0 , 0 , 255 , 255 } ,
|
{"Red1" , 196 , 9 , 255 , 0 , 0 , 0 , 255 , 255 } ,
|
||||||
{"DeepPink2" , 197 , 255 , 0 , 95 , 240 , 255 , 255 } ,
|
{"DeepPink2" , 197 , 13 , 255 , 0 , 95 , 240 , 255 , 255 } ,
|
||||||
{"DeepPink1" , 198 , 255 , 0 , 135 , 234 , 255 , 255 } ,
|
{"DeepPink1" , 198 , 13 , 255 , 0 , 135 , 234 , 255 , 255 } ,
|
||||||
{"DeepPink1Bis" , 199 , 255 , 0 , 175 , 227 , 255 , 255 } ,
|
{"DeepPink1Bis" , 199 , 13 , 255 , 0 , 175 , 227 , 255 , 255 } ,
|
||||||
{"Magenta2Bis" , 200 , 255 , 0 , 215 , 220 , 255 , 255 } ,
|
{"Magenta2Bis" , 200 , 13 , 255 , 0 , 215 , 220 , 255 , 255 } ,
|
||||||
{"Magenta1" , 201 , 255 , 0 , 255 , 213 , 255 , 255 } ,
|
{"Magenta1" , 201 , 13 , 255 , 0 , 255 , 213 , 255 , 255 } ,
|
||||||
{"OrangeRed1" , 202 , 255 , 95 , 0 , 16 , 255 , 255 } ,
|
{"OrangeRed1" , 202 , 9 , 255 , 95 , 0 , 16 , 255 , 255 } ,
|
||||||
{"IndianRed1" , 203 , 255 , 95 , 95 , 0 , 160 , 255 } ,
|
{"IndianRed1" , 203 , 9 , 255 , 95 , 95 , 0 , 160 , 255 } ,
|
||||||
{"IndianRed1Bis" , 204 , 255 , 95 , 135 , 246 , 160 , 255 } ,
|
{"IndianRed1Bis" , 204 , 13 , 255 , 95 , 135 , 246 , 160 , 255 } ,
|
||||||
{"HotPink" , 205 , 255 , 95 , 175 , 235 , 160 , 255 } ,
|
{"HotPink" , 205 , 13 , 255 , 95 , 175 , 235 , 160 , 255 } ,
|
||||||
{"HotPinkBis" , 206 , 255 , 95 , 215 , 224 , 160 , 255 } ,
|
{"HotPinkBis" , 206 , 13 , 255 , 95 , 215 , 224 , 160 , 255 } ,
|
||||||
{"MediumOrchid1Bis" , 207 , 255 , 95 , 255 , 213 , 160 , 255 } ,
|
{"MediumOrchid1Bis" , 207 , 13 , 255 , 95 , 255 , 213 , 160 , 255 } ,
|
||||||
{"DarkOrange" , 208 , 255 , 135 , 0 , 22 , 255 , 255 } ,
|
{"DarkOrange" , 208 , 11 , 255 , 135 , 0 , 22 , 255 , 255 } ,
|
||||||
{"Salmon1" , 209 , 255 , 135 , 95 , 10 , 160 , 255 } ,
|
{"Salmon1" , 209 , 9 , 255 , 135 , 95 , 10 , 160 , 255 } ,
|
||||||
{"LightCoral" , 210 , 255 , 135 , 135 , 0 , 120 , 255 } ,
|
{"LightCoral" , 210 , 15 , 255 , 135 , 135 , 0 , 120 , 255 } ,
|
||||||
{"PaleVioletRed1" , 211 , 255 , 135 , 175 , 242 , 120 , 255 } ,
|
{"PaleVioletRed1" , 211 , 13 , 255 , 135 , 175 , 242 , 120 , 255 } ,
|
||||||
{"Orchid2" , 212 , 255 , 135 , 215 , 228 , 120 , 255 } ,
|
{"Orchid2" , 212 , 13 , 255 , 135 , 215 , 228 , 120 , 255 } ,
|
||||||
{"Orchid1" , 213 , 255 , 135 , 255 , 213 , 120 , 255 } ,
|
{"Orchid1" , 213 , 13 , 255 , 135 , 255 , 213 , 120 , 255 } ,
|
||||||
{"Orange1" , 214 , 255 , 175 , 0 , 29 , 255 , 255 } ,
|
{"Orange1" , 214 , 11 , 255 , 175 , 0 , 29 , 255 , 255 } ,
|
||||||
{"SandyBrown" , 215 , 255 , 175 , 95 , 21 , 160 , 255 } ,
|
{"SandyBrown" , 215 , 9 , 255 , 175 , 95 , 21 , 160 , 255 } ,
|
||||||
{"LightSalmon1" , 216 , 255 , 175 , 135 , 14 , 120 , 255 } ,
|
{"LightSalmon1" , 216 , 15 , 255 , 175 , 135 , 14 , 120 , 255 } ,
|
||||||
{"LightPink1" , 217 , 255 , 175 , 175 , 0 , 80 , 255 } ,
|
{"LightPink1" , 217 , 15 , 255 , 175 , 175 , 0 , 80 , 255 } ,
|
||||||
{"Pink1" , 218 , 255 , 175 , 215 , 235 , 80 , 255 } ,
|
{"Pink1" , 218 , 13 , 255 , 175 , 215 , 235 , 80 , 255 } ,
|
||||||
{"Plum1" , 219 , 255 , 175 , 255 , 213 , 80 , 255 } ,
|
{"Plum1" , 219 , 13 , 255 , 175 , 255 , 213 , 80 , 255 } ,
|
||||||
{"Gold1" , 220 , 255 , 215 , 0 , 36 , 255 , 255 } ,
|
{"Gold1" , 220 , 11 , 255 , 215 , 0 , 36 , 255 , 255 } ,
|
||||||
{"LightGoldenrod2Bis" , 221 , 255 , 215 , 95 , 32 , 160 , 255 } ,
|
{"LightGoldenrod2Bis" , 221 , 11 , 255 , 215 , 95 , 32 , 160 , 255 } ,
|
||||||
{"LightGoldenrod2Ter" , 222 , 255 , 215 , 135 , 28 , 120 , 255 } ,
|
{"LightGoldenrod2Ter" , 222 , 15 , 255 , 215 , 135 , 28 , 120 , 255 } ,
|
||||||
{"NavajoWhite1" , 223 , 255 , 215 , 175 , 21 , 80 , 255 } ,
|
{"NavajoWhite1" , 223 , 15 , 255 , 215 , 175 , 21 , 80 , 255 } ,
|
||||||
{"MistyRose1" , 224 , 255 , 215 , 215 , 0 , 40 , 255 } ,
|
{"MistyRose1" , 224 , 15 , 255 , 215 , 215 , 0 , 40 , 255 } ,
|
||||||
{"Thistle1" , 225 , 255 , 215 , 255 , 213 , 40 , 255 } ,
|
{"Thistle1" , 225 , 13 , 255 , 215 , 255 , 213 , 40 , 255 } ,
|
||||||
{"Yellow1" , 226 , 255 , 255 , 0 , 43 , 255 , 255 } ,
|
{"Yellow1" , 226 , 11 , 255 , 255 , 0 , 43 , 255 , 255 } ,
|
||||||
{"LightGoldenrod1" , 227 , 255 , 255 , 95 , 43 , 160 , 255 } ,
|
{"LightGoldenrod1" , 227 , 11 , 255 , 255 , 95 , 43 , 160 , 255 } ,
|
||||||
{"Khaki1" , 228 , 255 , 255 , 135 , 43 , 120 , 255 } ,
|
{"Khaki1" , 228 , 15 , 255 , 255 , 135 , 43 , 120 , 255 } ,
|
||||||
{"Wheat1" , 229 , 255 , 255 , 175 , 43 , 80 , 255 } ,
|
{"Wheat1" , 229 , 15 , 255 , 255 , 175 , 43 , 80 , 255 } ,
|
||||||
{"Cornsilk1" , 230 , 255 , 255 , 215 , 43 , 40 , 255 } ,
|
{"Cornsilk1" , 230 , 15 , 255 , 255 , 215 , 43 , 40 , 255 } ,
|
||||||
{"Grey100" , 231 , 255 , 255 , 255 , 0 , 0 , 255 } ,
|
{"Grey100" , 231 , 15 , 255 , 255 , 255 , 0 , 0 , 255 } ,
|
||||||
{"Grey3" , 232 , 8 , 8 , 8 , 0 , 0 , 8 } ,
|
{"Grey3" , 232 , 0 , 8 , 8 , 8 , 0 , 0 , 8 } ,
|
||||||
{"Grey7" , 233 , 18 , 18 , 18 , 0 , 0 , 18 } ,
|
{"Grey7" , 233 , 0 , 18 , 18 , 18 , 0 , 0 , 18 } ,
|
||||||
{"Grey11" , 234 , 28 , 28 , 28 , 0 , 0 , 28 } ,
|
{"Grey11" , 234 , 0 , 28 , 28 , 28 , 0 , 0 , 28 } ,
|
||||||
{"Grey15" , 235 , 38 , 38 , 38 , 0 , 0 , 38 } ,
|
{"Grey15" , 235 , 0 , 38 , 38 , 38 , 0 , 0 , 38 } ,
|
||||||
{"Grey19" , 236 , 48 , 48 , 48 , 0 , 0 , 48 } ,
|
{"Grey19" , 236 , 0 , 48 , 48 , 48 , 0 , 0 , 48 } ,
|
||||||
{"Grey23" , 237 , 58 , 58 , 58 , 0 , 0 , 58 } ,
|
{"Grey23" , 237 , 0 , 58 , 58 , 58 , 0 , 0 , 58 } ,
|
||||||
{"Grey27" , 238 , 68 , 68 , 68 , 0 , 0 , 68 } ,
|
{"Grey27" , 238 , 8 , 68 , 68 , 68 , 0 , 0 , 68 } ,
|
||||||
{"Grey30" , 239 , 78 , 78 , 78 , 0 , 0 , 78 } ,
|
{"Grey30" , 239 , 8 , 78 , 78 , 78 , 0 , 0 , 78 } ,
|
||||||
{"Grey35" , 240 , 88 , 88 , 88 , 0 , 0 , 88 } ,
|
{"Grey35" , 240 , 8 , 88 , 88 , 88 , 0 , 0 , 88 } ,
|
||||||
{"Grey39" , 241 , 98 , 98 , 98 , 0 , 0 , 98 } ,
|
{"Grey39" , 241 , 8 , 98 , 98 , 98 , 0 , 0 , 98 } ,
|
||||||
{"Grey42" , 242 , 108 , 108 , 108 , 0 , 0 , 108 } ,
|
{"Grey42" , 242 , 8 , 108 , 108 , 108 , 0 , 0 , 108 } ,
|
||||||
{"Grey46" , 243 , 118 , 118 , 118 , 0 , 0 , 118 } ,
|
{"Grey46" , 243 , 8 , 118 , 118 , 118 , 0 , 0 , 118 } ,
|
||||||
{"Grey50" , 244 , 128 , 128 , 128 , 0 , 0 , 128 } ,
|
{"Grey50" , 244 , 8 , 128 , 128 , 128 , 0 , 0 , 128 } ,
|
||||||
{"Grey54" , 245 , 138 , 138 , 138 , 0 , 0 , 138 } ,
|
{"Grey54" , 245 , 8 , 138 , 138 , 138 , 0 , 0 , 138 } ,
|
||||||
{"Grey58" , 246 , 148 , 148 , 148 , 0 , 0 , 148 } ,
|
{"Grey58" , 246 , 8 , 148 , 148 , 148 , 0 , 0 , 148 } ,
|
||||||
{"Grey62" , 247 , 158 , 158 , 158 , 0 , 0 , 158 } ,
|
{"Grey62" , 247 , 8 , 158 , 158 , 158 , 0 , 0 , 158 } ,
|
||||||
{"Grey66" , 248 , 168 , 168 , 168 , 0 , 0 , 168 } ,
|
{"Grey66" , 248 , 7 , 168 , 168 , 168 , 0 , 0 , 168 } ,
|
||||||
{"Grey70" , 249 , 178 , 178 , 178 , 0 , 0 , 178 } ,
|
{"Grey70" , 249 , 7 , 178 , 178 , 178 , 0 , 0 , 178 } ,
|
||||||
{"Grey74" , 250 , 188 , 188 , 188 , 0 , 0 , 188 } ,
|
{"Grey74" , 250 , 7 , 188 , 188 , 188 , 0 , 0 , 188 } ,
|
||||||
{"Grey78" , 251 , 198 , 198 , 198 , 0 , 0 , 198 } ,
|
{"Grey78" , 251 , 7 , 198 , 198 , 198 , 0 , 0 , 198 } ,
|
||||||
{"Grey82" , 252 , 208 , 208 , 208 , 0 , 0 , 208 } ,
|
{"Grey82" , 252 , 7 , 208 , 208 , 208 , 0 , 0 , 208 } ,
|
||||||
{"Grey85" , 253 , 218 , 218 , 218 , 0 , 0 , 218 } ,
|
{"Grey85" , 253 , 7 , 218 , 218 , 218 , 0 , 0 , 218 } ,
|
||||||
{"Grey89" , 254 , 228 , 228 , 228 , 0 , 0 , 228 } ,
|
{"Grey89" , 254 , 15 , 228 , 228 , 228 , 0 , 0 , 228 } ,
|
||||||
{"Grey93" , 255 , 238 , 238 , 238 , 0 , 0 , 238 } ,
|
{"Grey93" , 255 , 15 , 238 , 238 , 238 , 0 , 0 , 238 } ,
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
ColorInfo GetColorInfo(Color::Palette256 index) {
|
ColorInfo GetColorInfo(Color::Palette256 index) {
|
||||||
return palette256[int(index)];
|
return palette256[int(index)];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ColorInfo GetColorInfo(Color::Palette16 index) {
|
||||||
|
return palette256[int(index)];
|
||||||
|
}
|
||||||
// clang-format off
|
// clang-format off
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -35,13 +35,34 @@ Terminal::Dimensions Terminal::Size() {
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Terminal::CanSupportTrueColors() {
|
namespace {
|
||||||
char *COLORTERM_RAW = std::getenv("COLORTERM");
|
|
||||||
if (nullptr == COLORTERM_RAW) {
|
const char* Safe(const char* c) {
|
||||||
return false;
|
return c ? c : "";
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool cached = false;
|
||||||
|
Terminal::Color cached_supported_color;
|
||||||
|
Terminal::Color ComputeColorSupport() {
|
||||||
|
std::string COLORTERM = Safe(std::getenv("COLORTERM"));
|
||||||
|
if (COLORTERM.compare("24bit") || COLORTERM.compare("trueColor"))
|
||||||
|
return Terminal::Color::TrueColor;
|
||||||
|
|
||||||
|
std::string TERM = Safe(std::getenv("TERM"));
|
||||||
|
if (COLORTERM.compare("256") || COLORTERM.compare("256"))
|
||||||
|
return Terminal::Color::Palette256;
|
||||||
|
|
||||||
|
return Terminal::Color::Palette16;
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
Terminal::Color Terminal::ColorSupport() {
|
||||||
|
if (!cached) {
|
||||||
|
cached = true;
|
||||||
|
cached_supported_color = ComputeColorSupport();
|
||||||
}
|
}
|
||||||
std::string COLORTERM = COLORTERM_RAW;
|
return cached_supported_color;
|
||||||
return COLORTERM.compare("24bit") || COLORTERM.compare("trueColor");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace ftxui
|
} // namespace ftxui
|
||||||
|
Loading…
Reference in New Issue
Block a user