/*---------------------------------------------
* ConsoleBase.hpp - コンソール上での機能を提供
*---------------------------------------------*/
#ifndef CONSOLEBASE_HPP_
#define CONSOLEBASE_HPP_
#include <ncurses.h>
#include <set>
#include <iostream>
namespace ConsoleBase
{
// 画面描画のお手伝い
class ConsoleDraw
{
private:
WINDOW *scr; // スクリーン
std::set<WINDOW*> win; // ウィンドウ
public:
WINDOW *mkWindow(int y, int x, int posy, int posx); // ウィンドウの作成
int rmWindow(WINDOW *window); // ウィンドウの破棄
WINDOW *getScreen(); // スクリーンの取得
private:
int init(); // 初期化
int release(); // 解放
public:
ConsoleDraw();
~ConsoleDraw();
private: // コピーを防ぐ
ConsoleDraw(const ConsoleDraw&);
ConsoleDraw &operator=(const ConsoleDraw&);
};
} // namespace
#endif // CONSOLEBASE_HPP_