Add truecolor support
This commit is contained in:
parent
e4c04ae996
commit
176d5bf81d
@ -2,7 +2,6 @@
|
||||
#include <unistd.h>
|
||||
#include <cmath>
|
||||
#include <cstdlib>
|
||||
#include <string>
|
||||
|
||||
using namespace sc::io;
|
||||
|
||||
@ -244,3 +243,17 @@ sc::io::trgb::operator rgbf() {
|
||||
};
|
||||
return result;
|
||||
}
|
||||
|
||||
sc::io::truecolorf::truecolorf(int r, int g, int b) : _r {r}, _g {g}, _b {b} {}
|
||||
|
||||
sc::io::truecolorb::truecolorb(int r, int g, int b) : _r {r}, _g {g}, _b {b} {}
|
||||
|
||||
std::ostream& sc::io::operator<<(std::ostream& out, const truecolorf& obj) {
|
||||
out << "\x1b[38;2;" << obj._r << ';' << obj._g << ';' << obj._b << 'm';
|
||||
return out;
|
||||
}
|
||||
|
||||
std::ostream& sc::io::operator<<(std::ostream& out, const truecolorb& obj) {
|
||||
out << "\x1b[48;2;" << obj._r << ';' << obj._g << ';' << obj._b << 'm';
|
||||
return out;
|
||||
}
|
||||
|
@ -92,6 +92,25 @@ namespace sc {
|
||||
const trgb magenta {1.0, 0.0, 1.0};
|
||||
const trgb cyan {0.0, 1.0, 1.0};
|
||||
const trgb white {1.0, 1.0, 1.0};
|
||||
|
||||
struct truecolorf {
|
||||
int _r; // 0 .. 255
|
||||
int _g; // 0 .. 255
|
||||
int _b; // 0 .. 255
|
||||
|
||||
truecolorf(int r, int g, int b);
|
||||
};
|
||||
|
||||
struct truecolorb {
|
||||
int _r; // 0 .. 255
|
||||
int _g; // 0 .. 255
|
||||
int _b; // 0 .. 255
|
||||
|
||||
truecolorb(int r, int g, int b);
|
||||
};
|
||||
|
||||
std::ostream& operator<<(std::ostream& out, const truecolorf& obj);
|
||||
std::ostream& operator<<(std::ostream& out, const truecolorb& obj);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user