summaryrefslogtreecommitdiffstats
path: root/src/main.cpp
blob: 1a8f5de77c6db8ffa0fd3ab9eb494df121ac36a5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/******************************************************************************
 *	Copyright (C) 2018	Alejandro Colomar Andrés		      *
 *	SPDX-License-Identifier:	GPL-2.0-only			      *
 ******************************************************************************/


/******************************************************************************
 ******* headers **************************************************************
 ******************************************************************************/
#include <cstdio>

#include "libalx/base/stdio/wait.hpp"
#include "libalx/extra/ncurses/common.hpp"

#include "vision-artificial/about/about.hpp"
#include "vision-artificial/image/iface.hpp"
#include "vision-artificial/menu/iface.hpp"
#include "vision-artificial/menu/parse.hpp"
#include "vision-artificial/save/save.hpp"
#include "vision-artificial/user/iface.hpp"


/******************************************************************************
 ******* static functions *****************************************************
 ******************************************************************************/
static	void	init	(int *argc, char *(*argv[]));
static	void	deinit	(void);


/******************************************************************************
 ******* main *****************************************************************
 ******************************************************************************/
int	main	(int argc, char *argv[])
{

	init(&argc, &argv);

	print_share_file(SHARE_COPYRIGHT);
	alx_wait4enter();

	menu_iface();

	deinit();

	return	0;
}


/******************************************************************************
 ******* static functions *****************************************************
 ******************************************************************************/
static	void	init	(int *argc, char *(*argv[]))
{

	alx_ncurses_init();
	alx_ncurses_pause();

	about_init();
	save_init();

	menu_iface_mode		= MENU_IFACE_TUI;
	user_iface_mode		= USER_IFACE_TUI;
	user_iface_log.visible	= 2;

	parse(*argc, *argv);
}

static	void	deinit	(void)
{

	img_iface_deinit();

	alx_ncurses_resume();
	alx_ncurses_deinit();
}


/******************************************************************************
 ******* end of file **********************************************************
 ******************************************************************************/