rts_game_backend/src/out_api/draw.cpp

47 lines
1.4 KiB
C++
Raw Normal View History

2021-03-22 12:26:13 +03:00
#include <cstdlib>
#include <curses.h>
2021-03-22 19:37:34 +03:00
#include "draw.hpp"
2021-03-22 12:26:13 +03:00
namespace draw {
void initColorPairs() {
2021-04-06 19:31:54 +03:00
init_pair(ColorScheme::simple, COLOR_BLACK, COLOR_WHITE);
2021-04-04 17:09:42 +03:00
init_pair(ColorScheme::map_simple, COLOR_BLACK, COLOR_WHITE);
init_pair(ColorScheme::map_active, COLOR_WHITE, COLOR_BLACK);
init_pair(ColorScheme::menu_simple, COLOR_BLACK, COLOR_WHITE);
init_pair(ColorScheme::menu_active, COLOR_WHITE, COLOR_BLACK);
2021-03-22 12:26:13 +03:00
init_pair(ColorScheme::player0, COLOR_BLACK, COLOR_RED);
init_pair(ColorScheme::player1, COLOR_BLACK, COLOR_BLUE);
init_pair(ColorScheme::player2, COLOR_BLACK, COLOR_MAGENTA);
init_pair(ColorScheme::player3, COLOR_BLACK, COLOR_YELLOW);
init_pair(ColorScheme::neutral, COLOR_WHITE, COLOR_GREEN);
init_pair(ColorScheme::enviroment, COLOR_BLACK, COLOR_WHITE);
2021-03-22 19:37:34 +03:00
init_pair(ColorScheme::damaged, COLOR_RED, COLOR_WHITE);
2021-03-22 12:26:13 +03:00
}
void begin() {
start_color();
initColorPairs();
}
void step() {
refresh();
}
2021-03-22 19:37:34 +03:00
void end() {}
2021-03-22 12:26:13 +03:00
void clearAll() {
clear();
}
2021-04-06 19:31:54 +03:00
void drawCh(size_t x, size_t y,
2021-03-22 12:26:13 +03:00
Cell cell, ColorScheme colorScheme) {
attron(COLOR_PAIR(colorScheme));
mvaddch(y, x, cell);
attroff(COLOR_PAIR(colorScheme));
}
2021-04-06 19:31:54 +03:00
void getSize(size_t& x, size_t& y) { // is it work ??
2021-03-22 12:26:13 +03:00
getmaxyx(stdscr, y, x);
}
2021-04-06 19:31:54 +03:00
}