#ifndef BOXES_H #define BOXES_H #include #include /* I'm not sure if I want to try to store the color information in this or not. It might be easier to let this do boxes, and let something else do colors. */ class Boxes { struct box_style { const char top_left; const char top_right; const char top; const char side; const char bottom_left; const char bottom_right; const char middle_left; const char middle_right; } boxes[4] = { {'\xda', '\xbf', '\xc4', '\xb3', '\xc0', '\xd9', '\xc3', '\xb4'}, {'\xc9', '\xbb', '\xcd', '\xba', '\xc8', '\xbc', '\xcc', '\xb9'}, {'\xd6', '\xb8', '\xcd', '\xb3', '\xd4', '\xbe', '\xc6', '\xb5'}, {'\xd6', '\xb7', '\xc4', '\xba', '\xd3', '\xbd', '\xc7', '\xb6'}}; int style_; int width_; bool newline_; const char *nl = "\n\r"; const char *reset = "\x1b[0m"; public: std::string boxcolor; std::string textcolor; Boxes(int width, int style = 1, bool newline = true); std::string top(void); std::string middle(void); std::string row(std::string &line); std::string bottom(void); static std::array alert(std::string message, std::string bcolor, std::string tcolor, int width, int style=1, bool newline=true); }; #endif