diff --git a/src/app/rmrf.cpp b/src/app/rmrf.cpp index f23f389abea8cc0b4f62b58aeffccddb259ba396..1d946059283198e1faa32c2197e7e9b67189d79f 100644 --- a/src/app/rmrf.cpp +++ b/src/app/rmrf.cpp @@ -1,11 +1,7 @@ -#include "../ui/View.h" - -namespace rmrf { +#include "ui/View.h" int main() { - ui::init_ui(); - ui::destroy_ui(); - return 0; -} + auto ui_handle = std::make_shared<rmrf::ui::display>(); + return 0; } diff --git a/src/ui/View.ldflags b/src/app/rmrf.ldflags similarity index 100% rename from src/ui/View.ldflags rename to src/app/rmrf.ldflags diff --git a/src/ui/View.cpp b/src/ui/View.cpp index b86898e5c7a080cc70189198dfc91d8ee599b4ca..f39ecc3592587164bacb3cd3a7f7e7f8ac3ac988 100644 --- a/src/ui/View.cpp +++ b/src/ui/View.cpp @@ -1,17 +1,15 @@ -#include <ncurses/ncursesw.h> +#include <ncursesw/ncurses.h> -#include "View.h" +#include "ui/View.h" -namespace rmrf { -namespace ui { +namespace rmrf::ui { -void init_ui() { +display::display() { initscr(); } -void destroy_ui() { +display::~display() { endwin(); } } -} diff --git a/src/ui/View.h b/src/ui/View.h index ef6ff6323a20264e4fbf771dff08811c8b5459c2..afaf84d169f0810d31cc31d3a06f7f7139f967d4 100644 --- a/src/ui/View.h +++ b/src/ui/View.h @@ -1,12 +1,12 @@ -#ifndef VIEW_H -#define VIEW_H +#pragma once -namespace rmrf { -namespace ui { +#include <memory> -void init_ui(void); -void destroy_ui(void); +namespace rmrf::ui { + +struct display : std::enable_shared_from_this<display> { + display(); + ~display(); +}; } -} -#endif