summaryrefslogtreecommitdiff
path: root/src/ui.h
blob: daeab7887ac0abfb9b86bc1c64515a8e03d6192f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#pragma once
#include <memory>
#include <ncurses.h>
#include "ui_terminal.h"
#include "vm.h"

namespace ui {
    struct uiImpl;

    class UI {
        public:
            UI();
            ~UI();

            void registerCallbacks(vm::VM& vm);

        private:
            std::shared_ptr<uiImpl> data;
            std::map<commands, std::function<void(std::vector<int>)>> getCommandCallbacks(WINDOW *window);
    };
    
}