summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoralejandro-colomar <colomar.6.4.3@gmail.com>2019-08-01 14:06:33 +0200
committeralejandro-colomar <colomar.6.4.3@gmail.com>2019-08-01 14:06:33 +0200
commit58ce2fa66da0f9da3c4b4b3f66e774aa872fec24 (patch)
tree133c175dc485afcaa86ae21bf8c300fd96690ca5
parent296e8f58c9a2644bef1db4af53391183674b5ee6 (diff)
Remove CLUI; only TUI remaining
-rw-r--r--inc/vision-artificial/menu/clui.h63
-rw-r--r--inc/vision-artificial/menu/iface.h6
-rw-r--r--inc/vision-artificial/menu/iface.hpp6
-rw-r--r--inc/vision-artificial/user/clui.h59
-rw-r--r--inc/vision-artificial/user/iface.h7
-rw-r--r--inc/vision-artificial/user/iface.hpp7
-rw-r--r--src/ctrl/start.c6
-rw-r--r--src/main.cpp2
-rw-r--r--src/menu/clui.c125
-rw-r--r--src/menu/iface.c13
-rw-r--r--src/menu/parse.c24
-rw-r--r--src/menu/tui.c12
-rw-r--r--src/user/clui.c471
-rw-r--r--src/user/iface.c78
-rw-r--r--tmp/menu/Makefile17
-rw-r--r--tmp/user/Makefile19
16 files changed, 14 insertions, 901 deletions
diff --git a/inc/vision-artificial/menu/clui.h b/inc/vision-artificial/menu/clui.h
deleted file mode 100644
index 02ac0d5..0000000
--- a/inc/vision-artificial/menu/clui.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/******************************************************************************
- * Copyright (C) 2018 Alejandro Colomar Andrés *
- * SPDX-License-Identifier: GPL-2.0-only *
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* include guard ********************************************************
- ******************************************************************************/
-#ifndef VA_MENU_CLUI_H
-#define VA_MENU_CLUI_H
-
-
-/******************************************************************************
- ******* headers **************************************************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* macros ***************************************************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* enums ****************************************************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* structs / unions *****************************************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* variables ************************************************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* extern functions *****************************************************
- ******************************************************************************/
-void menu_clui (void);
-
-
-/******************************************************************************
- ******* static inline functions (prototypes) *********************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* static inline functions (definitions) ********************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* include guard ********************************************************
- ******************************************************************************/
-#endif /* vision-artificial/menu/clui.h */
-
-
-/******************************************************************************
- ******* end of file **********************************************************
- ******************************************************************************/
diff --git a/inc/vision-artificial/menu/iface.h b/inc/vision-artificial/menu/iface.h
index e671c8d..87bfffc 100644
--- a/inc/vision-artificial/menu/iface.h
+++ b/inc/vision-artificial/menu/iface.h
@@ -24,11 +24,6 @@
/******************************************************************************
******* enums ****************************************************************
******************************************************************************/
- enum Menu_Iface_Mode {
- MENU_IFACE_FOO = 0,
- MENU_IFACE_CLUI,
- MENU_IFACE_TUI
- };
/******************************************************************************
@@ -39,7 +34,6 @@
/******************************************************************************
******* variables ************************************************************
******************************************************************************/
-extern int menu_iface_mode;
/******************************************************************************
diff --git a/inc/vision-artificial/menu/iface.hpp b/inc/vision-artificial/menu/iface.hpp
index 825c1eb..656c39f 100644
--- a/inc/vision-artificial/menu/iface.hpp
+++ b/inc/vision-artificial/menu/iface.hpp
@@ -24,11 +24,6 @@
/******************************************************************************
******* enums ****************************************************************
******************************************************************************/
- enum Menu_Iface_Mode {
- MENU_IFACE_FOO = 0,
- MENU_IFACE_CLUI,
- MENU_IFACE_TUI
- };
/******************************************************************************
@@ -39,7 +34,6 @@
/******************************************************************************
******* variables ************************************************************
******************************************************************************/
-extern int menu_iface_mode;
/******************************************************************************
diff --git a/inc/vision-artificial/user/clui.h b/inc/vision-artificial/user/clui.h
deleted file mode 100644
index 158c019..0000000
--- a/inc/vision-artificial/user/clui.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/******************************************************************************
- * Copyright (C) 2018 Alejandro Colomar Andrés *
- * SPDX-License-Identifier: GPL-2.0-only *
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* include guard ********************************************************
- ******************************************************************************/
-#ifndef VA_USER_CLUI_H
-#define VA_USER_CLUI_H
-
-
-/******************************************************************************
- ******* headers **************************************************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* macros ***************************************************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* enums ****************************************************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* structs / unions *****************************************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* variables ************************************************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* extern functions *****************************************************
- ******************************************************************************/
-int user_clui (const char *restrict title,
- const char *restrict subtitle);
-void user_clui_fname (const char *restrict fpath,
- char *restrict fname);
-void user_clui_show_log (const char *restrict title,
- const char *restrict subtitle);
-void user_clui_show_ocr (void);
-
-
-/******************************************************************************
- ******* include guard ********************************************************
- ******************************************************************************/
-#endif /* vision-artificial/user/clui.h */
-
-
-/******************************************************************************
- ******* end of file **********************************************************
- ******************************************************************************/
diff --git a/inc/vision-artificial/user/iface.h b/inc/vision-artificial/user/iface.h
index 887493f..1f43d64 100644
--- a/inc/vision-artificial/user/iface.h
+++ b/inc/vision-artificial/user/iface.h
@@ -28,12 +28,6 @@
/******************************************************************************
******* enums ****************************************************************
******************************************************************************/
-enum Player_Iface_Mode {
- USER_IFACE_FOO,
- USER_IFACE_CLUI,
- USER_IFACE_TUI
-};
-
enum Player_Iface_Action {
USER_IFACE_ACT_FOO = 0x000000u,
@@ -137,7 +131,6 @@ struct User_Iface_Log {
/******************************************************************************
******* variables ************************************************************
******************************************************************************/
-extern int user_iface_mode;
extern struct User_Iface_Log user_iface_log;
diff --git a/inc/vision-artificial/user/iface.hpp b/inc/vision-artificial/user/iface.hpp
index 5939148..c067eb0 100644
--- a/inc/vision-artificial/user/iface.hpp
+++ b/inc/vision-artificial/user/iface.hpp
@@ -30,12 +30,6 @@
/******************************************************************************
******* enums ****************************************************************
******************************************************************************/
-enum Player_Iface_Mode {
- USER_IFACE_FOO,
- USER_IFACE_CLUI,
- USER_IFACE_TUI
-};
-
enum Player_Iface_Action {
USER_IFACE_ACT_FOO = 0x000000u,
@@ -139,7 +133,6 @@ struct User_Iface_Log {
/******************************************************************************
******* variables ************************************************************
******************************************************************************/
-extern int user_iface_mode;
extern struct User_Iface_Log user_iface_log;
diff --git a/src/ctrl/start.c b/src/ctrl/start.c
index 3b34ce3..6a8cdcb 100644
--- a/src/ctrl/start.c
+++ b/src/ctrl/start.c
@@ -83,16 +83,10 @@ err:
static void start_series (void)
{
- int tmp;
-
- tmp = user_iface_mode;
- user_iface_mode = USER_IFACE_CLUI;
user_iface_init();
proc_iface_series();
user_iface_cleanup();
-
- user_iface_mode = tmp;
}
diff --git a/src/main.cpp b/src/main.cpp
index 36ecbdd..52603ec 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -60,8 +60,6 @@ static void init (int argc, char *argv[])
save_init();
- menu_iface_mode = MENU_IFACE_TUI;
- user_iface_mode = USER_IFACE_TUI;
user_iface_log.visible = 2;
parse(argc, argv);
diff --git a/src/menu/clui.c b/src/menu/clui.c
deleted file mode 100644
index a3d1930..0000000
--- a/src/menu/clui.c
+++ /dev/null
@@ -1,125 +0,0 @@
-/******************************************************************************
- * Copyright (C) 2018 Alejandro Colomar Andrés *
- * SPDX-License-Identifier: GPL-2.0-only *
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* headers **************************************************************
- ******************************************************************************/
-#include "vision-artificial/menu/clui.h"
-
-#include <ctype.h>
-#include <stdlib.h>
-
-#include "libalx/base/stdio/get.h"
-
-#include "vision-artificial/ctrl/start.h"
-#include "vision-artificial/share/share.h"
-
-
-/******************************************************************************
- ******* macros ***************************************************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* enums ****************************************************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* structs / unions *****************************************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* variables ************************************************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* static functions (prototypes) ****************************************
- ******************************************************************************/
-//static void menu_clui_rand (void);
-//static void menu_clui_custom (void);
-static void menu_clui_load (void);
-static void menu_clui_start (void);
-
-
-/******************************************************************************
- ******* global functions *****************************************************
- ******************************************************************************/
-void menu_clui (void)
-{
- unsigned char c;
-
- c = alx_get_ch("ny", true, true, "Read 'Disclaimer of warranty'? (yes/NO): ",
- NULL, 1);
- if (tolower(c) == 'y') {
- printf(" >yes\n");
- print_share_file(SHARE_DISCLAIMER);
- } else {
- printf(" >NO\n");
- }
-
- c = alx_get_ch("ny", true, true, "Read 'License'? (yes/NO): ", NULL, 1);
- if (tolower(c) == 'y') {
- printf(" >yes\n");
- print_share_file(SHARE_LICENSE);
- } else {
- printf(" >NO\n");
- }
-#if 0
- c = alx_get_ch("nt", true, true, "Game interface? (NCURSES/text): ",
- NULL, 1);
- if (tolower(c) == 't') {
- printf(" >text\n");
- // FIXME
- } else {
- printf(" >NCURSES\n");
- // FIXME
- }
-#endif
- menu_clui_load();
-}
-
-
-/******************************************************************************
- ******* static functions (definitions) ***************************************
- ******************************************************************************/
-static void menu_clui_load (void)
-{
-
-#if 0
- /* File name */ /* FIXME */
- alx_w_getfname(USER_SAVED_DIR, saved_name, "File name:", saved_name, NULL);
-#endif
- menu_clui_start();
-}
-
-static void menu_clui_start (void)
-{
- unsigned char c;
-
- printf(" >>START:\n");
- start_switch();
-
- c = alx_get_ch("mle", true, true, "Load again? (MENU/load/exit): ",
- NULL, 1);
- if (tolower(c) == 'l') {
- printf(" >load\n");
- menu_clui_start();
- } else if (tolower(c) == 'e') {
- printf(" >exit!\n");
- exit(EXIT_SUCCESS);
- } else {
- printf(" >MENU\n");
- menu_clui();
- }
-}
-
-
-/******************************************************************************
- ******* end of file **********************************************************
- ******************************************************************************/
diff --git a/src/menu/iface.c b/src/menu/iface.c
index 4b8bbd7..57e96c9 100644
--- a/src/menu/iface.c
+++ b/src/menu/iface.c
@@ -9,7 +9,6 @@
******************************************************************************/
#include "vision-artificial/menu/iface.h"
-#include "vision-artificial/menu/clui.h"
#include "vision-artificial/menu/tui.h"
@@ -31,7 +30,6 @@
/******************************************************************************
******* variables ************************************************************
******************************************************************************/
-int menu_iface_mode;
/******************************************************************************
@@ -45,16 +43,7 @@ int menu_iface_mode;
void menu_iface (void)
{
- switch (menu_iface_mode) {
- case MENU_IFACE_FOO:
- break;
- case MENU_IFACE_CLUI:
- menu_clui();
- break;
- case MENU_IFACE_TUI:
- menu_tui();
- break;
- }
+ menu_tui();
}
diff --git a/src/menu/parse.c b/src/menu/parse.c
index b93ab23..344a3fc 100644
--- a/src/menu/parse.c
+++ b/src/menu/parse.c
@@ -25,7 +25,7 @@
/******************************************************************************
******* macros ***************************************************************
******************************************************************************/
-#define OPT_LIST "hLuv""f:i:"
+#define OPT_LIST "hLuv""f:"
/******************************************************************************
@@ -47,7 +47,6 @@
******* static functions (prototypes) ****************************************
******************************************************************************/
static void parse_file (char *arg);
-static void parse_iface (char *arg);
/******************************************************************************
@@ -66,7 +65,6 @@ void parse (int argc, char *argv[])
{"version", no_argument, 0, 'v'},
/* Non-standard */
{"file", required_argument, 0, 'f'},
- {"iface", required_argument, 0, 'i'},
/* Null */
{0, 0, 0, 0}
};
@@ -92,9 +90,6 @@ void parse (int argc, char *argv[])
case 'f':
parse_file(optarg);
break;
- case 'i':
- parse_iface(optarg);
- break;
case '?':
/* getopt_long already printed an error message. */
@@ -129,23 +124,6 @@ err:
exit(EXIT_FAILURE);
}
-static void parse_iface (char *arg)
-{
-
- if (alx_sscan_int(&menu_iface_mode, MENU_IFACE_CLUI, 0, MENU_IFACE_TUI,
- arg)) {
- goto err;
- }
- user_iface_mode = menu_iface_mode;
-
- return;
-err:
- printf("--iface argument not valid\n");
- printf("It must be an integer [%i U %i]\n", MENU_IFACE_CLUI,
- MENU_IFACE_TUI);
- exit(EXIT_FAILURE);
-}
-
/******************************************************************************
******* end of file **********************************************************
diff --git a/src/menu/tui.c b/src/menu/tui.c
index b0d6911..83b803a 100644
--- a/src/menu/tui.c
+++ b/src/menu/tui.c
@@ -245,15 +245,13 @@ static void menu_series (void)
static void menu_devel (void)
{
static const struct Alx_Ncurses_Menu mnu[] = {
- {6, 4, "[0] Back"},
+ {5, 4, "[0] Back"},
{2, 4, "[1] Change process mode"},
- {3, 4, "[2] Change log mode"},
- {4, 4, "[3] Change user iface mode"}
+ {3, 4, "[2] Change log mode"}
};
static const char *const txt[] = {
"Modes: 0=Auto; 1=Stop@prod; 2=Delay@step; 3=Stop@step",
- "Modes: 0=Results; 1=Operations; 2=All",
- "Modes: 1=CLUI; 2=TUI"
+ "Modes: 0=Results; 1=Operations; 2=All"
};
WINDOW *win;
int_fast8_t h, w;
@@ -290,10 +288,6 @@ static void menu_devel (void)
user_iface_log.visible = alx_ncurses_get_u8(0, 2, 2,
w2, r2, txt[1], NULL, 2);
break;
- case 3:
- user_iface_mode = alx_ncurses_get_int(1, 2, 2,
- w2, r2, txt[2], NULL, 2);
- break;
}
}
diff --git a/src/user/clui.c b/src/user/clui.c
deleted file mode 100644
index 7412bb8..0000000
--- a/src/user/clui.c
+++ /dev/null
@@ -1,471 +0,0 @@
-/******************************************************************************
- * Copyright (C) 2018 Alejandro Colomar Andrés *
- * SPDX-License-Identifier: GPL-2.0-only *
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* headers **************************************************************
- ******************************************************************************/
-#include "vision-artificial/user/clui.h"
-
-#include <stdio.h>
-#include <string.h>
-
-#include "libalx/base/compiler/size.h"
-#include "libalx/base/stdio/get.h"
-#include "libalx/base/stdio/seekc.h"
-
-#include "vision-artificial/image/iface.h"
-#include "vision-artificial/user/iface.h"
-
-
-/******************************************************************************
- ******* macros ***************************************************************
- ******************************************************************************/
-#define BUFF_SIZE (0xFFF)
-
-
-/******************************************************************************
- ******* enums ****************************************************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* structs / unions *****************************************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* variables ************************************************************
- ******************************************************************************/
-/* Global --------------------------------------------------------------------*/
-/* Static --------------------------------------------------------------------*/
-
-
-/******************************************************************************
- ******* static functions (prototypes) ****************************************
- ******************************************************************************/
-static void log_loop (void);
-static int usr_input (void);
-static void show_help (void);
-
-
-/******************************************************************************
- ******* global functions *****************************************************
- ******************************************************************************/
-int user_clui (const char *restrict title,
- const char *restrict subtitle)
-{
-
- show_help();
- user_clui_show_log(title, subtitle);
- return usr_input();
-}
-
-void user_clui_fname (const char *restrict fpath,
- char *restrict fname)
-{
-
- alx_get_fname(fpath, fname, false, "File name:", "Valid extensions: .bmp .dib .jpeg .png .pbm .pgm .ppm .tiff",
- 2);
-}
-
-void user_clui_show_log (const char *restrict title,
- const char *restrict subtitle)
-{
-
- printf("________________________________________________________________________________\n");
- log_loop();
- printf("%s - %s\n", subtitle, title);
- printf("--------------------------------------------------------------------------------\n");
-
-}
-
-void user_clui_show_ocr (void)
-{
-
- printf("%s", img_ocr_text);
- alx_wait4enter();
-}
-
-
-/******************************************************************************
- ******* static functions (definitions) ***************************************
- ******************************************************************************/
-static void log_loop (void)
-{
- const char *txt;
-
- putchar('\n');
- for (;;) {
- txt = user_iface_log_read();
- if (!txt)
- break;
- for (int i = 0; i < user_iface_log.lvl[user_iface_log.pos]; i++)
- printf("\t");
- printf("%s\n", txt);
- }
- printf("\n");
-}
-
-static int usr_input (void)
-{
- char buff[BUFF_SIZE];
- char ch [10];
-
- memset(ch, 0, ARRAY_SIZE(ch));
- buff[0] = '\0';
-
- if (!fgets(buff, BUFF_SIZE, stdin))
- goto err_fgets;
- if (sscanf(buff, " %5c", ch) <= 0)
- goto err_sscanf;
-
- switch (ch[0]) {
- case '+':
- return USER_IFACE_ACT_APPLY;
- case '-':
- return USER_IFACE_ACT_DISCARD;
- case 'e':
- /* Exercises from class */
- switch (ch[1]) {
- case '1':
- /* Label */
- switch (ch[2]) {
- case '1':
- return USER_IFACE_ACT_PROC_LABEL_SERIES;
- }
- break;
- case '2':
- /* Objects */
- switch (ch[2]) {
- case '0':
- return USER_IFACE_ACT_PROC_OBJECTS_CALIB;
- case '1':
- return USER_IFACE_ACT_PROC_OBJECTS_SERIES;
- }
- break;
- case '3':
- /* Coins */
- switch (ch[2]) {
- case '1':
- return USER_IFACE_ACT_PROC_COINS_SERIES;
- }
- break;
- case '4':
- /* Resistor */
- switch (ch[2]) {
- case '1':
- return USER_IFACE_ACT_PROC_RESISTOR_SERIES;
- }
- break;
- case '5':
- /* Lighters */
- switch (ch[2]) {
- case '1':
- return USER_IFACE_ACT_PROC_LIGHTERS_SERIES;
- }
- break;
- }
- break;
-
- case 'f':
- /* Use simple funtions */
- switch (ch[1]) {
- case '0':
- /* img_alx */
- switch (ch[2]) {
- case '0':
- /* Distance transform postprocessing */
- switch (ch[3]) {
- case '0':
- return USER_IFACE_ACT_LOCAL_MAX;
- case '1':
- return USER_IFACE_ACT_SKELETON;
- }
- break;
- case '1':
- /* Lines */
- switch (ch[3]) {
- case '0':
- return USER_IFACE_ACT_LINES_HORIZONTAL;
- case '1':
- return USER_IFACE_ACT_LINES_VERTICAL;
- }
- break;
- case '2':
- /* Smooth */
- switch (ch[3]) {
- case '0':
- return USER_IFACE_ACT_MEAN_HORIZONTAL;
- case '1':
- return USER_IFACE_ACT_MEAN_VERTICAL;
- case '2':
- return USER_IFACE_ACT_MEDIAN_HORIZONTAL;
- case '3':
- return USER_IFACE_ACT_MEDIAN_VERTICAL;
- }
- break;
- }
- break;
- case '1':
- /* img_cv */
- switch (ch[2]) {
- case '0':
- /* Core: The core functionality */
- switch (ch[3]) {
- case '0':
- /* Pixel */
- switch (ch[4]) {
- case '0':
- return USER_IFACE_ACT_PIXEL_GET;
- case '1':
- return USER_IFACE_ACT_PIXEL_SET;
- }
- break;
- case '1':
- /* ROI */
- switch (ch[4]) {
- case '0':
- return USER_IFACE_ACT_SET_ROI;
- case '1':
- return USER_IFACE_ACT_SET_ROI_2RECT;
- }
- break;
- case '2':
- /* Operations on Arrays */
- switch (ch[4]) {
- case '0':
- return USER_IFACE_ACT_AND_2REF;
- case '1':
- return USER_IFACE_ACT_NOT;
- case '2':
- return USER_IFACE_ACT_OR_2REF;
- case '3':
- return USER_IFACE_ACT_COMPONENT;
- }
- break;
- }
- break;
- case '1':
- /* Imgproc: Image processing */
- switch (ch[3]) {
- case '0':
- /* Image filtering */
- switch (ch[4]) {
- case '0':
- return USER_IFACE_ACT_DILATE;
- case '1':
- return USER_IFACE_ACT_ERODE;
- case '2':
- return USER_IFACE_ACT_DILATE_ERODE;
- case '3':
- return USER_IFACE_ACT_ERODE_DILATE;
- case '4':
- return USER_IFACE_ACT_SMOOTH;
- case '5':
- return USER_IFACE_ACT_SOBEL;
- case '6':
- return USER_IFACE_ACT_BORDER;
- }
- break;
- case '1':
- /* Geometric image transformations */
- switch (ch[4]) {
- case '0':
- return USER_IFACE_ACT_MIRROR;
- case '1':
- return USER_IFACE_ACT_ROTATE_ORTO;
- case '2':
- return USER_IFACE_ACT_ROTATE;
- case '3':
- return USER_IFACE_ACT_ROTATE_2RECT;
- }
- break;
- case '2':
- /* Miscellaneous image transformations */
- switch (ch[4]) {
- case '0':
- return USER_IFACE_ACT_ADAPTIVE_THRESHOLD;
- case '1':
- return USER_IFACE_ACT_CVT_COLOR;
- case '2':
- return USER_IFACE_ACT_DISTANCE_TRANSFORM;
- case '3':
- return USER_IFACE_ACT_THRESHOLD;
- }
- break;
- case '3':
- /* Histograms */
- switch (ch[4]) {
- case '0':
- return USER_IFACE_ACT_HISTOGRAM;
- case '1':
- return USER_IFACE_ACT_HISTOGRAM_C3;
- }
- break;
- case '4':
- /* Structural analysis and shape descriptors */
- switch (ch[4]) {
- case '0':
- return USER_IFACE_ACT_CONTOURS;
- case '1':
- return USER_IFACE_ACT_CONTOURS_SIZE;
- case '2':
- return USER_IFACE_ACT_BOUNDING_RECT;
- case '3':
- return USER_IFACE_ACT_FIT_ELLIPSE;
- case '4':
- return USER_IFACE_ACT_MIN_AREA_RECT;
- }
- break;
- case '5':
- /* Feature detection */
- switch (ch[4]) {
- case '0':
- return USER_IFACE_ACT_HOUGH_CIRCLES;
- }
- break;
- }
- break;
- }
- break;
- case '2':
- /* img_orb */
- switch (ch[2]) {
- case '0':
- return USER_IFACE_ACT_ALIGN;
- }
- break;
- case '3':
- /* img_calib3d */
- switch (ch[2]) {
- case '0':
- return USER_IFACE_ACT_CALIBRATE;
- case '1':
- return USER_IFACE_ACT_UNDISTORT;
- }
- break;
- case '4':
- /* img_zbar */
- switch (ch[2]) {
- case '0':
- return USER_IFACE_ACT_DECODE;
- }
- break;
- case '5':
- /* img_ocr */
- switch (ch[2]) {
- case '0':
- return USER_IFACE_ACT_READ;
- }
- break;
- }
- break;
- case 'l':
- return USER_IFACE_ACT_LOAD_MEM;
- case 'm':
- return USER_IFACE_ACT_SAVE_MEM;
- case 'q':
- return USER_IFACE_ACT_QUIT;
- case 'r':
- return USER_IFACE_ACT_SAVE_REF;
- case 's':
- return USER_IFACE_ACT_SAVE_FILE;
- case 'u':
- /* User iface actions */
- switch (ch[1]) {
- case '1':
- return USER_IFACE_ACT_SHOW_OCR;
- }
- break;
- case 'x':
- /* Special sequence "xyzzy" */
- if (ch[1] == 'y') {
- if (ch[2] == 'z') {
- if (ch[3] == 'z') {
- if (ch[4] == 'y') {
- return USER_IFACE_ACT_FOO;
- }
- }
- }
- }
- break;
- }
-
-err_fgets:
-err_sscanf:
- return USER_IFACE_ACT_FOO;
-}
-
-static void show_help (void)
-{
-
- printf("Apply: %s\n", "Space");
- printf("Discard: %s\n", "Backspace");
- printf("Save to mem: %c\n", 'm');
- printf("Load from mem: %c\n", 'l');
- printf("Save to ref: %c\n", 'r');
- printf("Save to file: %c\n", 's');
- printf("Functions:\n");
- printf(" - Local maxima: %s\n", "f000");
- printf(" - Skeleton: %s\n", "f001");
- printf(" - Horizontal lines: %s\n", "f010");
- printf(" - Vertical lines: %s\n", "f011");
- printf(" - Horizontal mean: %s\n", "f020");
- printf(" - Vertical mean: %s\n", "f021");
- printf(" - Horizontal median: %s\n", "f022");
- printf(" - Vertical median: %s\n", "f023");
- printf(" - Pixel get: %s\n", "f1000");
- printf(" - Pixel set: %s\n", "f1001");
- printf(" - Set ROI: %s\n", "f1010");
- printf(" - Set ROI 2rect: %s\n", "f1011");
- printf(" - Bitwise AND 2ref: %s\n", "f1020");
- printf(" - Bitwise NOT: %s\n", "f1021");
- printf(" - Bitwise OR 2ref: %s\n", "f1022");
- printf(" - Component: %s\n", "f1023");
- printf(" - Dilate: %s\n", "f1100");
- printf(" - Erode: %s\n", "f1101");
- printf(" - D-E: %s\n", "f1102");
- printf(" - E-D: %s\n", "f1103");
- printf(" - Smooth: %s\n", "f1104");
- printf(" - Sobel: %s\n", "f1105");
- printf(" - Border: %s\n", "f1106");
- printf(" - Mirror: %s\n", "f1110");
- printf(" - Rotate ortogonally: %s\n", "f1111");
- printf(" - Rotate: %s\n", "f1112");
- printf(" - Rotate 2rect_rot: %s\n", "f1113");
- printf(" - Adaptive threshold: %s\n", "f1120");
- printf(" - Cvt color: %s\n", "f1121");
- printf(" - Distance transform: %s\n", "f1122");
- printf(" - Threshold: %s\n", "f1123");
- printf(" - Histogram: %s\n", "f1130");
- printf(" - Histogram (3 chan): %s\n", "f1131");
- printf(" - Contours: %s\n", "f1140");
- printf(" - Contours size: %s\n", "f1141");
- printf(" - Bounding rectangle: %s\n", "f1142");
- printf(" - Fit ellipse: %s\n", "f1143");
- printf(" - Min. area rectangle: %s\n", "f1144");
- printf(" - Hough circles: %s\n", "f1150");
- printf(" - Align 2ref (ORB): %s\n", "f20");
- printf(" - Calibrate (Calib3d): %s\n", "f30");
- printf(" - Undistort (Calib3d): %s\n", "f31");
- printf(" - Scan codes (ZBAR): %s\n", "f40");
- printf(" - Scan text (OCR): %s\n", "f50");
- printf("Exercises:\n");
- printf(" - Label: %s\n", "e11");
- printf(" - Objects (calib): %s\n", "e20");
- printf(" - Objects: %s\n", "e21");
- printf(" - Coins: %s\n", "e31");
- printf(" - Resistor: %s\n", "e41");
- printf(" - Lighters: %s\n", "e51");
- printf("Other:\n");
- printf(" - Show OCR text: %s\n", "u1");
- printf("Quit: %c\n", 'q');
-}
-
-
-/******************************************************************************
- ******* end of file **********************************************************
- ******************************************************************************/
diff --git a/src/user/iface.c b/src/user/iface.c
index 7d525b5..0056abb 100644
--- a/src/user/iface.c
+++ b/src/user/iface.c
@@ -17,7 +17,6 @@
#include "vision-artificial/image/iface.h"
#include "vision-artificial/proc/iface.h"
-#include "vision-artificial/user/clui.h"
#include "vision-artificial/user/tui.h"
@@ -40,10 +39,7 @@
/******************************************************************************
******* variables ************************************************************
******************************************************************************/
-/* Global --------------------------------------------------------------------*/
- int user_iface_mode;
- struct User_Iface_Log user_iface_log;
-/* Static --------------------------------------------------------------------*/
+struct User_Iface_Log user_iface_log;
/******************************************************************************
@@ -62,25 +58,13 @@ void user_iface_init (void)
user_iface_log.len = 0;
user_iface_log.pos = -1;
- switch (user_iface_mode) {
- case USER_IFACE_CLUI:
- break;
- case USER_IFACE_TUI:
- user_tui_init();
- break;
- }
+ user_tui_init();
}
void user_iface_cleanup (void)
{
- switch (user_iface_mode) {
- case USER_IFACE_CLUI:
- break;
- case USER_IFACE_TUI:
- user_tui_cleanup();
- break;
- }
+ user_tui_cleanup();
fflush(stdout);
}
@@ -96,16 +80,7 @@ void user_iface (void)
do {
img_iface_show_img();
- switch (user_iface_mode) {
- case USER_IFACE_CLUI:
- user_action = user_clui(title, subtitle);
- break;
- case USER_IFACE_TUI:
- user_action = user_tui(title, subtitle);
- break;
- default:
- user_action = USER_IFACE_ACT_FOO;
- }
+ user_action = user_tui(title, subtitle);
user_iface_act(user_action);
} while (user_action != USER_IFACE_ACT_QUIT);
}
@@ -114,28 +89,14 @@ void user_iface_show_log (const char *restrict title,
const char *restrict subtitle)
{
- switch (user_iface_mode) {
- case USER_IFACE_CLUI:
- user_clui_show_log(title, subtitle);
- break;
- case USER_IFACE_TUI:
- user_tui_show_log(title, subtitle);
- break;
- }
+ user_tui_show_log(title, subtitle);
}
void user_iface_fname (const char *restrict filepath,
char *restrict filename)
{
- switch (user_iface_mode) {
- case USER_IFACE_CLUI:
- user_clui_fname(filepath, filename);
- break;
- case USER_IFACE_TUI:
- user_tui_fname(filepath, filename);
- break;
- }
+ user_tui_fname(filepath, filename);
}
double user_iface_getdbl (double m, double def, double M,
@@ -143,14 +104,7 @@ double user_iface_getdbl (double m, double def, double M,
const char *restrict help)
{
- switch (user_iface_mode) {
- case USER_IFACE_CLUI:
- return alx_get_int(m, def, M, title, help, 2);
- case USER_IFACE_TUI:
- return user_tui_getint(m, def, M, title, help);
- default:
- return 1;
- }
+ return user_tui_getint(m, def, M, title, help);
}
int user_iface_getint (double m, int64_t def, double M,
@@ -158,14 +112,7 @@ int user_iface_getint (double m, int64_t def, double M,
const char *restrict help)
{
- switch (user_iface_mode) {
- case USER_IFACE_CLUI:
- return alx_get_dbl(m, def, M, title, help, 2);
- case USER_IFACE_TUI:
- return user_tui_getdbl(m, def, M, title, help);
- default:
- return 1.0;
- }
+ return user_tui_getdbl(m, def, M, title, help);
}
void user_iface_log_write (ptrdiff_t lvl, const char *restrict msg)
@@ -218,14 +165,7 @@ static void user_iface_act (int action)
static void user_iface_show_ocr (void)
{
- switch (user_iface_mode) {
- case USER_IFACE_CLUI:
- user_clui_show_ocr();
- break;
- case USER_IFACE_TUI:
- user_tui_show_ocr();
- break;
- }
+ user_tui_show_ocr();
}
diff --git a/tmp/menu/Makefile b/tmp/menu/Makefile
index 577e262..4e85382 100644
--- a/tmp/menu/Makefile
+++ b/tmp/menu/Makefile
@@ -13,22 +13,12 @@
# dependencies
OBJ = \
- clui.o \
iface.o \
parse.o \
tui.o
-CLUI_INC = \
- $(INC_DIR)/vision-artificial/menu/clui.h \
- $(LIBALX_INC_DIR)/libalx/base/stdio/get.h \
- $(INC_DIR)/vision-artificial/ctrl/start.h \
- $(INC_DIR)/vision-artificial/share/share.h
-CLUI_SRC = \
- $(SRC_DIR)/menu/clui.c
-
IFACE_INC = \
$(INC_DIR)/vision-artificial/menu/iface.h \
- $(INC_DIR)/vision-artificial/menu/clui.h \
$(INC_DIR)/vision-artificial/menu/tui.h
IFACE_SRC = \
$(SRC_DIR)/menu/iface.c
@@ -66,13 +56,6 @@ PHONY := all
all: $(OBJ)
-clui.s: $(CLUI_SRC) $(CLUI_INC)
- @echo " CC vision-artificial/menu/$@"
- $(Q)$(CC) $(CFLAGS) -I $(INC_DIR) -S $< -o $@
-clui.o: clui.s
- @echo " AS vision-artificial/menu/$@"
- $(Q)$(AS) $< -o $@
-
iface.s: $(IFACE_SRC) $(IFACE_INC)
@echo " CXX vision-artificial/menu/$@"
$(Q)$(CC) $(CFLAGS) -I $(INC_DIR) -S $< -o $@
diff --git a/tmp/user/Makefile b/tmp/user/Makefile
index 937bd76..69dc95c 100644
--- a/tmp/user/Makefile
+++ b/tmp/user/Makefile
@@ -13,26 +13,14 @@
# dependencies
OBJ = \
- clui.o \
iface.o \
tui.o
-CLUI_INC = \
- $(INC_DIR)/vision-artificial/user/clui.h \
- $(LIBALX_INC_DIR)/libalx/base/stdlib/swap.h \
- $(LIBALX_INC_DIR)/libalx/base/stdio/get.h \
- $(LIBALX_INC_DIR)/libalx/base/stdio/seekc.h \
- $(INC_DIR)/vision-artificial/image/iface.h \
- $(INC_DIR)/vision-artificial/user/iface.h
-CLUI_SRC = \
- $(SRC_DIR)/user/clui.c
-
IFACE_INC = \
$(INC_DIR)/vision-artificial/user/iface.h \
$(LIBALX_INC_DIR)/libalx/base/stdio/get.h \
$(INC_DIR)/vision-artificial/image/iface.h \
$(INC_DIR)/vision-artificial/proc/iface.h \
- $(INC_DIR)/vision-artificial/user/clui.h \
$(INC_DIR)/vision-artificial/user/tui.h
IFACE_SRC = \
$(SRC_DIR)/user/iface.c
@@ -55,13 +43,6 @@ PHONY := all
all: $(OBJ)
-clui.s: $(CLUI_SRC) $(CLUI_INC)
- @echo " CC vision-artificial/user/$@"
- $(Q)$(CC) $(CFLAGS) -I $(INC_DIR) -S $< -o $@
-clui.o: clui.s
- @echo " AS vision-artificial/user/$@"
- $(Q)$(AS) $< -o $@
-
iface.s: $(IFACE_SRC) $(IFACE_INC)
@echo " CC vision-artificial/user/$@"
$(Q)$(CC) $(CFLAGS) -I $(INC_DIR) -S $< -o $@