basic ui
This commit is contained in:
parent
282a0dbc34
commit
793f8a8370
10 changed files with 320 additions and 102 deletions
42
driver/ui/view.h
Normal file
42
driver/ui/view.h
Normal file
|
@ -0,0 +1,42 @@
|
|||
#ifndef VIEW_H
|
||||
#define VIEW_H
|
||||
|
||||
#include <iostream>
|
||||
#include <cmath>
|
||||
#include <vector>
|
||||
#include <functional>
|
||||
#include <ncurses.h> // sudo apt-get install libncurses5-dev
|
||||
#include <sys/ioctl.h>
|
||||
#include <unistd.h>
|
||||
|
||||
class View
|
||||
{
|
||||
public:
|
||||
View(void);
|
||||
|
||||
static void setWinContext(WINDOW* win);
|
||||
static WINDOW* getWinContext(void);
|
||||
|
||||
virtual void addCall(std::function<void(int)> call);
|
||||
|
||||
void setSize(int width, int height);
|
||||
void setTitle(std::string title);
|
||||
|
||||
virtual void repaint(void);
|
||||
|
||||
virtual void draw(void) = 0;
|
||||
virtual std::function<void(int)> keypress(int& key) = 0;
|
||||
|
||||
|
||||
protected:
|
||||
int width, height;
|
||||
int start_x = 0, start_y = 0;
|
||||
std::string title;
|
||||
std::vector<std::function<void(int)>> calls;
|
||||
|
||||
constexpr static int KEY_ENT = 10;
|
||||
|
||||
static WINDOW* win;
|
||||
};
|
||||
|
||||
#endif // VIEW_H
|
Loading…
Add table
Add a link
Reference in a new issue