diff options
author | alejandro-colomar <colomar.6.4.3@gmail.com> | 2019-08-01 14:06:33 +0200 |
---|---|---|
committer | alejandro-colomar <colomar.6.4.3@gmail.com> | 2019-08-01 14:06:33 +0200 |
commit | 58ce2fa66da0f9da3c4b4b3f66e774aa872fec24 (patch) | |
tree | 133c175dc485afcaa86ae21bf8c300fd96690ca5 | |
parent | 296e8f58c9a2644bef1db4af53391183674b5ee6 (diff) |
Remove CLUI; only TUI remaining
-rw-r--r-- | inc/vision-artificial/menu/clui.h | 63 | ||||
-rw-r--r-- | inc/vision-artificial/menu/iface.h | 6 | ||||
-rw-r--r-- | inc/vision-artificial/menu/iface.hpp | 6 | ||||
-rw-r--r-- | inc/vision-artificial/user/clui.h | 59 | ||||
-rw-r--r-- | inc/vision-artificial/user/iface.h | 7 | ||||
-rw-r--r-- | inc/vision-artificial/user/iface.hpp | 7 | ||||
-rw-r--r-- | src/ctrl/start.c | 6 | ||||
-rw-r--r-- | src/main.cpp | 2 | ||||
-rw-r--r-- | src/menu/clui.c | 125 | ||||
-rw-r--r-- | src/menu/iface.c | 13 | ||||
-rw-r--r-- | src/menu/parse.c | 24 | ||||
-rw-r--r-- | src/menu/tui.c | 12 | ||||
-rw-r--r-- | src/user/clui.c | 471 | ||||
-rw-r--r-- | src/user/iface.c | 78 | ||||
-rw-r--r-- | tmp/menu/Makefile | 17 | ||||
-rw-r--r-- | tmp/user/Makefile | 19 |
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 $@ |