libscterm/src/iomanip.hpp
2023-08-07 16:48:33 +02:00

83 lines
2.4 KiB
C++

#ifndef IOMANIP_H_
#define IOMANIP_H_
#include <iostream>
namespace sc {
namespace io {
bool isatty_ostream(const std::ostream& out);
std::ostream& hide_cursor(std::ostream& out);
std::ostream& show_cursor(std::ostream& out);
std::ostream& reset(std::ostream& out);
std::ostream& bold(std::ostream& out);
std::ostream& italic(std::ostream& out);
std::ostream& underline(std::ostream& out);
std::ostream& overline(std::ostream& out);
std::ostream& strikethru(std::ostream& out);
std::ostream& blinkslow(std::ostream& out);
std::ostream& blinkfast(std::ostream& out);
std::ostream& reverse(std::ostream& out);
std::ostream& blackf(std::ostream& out);
std::ostream& redf(std::ostream& out);
std::ostream& greenf(std::ostream& out);
std::ostream& yellowf(std::ostream& out);
std::ostream& bluef(std::ostream& out);
std::ostream& magentaf(std::ostream& out);
std::ostream& cyanf(std::ostream& out);
std::ostream& whitef(std::ostream& out);
std::ostream& defaultf(std::ostream& out);
std::ostream& blackb(std::ostream& out);
std::ostream& redb(std::ostream& out);
std::ostream& greenb(std::ostream& out);
std::ostream& yellowb(std::ostream& out);
std::ostream& blueb(std::ostream& out);
std::ostream& magentab(std::ostream& out);
std::ostream& cyanb(std::ostream& out);
std::ostream& whiteb(std::ostream& out);
std::ostream& defaultb(std::ostream& out);
class grayf {
int _val;
public:
grayf(int val);
friend std::ostream& operator<<(std::ostream& out, const grayf& obj);
};
class grayb {
int _val;
public:
grayb(int val);
friend std::ostream& operator<<(std::ostream& out, const grayb& obj);
};
class rgbf {
int _r;
int _g;
int _b;
public:
rgbf(int r, int g, int b);
friend std::ostream& operator<<(std::ostream& out, const rgbf& obj);
};
class rgbb {
int _r;
int _g;
int _b;
public:
rgbb(int r, int g, int b);
friend std::ostream& operator<<(std::ostream& out, const rgbb& obj);
};
}
}
#endif // IOMANIP_H_