You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
1.5 KiB
76 lines
1.5 KiB
4 years ago
|
#ifndef WINDOW_H
|
||
|
#define WINDOW_H
|
||
|
|
||
|
#define COLOR_UNSET 0
|
||
|
#define COLOR_BLACK_BRIGHT 8
|
||
|
#define COLOR_RED_BRIGHT 9
|
||
|
#define COLOR_GREEN_BRIGHT 10
|
||
|
#define COLOR_YELLOW_BRIGHT 11
|
||
|
#define COLOR_BLUE_BRIGHT 12
|
||
|
#define COLOR_MAGENTA_BRIGHT 13
|
||
|
#define COLOR_CYAN_BRIGHT 14
|
||
|
#define COLOR_WHITE_BRIGHT 15
|
||
|
#define COLOR_GRAY 16
|
||
|
|
||
|
#define PAIR_WHITE_BLACK 1
|
||
|
#define PAIR_WHITE_BRIGHT_BLACK 2
|
||
|
#define PAIR_RED_BLACK 3
|
||
|
#define PAIR_BLUE_BLACK 4
|
||
|
#define PAIR_GRAY_BLACK_BRIGHT 5
|
||
|
|
||
|
#include <ncurses.h>
|
||
|
#include <string>
|
||
|
|
||
|
class Window
|
||
|
{
|
||
|
public:
|
||
|
Window(int rows, int cols, int y, int x);
|
||
|
~Window();
|
||
|
|
||
|
static void initialize();
|
||
|
void update();
|
||
|
void render();
|
||
|
static void destroy();
|
||
|
void clear();
|
||
|
void resize();
|
||
|
|
||
|
void print(std::string str, char newLine = 1);
|
||
|
void print(std::string str, int y, int x);
|
||
|
void print(std::string str, int y, int x, int attribute);
|
||
|
void printCenter(std::string str);
|
||
|
void printCenter(std::string str, int attribute);
|
||
|
void printSide(std::string left, std::string right);
|
||
|
|
||
|
void getYX(int &y, int &x);
|
||
|
void setYX(int y, int x);
|
||
|
void getMaXYZ(int &rows, int &cols);
|
||
|
static void getMaXYZ(WINDOW *window, int &rows, int &cols);
|
||
|
std::string getStr();
|
||
|
|
||
|
int getMaxRows();
|
||
|
int getMaxCols();
|
||
|
int getRows();
|
||
|
void setRows(int rows);
|
||
|
int getCols();
|
||
|
void setCols(int cols);
|
||
|
int getY();
|
||
|
void setY(int y);
|
||
|
int getX();
|
||
|
void setX(int x);
|
||
|
void setWindow(int rows, int cols, int y, int x);
|
||
|
|
||
|
protected:
|
||
|
Window();
|
||
|
|
||
|
private:
|
||
|
int maxRows;
|
||
|
int maxCols;
|
||
|
int rows;
|
||
|
int cols;
|
||
|
int y;
|
||
|
int x;
|
||
|
WINDOW *window;
|
||
|
};
|
||
|
|
||
|
#endif // WINDOW_H
|